safelinkconverter.com Ads.txt file
<!doctype html>
<html lang="en-US" prefix="og: https://ogp.me/ns#" class="no-js" itemtype="https://schema.org/WebPage" itemscope>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
<style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style>
<!-- Search Engine Optimization by Rank Math PRO - https://rankmath.com/ -->
<title>Universal Link Converter | Safe Link Converter</title>
<meta name="description" content="Universal Link Converter: Ideal for reps working with Pandabuy, TaoBao, Cnfans, 1688 link, Superbuy, BaseTao, JoyaGoo, PonyBuy, SifuBuy, KameyMall, HooBuy, OopBuy, Sugargoo, MuleBuy, LoveGoBuy, Cssbuy, USFans, LoongBuy, EastMallBuy, iTaoBuy, HubbuyCN, AllChinaBuy, OrientDig, CnShopper, KakoBuy, and ACBuy."/>
<meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/>
<link rel="canonical" href="https://safelinkconverter.com/" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Universal Link Converter | Safe Link Converter" />
<meta property="og:description" content="Universal Link Converter: Ideal for reps working with Pandabuy, TaoBao, Cnfans, 1688 link, Superbuy, BaseTao, JoyaGoo, PonyBuy, SifuBuy, KameyMall, HooBuy, OopBuy, Sugargoo, MuleBuy, LoveGoBuy, Cssbuy, USFans, LoongBuy, EastMallBuy, iTaoBuy, HubbuyCN, AllChinaBuy, OrientDig, CnShopper, KakoBuy, and ACBuy." />
<meta property="og:url" content="https://safelinkconverter.com/" />
<meta property="og:site_name" content="Safe Link Converter" />
<meta property="og:updated_time" content="2025-09-07T19:06:32+00:00" />
<meta property="og:image" content="https://safelinkconverter.com/wp-content/uploads/2025/08/ac500c793c5dbcbee14fc6b37ba608f2.png" />
<meta property="og:image:secure_url" content="https://safelinkconverter.com/wp-content/uploads/2025/08/ac500c793c5dbcbee14fc6b37ba608f2.png" />
<meta property="og:image:width" content="1169" />
<meta property="og:image:height" content="431" />
<meta property="og:image:alt" content="link converter" />
<meta property="og:image:type" content="image/png" />
<meta property="article:published_time" content="2025-07-27T07:46:42+00:00" />
<meta property="article:modified_time" content="2025-09-07T19:06:32+00:00" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Universal Link Converter | Safe Link Converter" />
<meta name="twitter:description" content="Universal Link Converter: Ideal for reps working with Pandabuy, TaoBao, Cnfans, 1688 link, Superbuy, BaseTao, JoyaGoo, PonyBuy, SifuBuy, KameyMall, HooBuy, OopBuy, Sugargoo, MuleBuy, LoveGoBuy, Cssbuy, USFans, LoongBuy, EastMallBuy, iTaoBuy, HubbuyCN, AllChinaBuy, OrientDig, CnShopper, KakoBuy, and ACBuy." />
<meta name="twitter:image" content="https://safelinkconverter.com/wp-content/uploads/2025/08/ac500c793c5dbcbee14fc6b37ba608f2.png" />
<meta name="twitter:label1" content="Written by" />
<meta name="twitter:data1" content="Safe Link Converter" />
<meta name="twitter:label2" content="Time to read" />
<meta name="twitter:data2" content="1 minute" />
<script type="application/ld+json" class="rank-math-schema-pro">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://safelinkconverter.com/#organization","name":"Safe Link Converter","logo":{"@type":"ImageObject","@id":"https://safelinkconverter.com/#logo","url":"http://safelinkconverter.com/wp-content/uploads/2025/08/52410371f7a7c6d9407a7e22b8632a16.png","contentUrl":"http://safelinkconverter.com/wp-content/uploads/2025/08/52410371f7a7c6d9407a7e22b8632a16.png","caption":"Safe Link Converter","inLanguage":"en-US","width":"297","height":"179"}},{"@type":"WebSite","@id":"https://safelinkconverter.com/#website","url":"https://safelinkconverter.com","name":"Safe Link Converter","alternateName":"Safe Link Converter","publisher":{"@id":"https://safelinkconverter.com/#organization"},"inLanguage":"en-US","potentialAction":{"@type":"SearchAction","target":"https://safelinkconverter.com/?s={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"ImageObject","@id":"https://safelinkconverter.com/wp-content/uploads/2025/07/pexels-photo-6204232.jpeg","url":"https://safelinkconverter.com/wp-content/uploads/2025/07/pexels-photo-6204232.jpeg","width":"200","height":"200","inLanguage":"en-US"},{"@type":"WebPage","@id":"https://safelinkconverter.com/#webpage","url":"https://safelinkconverter.com/","name":"Universal Link Converter | Safe Link Converter","datePublished":"2025-07-27T07:46:42+00:00","dateModified":"2025-09-07T19:06:32+00:00","about":{"@id":"https://safelinkconverter.com/#organization"},"isPartOf":{"@id":"https://safelinkconverter.com/#website"},"primaryImageOfPage":{"@id":"https://safelinkconverter.com/wp-content/uploads/2025/07/pexels-photo-6204232.jpeg"},"inLanguage":"en-US"},{"@type":"Person","@id":"https://safelinkconverter.com/author/safe-link-converter/","name":"Safe Link Converter","url":"https://safelinkconverter.com/author/safe-link-converter/","image":{"@type":"ImageObject","@id":"https://secure.gravatar.com/avatar/ba5c3fa6144dde3494efca8bf26443b937cecd1c442be73443b561fb7cf3f6d4?s=96&d=mm&r=g","url":"https://secure.gravatar.com/avatar/ba5c3fa6144dde3494efca8bf26443b937cecd1c442be73443b561fb7cf3f6d4?s=96&d=mm&r=g","caption":"Safe Link Converter","inLanguage":"en-US"},"worksFor":{"@id":"https://safelinkconverter.com/#organization"}},{"@type":"BlogPosting","headline":"Universal Link Converter | Safe Link Converter","keywords":"link converter","datePublished":"2025-07-27T07:46:42+00:00","dateModified":"2025-09-07T19:06:32+00:00","author":{"@id":"https://safelinkconverter.com/author/safe-link-converter/","name":"Safe Link Converter"},"publisher":{"@id":"https://safelinkconverter.com/#organization"},"description":"Universal Link Converter: Ideal for reps working with Pandabuy, TaoBao, Cnfans, 1688 link, Superbuy, BaseTao, JoyaGoo, PonyBuy, SifuBuy, KameyMall, HooBuy, OopBuy, Sugargoo, MuleBuy, LoveGoBuy, Cssbuy, USFans, LoongBuy, EastMallBuy, iTaoBuy, HubbuyCN, AllChinaBuy, OrientDig, CnShopper, KakoBuy, and ACBuy.","name":"Universal Link Converter | Safe Link Converter","@id":"https://safelinkconverter.com/#richSnippet","isPartOf":{"@id":"https://safelinkconverter.com/#webpage"},"image":{"@id":"https://safelinkconverter.com/wp-content/uploads/2025/07/pexels-photo-6204232.jpeg"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://safelinkconverter.com/#webpage"}}]}</script>
<!-- /Rank Math WordPress SEO plugin -->
<link rel='dns-prefetch' href='//www.googletagmanager.com' />
<link rel="alternate" type="application/rss+xml" title="Safe Link Converter » Feed" href="https://safelinkconverter.com/feed/" />
<link rel="alternate" type="application/rss+xml" title="Safe Link Converter » Comments Feed" href="https://safelinkconverter.com/comments/feed/" />
<script>document.documentElement.classList.remove( 'no-js' );</script>
<script>
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/safelinkconverter.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.8.2"}};
/*! This file is auto-generated */
!function(s,n){var o,i,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),a=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===a[t]})}function u(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);for(var n=e.getImageData(16,16,1,1),a=0;a<n.data.length;a++)if(0!==n.data[a])return!1;return!0}function f(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\udedf")}return!1}function g(e,t,n,a){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):s.createElement("canvas"),o=r.getContext("2d",{willReadFrequently:!0}),i=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(function(e){i[e]=t(o,e,n,a)}),i}function t(e){var t=s.createElement("script");t.src=e,t.defer=!0,s.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",i=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){s.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+g.toString()+"("+[JSON.stringify(i),f.toString(),p.toString(),u.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"}),r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=function(e){c(n=e.data),r.terminate(),t(n)})}catch(e){}c(n=g(i,f,p,u))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings);
</script>
<style id='wp-emoji-styles-inline-css'>
img.wp-smiley, img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 0.07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
</style>
<link rel='stylesheet' id='wp-block-library-css' href='https://safelinkconverter.com/wp-includes/css/dist/block-library/style.min.css?ver=6.8.2' media='all' />
<style id='classic-theme-styles-inline-css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css'>
:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--theme-palette-1: var(--global-palette1);--wp--preset--color--theme-palette-2: var(--global-palette2);--wp--preset--color--theme-palette-3: var(--global-palette3);--wp--preset--color--theme-palette-4: var(--global-palette4);--wp--preset--color--theme-palette-5: var(--global-palette5);--wp--preset--color--theme-palette-6: var(--global-palette6);--wp--preset--color--theme-palette-7: var(--global-palette7);--wp--preset--color--theme-palette-8: var(--global-palette8);--wp--preset--color--theme-palette-9: var(--global-palette9);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: var(--global-font-size-small);--wp--preset--font-size--medium: var(--global-font-size-medium);--wp--preset--font-size--large: var(--global-font-size-large);--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--larger: var(--global-font-size-larger);--wp--preset--font-size--xxlarge: var(--global-font-size-xxlarge);--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='dashicons-css' href='https://safelinkconverter.com/wp-includes/css/dashicons.min.css?ver=6.8.2' media='all' />
<link rel='stylesheet' id='admin-bar-css' href='https://safelinkconverter.com/wp-includes/css/admin-bar.min.css?ver=6.8.2' media='all' />
<style id='admin-bar-inline-css'>
/* Hide CanvasJS credits for P404 charts specifically */
#p404RedirectChart .canvasjs-chart-credit {
display: none !important;
}
#p404RedirectChart canvas {
border-radius: 6px;
}
.p404-redirect-adminbar-weekly-title {
font-weight: bold;
font-size: 14px;
color: #fff;
margin-bottom: 6px;
}
#wpadminbar #wp-admin-bar-p404_free_top_button .ab-icon:before {
content: "\f103";
color: #dc3545;
top: 3px;
}
#wp-admin-bar-p404_free_top_button .ab-item {
min-width: 80px !important;
padding: 0px !important;
}
/* Ensure proper positioning and z-index for P404 dropdown */
.p404-redirect-adminbar-dropdown-wrap {
min-width: 0;
padding: 0;
position: static !important;
}
#wpadminbar #wp-admin-bar-p404_free_top_button_dropdown {
position: static !important;
}
#wpadminbar #wp-admin-bar-p404_free_top_button_dropdown .ab-item {
padding: 0 !important;
margin: 0 !important;
}
.p404-redirect-dropdown-container {
min-width: 340px;
padding: 18px 18px 12px 18px;
background: #23282d !important;
color: #fff;
border-radius: 12px;
box-shadow: 0 8px 32px rgba(0,0,0,0.25);
margin-top: 10px;
position: relative !important;
z-index: 999999 !important;
display: block !important;
border: 1px solid #444;
}
/* Ensure P404 dropdown appears on hover */
#wpadminbar #wp-admin-bar-p404_free_top_button .p404-redirect-dropdown-container {
display: none !important;
}
#wpadminbar #wp-admin-bar-p404_free_top_button:hover .p404-redirect-dropdown-container {
display: block !important;
}
#wpadminbar #wp-admin-bar-p404_free_top_button:hover #wp-admin-bar-p404_free_top_button_dropdown .p404-redirect-dropdown-container {
display: block !important;
}
.p404-redirect-card {
background: #2c3338;
border-radius: 8px;
padding: 18px 18px 12px 18px;
box-shadow: 0 2px 8px rgba(0,0,0,0.07);
display: flex;
flex-direction: column;
align-items: flex-start;
border: 1px solid #444;
}
.p404-redirect-btn {
display: inline-block;
background: #dc3545;
color: #fff !important;
font-weight: bold;
padding: 5px 22px;
border-radius: 8px;
text-decoration: none;
font-size: 17px;
transition: background 0.2s, box-shadow 0.2s;
margin-top: 8px;
box-shadow: 0 2px 8px rgba(220,53,69,0.15);
text-align: center;
line-height: 1.6;
}
.p404-redirect-btn:hover {
background: #c82333;
color: #fff !important;
box-shadow: 0 4px 16px rgba(220,53,69,0.25);
}
/* Prevent conflicts with other admin bar dropdowns */
#wpadminbar .ab-top-menu > li:hover > .ab-item,
#wpadminbar .ab-top-menu > li.hover > .ab-item {
z-index: auto;
}
#wpadminbar #wp-admin-bar-p404_free_top_button:hover > .ab-item {
z-index: 999998 !important;
}
</style>
<link rel='stylesheet' id='kadence-global-css' href='https://safelinkconverter.com/wp-content/themes/kadence/assets/css/global.min.css?ver=1.3.4' media='all' />
<style id='kadence-global-inline-css'>
/* Kadence Base CSS */
:root{--global-palette1:#006cff;--global-palette2:#0056cc;--global-palette3:#2c3040;--global-palette4:#424357;--global-palette5:#494b66;--global-palette6:#63657d;--global-palette7:#e1e9f5;--global-palette8:#f0f4fb;--global-palette9:#fdfdfd;--global-palette9rgb:253, 253, 253;--global-palette-highlight:var(--global-palette1);--global-palette-highlight-alt:var(--global-palette2);--global-palette-highlight-alt2:var(--global-palette9);--global-palette-btn-bg:var(--global-palette1);--global-palette-btn-bg-hover:var(--global-palette2);--global-palette-btn:var(--global-palette9);--global-palette-btn-hover:var(--global-palette9);--global-body-font-family:'Bricolage Grotesque', sans-serif;--global-heading-font-family:inherit;--global-primary-nav-font-family:inherit;--global-fallback-font:sans-serif;--global-display-fallback-font:sans-serif;--global-content-width:1290px;--global-content-wide-width:calc(1290px + 230px);--global-content-narrow-width:842px;--global-content-edge-padding:1.5rem;--global-content-boxed-padding:2rem;--global-calc-content-width:calc(1290px - var(--global-content-edge-padding) - var(--global-content-edge-padding) );--wp--style--global--content-size:var(--global-calc-content-width);}.wp-site-blocks{--global-vw:calc( 100vw - ( 0.5 * var(--scrollbar-offset)));}body{background:var(--global-palette8);}body, input, select, optgroup, textarea{font-style:normal;font-weight:normal;font-size:17px;line-height:1.6;font-family:var(--global-body-font-family);color:var(--global-palette4);}.content-bg, body.content-style-unboxed .site{background:var(--global-palette9);}h1,h2,h3,h4,h5,h6{font-family:var(--global-heading-font-family);}h1{font-weight:700;font-size:32px;line-height:1.5;color:var(--global-palette3);}h2{font-weight:700;font-size:28px;line-height:1.5;color:var(--global-palette3);}h3{font-weight:700;font-size:24px;line-height:1.5;color:var(--global-palette3);}h4{font-weight:700;font-size:22px;line-height:1.5;color:var(--global-palette4);}h5{font-weight:700;font-size:20px;line-height:1.5;color:var(--global-palette4);}h6{font-weight:700;font-size:18px;line-height:1.5;color:var(--global-palette5);}.entry-hero .kadence-breadcrumbs{max-width:1290px;}.site-container, .site-header-row-layout-contained, .site-footer-row-layout-contained, .entry-hero-layout-contained, .comments-area, .alignfull > .wp-block-cover__inner-container, .alignwide > .wp-block-cover__inner-container{max-width:var(--global-content-width);}.content-width-narrow .content-container.site-container, .content-width-narrow .hero-container.site-container{max-width:var(--global-content-narrow-width);}@media all and (min-width: 1520px){.wp-site-blocks .content-container .alignwide{margin-left:-115px;margin-right:-115px;width:unset;max-width:unset;}}@media all and (min-width: 1102px){.content-width-narrow .wp-site-blocks .content-container .alignwide{margin-left:-130px;margin-right:-130px;width:unset;max-width:unset;}}.content-style-boxed .wp-site-blocks .entry-content .alignwide{margin-left:calc( -1 * var( --global-content-boxed-padding ) );margin-right:calc( -1 * var( --global-content-boxed-padding ) );}.content-area{margin-top:5rem;margin-bottom:5rem;}@media all and (max-width: 1024px){.content-area{margin-top:3rem;margin-bottom:3rem;}}@media all and (max-width: 767px){.content-area{margin-top:2rem;margin-bottom:2rem;}}@media all and (max-width: 1024px){:root{--global-content-boxed-padding:2rem;}}@media all and (max-width: 767px){:root{--global-content-boxed-padding:1.5rem;}}.entry-content-wrap{padding:2rem;}@media all and (max-width: 1024px){.entry-content-wrap{padding:2rem;}}@media all and (max-width: 767px){.entry-content-wrap{padding:1.5rem;}}.entry.single-entry{box-shadow:0px 0px 0px -10px rgba(0,0,0,0);border-radius:20px 20px 20px 20px;}.entry.loop-entry{border-radius:20px 20px 20px 20px;overflow:hidden;box-shadow:0px 0px 0px -10px rgba(0,0,0,0);}.loop-entry .entry-content-wrap{padding:2rem;}@media all and (max-width: 1024px){.loop-entry .entry-content-wrap{padding:2rem;}}@media all and (max-width: 767px){.loop-entry .entry-content-wrap{padding:1.5rem;}}button, .button, .wp-block-button__link, input[type="button"], input[type="reset"], input[type="submit"], .fl-button, .elementor-button-wrapper .elementor-button, .wc-block-components-checkout-place-order-button, .wc-block-cart__submit{font-style:normal;font-size:16px;line-height:1.4;border-radius:12px;padding:.8em 1.5em .8em 1.5em;box-shadow:0px 0px 0px -7px rgba(0,0,0,0);}.wp-block-button.is-style-outline .wp-block-button__link{padding:.8em 1.5em .8em 1.5em;}button:hover, button:focus, button:active, .button:hover, .button:focus, .button:active, .wp-block-button__link:hover, .wp-block-button__link:focus, .wp-block-button__link:active, input[type="button"]:hover, input[type="button"]:focus, input[type="button"]:active, input[type="reset"]:hover, input[type="reset"]:focus, input[type="reset"]:active, input[type="submit"]:hover, input[type="submit"]:focus, input[type="submit"]:active, .elementor-button-wrapper .elementor-button:hover, .elementor-button-wrapper .elementor-button:focus, .elementor-button-wrapper .elementor-button:active, .wc-block-cart__submit:hover{box-shadow:0px 0px 0px -7px rgba(0,0,0,0);}.kb-button.kb-btn-global-outline.kb-btn-global-inherit{padding-top:calc(.8em - 2px);padding-right:calc(1.5em - 2px);padding-bottom:calc(.8em - 2px);padding-left:calc(1.5em - 2px);}.entry-content :where(.wp-block-image) img, .entry-content :where(.wp-block-kadence-image) img{border-radius:16px;}@media all and (min-width: 1025px){.transparent-header .entry-hero .entry-hero-container-inner{padding-top:80px;}}@media all and (max-width: 1024px){.mobile-transparent-header .entry-hero .entry-hero-container-inner{padding-top:80px;}}@media all and (max-width: 767px){.mobile-transparent-header .entry-hero .entry-hero-container-inner{padding-top:80px;}}.wp-site-blocks .page-title h1{font-style:normal;font-size:3em;}.entry-hero.page-hero-section .entry-header{min-height:200px;}
/* Kadence Header CSS */
@media all and (max-width: 1024px){.mobile-transparent-header #masthead{position:absolute;left:0px;right:0px;z-index:100;}.kadence-scrollbar-fixer.mobile-transparent-header #masthead{right:var(--scrollbar-offset,0);}.mobile-transparent-header #masthead, .mobile-transparent-header .site-top-header-wrap .site-header-row-container-inner, .mobile-transparent-header .site-main-header-wrap .site-header-row-container-inner, .mobile-transparent-header .site-bottom-header-wrap .site-header-row-container-inner{background:transparent;}.site-header-row-tablet-layout-fullwidth, .site-header-row-tablet-layout-standard{padding:0px;}}@media all and (min-width: 1025px){.transparent-header #masthead{position:absolute;left:0px;right:0px;z-index:100;}.transparent-header.kadence-scrollbar-fixer #masthead{right:var(--scrollbar-offset,0);}.transparent-header #masthead, .transparent-header .site-top-header-wrap .site-header-row-container-inner, .transparent-header .site-main-header-wrap .site-header-row-container-inner, .transparent-header .site-bottom-header-wrap .site-header-row-container-inner{background:transparent;}}.site-branding a.brand .logo-icon{max-width:35px;}.site-branding a.brand .logo-icon{color:var(--global-palette3);}.site-branding{padding:0px 0px 0px 0px;}.site-branding .site-title{font-style:normal;font-weight:700;font-size:28px;line-height:1.2;color:var(--global-palette3);}#masthead, #masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start):not(.site-header-row-container):not(.site-main-header-wrap), #masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner{background:var(--global-palette9);}.site-main-header-wrap .site-header-row-container-inner{background:var(--global-palette9);}.site-main-header-inner-wrap{min-height:80px;}.header-navigation[class*="header-navigation-style-underline"] .header-menu-container.primary-menu-container>ul>li>a:after{width:calc( 100% - 1.2em);}.main-navigation .primary-menu-container > ul > li.menu-item > a{padding-left:calc(1.2em / 2);padding-right:calc(1.2em / 2);padding-top:0.6em;padding-bottom:0.6em;color:var(--global-palette5);}.main-navigation .primary-menu-container > ul > li.menu-item .dropdown-nav-special-toggle{right:calc(1.2em / 2);}.main-navigation .primary-menu-container > ul li.menu-item > a{font-style:normal;font-weight:500;}.main-navigation .primary-menu-container > ul > li.menu-item > a:hover{color:var(--global-palette-highlight);}.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a{color:var(--global-palette3);}.header-navigation .header-menu-container ul ul.sub-menu, .header-navigation .header-menu-container ul ul.submenu{background:var(--global-palette3);box-shadow:0px 2px 13px 0px rgba(0,0,0,0.1);}.header-navigation .header-menu-container ul ul li.menu-item, .header-menu-container ul.menu > li.kadence-menu-mega-enabled > ul > li.menu-item > a{border-bottom:1px solid rgba(255,255,255,0.1);}.header-navigation .header-menu-container ul ul li.menu-item > a{width:200px;padding-top:1em;padding-bottom:1em;color:var(--global-palette8);font-size:12px;}.header-navigation .header-menu-container ul ul li.menu-item > a:hover{color:var(--global-palette9);background:var(--global-palette4);}.header-navigation .header-menu-container ul ul li.menu-item.current-menu-item > a{color:var(--global-palette9);background:var(--global-palette4);}.mobile-toggle-open-container .menu-toggle-open, .mobile-toggle-open-container .menu-toggle-open:focus{color:var(--global-palette5);padding:0.4em 0.6em 0.4em 0.6em;font-size:14px;}.mobile-toggle-open-container .menu-toggle-open.menu-toggle-style-bordered{border:1px solid currentColor;}.mobile-toggle-open-container .menu-toggle-open .menu-toggle-icon{font-size:20px;}.mobile-toggle-open-container .menu-toggle-open:hover, .mobile-toggle-open-container .menu-toggle-open:focus-visible{color:var(--global-palette-highlight);}.mobile-navigation ul li{font-size:14px;}.mobile-navigation ul li a{padding-top:1em;padding-bottom:1em;}.mobile-navigation ul li > a, .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap{color:var(--global-palette8);}.mobile-navigation ul li.current-menu-item > a, .mobile-navigation ul li.current-menu-item.menu-item-has-children > .drawer-nav-drop-wrap{color:var(--global-palette-highlight);}.mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap, .mobile-navigation ul li:not(.menu-item-has-children) a{border-bottom:1px solid rgba(255,255,255,0.1);}.mobile-navigation:not(.drawer-navigation-parent-toggle-true) ul li.menu-item-has-children .drawer-nav-drop-wrap button{border-left:1px solid rgba(255,255,255,0.1);}#mobile-drawer .drawer-header .drawer-toggle{padding:0.6em 0.15em 0.6em 0.15em;font-size:24px;}#main-header .header-button{margin:0px 0px 0px 10px;border:2px none transparent;box-shadow:0px 0px 0px -7px rgba(0,0,0,0);}#main-header .header-button:hover{box-shadow:0px 0px 0px -7px rgba(0,0,0,0.1);}.mobile-header-button-wrap .mobile-header-button-inner-wrap .mobile-header-button{border:2px none transparent;box-shadow:0px 0px 0px -7px rgba(0,0,0,0);}.mobile-header-button-wrap .mobile-header-button-inner-wrap .mobile-header-button:hover{box-shadow:0px 0px 0px -7px rgba(0,0,0,0);}
/* Kadence Footer CSS */
#colophon{background:var(--global-palette3);}.site-middle-footer-wrap .site-footer-row-container-inner{font-style:normal;color:var(--global-palette9);}.site-middle-footer-inner-wrap{padding-top:0px;padding-bottom:30px;grid-column-gap:30px;grid-row-gap:30px;}.site-middle-footer-inner-wrap .widget{margin-bottom:0px;}.site-middle-footer-inner-wrap .widget-area .widget-title{font-style:normal;color:var(--global-palette9);}.site-middle-footer-inner-wrap .site-footer-section:not(:last-child):after{right:calc(-30px / 2);}#colophon .footer-html{font-style:normal;color:var(--global-palette9);}
</style>
<link rel='stylesheet' id='kadence-header-css' href='https://safelinkconverter.com/wp-content/themes/kadence/assets/css/header.min.css?ver=1.3.4' media='all' />
<link rel='stylesheet' id='kadence-content-css' href='https://safelinkconverter.com/wp-content/themes/kadence/assets/css/content.min.css?ver=1.3.4' media='all' />
<link rel='stylesheet' id='kadence-footer-css' href='https://safelinkconverter.com/wp-content/themes/kadence/assets/css/footer.min.css?ver=1.3.4' media='all' />
<link rel='stylesheet' id='kadence-blocks-column-css' href='https://safelinkconverter.com/wp-content/plugins/kadence-blocks/dist/style-blocks-column.css?ver=3.5.19' media='all' />
<link rel='stylesheet' id='kadence-blocks-rowlayout-css' href='https://safelinkconverter.com/wp-content/plugins/kadence-blocks/dist/style-blocks-rowlayout.css?ver=3.5.19' media='all' />
<style id='kadence-blocks-advancedheading-inline-css'>
.wp-block-kadence-advancedheading mark{background:transparent;border-style:solid;border-width:0}.wp-block-kadence-advancedheading mark.kt-highlight{color:#f76a0c;}.kb-adv-heading-icon{display: inline-flex;justify-content: center;align-items: center;} .is-layout-constrained > .kb-advanced-heading-link {display: block;}.single-content .kadence-advanced-heading-wrapper h1, .single-content .kadence-advanced-heading-wrapper h2, .single-content .kadence-advanced-heading-wrapper h3, .single-content .kadence-advanced-heading-wrapper h4, .single-content .kadence-advanced-heading-wrapper h5, .single-content .kadence-advanced-heading-wrapper h6 {margin: 1.5em 0 .5em;}.single-content .kadence-advanced-heading-wrapper+* { margin-top:0;}.kb-screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);}
</style>
<link rel='stylesheet' id='kadence-blocks-testimonials-css' href='https://safelinkconverter.com/wp-content/plugins/kadence-blocks/dist/style-blocks-testimonials.css?ver=3.5.19' media='all' />
<link rel='stylesheet' id='kadence-blocks-image-css' href='https://safelinkconverter.com/wp-content/plugins/kadence-blocks/dist/style-blocks-image.css?ver=3.5.19' media='all' />
<link rel='stylesheet' id='kadence-blocks-advancedbtn-css' href='https://safelinkconverter.com/wp-content/plugins/kadence-blocks/dist/style-blocks-advancedbtn.css?ver=3.5.19' media='all' />
<link rel='stylesheet' id='kadence-blocks-accordion-css' href='https://safelinkconverter.com/wp-content/plugins/kadence-blocks/dist/style-blocks-accordion.css?ver=3.5.19' media='all' />
<link rel='stylesheet' id='kadence-rankmath-css' href='https://safelinkconverter.com/wp-content/themes/kadence/assets/css/rankmath.min.css?ver=1.3.4' media='all' />
<style id='kadence-blocks-global-variables-inline-css'>
:root {--global-kb-font-size-sm:clamp(0.8rem, 0.73rem + 0.217vw, 0.9rem);--global-kb-font-size-md:clamp(1.1rem, 0.995rem + 0.326vw, 1.25rem);--global-kb-font-size-lg:clamp(1.75rem, 1.576rem + 0.543vw, 2rem);--global-kb-font-size-xl:clamp(2.25rem, 1.728rem + 1.63vw, 3rem);--global-kb-font-size-xxl:clamp(2.5rem, 1.456rem + 3.26vw, 4rem);--global-kb-font-size-xxxl:clamp(2.75rem, 0.489rem + 7.065vw, 6rem);}
</style>
<style id='kadence_blocks_css-inline-css'>
.kadence-column72_725c05-8c > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column72_725c05-8c > .kt-inside-inner-col{flex-direction:column;}.kadence-column72_725c05-8c > .kt-inside-inner-col > .aligncenter{width:100%;}@media all and (max-width: 1024px){.kadence-column72_725c05-8c > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column72_725c05-8c > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}.kb-row-layout-id72_965173-2f > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id72_965173-2f{background-color:#ffffff;}@media all and (max-width: 767px){.kb-row-layout-id72_965173-2f > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}.kadence-column72_24054b-6a > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column72_24054b-6a > .kt-inside-inner-col{flex-direction:column;}.kadence-column72_24054b-6a > .kt-inside-inner-col > .aligncenter{width:100%;}@media all and (max-width: 1024px){.kadence-column72_24054b-6a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column72_24054b-6a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}.kb-row-layout-id72_8323de-28 > .kt-row-column-wrap{max-width:var( --global-content-width, 1290px );padding-left:var(--global-content-edge-padding);padding-right:var(--global-content-edge-padding);grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id72_8323de-28 > .kt-row-layout-overlay{opacity:0.60;background-color:var(--global-palette9, #ffffff);}@media all and (max-width: 767px){.kb-row-layout-id72_8323de-28 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}.kadence-column72_20de7c-75 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column72_20de7c-75 > .kt-inside-inner-col{flex-direction:column;}.kadence-column72_20de7c-75 > .kt-inside-inner-col > .aligncenter{width:100%;}@media all and (max-width: 1024px){.kadence-column72_20de7c-75 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column72_20de7c-75 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}.kb-row-layout-id72_52ee98-23 > .kt-row-column-wrap{max-width:var( --global-content-width, 1290px );padding-left:var(--global-content-edge-padding);padding-right:var(--global-content-edge-padding);padding-top:var(--global-kb-spacing-lg, 3rem);padding-bottom:var(--global-kb-spacing-lg, 3rem);grid-template-columns:minmax(0, 1fr);}@media all and (max-width: 767px){.kb-row-layout-id72_52ee98-23 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}.kadence-column72_3cf4af-38 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column72_3cf4af-38 > .kt-inside-inner-col{flex-direction:column;}.kadence-column72_3cf4af-38 > .kt-inside-inner-col > .aligncenter{width:100%;}@media all and (max-width: 1024px){.kadence-column72_3cf4af-38 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column72_3cf4af-38 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}.wp-block-kadence-advancedheading.kt-adv-heading72_c07724-bc, .wp-block-kadence-advancedheading.kt-adv-heading72_c07724-bc[data-kb-block="kb-adv-heading72_c07724-bc"]{margin-bottom:0px;text-align:center;}.wp-block-kadence-advancedheading.kt-adv-heading72_c07724-bc mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading72_c07724-bc[data-kb-block="kb-adv-heading72_c07724-bc"] mark.kt-highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;}.wp-block-kadence-advancedheading.kt-adv-heading72_ce648d-d7, .wp-block-kadence-advancedheading.kt-adv-heading72_ce648d-d7[data-kb-block="kb-adv-heading72_ce648d-d7"]{max-width:800px;margin-right:auto;margin-left:auto;margin-top:0px;margin-bottom:var(--global-kb-spacing-xs, 1rem);text-align:center;font-size:var(--global-kb-font-size-xl, 3rem);line-height:1.2;}.wp-block-kadence-advancedheading.kt-adv-heading72_ce648d-d7 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading72_ce648d-d7[data-kb-block="kb-adv-heading72_ce648d-d7"] mark.kt-highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;}.kb-row-layout-id72_e20f27-6f > .kt-row-column-wrap{column-gap:var(--global-kb-gap-lg, 4rem);max-width:var( --global-content-width, 1290px );padding-left:var(--global-content-edge-padding);padding-right:var(--global-content-edge-padding);padding-bottom:var(--global-kb-spacing-xxs, 0.5rem);grid-template-columns:minmax(0, calc(70% - ((var(--global-kb-gap-lg, 4rem) * 1 )/2)))minmax(0, calc(30% - ((var(--global-kb-gap-lg, 4rem) * 1 )/2)));}@media all and (max-width: 1024px){.kb-row-layout-id72_e20f27-6f > .kt-row-column-wrap{grid-template-columns:minmax(0, calc(70% - ((var(--global-kb-gap-lg, 4rem) * 1 )/2)))minmax(0, calc(30% - ((var(--global-kb-gap-lg, 4rem) * 1 )/2)));}}@media all and (max-width: 767px){.kb-row-layout-id72_e20f27-6f > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}.kadence-column72_78f4ba-3a > .kt-inside-inner-col{display:flex;}.kadence-column72_78f4ba-3a > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column72_78f4ba-3a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}.kadence-column72_78f4ba-3a > .kt-inside-inner-col > .aligncenter{width:100%;}.kt-row-column-wrap > .kadence-column72_78f4ba-3a{align-self:center;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_78f4ba-3a{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_78f4ba-3a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}@media all and (max-width: 1024px){.kt-row-column-wrap > .kadence-column72_78f4ba-3a{align-self:center;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_78f4ba-3a{align-self:auto;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_78f4ba-3a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 1024px){.kadence-column72_78f4ba-3a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kt-row-column-wrap > .kadence-column72_78f4ba-3a{align-self:center;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_78f4ba-3a{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_78f4ba-3a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}.kadence-column72_78f4ba-3a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}.kt-blocks-testimonials-wrap72_e7b24c-65 .kt-testimonial-rating-wrap .kb-svg-icon-wrap{color:#fab200;font-size:36px;}.kt-blocks-testimonials-wrap72_e7b24c-65 .kt-testimonial-item-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kt-blocks-testimonials-wrap72_e7b24c-65 .kt-testimonial-content{color:var(--global-palette3, #1A202C);font-size:var(--global-kb-font-size-lg, 2rem);line-height:1.2;font-family:var( --global-heading-font-family, inherit );font-style:normal;font-weight:700;}.kt-blocks-testimonials-wrap72_e7b24c-65 .kt-testimonial-name{color:var(--global-palette3, #1A202C);font-size:var(--global-kb-font-size-md, 1.25rem);line-height:2;}.kt-blocks-testimonials-wrap72_e7b24c-65 .kt-testimonial-item-wrap{max-width:1600px;}.kt-blocks-testimonials-wrap72_e7b24c-65 .kt-testimonial-rating-wrap{margin-bottom:var(--global-kb-spacing-xxs, 0.5rem);}.kt-blocks-testimonials-wrap72_e7b24c-65 .kt-testimonial-rating-wrap .kt-svg-testimonial-rating-icon{color:#fab200;font-size:36px;display:inline-flex;justify-content:center;align-items:center;}.kadence-column72_098116-7f > .kt-inside-inner-col{display:flex;}.kadence-column72_098116-7f > .kt-inside-inner-col{padding-top:var(--global-kb-spacing-md, 2rem);padding-right:var(--global-kb-spacing-md, 2rem);padding-bottom:var(--global-kb-spacing-md, 2rem);padding-left:var(--global-kb-spacing-md, 2rem);}.kadence-column72_098116-7f > .kt-inside-inner-col,.kadence-column72_098116-7f > .kt-inside-inner-col:before{border-top-left-radius:24px;border-top-right-radius:24px;border-bottom-right-radius:24px;border-bottom-left-radius:24px;}.kadence-column72_098116-7f > .kt-inside-inner-col{column-gap:10px;}.kadence-column72_098116-7f > .kt-inside-inner-col{flex-direction:column;justify-content:center;}.kadence-column72_098116-7f > .kt-inside-inner-col > .aligncenter{width:100%;}.kt-row-column-wrap > .kadence-column72_098116-7f{align-self:center;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_098116-7f{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_098116-7f > .kt-inside-inner-col{flex-direction:column;justify-content:center;}.kadence-column72_098116-7f > .kt-inside-inner-col{background-color:var(--global-palette9, #ffffff);}.kadence-column72_098116-7f{text-align:center;}@media all and (max-width: 1024px){.kt-row-column-wrap > .kadence-column72_098116-7f{align-self:center;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_098116-7f{align-self:auto;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_098116-7f > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 1024px){.kadence-column72_098116-7f > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column72_098116-7f > .kt-inside-inner-col{padding-top:var(--global-kb-spacing-xl, 4rem);padding-bottom:var(--global-kb-spacing-xl, 4rem);flex-direction:column;justify-content:center;}.kt-row-column-wrap > .kadence-column72_098116-7f{align-self:center;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_098116-7f{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column72_098116-7f > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}.wp-block-kadence-image.kb-image72_fe9e22-6c:not(.kb-specificity-added):not(.kb-extra-specificity-added){margin-bottom:0px;}.kb-image72_fe9e22-6c .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:11px;border-top-right-radius:11px;border-bottom-right-radius:11px;border-bottom-left-radius:11px;}.kb-image72_fe9e22-6c img.kb-img, .kb-image72_fe9e22-6c .kb-img img{border-top-left-radius:11px;border-top-right-radius:11px;border-bottom-right-radius:11px;border-bottom-left-radius:11px;}.kb-row-layout-id72_68a9df-be > .kt-row-column-wrap{max-width:var( --global-content-width, 1290px );padding-left:var(--global-content-edge-padding);padding-right:var(--global-content-edge-padding);grid-template-columns:minmax(0, 1fr);}@media all and (max-width: 767px){.kb-row-layout-id72_68a9df-be > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}.kadence-column72_41e06b-dd > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column72_41e06b-dd > .kt-inside-inner-col{flex-direction:column;}.kadence-column72_41e06b-dd > .kt-inside-inner-col > .aligncenter{width:100%;}@media all and (max-width: 1024px){.kadence-column72_41e06b-dd > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column72_41e06b-dd > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}.wp-block-kadence-advancedheading.kt-adv-heading72_4c1a9f-c9, .wp-block-kadence-advancedheading.kt-adv-heading72_4c1a9f-c9[data-kb-block="kb-adv-heading72_4c1a9f-c9"]{max-width:500px;margin-right:auto;margin-left:auto;margin-bottom:var(--global-kb-spacing-xs, 1rem);text-align:center;}.wp-block-kadence-advancedheading.kt-adv-heading72_4c1a9f-c9 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading72_4c1a9f-c9[data-kb-block="kb-adv-heading72_4c1a9f-c9"] mark.kt-highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;}.kadence-column72_a0d8c5-c2 > .kt-inside-inner-col{padding-top:var(--global-kb-spacing-md, 2rem);padding-right:var(--global-kb-spacing-md, 2rem);padding-bottom:var(--global-kb-spacing-md, 2rem);padding-left:var(--global-kb-spacing-md, 2rem);}.kadence-column72_a0d8c5-c2 > .kt-inside-inner-col,.kadence-column72_a0d8c5-c2 > .kt-inside-inner-col:before{border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-right-radius:20px;border-bottom-left-radius:20px;}.kadence-column72_a0d8c5-c2 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column72_a0d8c5-c2 > .kt-inside-inner-col{flex-direction:column;}.kadence-column72_a0d8c5-c2 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column72_a0d8c5-c2 > .kt-inside-inner-col{background-color:var(--global-palette7, #EDF2F7);}.kadence-column72_a0d8c5-c2, .kt-inside-inner-col > .kadence-column72_a0d8c5-c2:not(.specificity){margin-top:0px;}@media all and (max-width: 1024px){.kadence-column72_a0d8c5-c2 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column72_a0d8c5-c2 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}.wp-block-kadence-advancedbtn.kt-btns72_0a9e27-8c, .site .entry-content .wp-block-kadence-advancedbtn.kt-btns72_0a9e27-8c, .wp-block-kadence-advancedbtn.kb-btns72_0a9e27-8c, .site .entry-content .wp-block-kadence-advancedbtn.kb-btns72_0a9e27-8c{margin-top:var(--global-kb-spacing-lg, 3rem);}ul.menu .wp-block-kadence-advancedbtn .kb-btn72_180c7e-51.kb-button{width:initial;}.kb-row-layout-id72_9e7653-53 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-lg, 4rem);max-width:var( --global-content-width, 1290px );padding-left:var(--global-content-edge-padding);padding-right:var(--global-content-edge-padding);padding-top:var(--global-kb-spacing-xxl, 5rem);padding-bottom:var(--global-kb-spacing-xxs, 0.5rem);grid-template-columns:minmax(0, calc(60% - ((var(--global-kb-gap-lg, 4rem) * 1 )/2)))minmax(0, calc(40% - ((var(--global-kb-gap-lg, 4rem) * 1 )/2)));}@media all and (max-width: 1024px){.kb-row-layout-id72_9e7653-53 > .kt-row-column-wrap{grid-template-columns:minmax(0, calc(60% - ((var(--global-kb-gap-lg, 4rem) * 1 )/2)))minmax(0, calc(40% - ((var(--global-kb-gap-lg, 4rem) * 1 )/2)));}}@media all and (max-width: 767px){.kb-row-layout-id72_9e7653-53 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}.kadence-column72_afc844-63 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column72_afc844-63 > .kt-inside-inner-col{flex-direction:column;}.kadence-column72_afc844-63 > .kt-inside-inner-col > .aligncenter{width:100%;}@media all and (max-width: 1024px){.kadence-column72_afc844-63 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column72_afc844-63 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}.wp-block-kadence-advancedheading.kt-adv-heading72_fb77a3-73, .wp-block-kadence-advancedheading.kt-adv-heading72_fb77a3-73[data-kb-block="kb-adv-heading72_fb77a3-73"]{text-align:left;font-size:var(--global-kb-font-size-lg, 2rem);line-height:1.2;}.wp-block-kadence-advancedheading.kt-adv-heading72_fb77a3-73 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading72_fb77a3-73[data-kb-block="kb-adv-heading72_fb77a3-73"] mark.kt-highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;}.wp-block-kadence-advancedheading.kt-adv-heading72_6d5b63-4c, .wp-block-kadence-advancedheading.kt-adv-heading72_6d5b63-4c[data-kb-block="kb-adv-heading72_6d5b63-4c"]{text-align:left;}.wp-block-kadence-advancedheading.kt-adv-heading72_6d5b63-4c mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading72_6d5b63-4c[data-kb-block="kb-adv-heading72_6d5b63-4c"] mark.kt-highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;}.kt-accordion-id72_f5c816-d5 .kt-accordion-inner-wrap{row-gap:20px;}.kt-accordion-id72_f5c816-d5 .kt-accordion-panel-inner{border-top:0px solid var(--global-palette3, #1A202C);border-right:1px solid var(--global-palette3, #1A202C);border-bottom:1px solid var(--global-palette3, #1A202C);border-left:1px solid var(--global-palette3, #1A202C);border-bottom-right-radius:12px;border-bottom-left-radius:12px;padding-top:0px;padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);}.kt-accordion-id72_f5c816-d5 .wp-block-kadence-pane .kt-accordion-header-wrap .kt-blocks-accordion-header{border-top:1px solid var(--global-palette6, #718096);border-right:1px solid var(--global-palette6, #718096);border-bottom:1px solid var(--global-palette6, #718096);border-left:1px solid var(--global-palette6, #718096);border-top-left-radius:12px;border-top-right-radius:12px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;background:rgba(242,242,242,0);line-height:1.2;color:var(--global-palette5, #4A5568);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);}.kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette5, #4A5568);}.kt-accordion-id72_f5c816-d5 .kt-accordion-panel-inner, .kt-accordion-id72_f5c816-d5 .kt-accordion-panel-inner h1, .kt-accordion-id72_f5c816-d5 .kt-accordion-panel-inner h2, .kt-accordion-id72_f5c816-d5 .kt-accordion-panel-inner h3, .kt-accordion-id72_f5c816-d5 .kt-accordion-panel-inner h4, .kt-accordion-id72_f5c816-d5 .kt-accordion-panel-inner h5, .kt-accordion-id72_f5c816-d5 .kt-accordion-panel-inner h6{color:var(--global-palette3, #1A202C);}.kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger{background:var(--global-palette5, #4A5568);}.kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:before{background:rgba(242,242,242,0);}.kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header:hover, body:not(.hide-focus-outline) .kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible{color:var(--global-palette3, #1A202C);background:rgba(238,238,238,0);border-top:1px solid var(--global-palette3, #1A202C);border-right:1px solid var(--global-palette3, #1A202C);border-bottom:1px solid var(--global-palette3, #1A202C);border-left:1px solid var(--global-palette3, #1A202C);}.kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion--visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette3, #1A202C);}.kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger, body:not(.hide-focus-outline) .kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger{background:var(--global-palette3, #1A202C);}.kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:rgba(238,238,238,0);}.kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible, .kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header.kt-accordion-panel-active{color:var(--global-palette3, #1A202C);background:rgba(68,68,68,0);border-top:1px solid var(--global-palette3, #1A202C);border-right:1px solid var(--global-palette3, #1A202C);border-bottom:0px solid var(--global-palette3, #1A202C);border-left:1px solid var(--global-palette3, #1A202C);}.kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette3, #1A202C);}.kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger{background:var(--global-palette3, #1A202C);}.kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id72_f5c816-d5:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:rgba(68,68,68,0);}@media all and (max-width: 1024px){.kt-accordion-id72_f5c816-d5 .kt-accordion-panel-inner{border-top:0px solid var(--global-palette3, #1A202C);border-right:1px solid var(--global-palette3, #1A202C);border-bottom:1px solid var(--global-palette3, #1A202C);border-left:1px solid var(--global-palette3, #1A202C);}}@media all and (max-width: 1024px){.kt-accordion-id72_f5c816-d5 .wp-block-kadence-pane .kt-accordion-header-wrap .kt-blocks-accordion-header{border-top:1px solid var(--global-palette6, #718096);border-right:1px solid var(--global-palette6, #718096);border-bottom:1px solid var(--global-palette6, #718096);border-left:1px solid var(--global-palette6, #718096);}}@media all and (max-width: 1024px){.kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header:hover, body:not(.hide-focus-outline) .kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible{border-top:1px solid var(--global-palette3, #1A202C);border-right:1px solid var(--global-palette3, #1A202C);border-bottom:1px solid var(--global-palette3, #1A202C);border-left:1px solid var(--global-palette3, #1A202C);}}@media all and (max-width: 1024px){.kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible, .kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:1px solid var(--global-palette3, #1A202C);border-right:1px solid var(--global-palette3, #1A202C);border-bottom:0px solid var(--global-palette3, #1A202C);border-left:1px solid var(--global-palette3, #1A202C);}}@media all and (max-width: 767px){.kt-accordion-id72_f5c816-d5 .kt-accordion-panel-inner{border-top:0px solid var(--global-palette3, #1A202C);border-right:1px solid var(--global-palette3, #1A202C);border-bottom:1px solid var(--global-palette3, #1A202C);border-left:1px solid var(--global-palette3, #1A202C);}.kt-accordion-id72_f5c816-d5 .wp-block-kadence-pane .kt-accordion-header-wrap .kt-blocks-accordion-header{border-top:1px solid var(--global-palette6, #718096);border-right:1px solid var(--global-palette6, #718096);border-bottom:1px solid var(--global-palette6, #718096);border-left:1px solid var(--global-palette6, #718096);}.kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header:hover, body:not(.hide-focus-outline) .kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible{border-top:1px solid var(--global-palette3, #1A202C);border-right:1px solid var(--global-palette3, #1A202C);border-bottom:1px solid var(--global-palette3, #1A202C);border-left:1px solid var(--global-palette3, #1A202C);}.kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible, .kt-accordion-id72_f5c816-d5 .kt-accordion-header-wrap .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:1px solid var(--global-palette3, #1A202C);border-right:1px solid var(--global-palette3, #1A202C);border-bottom:0px solid var(--global-palette3, #1A202C);border-left:1px solid var(--global-palette3, #1A202C);}}.kadence-column72_1b6662-d4 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column72_1b6662-d4 > .kt-inside-inner-col{flex-direction:column;}.kadence-column72_1b6662-d4 > .kt-inside-inner-col > .aligncenter{width:100%;}@media all and (max-width: 1024px){.kadence-column72_1b6662-d4 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column72_1b6662-d4 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}.kb-image72_30a64d-49 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:12px;border-top-right-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:12px;}.kb-image72_30a64d-49 img.kb-img, .kb-image72_30a64d-49 .kb-img img{border-top-left-radius:12px;border-top-right-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:12px;}
</style>
<style id='kadence_blocks_custom_css-inline-css'>
.kadence-column72_78f4ba-3a {min-height: 300px!important;}
</style>
<script src="https://safelinkconverter.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
<script src="https://safelinkconverter.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script>
<script id="tfcm-client-script-js-extra">
var tfcmClientAjax = {"ajax_url":"https:\/\/safelinkconverter.com\/wp-admin\/admin-ajax.php","logging_nonce":"10f642a0d1"};
</script>
<script src="https://safelinkconverter.com/wp-content/plugins/traffic-monitor/assets/js/tfcm-client-script.js?ver=1754718082" id="tfcm-client-script-js"></script>
<link rel="https://api.w.org/" href="https://safelinkconverter.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://safelinkconverter.com/wp-json/wp/v2/pages/72" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://safelinkconverter.com/xmlrpc.php?rsd" />
<meta name="generator" content="WordPress 6.8.2" />
<link rel='shortlink' href='https://safelinkconverter.com/' />
<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://safelinkconverter.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsafelinkconverter.com%2F" />
<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://safelinkconverter.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsafelinkconverter.com%2F&format=xml" />
<meta name="generator" content="Site Kit by Google 1.161.0" /><link rel='stylesheet' id='kadence-fonts-gfonts-css' href='https://fonts.googleapis.com/css?family=Bricolage%20Grotesque:regular,700,500&display=swap' media='all' />
<script type="application/ld+json" class="kadence-faq-schema-graph kadence-faq-schema-graph--kb-faq72_f5c816-d5">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name": "Is my data safe with Safe Link Converter?","acceptedAnswer":{"@type": "Answer","text": "<p>Yes, we prioritize user privacy and employ advanced security protocols to protect your data. We do not log urls you convert at all. </p>"}},{"@type":"Question","name": "Can I track my converted links?","acceptedAnswer":{"@type": "Answer","text": "<p>No, we do not even track your converted rep links. Many other services do. Be careful. </p>"}},{"@type":"Question","name": "What is Safe Link Converter?","acceptedAnswer":{"@type": "Answer","text": "<p>Safe Link Converter is an online platform specializing in secure link conversion for Ecommerce reps and operators who do not want to be tracked while doing their product research. </p>"}},{"@type":"Question","name": "Can you add more marketplaces or urls to convert? ","acceptedAnswer":{"@type": "Answer","text": "<p>Yes of course! Please email us at: info@safelinkconverter.com and let us know your feature requests.</p>"}}]}</script><link rel="icon" href="https://safelinkconverter.com/wp-content/uploads/2025/09/cropped-favicon-32x32-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://safelinkconverter.com/wp-content/uploads/2025/09/cropped-favicon-32x32-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://safelinkconverter.com/wp-content/uploads/2025/09/cropped-favicon-32x32-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://safelinkconverter.com/wp-content/uploads/2025/09/cropped-favicon-32x32-1-270x270.png" />
</head>
<body class="home wp-singular page-template-default page page-id-72 wp-embed-responsive wp-theme-kadence footer-on-bottom hide-focus-outline link-style-standard content-title-style-hide content-width-fullwidth content-style-unboxed content-vertical-padding-hide non-transparent-header mobile-non-transparent-header">
<div id="wrapper" class="site wp-site-blocks">
<a class="skip-link screen-reader-text scroll-ignore" href="#main">Skip to content</a>
<header id="masthead" class="site-header" role="banner" itemtype="https://schema.org/WPHeader" itemscope>
<div id="main-header" class="site-header-wrap">
<div class="site-header-inner-wrap">
<div class="site-header-upper-wrap">
<div class="site-header-upper-inner-wrap">
<div class="site-main-header-wrap site-header-row-container site-header-focus-item site-header-row-layout-standard" data-section="kadence_customizer_header_main">
<div class="site-header-row-container-inner">
<div class="site-container">
<div class="site-main-header-inner-wrap site-header-row site-header-row-has-sides site-header-row-no-center">
<div class="site-header-main-section-left site-header-section site-header-section-left">
<div class="site-header-item site-header-focus-item" data-section="title_tagline">
<div class="site-branding branding-layout-standard"><a class="brand has-logo-image" href="https://safelinkconverter.com/" rel="home"><span class="logo-icon"><svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve" fill="#1877F2">
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
<g id="SVGRepo_iconCarrier">
<path fill="currentColor" d="M36,0C20.535,0,8,12.535,8,28v22.344l-6.828,6.828c-1.562,1.562-1.562,4.094,0,5.656 C1.953,63.609,2.977,64,4,64s2.047-0.391,2.828-1.172L13.656,56H36c15.465,0,28-12.535,28-28V0H36z M50.828,18.828L37.652,32.004H44 c2.211,0,4,1.789,4,4s-1.789,4-4,4H29.652l-2.824,2.824C26.047,43.609,25.023,44,24,44s-2.047-0.391-2.828-1.172 c-1.562-1.562-1.562-4.094,0-5.656L24,34.344V20c0-2.211,1.789-4,4-4s4,1.789,4,4v6.344l13.172-13.172 c1.562-1.562,4.094-1.562,5.656,0S52.391,17.266,50.828,18.828z"></path>
</g>
</svg></span><div class="site-title-wrap"><p class="site-title">Safe Link Converter</p></div></a></div></div><!-- data-section="title_tagline" -->
</div>
<div class="site-header-main-section-right site-header-section site-header-section-right">
<div class="site-header-item site-header-focus-item site-header-item-main-navigation header-navigation-layout-stretch-false header-navigation-layout-fill-stretch-false" data-section="kadence_customizer_primary_navigation">
<nav id="site-navigation" class="main-navigation header-navigation hover-to-open nav--toggle-sub header-navigation-style-standard header-navigation-dropdown-animation-none" role="navigation" aria-label="Primary">
<div class="primary-menu-container header-menu-container">
<ul id="primary-menu" class="menu"><li id="menu-item-74" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-72 current_page_item menu-item-74"><a href="https://safelinkconverter.com/" aria-current="page">Universal Link Converter | Safe Link Converter</a></li>
<li id="menu-item-78" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-78"><a href="https://safelinkconverter.com/blog/">Blog</a></li>
<li id="menu-item-75" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-75"><a href="#">About</a></li>
<li id="menu-item-76" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-76"><a href="https://safelinkconverter.com/contact/">Contact</a></li>
</ul> </div>
</nav><!-- #site-navigation -->
</div><!-- data-section="primary_navigation" -->
<div class="site-header-item site-header-focus-item" data-section="kadence_customizer_header_button">
<div class="header-button-wrap"><div class="header-button-inner-wrap"><a href="https://safelinkconverter.com/contact/" target="_self" class="button header-button button-size-medium button-style-filled">Subscribe</a></div></div></div><!-- data-section="header_button" -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="mobile-header" class="site-mobile-header-wrap">
<div class="site-header-inner-wrap">
<div class="site-header-upper-wrap">
<div class="site-header-upper-inner-wrap">
<div class="site-main-header-wrap site-header-focus-item site-header-row-layout-standard site-header-row-tablet-layout-default site-header-row-mobile-layout-default ">
<div class="site-header-row-container-inner">
<div class="site-container">
<div class="site-main-header-inner-wrap site-header-row site-header-row-has-sides site-header-row-no-center">
<div class="site-header-main-section-left site-header-section site-header-section-left">
<div class="site-header-item site-header-focus-item" data-section="title_tagline">
<div class="site-branding mobile-site-branding branding-layout-standard branding-tablet-layout-inherit branding-mobile-layout-inherit"><a class="brand has-logo-image" href="https://safelinkconverter.com/" rel="home"><span class="logo-icon"><svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve" fill="#1877F2">
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
<g id="SVGRepo_iconCarrier">
<path fill="currentColor" d="M36,0C20.535,0,8,12.535,8,28v22.344l-6.828,6.828c-1.562,1.562-1.562,4.094,0,5.656 C1.953,63.609,2.977,64,4,64s2.047-0.391,2.828-1.172L13.656,56H36c15.465,0,28-12.535,28-28V0H36z M50.828,18.828L37.652,32.004H44 c2.211,0,4,1.789,4,4s-1.789,4-4,4H29.652l-2.824,2.824C26.047,43.609,25.023,44,24,44s-2.047-0.391-2.828-1.172 c-1.562-1.562-1.562-4.094,0-5.656L24,34.344V20c0-2.211,1.789-4,4-4s4,1.789,4,4v6.344l13.172-13.172 c1.562-1.562,4.094-1.562,5.656,0S52.391,17.266,50.828,18.828z"></path>
</g>
</svg></span><div class="site-title-wrap"><div class="site-title vs-md-false">Safe Link Converter</div></div></a></div></div><!-- data-section="title_tagline" -->
</div>
<div class="site-header-main-section-right site-header-section site-header-section-right">
<div class="site-header-item site-header-focus-item site-header-item-navgation-popup-toggle" data-section="kadence_customizer_mobile_trigger">
<div class="mobile-toggle-open-container">
<button id="mobile-toggle" class="menu-toggle-open drawer-toggle menu-toggle-style-default" aria-label="Open menu" data-toggle-target="#mobile-drawer" data-toggle-body-class="showing-popup-drawer-from-right" aria-expanded="false" data-set-focus=".menu-toggle-close"
>
<span class="menu-toggle-icon"><span class="kadence-svg-iconset"><svg aria-hidden="true" class="kadence-svg-icon kadence-menu-svg" fill="currentColor" version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><title>Toggle Menu</title><path d="M3 13h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 7h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 19h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1z"></path>
</svg></span></span>
</button>
</div>
</div><!-- data-section="mobile_trigger" -->
<div class="site-header-item site-header-focus-item" data-section="kadence_customizer_mobile_button">
<div class="mobile-header-button-wrap"><div class="mobile-header-button-inner-wrap"><a href="#call-to-action" target="_self" class="button mobile-header-button button-size-small button-style-filled">Join Now</a></div></div></div><!-- data-section="mobile_button" -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</header><!-- #masthead -->
<main id="inner-wrap" class="wrap kt-clear" role="main">
<div id="primary" class="content-area">
<div class="content-container site-container">
<div id="main" class="site-main">
<div class="content-wrap">
<article id="post-72" class="entry content-bg single-entry post-72 page type-page status-publish hentry">
<div class="entry-content-wrap">
<div class="entry-content single-content">
<div class="wp-block-kadence-column kadence-column72_725c05-8c"><div class="kt-inside-inner-col">
<h1 class="wp-block-heading has-text-align-center">Universal Ecommerce Link Converter</h1>
</div></div>
<p class="has-text-align-center" style="margin-top:0;margin-right:var(--wp--preset--spacing--60);margin-bottom:0;margin-left:var(--wp--preset--spacing--60)"></p>
<div class="kb-row-layout-wrap kb-row-layout-id72_965173-2f alignfull kt-row-has-bg wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">
<div class="wp-block-kadence-column kadence-column72_24054b-6a"><div class="kt-inside-inner-col"><div class="kb-row-layout-wrap kb-row-layout-id72_8323de-28 alignnone kt-row-has-bg wp-block-kadence-rowlayout"><div class="kt-row-layout-overlay kt-row-overlay-normal"></div><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top kb-theme-content-width">
<div class="wp-block-kadence-column kadence-column72_20de7c-75"><div class="kt-inside-inner-col">
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>URL Converter</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
margin: 0;
padding: 20px;
background-color: #f0f2f5;
color: #1c1e21;
}
.converter-container {
padding: 20px;
background-color: #ffffff;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
h1 {
font-size: 24px;
margin-bottom: 20px;
color: #1877f2;
}
label {
display: block;
margin-bottom: 8px;
font-weight: 600;
}
select, textarea {
width: 100%;
padding: 10px;
margin-bottom: 20px;
border: 1px solid #dddfe2;
border-radius: 6px;
font-size: 14px;
box-sizing: border-box;
}
textarea {
resize: vertical;
min-height: 150px;
}
button {
width: 100%;
padding: 12px;
background-color: #1877f2;
color: #ffffff;
border: none;
border-radius: 6px;
font-size: 16px;
font-weight: bold;
cursor: pointer;
transition: background-color 0.2s;
}
button:hover {
background-color: #166fe5;
}
.button-group {
display: flex;
gap: 10px;
margin-top: 10px;
margin-bottom: 20px;
}
.button-group button {
width: 50%;
background-color: #e4e6eb;
color: #1c1e21;
}
.button-group button:hover {
background-color: #d8dade;
}
.output-area {
background-color: #f0f2f5;
border: 1px solid #dddfe2;
border-radius: 6px;
padding: 10px;
min-height: 150px;
word-break: break-all;
}
.output-area a {
display: block;
margin-bottom: 5px;
color: #1877f2;
text-decoration: none;
}
.output-area a:hover {
text-decoration: underline;
}
.output-area p {
margin: 0;
color: #606770;
}
</style>
</head>
<body>
<div class="converter-container">
<h1>Link Converter</h1>
<label for="input-urls">Paste text containing agent URLs here:</label>
<textarea id="input-urls" placeholder="Paste your text with Pandabuy, Wegobuy, Superbuy, etc. links here..."></textarea>
<button id="convert-button">Find Original Links</button>
<div class="button-group">
<button id="paste-button">Paste</button>
<button id="copy-button">Copy</button>
</div>
<label for="output-urls-container">Converted URLs:</label>
<div id="output-urls-container" class="output-area">
<p>Your Converted Taobao, Weidian, or 1688 links will appear here…</p>
</div>
</div>
<script>
(() => {
// This is a bundled and adapted version of the logic from the JadeShip extension.
// All chrome.* and browser.* APIs have been removed.
var e = (() => {
var e = {
1829: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.acbuyStringsMarketplaces = t.acbuyMarketplaceStrings = void 0),
(t.acbuyMarketplaceStrings = new Map([
["tmall", "TB"],
["weidian", "WD"],
["taobao", "TB"],
["1688", "AL"],
])),
(t.acbuyStringsMarketplaces = new Map(Array.from(t.acbuyMarketplaceStrings).map(([e, t]) => [t, e])));
},
4537: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.allchinabuyStringsMarketplaces = t.allchinabuyMarketplaceStrings = void 0),
(t.allchinabuyMarketplaceStrings = new Map([
["tmall", "TB"],
["weidian", "WD"],
["taobao", "TB"],
["1688", "ALIBABA"],
])),
(t.allchinabuyStringsMarketplaces = new Map(Array.from(t.allchinabuyMarketplaceStrings).map(([e, t]) => [t, e])));
},
909: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.cssbuyStringsMarketplaces = t.cssbuyMarketplaceStrings = void 0),
(t.cssbuyMarketplaceStrings = new Map([
["tmall", "taobao"],
["weidian", "micro"],
["taobao", "taobao"],
["1688", "1688"],
])),
(t.cssbuyStringsMarketplaces = new Map(Array.from(t.cssbuyMarketplaceStrings).map(([e, t]) => [t, e])));
},
4641: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.hoobuyStringsMarketplaces = t.hoobuyMarketplaceStrings = void 0),
(t.hoobuyMarketplaceStrings = new Map([
["tmall", "1"],
["weidian", "2"],
["taobao", "1"],
["1688", "0"],
])),
(t.hoobuyStringsMarketplaces = new Map(Array.from(t.hoobuyMarketplaceStrings).map(([e, t]) => [t, e])));
},
340: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.kameymallStringsMarketplaces = t.kameymallMarketplaceStrings = void 0),
(t.kameymallMarketplaceStrings = new Map([
["tmall", "1"],
["weidian", "7"],
["taobao", "1"],
["1688", "4"],
])),
(t.kameymallStringsMarketplaces = new Map(Array.from(t.kameymallMarketplaceStrings).map(([e, t]) => [t, e])));
},
4149: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.lovegobuyStringsMarketplaces = t.lovegobuyMarketplaceStrings = void 0),
(t.lovegobuyMarketplaceStrings = new Map([
["tmall", "taobao"],
["weidian", "weidian"],
["taobao", "taobao"],
["1688", "ali_1688"],
])),
(t.lovegobuyStringsMarketplaces = new Map(Array.from(t.lovegobuyMarketplaceStrings).map(([e, t]) => [t, e])));
},
6984: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.oopbuyStringsMarketplaces = t.oopbuyMarketplaceStrings = void 0);
const n = [
["tmall", "1"],
["taobao", "1"],
["1688", "0"],
["weidian", "2"],
["weidian", "weidian"],
];
(t.oopbuyMarketplaceStrings = new Map(n)), (t.oopbuyStringsMarketplaces = new Map(n.map(([e, t]) => [t, e])));
},
5334: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.pandabuyStringsMarketplaces = t.pandabuyMarketplaceStrings = void 0),
(t.pandabuyMarketplaceStrings = new Map([
["tmall", "taobao"],
["weidian", "wd"],
["taobao", "taobao"],
["1688", "alibaba"],
])),
(t.pandabuyStringsMarketplaces = new Map(Array.from(t.pandabuyMarketplaceStrings).map(([e, t]) => [t, e])));
},
110: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.panglobalbuyStringsMarketplaces = t.panglobalbuyMarketplaceStrings = void 0),
(t.panglobalbuyMarketplaceStrings = new Map([
["tmall", "1"],
["weidian", "3"],
["taobao", "1"],
["1688", "2"],
])),
(t.panglobalbuyStringsMarketplaces = new Map(Array.from(t.panglobalbuyMarketplaceStrings).map(([e, t]) => [t, e])));
},
9426: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.sifubuyStringsMarketplaces = t.sifubuyMarketplaceStrings = void 0),
(t.sifubuyMarketplaceStrings = new Map([
["tmall", "2"],
["weidian", "4"],
["taobao", "2"],
["1688", "1"],
])),
(t.sifubuyStringsMarketplaces = new Map(Array.from(t.sifubuyMarketplaceStrings).map(([e, t]) => [t, e])));
},
2228: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.superbuyStringsMarketplaces = t.superbuyMarketplaceStrings = void 0),
(t.superbuyStringsMarketplaces = new Map([
["tmall", "TB"],
["weidian", "WD"],
["taobao", "TB"],
["1688", "ALIBABA"],
])),
(t.superbuyStringsMarketplaces = new Map(Array.from(t.superbuyMarketplaceStrings).map(([e, t]) => [t, e])));
},
4354: function (e, t, n) {
"use strict";
var r =
(this && this.__createBinding) ||
(Object.create
? function (e, t, n, r) {
void 0 === r && (r = n);
var a = Object.getOwnPropertyDescriptor(t, n);
(a && !("get" in a ? !t.__esModule : a.writable || a.configurable)) ||
(a = {
enumerable: !0,
get: function () {
return t[n];
},
}),
Object.defineProperty(e, r, a);
}
: function (e, t, n, r) {
void 0 === r && (r = n), (e[r] = t[n]);
}),
a =
(this && this.__exportStar) ||
function (e, t) {
for (var n in e) "default" === n || Object.prototype.hasOwnProperty.call(t, n) || r(t, e, n);
};
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.isRawLink = t.isNonLinkMarketplace = t.isAgentLink = t.generateRawStoreLink = t.generateRawLink = t.generateAgentStoreLink = t.generateAgentLink = t.filterLinks = t.extractId = t.detectNonLinkMarketplace = t.detectMarketplace = t.detectAgent = t.CnStoreLink = t.CnLink = t.CnItemLink = t.agentSupportsStore = void 0);
const o = n(6476);
Object.defineProperty(t, "extractId", {
enumerable: !0,
get: function () {
return o.extractId;
},
});
const i = n(5258);
Object.defineProperty(t, "filterLinks", {
enumerable: !0,
get: function () {
return i.filterLinks;
},
});
const l = n(9332);
Object.defineProperty(t, "generateAgentLink", {
enumerable: !0,
get: function () {
return l.generateAgentLink;
},
});
const s = n(7125);
Object.defineProperty(t, "generateRawLink", {
enumerable: !0,
get: function () {
return s.generateRawLink;
},
});
const u = n(4945);
Object.defineProperty(t, "isAgentLink", {
enumerable: !0,
get: function () {
return u.isAgentLink;
},
});
const c = n(8797);
Object.defineProperty(t, "isNonLinkMarketplace", {
enumerable: !0,
get: function () {
return c.isNonLinkMarketplace;
},
});
const f = n(8621);
Object.defineProperty(t, "isRawLink", {
enumerable: !0,
get: function () {
return f.isRawLink;
},
});
const d = n(1897);
Object.defineProperty(t, "detectAgent", {
enumerable: !0,
get: function () {
return d.detectAgent;
},
});
const p = n(7913);
Object.defineProperty(t, "detectMarketplace", {
enumerable: !0,
get: function () {
return p.detectMarketplace;
},
});
const h = n(5812);
Object.defineProperty(t, "detectNonLinkMarketplace", {
enumerable: !0,
get: function () {
return h.detectNonLinkMarketplace;
},
});
const m = n(9800);
Object.defineProperty(t, "CnItemLink", {
enumerable: !0,
get: function () {
return m.CnItemLink;
},
}),
Object.defineProperty(t, "CnLink", {
enumerable: !0,
get: function () {
return m.CnLink;
},
}),
Object.defineProperty(t, "CnStoreLink", {
enumerable: !0,
get: function () {
return m.CnStoreLink;
},
});
const g = n(7424);
Object.defineProperty(t, "agentSupportsStore", {
enumerable: !0,
get: function () {
return g.agentSupportsStore;
},
});
const y = n(33);
Object.defineProperty(t, "generateAgentStoreLink", {
enumerable: !0,
get: function () {
return y.generateAgentLink;
},
});
const b = n(5494);
Object.defineProperty(t, "generateRawStoreLink", {
enumerable: !0,
get: function () {
return b.generateRawLink;
},
}),
a(n(8871), t);
},
3332: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeAcbuy = void 0);
const r = n(1829),
a = n(7125);
t.decodeAcbuy = function (e) {
const t = ((e) => {
var t;
const n = e.get("source");
return null === n ? null : null !== (t = r.acbuyStringsMarketplaces.get(n)) && void 0 !== t ? t : null;
})(e.searchParams);
if (!t) throw new Error("Acbuy marketplace not found.");
const n = e.searchParams.get("id");
if (!n) throw new Error("No id provided in MuleBuy link.");
return (0, a.generateRawLink)(t, n);
};
},
3620: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeBasetao = void 0);
const r = n(8871),
a = n(7125);
t.decodeBasetao = function (e) {
const t = e.pathname.split("/");
if (!t.includes("products")) throw new Error(`This type of Basetao link is not a compatible product link: ${e.href}`);
const n = ((e) => {
var t;
return null !== (t = r.marketplaces.find((t) => e.includes(t))) && void 0 !== t ? t : null;
})(t);
if (!n) throw new Error(`No marketplace detected in Basetao link ${e.href}`);
const o = t[t.indexOf(n) + 1].split(".")[0];
return (0, a.generateRawLink)(n, o);
};
},
5488: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeCnFans = void 0);
const r = n(7125),
a = (e) => {
var t;
switch (null === (t = e.searchParams.get("shoptype") || e.searchParams.get("shop_type")) || void 0 === t ? void 0 : t.toLowerCase()) {
case "weidian":
return "weidian";
case "taobao":
return "taobao";
case "ali_1688":
return "1688";
default:
return null;
}
};
t.decodeCnFans = function (e) {
if (e.searchParams.has("id") && e.searchParams.has("platform")) {
const t = ((e) => {
var t;
switch (null === (t = e.searchParams.get("platform")) || void 0 === t ? void 0 : t.toLowerCase()) {
case "weidian":
return "weidian";
case "taobao":
return "taobao";
case "ali_1688":
return "1688";
default:
return null;
}
})(e);
if (!t) throw new Error("CnFans shop type not supported.");
const n = e.searchParams.get("id");
if (!n) throw new Error("No id provided in CnFans link.");
return (0, r.generateRawLink)(t, n);
}
if (!e.hostname.startsWith("m.")) {
const t = a(e);
if (!t) throw new Error("CnFans shop type not supported.");
const n = e.searchParams.get("id");
if (!n) throw new Error("No id provided in CnFans link.");
return (0, r.generateRawLink)(t, n);
}
const t = a(e);
if (!t) throw new Error("CnFans shop type not supported (mobile).");
const n = e.searchParams.get("id");
if (!n) throw new Error("No id provided in CnFans link (mobile).");
return (0, r.generateRawLink)(t, n);
};
},
4005: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeCssbuy = void 0);
const r = n(7125);
t.decodeCssbuy = function (e) {
const t = "string" == typeof e ? new URL(e) : e;
if (t.pathname.startsWith("/item-micro")) {
const e = t.pathname.split("-")[2].split(".")[0];
if (e) return (0, r.generateRawLink)("weidian", e);
}
if (t.pathname.startsWith("/item-1688")) {
const e = t.pathname.split("-")[2].split(".")[0];
if (e) return (0, r.generateRawLink)("1688", e);
}
if (t.pathname.startsWith("/item")) {
const e = t.pathname.split("-")[1].split(".")[0];
if (e) return (0, r.generateRawLink)("taobao", e);
}
throw new Error(`Error extracting inner link, cssbuy link could not be decrypted: ${e.href}`);
};
},
35: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.decodeEzbuyCn = void 0),
(t.decodeEzbuyCn = function (e) {
const t = e.searchParams.get("key");
if (t) return new URL(t);
throw new Error(`Error extracting inner link, hubbuycn link could not be decrypted: ${e.href}`);
});
},
9023: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeHoobuy = void 0);
const r = n(7125);
t.decodeHoobuy = function (e) {
const t = "string" == typeof e ? new URL(e) : e;
let n = "/product/";
const a = t.pathname.startsWith("/m/product/");
if (a) n = "/m/product/";
else if (!t.pathname.startsWith(n)) throw new Error("Hoobuy prefix error.");
const o = a ? 4 : 3;
if (t.pathname.startsWith(`${n}1/`)) {
const e = t.pathname.split("/")[o];
if (e) return (0, r.generateRawLink)("taobao", e);
}
if (t.pathname.startsWith(`${n}0/`)) {
const e = t.pathname.split("/")[o];
if (e) return (0, r.generateRawLink)("1688", e);
}
if (t.pathname.startsWith(`${n}2/`)) {
const e = t.pathname.split("/")[o];
if (e) return (0, r.generateRawLink)("weidian", e);
}
throw new Error(`Error extracting inner link, hoobuy link could not be decrypted: ${t.href}`);
};
},
5187: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeHubbuyCn = void 0);
const r = n(7125);
t.decodeHubbuyCn = function (e) {
if (e.searchParams.get("url")) return new URL(e.searchParams.get("url"));
if (e.pathname.toLowerCase().includes("taobaoid")) {
const t = e.pathname.split("taobaoID=")[1].split("&")[0];
return new URL((0, r.generateRawLink)("taobao", t));
}
throw new Error(`Error extracting inner link, hubbuycn link could not be decrypted: ${e.href}`);
};
},
1733: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeJoyagoo = void 0);
const r = n(7125);
t.decodeJoyagoo = function (e) {
const t = ((e) => {
var t;
switch (null === (t = e.searchParams.get("platform") || e.searchParams.get("shop_type") || e.searchParams.get("shoptype")) || void 0 === t ? void 0 : t.toLowerCase()) {
case "weidian":
return "weidian";
case "taobao":
return "taobao";
case "ali_1688":
return "1688";
default:
return null;
}
})(e);
if (!t) throw new Error("Joyagoo/Joyabuy shop type not supported.");
const n = e.searchParams.get("id");
if (!n) throw new Error("No id provided in Joyagoo/Joyabuy link.");
return (0, r.generateRawLink)(t, n);
};
},
4505: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.decodeKameymall = void 0),
(t.decodeKameymall = function (e) {
if (e.pathname.startsWith("/purchases")) {
const t = e.pathname.split("/");
if (t[2] && /^\d+$/.test(t[2])) throw new Error("Kameymall link is a purchase history link. This type of link cannot be decoded.");
}
throw new Error(`Could not extract inner Kameymall link from ${e.href}. This is expected behaviour and should use the fallback.`);
});
},
8183: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeLovegobuy = void 0);
const r = n(4149),
a = n(7125),
o = (e) => {
const t = e.searchParams.get("shop_type");
if (t && r.lovegobuyStringsMarketplaces.get(t)) return r.lovegobuyStringsMarketplaces.get(t);
const n = e.searchParams.get("platform");
return n && r.lovegobuyStringsMarketplaces.get(n) ? r.lovegobuyStringsMarketplaces.get(n) : null;
};
t.decodeLovegobuy = function (e) {
if ((e.searchParams.has("platform") || e.searchParams.has("shop_type")) && (e.searchParams.has("goodsId") || e.searchParams.has("id"))) {
const t = o(e);
if (!t) throw new Error(`This type of lovegobuy link is not a compatible product link (no marketplace): ${e.href}`);
const n = e.searchParams.get("id") || e.searchParams.get("goodsId");
if (null === n) throw new Error(`This type of lovegobuy link is not a compatible product link (no id): ${e.href}`);
return (0, a.generateRawLink)(t, n);
}
if (!e.hash) throw new Error(`This type of lovegobuy link is not a compatible product link (no hash): ${e.href}`);
const t = e.hash.split("?")[1];
if (!t) throw new Error(`This type of lovegobuy link is not a compatible product link (no search params in hash): ${e.href}`);
const n = new URLSearchParams(t),
r = o(new URL(`https://lovegobuy.com/?${n}`));
if (!r) throw new Error(`This type of lovegobuy link is not a compatible product link (no marketplace): ${e.href}`);
const i = n.get("goodsId");
if (null === i) throw new Error(`This type of lovegobuy link is not a compatible product link (no id): ${e.href}`);
return (0, a.generateRawLink)(r, i);
};
},
2088: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeOopbuy = void 0);
const r = n(6984),
a = n(8871),
o = n(7125);
t.decodeOopbuy = function (e) {
var t;
if ((e.searchParams.has("channel") && e.searchParams.has("id")) || e.searchParams.has("spuno") || e.searchParams.has("spuNo")) {
const n = e.searchParams.get("id") || e.searchParams.get("spuno") || e.searchParams.get("spuNo");
if (!n) throw new Error("No id provided in Oopbuy link.");
const r = null === (t = e.searchParams.get("channel")) || void 0 === t ? void 0 : t.toLowerCase();
if (!r || !a.marketplaces.includes(r)) throw new Error("No marketplace provided in Oopbuy link.");
return (0, o.generateRawLink)(r, n);
}
const n = ((e) => {
var t;
const n = null === (t = e.pathname.split("/")[2]) || void 0 === t ? void 0 : t.toLowerCase();
return n ? r.oopbuyStringsMarketplaces.get(n) || (a.marketplaces.includes(n) ? n : null) : null;
})(e);
if (!n) throw new Error("Oopbuy item type not supported.");
const i = e.pathname.split("/")[3];
if (!i) throw new Error("No id provided in Oopbuy link.");
return (0, o.generateRawLink)(n, i);
};
},
6535: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeOrientdig = void 0);
const r = n(7125);
t.decodeOrientdig = function (e) {
const t = ((e) => ("weidian" === e.searchParams.get("shop_type") ? "weidian" : "taobao" === e.searchParams.get("shop_type") ? "taobao" : "ali_1688" === e.searchParams.get("shop_type") ? "1688" : null))(e);
if (!t) throw new Error("Orientdig shop type not supported.");
const n = e.searchParams.get("id");
if (!n) throw new Error("No id provided in Orientdig link.");
return (0, r.generateRawLink)(t, n);
};
},
3941: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodePanglobalbuy = void 0);
const r = n(110),
a = n(7125);
t.decodePanglobalbuy = function (e) {
if ("/" !== e.pathname || !e.hash.startsWith("#/")) throw new Error("Invalid Panglobalbuy link.");
const t = e.href.replace("/#/", "/"),
n = new URL(t),
{ searchParams: o } = n,
i = ((e) => {
var t;
const n = e.get("type");
return null === n ? null : null !== (t = r.panglobalbuyStringsMarketplaces.get(n)) && void 0 !== t ? t : null;
})(o);
if (!i) throw new Error("Panglobalbuy shop type not supported.");
const l = o.get("offerId");
if (!l) throw new Error("No id provided in Panglobalbuy link.");
return (0, a.generateRawLink)(i, l);
};
},
449: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodePonybuy = void 0);
const r = n(7125);
t.decodePonybuy = function (e) {
const t = ((e) => ("weidian" === e.searchParams.get("platform") ? "weidian" : "taobao" === e.searchParams.get("platform") ? "taobao" : "1688" === e.searchParams.get("platform") ? "1688" : null))(e);
if (!t) throw new Error("Ponybuy shop type not supported.");
const n = e.searchParams.get("product_id");
if (!n) throw new Error("No id provided in Ponybuy link.");
return (0, r.generateRawLink)(t, n);
};
},
69: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeSifubuy = void 0);
const r = n(9426),
a = n(7125);
t.decodeSifubuy = function (e) {
if (e.searchParams.has("productUrl")) {
const t = e.searchParams.get("productUrl");
if (!t) throw new Error("Invalid Sifubuy link.");
return new URL(decodeURIComponent(t));
}
const t = ((e) => {
var t;
const n = e.searchParams.get("type");
if (!n) throw new Error("Missing marketplace parameter type is required");
return null !== (t = r.sifubuyStringsMarketplaces.get(n)) && void 0 !== t ? t : null;
})(e);
if (!t) throw new Error("Sifubuy shop type not supported.");
const n = e.searchParams.get("id");
if (!n) throw new Error("No id provided in Sifubuy link.");
return (0, a.generateRawLink)(t, n);
};
},
9265: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.decodeSugargoo = void 0),
(t.decodeSugargoo = function (e) {
const t = new URL(e.href.replace("/#/", "/")).searchParams.get("productLink");
if (t)
try {
return new URL(t);
} catch (e) {
return new URL(decodeURIComponent(t));
}
throw new Error(`Could not extract inner Sugargoo link from ${e.href}`);
});
},
681: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeSuperbuy = void 0);
const r = n(7322);
t.decodeSuperbuy = function (e) {
if (e.href.includes("/#/")) {
const t = new URL(e.href.replace("/#/", "/")),
n = (0, r.extractInnerParam)(t);
if (n) return new URL(n);
}
throw new Error(`Could not extract inner Superbuy link from ${e.href}. This is expected behaviour and should use the fallback.`);
};
},
6476: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.extractId = void 0);
const r = n(7913);
t.extractId = function e(t, n) {
const a = t instanceof URL ? t : new URL(t),
o = null != n ? n : (0, r.detectMarketplace)(t);
if (!o) throw new Error(`Tried to extract id, but could not determine marketplace from string: ${a.href}`);
const i = a.searchParams;
if ("weidian" === o) {
if (i.get("itemID")) return i.get("itemID");
if (i.get("itemId")) return i.get("itemId");
} else if ("taobao" === o) {
if (-1 !== a.hostname.indexOf("world.taobao.com")) {
const e = a.href.split("item/")[1].split(".")[0];
if (!Number.isNaN(Number(e))) return e;
}
if (a.pathname.startsWith("/list/item")) {
const e = a.pathname.split("/"),
t = e[e.length - 1];
if (t.endsWith(".htm")) return t.split(".")[0];
}
if ("assets-tmw.taobao.com" === a.hostname) {
const t = a.searchParams.get("targetId");
if (t) return t;
const n = a.searchParams.get("targetUrl");
if (n) {
const t = e(n, "taobao");
if (t) return t;
}
}
if (i.get("id")) return i.get("id");
} else if ("1688" === o) {
if (a.href.indexOf("offer")) {
const e = -1 !== a.href.indexOf("offer/") ? a.href.split("offer/")[1].split(".")[0] : a.href.split("offer%2F")[1].split(".")[0];
if (!Number.isNaN(Number(e))) return e;
}
} else if ("tmall" === o && i.get("id")) return i.get("id");
if (a.href.includes("%3D")) return e(a.href.replace("%3D", "="), o);
throw new Error(`Id could not be extracted from string: ${a.href}`);
};
},
7098: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.extractRawLink = void 0);
const r = n(6127),
a = n(1897),
o = n(7322),
i = n(3332),
l = n(3620),
s = n(5488),
u = n(4005),
c = n(35),
f = n(9023),
d = n(5187),
p = n(1733),
h = n(4505),
m = n(8183),
g = n(2088),
y = n(6535),
b = n(3941),
v = n(449),
w = n(69),
k = n(9265),
_ = n(681),
S = n(8621);
t.extractRawLink = function e(t) {
const n = t instanceof URL ? t : new URL(t),
x = (0, a.detectAgent)(n.href);
try {
if (!x) throw new Error("Agent not detected.");
if ("cssbuy" === x) return (0, u.decodeCssbuy)(n);
if ("sugargoo" === x) return (0, k.decodeSugargoo)(n);
if ("superbuy" === x) return (0, _.decodeSuperbuy)(n);
if ("cnfans" === x || "mulebuy" === x) return (0, s.decodeCnFans)(n);
if ("joyabuy" === x) return (0, p.decodeJoyagoo)(n);
if ("joyagoo" === x) return (0, p.decodeJoyagoo)(n);
if ("orientdig" === x) return (0, y.decodeOrientdig)(n);
if ("hoobuy" === x) return (0, f.decodeHoobuy)(n);
if ("basetao" === x) return (0, l.decodeBasetao)(n);
if ("hubbuycn" === x) return (0, d.decodeHubbuyCn)(n);
if ("kameymall" === x) return (0, h.decodeKameymall)(n);
if ("oopbuy" === x) return (0, g.decodeOopbuy)(n);
if ("lovegobuy" === x) return (0, m.decodeLovegobuy)(n);
if ("ponybuy" === x) return (0, v.decodePonybuy)(n);
if ("panglobalbuy" === x) return (0, b.decodePanglobalbuy)(n);
if ("ezbuycn" === x) return (0, c.decodeEzbuyCn)(n);
if ("sifubuy" === x) return (0, w.decodeSifubuy)(n);
if ("acbuy" === x) return (0, i.decodeAcbuy)(n);
throw new Error("Agent does not have a decoder. This may be expected.");
} catch (t) {
const a = (0, o.extractInnerParam)(n);
if (!a)
throw t instanceof Error ? new Error(`Error extracting inner link. Fallback unsuccessful. Error: (${t.message}) - ${n.href}`) : new Error(`Error extracting inner link. Fallback unsuccessful. Error: ${n.href}`);
if ("pandabuy" === x && a.startsWith("PJ")) {
const e = (0, r.decryptPandabuy)(a);
return new URL(e);
}
let i;
try {
i = new URL(a);
} catch (e) {
const t = decodeURIComponent(a);
i = new URL(t);
}
return (0, S.isRawLink)(i) ? i : e(i);
}
};
},
5258: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.filterLinks = void 0);
const r = n(4945),
a = n(8797),
o = n(8621);
t.filterLinks = function (e, t = !0, n = !0, i = !1, l, s) {
if (!t && !n && !i) return {};
const u = s ? /https?:\/\/\S+/g : /https?:\/\/[^'"\][<>,\s)]+(?=\]\(|$|\s|['"<>,)])/g,
c = (e.match(u) || []).filter((e) => (t && (0, r.isAgentLink)(e)) || (n && (0, o.isRawLink)(e)) || (i && (0, a.isNonLinkMarketplace)(e))).slice(0, l);
return {
agentUrls: t ? c.filter((e) => (0, r.isAgentLink)(e)).map((e) => new URL(e)) : void 0,
rawUrls: n ? c.filter((e) => (0, o.isRawLink)(e)).map((e) => new URL(e)) : void 0,
nonLinkMarketplaceUrls: i ? c.filter((e) => (0, a.isNonLinkMarketplace)(e)).map((e) => new URL(e)) : void 0,
};
};
},
9332: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.generateAgentLink = void 0);
const r = n(1829),
a = n(4149),
o = n(6984),
i = n(110),
l = n(9426),
s = n(7125);
t.generateAgentLink = function (e, t, n, f, d) {
const g = new URLSearchParams();
if ("pandabuy" === e) return g.set("ra", null != d ? d : "1"), g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("inviteCode", f), new URL(`https://www.pandabuy.com/product?${g.toString()}`);
if ("wegobuy" === e) return g.set("from", "search-input"), g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("partnercode", f), new URL(`https://www.wegobuy.com/en/page/buy?${g.toString()}`);
if ("superbuy" === e) return g.set("from", "search-input"), g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("partnercode", f), new URL(`https://www.superbuy.com/en/page/buy?${g.toString()}`);
if ("sugargoo" === e) return g.set("productLink", encodeURIComponent((0, s.generateRawLink)(t, n).href)), f && g.set("memberId", f), new URL(`https://www.sugargoo.com/#/home/productDetail?${g.toString()}`);
if ("cssbuy" === e) {
if ((f && g.set("promotionCode", f), "weidian" === t)) {
const e = `https://www.cssbuy.com/item-micro-${n}.html`,
t = g.toString();
return new URL(t ? `${e}?${t}` : e);
}
if ("1688" === t) {
const e = `https://www.cssbuy.com/item-1688-${n}.html`,
t = g.toString();
return new URL(t ? `${e}?${t}` : e);
}
const e = `https://www.cssbuy.com/item-${n}.html`,
r = g.toString();
return new URL(r ? `${e}?${r}` : e);
}
if ("hagobuy" === e) return g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("affcode", f), new URL(`https://www.hagobuy.com/item/details?${g.toString()}`);
if ("hegobuy" === e) return g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("affcode", f), new URL(`https://www.hegobuy.com/item/details?${g.toString()}`);
if ("kakobuy" === e) return g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("affcode", f), new URL(`https://www.kakobuy.com/item/details?${g.toString()}`);
if ("kameymall" === e) return g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("code", f), new URL(`https://www.kameymall.com/purchases/search/item?${g.toString()}`);
if ("cnfans" === e) {
const e = new URL("https://cnfans.com/product");
if ((e.searchParams.set("id", n), "taobao" === t || "tmall" === t)) e.searchParams.set("platform", "TAOBAO");
else if ("weidian" === t) e.searchParams.set("platform", "WEIDIAN");
else {
if ("1688" !== t) throw new Error("Marketplace could not be detected for CnFans");
e.searchParams.set("platform", "ALI_1688");
}
return f && e.searchParams.set("ref", f), e;
}
if ("mulebuy" === e) {
const e = new URL("https://mulebuy.com/product");
if ((e.searchParams.set("id", n), "taobao" === t || "tmall" === t)) e.searchParams.set("platform", "TAOBAO");
else if ("weidian" === t) e.searchParams.set("platform", "WEIDIAN");
else {
if ("1688" !== t) throw new Error("Marketplace could not be detected for CnFans");
e.searchParams.set("platform", "ALI_1688");
}
return f && e.searchParams.set("ref", f), e;
}
if ("ezbuycn" === e) return g.set("key", (0, s.generateRawLink)(t, n).href), new URL(`https://ezbuycn.com/api/chaid.aspx?${g.toString()}`);
if ("hoobuy" === e) {
if ((f && g.set("inviteCode", f), "1688" === t)) {
const e = `https://www.hoobuy.com/product/0/${n}`,
t = g.toString();
return new URL(t ? `${e}?${t}` : e);
}
if ("taobao" === t || "tmall" === t) {
const e = `https://www.hoobuy.com/product/1/${n}`,
t = g.toString();
return new URL(t ? `${e}?${t}` : e);
}
if ("weidian" === t) {
const e = `https://www.hoobuy.com/product/2/${n}`,
t = g.toString();
return new URL(t ? `${e}?${t}` : e);
}
}
if ("allchinabuy" === e) return g.set("from", "search-input"), g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("partnercode", f), new URL(`https://www.allchinabuy.com/en/page/buy?${g.toString()}`);
if ("basetao" === e) return new URL(`https://www.basetao.com/best-taobao-agent-service/products/agent/${"tmall" !== t ? t : "taobao"}/${n}.html`);
if ("eastmallbuy" === e) {
const e = new URL("https://eastmallbuy.com/index/item/index.html");
return e.searchParams.set("searchlang", "en"), e.searchParams.set("url", (0, s.generateRawLink)(t, n).href), f && e.searchParams.set("inviter", f), e;
}
if ("hubbuycn" === e) {
const e = new URL("https://www.hubbuycn.com/index/item/index.html");
return e.searchParams.set("searchlang", "en"), e.searchParams.set("url", (0, s.generateRawLink)(t, n).href), f && e.searchParams.set("inviter", f), e;
}
if ("joyabuy" === e) {
const e = new URL("https://joyabuy.com/product/");
if ("taobao" === t || "tmall" === t) e.searchParams.set("shop_type", "taobao");
else if ("weidian" === t) e.searchParams.set("shop_type", "weidian");
else {
if ("1688" !== t) throw new Error("Marketplace could not be detected for CnFans");
e.searchParams.set("shop_type", "ali_1688");
}
return e.searchParams.set("id", n), f && e.searchParams.set("ref", f), e;
}
if ("joyagoo" === e) {
const e = new URL("https://joyagoo.com/product");
if ((e.searchParams.set("id", n), "taobao" === t || "tmall" === t)) e.searchParams.set("platform", "TAOBAO");
else if ("weidian" === t) e.searchParams.set("platform", "WEIDIAN");
else {
if ("1688" !== t) throw new Error("Marketplace could not be detected for Joyagoo");
e.searchParams.set("platform", "ALI_1688");
}
return f && e.searchParams.set("ref", f), e;
}
if ("orientdig" === e) {
const e = new URL("https://orientdig.com/product/");
if ("taobao" === t || "tmall" === t) e.searchParams.set("shop_type", "taobao");
else if ("weidian" === t) e.searchParams.set("shop_type", "weidian");
else {
if ("1688" !== t) throw new Error("Marketplace could not be detected for CnFans");
e.searchParams.set("shop_type", "ali_1688");
}
return e.searchParams.set("id", n), f && e.searchParams.set("ref", f), e;
}
if ("oopbuy" === e) {
const e = new URL(`https://www.oopbuy.com/product/${o.oopbuyMarketplaceStrings.get(t)}/${n}`);
return f && e.searchParams.set("inviteCode", f), e;
}
if ("lovegobuy" === e) {
const e = new URL("https://www.lovegobuy.com/product");
e.searchParams.set("id", n);
const r = a.lovegobuyMarketplaceStrings.get(t);
if (!r) throw new Error("Unsupported marketplace for LoveGoBuy");
return e.searchParams.set("shop_type", r), f && e.searchParams.set("invite_code", f), e;
}
if ("blikbuy" === e) return g.set("go", "item"), g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("icode", f), new URL(`https://www.blikbuy.com/?${g.toString()}`);
if ("ponybuy" === e) {
const e = new URL("https://www.ponybuy.com/en-gb/goods");
return f && e.searchParams.set("tracking", f), e.searchParams.set("product_id", n), e.searchParams.set("platform", "tmall" !== t ? t : "taobao"), e;
}
if ("panglobalbuy" === e) {
const e = i.panglobalbuyMarketplaceStrings.get(t);
if (void 0 === e) throw new Error("Unsupported marketplace for PanGlobalBuy");
return g.set("type", e), g.set("offerId", n), f && g.set("share_id", f), new URL(`https://panglobalbuy.com/#/details?${g.toString()}`);
}
if ("sifubuy" === e) {
const e = new URL("https://www.sifubuy.com/detail");
f && e.searchParams.set("invite_code", f), e.searchParams.set("id", n);
const r = l.sifubuyMarketplaceStrings.get(t);
if (!r) throw new Error("Unsupported marketplace for SifuBuy");
return e.searchParams.set("type", r), e;
}
if ("loongbuy" === e) {
const e = new URL("https://www.loongbuy.com/product-details");
return e.searchParams.set("url", (0, s.generateRawLink)(t, n).href), f && e.searchParams.set("invitecode", f), e;
}
if ("acbuy" === e) {
const e = new URL("https://www.acbuy.com/product/");
e.searchParams.set("id", n);
const a = r.acbuyMarketplaceStrings.get("taobao");
if (!a) throw new Error("Unsupported marketplace for acbuy");
return e.searchParams.set("source", a), f && e.searchParams.set("u", f), e;
}
if ("itaobuy" === e) {
const e = new URL("https://www.itaobuy.com/product-detail");
return e.searchParams.set("url", (0, s.generateRawLink)(t, n).href), f && e.searchParams.set("inviteCode", f), e;
}
if ("raw" === e) return (0, s.generateRawLink)(t, n);
throw new Error(`Unsupported agent: ${e}`);
};
},
7125: (e, t) => {
"use strict";
function n(e, t) {
if ("weidian" === e) {
const e = new URLSearchParams();
return e.set("itemID", t), new URL(`https://weidian.com/item.html?${e.toString()}`);
}
if ("taobao" === e) {
const e = new URLSearchParams();
return e.set("id", t), new URL(`https://item.taobao.com/item.htm?${e.toString()}`);
}
if ("1688" === e) return new URL(`https://detail.1688.com/offer/${t}.html`);
if ("tmall" === e) {
const e = new URLSearchParams();
return e.set("id", t), new URL(`https://detail.tmall.com/item_o.htm?${e.toString()}`);
}
throw new Error(`Unsupported marketplace: ${e}`);
}
Object.defineProperty(t, "__esModule", { value: !0 }), (t.generateMarketplaceLink = t.generateProperLink = t.generateRawLink = void 0), (t.generateRawLink = n), (t.generateProperLink = n), (t.generateMarketplaceLink = n);
},
4945: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.isAgentLink = void 0);
const r = n(1897),
a = n(7098),
o = n(8621);
t.isAgentLink = function (e) {
let t;
try {
t = new URL(e);
} catch (e) {
return !1;
}
if (!["http:", "https:"].includes(t.protocol)) return !1;
const n = (0, r.detectAgent)(t);
if (!n) return !1;
if ("superbuy" === n && t.pathname.includes("/shop")) return !1;
if ("pandabuy" === n && t.pathname.startsWith("/shopdetail")) return !1;
if ("cssbuy" === n && !t.pathname.startsWith("/item")) return !1;
if ("hagobuy" === n && t.pathname.startsWith("/item/store")) return !1;
if ("hegobuy" === n && t.pathname.startsWith("/item/store")) return !1;
if ("kakobuy" === n && t.pathname.startsWith("/item/store")) return !1;
if ("kameymall" === n && !t.pathname.includes("/item")) return !1;
if ("cnfans" === n && !t.pathname.startsWith("/product") && !t.pathname.slice(3).startsWith("/product") && !t.pathname.startsWith("/pages/product/product")) return !1;
if ("hoobuy" === n && !t.pathname.includes("/product")) return !1;
if ("allchinabuy" === n && t.pathname.includes("/shop")) return !1;
if ("sugargoo" === n && !t.href.includes("/productDetail")) return !1;
if ("basetao" === n && !t.pathname.includes("/products")) return !1;
if ("mulebuy" === n && !t.pathname.startsWith("/product") && !t.pathname.slice(3).startsWith("/product")) return !1;
if (!(("joyabuy" !== n && "joyagoo" !== n) || t.pathname.includes("/product") || t.pathname.slice(3).startsWith("/product"))) return !1;
if ("orientdig" === n && !t.pathname.includes("/product") && !t.pathname.slice(3).startsWith("/product")) return !1;
if (!("lovegobuy" !== n || t.pathname.includes("/product") || t.pathname.startsWith("/product") || (t.hash && t.hash.includes("/goods") && t.hash.includes("/detail")))) return !1;
if ("ponybuy" === n && !t.pathname.includes("/goods")) return !1;
if ("sifubuy" === n && !t.pathname.startsWith("/detail")) return !1;
if ("acbuy" === n && !t.pathname.startsWith("/product")) return !1;
if ("itaobuy" === n && !t.pathname.startsWith("/product-detail")) return !1;
try {
const e = (0, a.extractRawLink)(t);
return (0, o.isRawLink)(e);
} catch (e) {
return !1;
}
};
},
8797: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.isNonLinkMarketplace = void 0);
const r = n(1156),
a = n(2179);
t.isNonLinkMarketplace = function (e) {
let t;
try {
t = new URL(e);
} catch (e) {
return !1;
}
if (!["http:", "https:"].includes(t.protocol)) return !1;
const n = (0, r.getDomainFromHostname)(t.hostname);
return a.nonLinkMarketplacesWithTld.includes(n);
};
},
8621: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.isMarketplaceLink = t.isRawLink = void 0);
const r = n(7913);
function a(e) {
let t;
try {
t = "string" == typeof e ? new URL(e) : e;
} catch (e) {
return !1;
}
const n = (0, r.detectMarketplace)(t);
if (!n) return !1;
if ("weidian" === n) return !(!t.searchParams.get("itemID") && !t.searchParams.get("itemId"));
if ("taobao" === n) {
if (t.hostname.includes("world.taobao.com")) {
const e = t.href.split("item/")[1].split(".")[0];
return !Number.isNaN(Number(e));
}
return !!t.searchParams.get("id");
}
if ("1688" === n) {
if (t.hostname.includes("qr.1688.com")) return !1;
if (t.href.indexOf("offer")) {
const e = -1 !== t.href.indexOf("offer/") ? t.href.split("offer/")[1].split(".")[0] : t.href.split("offer%2F")[1].split(".")[0];
return !Number.isNaN(Number(e));
}
}
return "tmall" === n && !!t.searchParams.get("id");
}
(t.isRawLink = a), (t.isMarketplaceLink = a);
},
6127: function (e, t, n) {
"use strict";
var r =
(this && this.__importDefault) ||
function (e) {
return e && e.__esModule ? e : { default: e };
};
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decryptPandabuy = void 0);
const a = r(n(1354));
t.decryptPandabuy = function (e) {
const t = new RegExp("^PJ(\\d)([a-zA-Z])(.*)").exec(e);
if (!t) throw new Error("String format is incorrect");
const n = parseInt(t[1], 10),
r = t[3],
o = decodeURIComponent(r),
i = a.default.enc.Base64.parse(o),
l = a.default.lib.WordArray.create(i.words, i.sigBytes).toString(a.default.enc.Latin1),
s = l.substring(0, n) + l.substring(n + 1),
u = a.default.enc.Latin1.parse(s),
c = [
{ id: "0", iv: "a12sdcft", key: "kj098765" },
{ id: "1", iv: "mbio986h", key: "plk;9uhj" },
{ id: "2", iv: "09ydnlp;", key: ".1asxz4t" },
{ id: "3", iv: "0om,.;0s", key: "1qasdr56" },
{ id: "4", iv: "1dafmdl0", key: "1wdfgu8i" },
{ id: "5", iv: "90oikjhg", key: "12zxcvbn" },
{ id: "6", iv: "lkjuy678", key: "1jnbop9g" },
{ id: "7", iv: "1whsnxk9", key: "378ujhgr" },
{ id: "8", iv: "1was;09n", key: "chguikl0" },
{ id: "9", iv: "12sdfghy", key: "09jnbgft" },
].find((e) => e.id === n.toString());
if (!c) throw new Error("Invalid ID for key/IV pair");
const f = a.default.enc.Utf8.parse(c.key),
d = a.default.enc.Utf8.parse(c.iv);
return a.default.DES.decrypt(a.default.lib.CipherParams.create({ ciphertext: u, key: f, iv: d }), f, { iv: d, mode: a.default.mode.CBC, padding: a.default.pad.Pkcs7 }).toString(a.default.enc.Utf8);
};
},
1897: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.detectAgent = void 0);
const r = n(5622);
t.detectAgent = function (e) {
const t = "string" == typeof e ? new URL(e) : e,
n = r.agents.find((e) => !!t.hostname.includes(e));
if (n) return n;
};
},
7913: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.detectMarketplace = void 0);
const r = n(1156);
t.detectMarketplace = function (e) {
const t = e instanceof URL ? e.hostname : new URL(e).hostname,
n = (0, r.getDomainFromHostname)(t);
return "weidian.com" === n ? "weidian" : "taobao.com" === n ? "taobao" : "1688.com" === n ? "1688" : "tmall.com" === n ? "tmall" : void 0;
};
},
5812: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.detectNonLinkMarketplace = void 0);
const r = n(1156);
t.detectNonLinkMarketplace = function (e) {
const t = e instanceof URL ? e.hostname : new URL(e).hostname;
if ("yupoo.com" === (0, r.getDomainFromHostname)(t)) return "yupoo";
};
},
7322: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.extractInnerParam = void 0),
(t.extractInnerParam = function (e) {
if (e.searchParams.get("url")) return e.searchParams.get("url");
if (e.pathname && e.hash.startsWith("#/")) {
const t = new URL(e.href.replace("/#/", "/"));
if (t.searchParams.get("url")) return t.searchParams.get("url");
}
return null;
});
},
1156: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.getDomainFromHostname = void 0),
(t.getDomainFromHostname = function (e) {
return e.split(".").slice(-2).join(".");
});
},
5622: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.agentsWithRaw = t.agents = void 0),
(t.agents = [
"superbuy",
"wegobuy",
"pandabuy",
"sugargoo",
"cssbuy",
"hagobuy",
"basetao",
"kameymall",
"cnfans",
"ezbuycn",
"hoobuy",
"allchinabuy",
"mulebuy",
"eastmallbuy",
"hubbuycn",
"joyabuy",
"orientdig",
"oopbuy",
"lovegobuy",
"blikbuy",
"hegobuy",
"ponybuy",
"panglobalbuy",
"sifubuy",
"loongbuy",
"kakobuy",
"acbuy",
"joyagoo",
"itaobuy",
]),
(t.agentsWithRaw = [...t.agents, "raw"]);
},
2179: (e, t) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.marketplacesWithNonLinkMarketplacesWithTld = t.marketplacesWithNonLinkMarketplaces = t.nonLinkMarketplacesWithTld = t.nonLinkMarketplaces = t.marketplacesWithTld = t.marketplaces = void 0),
(t.marketplaces = ["weidian", "taobao", "1688", "tmall"]),
(t.marketplacesWithTld = ["weidian.com", "taobao.com", "1688.com", "tmall.com"]),
(t.nonLinkMarketplaces = ["yupoo"]),
(t.nonLinkMarketplacesWithTld = ["yupoo.com"]),
(t.marketplacesWithNonLinkMarketplaces = [...t.marketplaces, ...t.nonLinkMarketplaces]),
(t.marketplacesWithNonLinkMarketplacesWithTld = [...t.marketplacesWithTld, ...t.nonLinkMarketplacesWithTld]);
},
8871: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.nonLinkMarketplacesWithTld = t.nonLinkMarketplaces = t.marketplacesWithTld = t.marketplacesWithNonLinkMarketplacesWithTld = t.marketplacesWithNonLinkMarketplaces = t.marketplaces = t.agentsWithRaw = t.agents = void 0);
const r = n(5622);
Object.defineProperty(t, "agents", {
enumerable: !0,
get: function () {
return r.agents;
},
}),
Object.defineProperty(t, "agentsWithRaw", {
enumerable: !0,
get: function () {
return r.agentsWithRaw;
},
});
const a = n(2179);
Object.defineProperty(t, "marketplaces", {
enumerable: !0,
get: function () {
return a.marketplaces;
},
}),
Object.defineProperty(t, "marketplacesWithNonLinkMarketplaces", {
enumerable: !0,
get: function () {
return a.marketplacesWithNonLinkMarketplaces;
},
}),
Object.defineProperty(t, "marketplacesWithNonLinkMarketplacesWithTld", {
enumerable: !0,
get: function () {
return a.marketplacesWithNonLinkMarketplacesWithTld;
},
}),
Object.defineProperty(t, "marketplacesWithTld", {
enumerable: !0,
get: function () {
return a.marketplacesWithTld;
},
}),
Object.defineProperty(t, "nonLinkMarketplaces", {
enumerable: !0,
get: function () {
return a.nonLinkMarketplaces;
},
}),
Object.defineProperty(t, "nonLinkMarketplacesWithTld", {
enumerable: !0,
get: function () {
return a.nonLinkMarketplacesWithTld;
},
});
},
3325: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.Base = void 0);
const r = n(7913);
class a {
constructor(e, t, n = {}) {
const o = e instanceof URL ? e : new URL(e),
i = a.getRawLink({ isRawLink: t.isRawLink, extractRawLink: t.extractRawLink, isAgentLink: t.isAgentLink }, { link: o }),
l = (0, r.detectMarketplace)(i);
if (!l) throw new Error(`CnLink object could not be initialized. Marketplace could not be detected from inner link: ${i.href}`);
(this.marketplace = l), (this.id = t.extractId(i)), (this.referrals = null != n ? n : void 0);
}
static getRawLink(e, t) {
const { link: n } = t;
if (e.isRawLink(n)) return n;
if (e.isAgentLink(n)) return e.extractRawLink(n);
throw new Error(`CnLink object could not be initialized. Neither agent nor raw link could be detected from: ${n.href}`);
}
getRefferal(e, t) {
return t || ("raw" !== e ? this.referrals[e] : void 0);
}
baseAs(e, t, n, r) {
return e.generateAgentLink(t, this.marketplace, this.id, this.getRefferal(t, n), r);
}
serialize() {
return { marketplace: this.marketplace, id: this.id, type: "unknown" };
}
static baseDeserialize(e, { marketplace: t, id: n, type: r }, a) {
if (r && r !== a) throw new Error(`You tried to deserialize a ${r} as a ${a}. Please use the appropriate class for ${a} or the CnItem meta class`);
return e.generateRawLink(t, n);
}
static baseSafeInstantiate(e, t, n = {}) {
try {
return { success: !0, data: new e(t, n) };
} catch (e) {
return { success: !1, error: e instanceof Error ? e.message : "" };
}
}
}
t.Base = a;
},
713: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.CnItemLink = void 0);
const r = n(6476),
a = n(7098),
o = n(9332),
i = n(7125),
l = n(4945),
s = n(8621),
u = n(3325);
class c extends u.Base {
constructor(e, t = {}) {
super(e, { isRawLink: s.isRawLink, extractRawLink: a.extractRawLink, isAgentLink: l.isAgentLink, extractId: r.extractId }, t);
}
as(e, t, n) {
return this.baseAs({ generateAgentLink: o.generateAgentLink }, e, t, n);
}
serialize() {
return { marketplace: this.marketplace, id: this.id, type: "item" };
}
static deserialize({ marketplace: e, id: t, type: n }) {
const r = this.baseDeserialize({ generateRawLink: i.generateRawLink }, { marketplace: e, id: t, type: n }, "item");
return new c(r);
}
static safeInstantiate(e, t = {}) {
return u.Base.baseSafeInstantiate(c, e, t);
}
}
t.CnItemLink = c;
},
8177: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.CnLink = void 0);
const r = n(7125),
a = n(5494),
o = n(713),
i = n(8608);
class l {
constructor(e, t = {}) {
try {
(this.instance = new o.CnItemLink(e, t)), (this.type = "item");
} catch (n) {
(this.instance = new i.CnStoreLink(e, t)), (this.type = "store");
}
(this.marketplace = this.instance.marketplace), (this.id = this.instance.id), (this.referrals = this.instance.referrals);
}
as(e, t, n) {
return this.instance.as(e, t, n);
}
serialize() {
return { marketplace: this.marketplace, id: this.id, type: this.type };
}
static deserialize({ marketplace: e, id: t, type: n }) {
return new l("store" === n ? (0, a.generateRawLink)(e, t) : (0, r.generateRawLink)(e, t));
}
static safeInstantiate(e, t = {}) {
try {
return { success: !0, data: new l(e, t) };
} catch (e) {
return { success: !1, error: e instanceof Error ? e.message : "" };
}
}
}
t.CnLink = l;
},
8608: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.CnStoreLink = void 0);
const r = n(8347),
a = n(3061),
o = n(33),
i = n(5494),
l = n(401),
s = n(9505),
u = n(3325);
class c extends u.Base {
constructor(e, t = {}) {
super(e, { isRawLink: s.isRawLink, extractRawLink: a.extractRawLink, isAgentLink: l.isAgentLink, extractId: r.extractId }, t);
}
as(e, t, n) {
return this.baseAs({ generateAgentLink: o.generateAgentLink }, e, t, n);
}
serialize() {
return { marketplace: this.marketplace, id: this.id, type: "store" };
}
static deserialize({ marketplace: e, id: t, type: n }) {
const r = this.baseDeserialize({ generateRawLink: i.generateRawLink }, { marketplace: e, id: t, type: n }, "store");
return new c(r);
}
static safeInstantiate(e, t = {}) {
return u.Base.baseSafeInstantiate(c, e, t);
}
}
t.CnStoreLink = c;
},
9800: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.CnStoreLink = t.CnLink = t.CnItemLink = void 0);
const r = n(713);
Object.defineProperty(t, "CnItemLink", {
enumerable: !0,
get: function () {
return r.CnItemLink;
},
});
const a = n(8177);
Object.defineProperty(t, "CnLink", {
enumerable: !0,
get: function () {
return a.CnLink;
},
});
const o = n(8608);
Object.defineProperty(t, "CnStoreLink", {
enumerable: !0,
get: function () {
return o.CnStoreLink;
},
});
},
7424: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.agentSupportsStore = void 0);
const r = n(33);
t.agentSupportsStore = function (e) {
try {
return !!(0, r.generateAgentLink)(e, "taobao", "0");
} catch (e) {
return !1;
}
};
},
4786: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeAcbuy = void 0);
const r = n(1829),
a = n(8871),
o = n(5724);
t.decodeAcbuy = function (e) {
try {
const t = e.searchParams.get("sellerId");
if (!t) throw new Error(`Missing ID parameter from link: ${e.href}`);
const n = e.searchParams.get("source");
if (!n) throw new Error("Missing marketplace parameter");
const o = r.acbuyStringsMarketplaces.get(n);
if (!o) throw new Error("Missing marketplace parameter");
if (!a.marketplaces.includes(o)) throw new Error("Unsupported marketplace");
return { marketplace: o, id: t };
} catch (t) {
const { marketplace: n, id: r } = (0, o.decodeAllChinaBuy)(e);
return { marketplace: n, id: r };
}
};
},
5724: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeAllChinaBuy = void 0);
const r = n(4537),
a = n(8871);
t.decodeAllChinaBuy = function (e) {
const t = e.searchParams.get("shopid");
if (!t) throw new Error(`Missing ID parameter from link: ${e.href}`);
const n = e.searchParams.get("platform");
if (!n) throw new Error("Missing marketplace parameter");
const o = r.allchinabuyStringsMarketplaces.get(n);
if (!o) throw new Error("Missing marketplace parameter");
if (!a.marketplaces.includes(o)) throw new Error("Unsupported marketplace");
return { marketplace: o, id: t };
};
},
1968: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeCnFans = void 0);
const r = n(8871);
t.decodeCnFans = function (e) {
const t = e.searchParams.get("shop_id");
if (!t) throw new Error(`Missing ID parameter from link: ${e.href}`);
const n = e.searchParams.get("shop_type");
if (!n) throw new Error("Missing marketplace parameter");
if (!r.marketplaces.includes(n)) throw new Error("Unsupported marketplace");
return { marketplace: n, id: t };
};
},
8681: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeCssbuy = void 0);
const r = n(909);
t.decodeCssbuy = function (e) {
const t = e.searchParams.get("t");
if (!t) throw new Error(`Missing marketplace parameter from link: ${e.href}`);
const n = r.cssbuyStringsMarketplaces.get(t);
if (!n) throw new Error("Unsupported marketplace");
const a = e.searchParams.get("shop");
if (!a) throw new Error(`Missing ID parameter from link: ${e.href}`);
return "1688" === n ? { marketplace: "1688", id: `b2b-${a}` } : { marketplace: n, id: a };
};
},
79: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeHagobuy = void 0);
const r = n(7913),
a = n(8347),
o = n(9505);
t.decodeHagobuy = function (e) {
const t = new URL(e.searchParams.get("url") || "");
if (!(0, o.isRawLink)(t)) throw new Error("Invalid inner URL");
const n = (0, r.detectMarketplace)(t);
if (!n) throw new Error("Unsupported marketplace");
return { marketplace: n, id: (0, a.extractId)(t) };
};
},
4796: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeHoobuy = void 0);
const r = n(4641),
a = n(8871);
t.decodeHoobuy = function (e) {
const t = e.pathname.split("/").filter((e) => e);
if (t.length < 3) throw new Error("Invalid path, link cannot be handled");
const n = t[2];
if (!n) throw new Error(`Missing ID parameter from link: ${e.href}`);
const o = t[1];
if (!o) throw new Error("Missing marketplace parameter");
const i = r.hoobuyStringsMarketplaces.get(o);
if (!a.marketplaces.includes(i)) throw new Error("Unsupported marketplace");
return { marketplace: i, id: n };
};
},
8880: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeJoyabuy = void 0);
const r = n(8871);
t.decodeJoyabuy = function (e) {
const t = e.searchParams.get("shop_id");
if (!t) throw new Error(`Missing ID parameter from link: ${e.href}`);
const n = e.searchParams.get("shop_type");
if (!n) throw new Error("Missing marketplace parameter");
if (!r.marketplaces.includes(n)) throw new Error("Unsupported marketplace");
return { marketplace: n, id: t };
};
},
2592: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeKameymall = void 0);
const r = n(340);
t.decodeKameymall = function (e) {
const t = e.pathname.split("/"),
n = t[t.length - 1],
[a, o] = n.split("_"),
i = r.kameymallStringsMarketplaces.get(o);
if (!i) throw new Error(`Unsupported marketplace. URL: ${e.href}`);
return { marketplace: i, id: a };
};
},
3804: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeLovegobuy = void 0);
const r = n(8871);
t.decodeLovegobuy = function (e) {
const t = e.searchParams.get("shopId");
if (!t) throw new Error(`Missing ID parameter from link: ${e.href}`);
const n = e.searchParams.get("shopType");
if (!n) throw new Error("Missing marketplace parameter");
if (!r.marketplaces.includes(n)) throw new Error("Unsupported marketplace");
return { marketplace: n, id: t };
};
},
6928: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeMulebuy = void 0);
const r = n(8871);
t.decodeMulebuy = function (e) {
const t = e.searchParams.get("shop_id");
if (!t) throw new Error(`Missing ID parameter from link: ${e.href}`);
const n = e.searchParams.get("shop_type");
if (!n) throw new Error("Missing marketplace parameter");
if (!r.marketplaces.includes(n)) throw new Error("Unsupported marketplace");
return { marketplace: n, id: t };
};
},
4660: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeOrientdig = void 0);
const r = n(8871);
t.decodeOrientdig = function (e) {
const t = e.searchParams.get("shop_id");
if (!t) throw new Error(`Missing ID parameter from link: ${e.href}`);
const n = e.searchParams.get("shop_type");
if (!n) throw new Error("Missing marketplace parameter");
if (!r.marketplaces.includes(n)) throw new Error("Unsupported marketplace");
return { marketplace: n, id: t };
};
},
4575: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodePandabuy = void 0);
const r = n(5334),
a = n(8347);
t.decodePandabuy = function (e) {
const t = (function (e) {
const t = e.searchParams.get("t");
if (!t) throw new Error("Missing marketplace parameter");
if (r.pandabuyStringsMarketplaces.has(t)) {
const e = r.pandabuyStringsMarketplaces.get(t);
if (!e) throw new Error("Unsupported marketplace");
return e;
}
throw new Error("Unsupported marketplace");
})(e),
n = e.searchParams.get("id");
if (!n) throw new Error(`Missing ID parameter from link: ${e.href}`);
if ("weidian" === t) return { marketplace: t, id: n };
if ("taobao" === t) return { marketplace: "taobao", id: n };
if ("1688" === t) {
if ("-1" !== n) return { marketplace: "1688", id: n };
const t = e.searchParams.get("o");
if (!t) throw new Error("Missing o parameter from Pandabuy link with id = -1");
const r = t.startsWith("https://") ? new URL(t) : new URL(`https://${t}`);
return { marketplace: "1688", id: (0, a.extractId)(r, "1688") };
}
throw new Error("Unsupported marketplace");
};
},
3183: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeSifubuy = void 0);
const r = n(9426);
t.decodeSifubuy = function (e) {
const t = (function (e) {
const t = e.searchParams.get("platformType");
if (!t) throw new Error("Missing marketplace parameter");
if (r.sifubuyStringsMarketplaces.has(t)) {
const e = r.sifubuyStringsMarketplaces.get(t);
if (!e) throw new Error("Unsupported marketplace");
return e;
}
throw new Error("Unsupported marketplace");
})(e),
n = e.searchParams.get("shopId");
if (!n) throw new Error(`Missing ID parameter from link: ${e.href}`);
return { marketplace: t, id: n };
};
},
4727: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.decodeSuperbuy = void 0);
const r = n(2228),
a = n(8871);
t.decodeSuperbuy = function (e) {
const t = e.searchParams.get("shopid");
if (!t) throw new Error(`Missing ID parameter from link: ${e.href}`);
const n = e.searchParams.get("platform");
if (!n) throw new Error("Missing marketplace parameter");
const o = r.superbuyStringsMarketplaces.get(n);
if (!o) throw new Error("Missing marketplace parameter");
if (!a.marketplaces.includes(o)) throw new Error("Unsupported marketplace");
return { marketplace: o, id: t };
};
},
8347: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.extractId = void 0);
const r = n(7913);
t.extractId = function e(t, n) {
const a = t instanceof URL ? t : new URL(t),
o = null != n ? n : (0, r.detectMarketplace)(t);
if (!o) throw new Error(`Tried to extract id, but could not determine marketplace from string: ${a.href}`);
const i = a.searchParams;
if ("weidian" === o) {
if (a.pathname.startsWith("/item")) {
const e = a.hostname.split(".");
if (4 === e.length && "v" === e[1]) return e[0];
throw new Error("Link is an item link, not a store link");
}
if (i.get("userid")) return i.get("userid");
if (i.get("userId")) return i.get("userId");
} else {
if ("taobao" === o) {
const e = a.hostname.split(".").filter((e) => "taobao" !== e && "com" !== e);
if (1 === e.length) return e[0].startsWith("shop") ? e[0].slice(4) : e[0];
if (e.find((e) => e.startsWith("shop"))) {
const t = e.find((e) => e.startsWith("shop"));
if (t) return t.slice(4);
}
return e[0];
}
if ("1688" === o) {
const e = a.hostname.split(".");
if (3 !== e.length) throw new Error("Unknown 1688 link format");
if ("m" !== e[0]) return e[0].startsWith("shop") ? e[0].slice(4) : e[0];
{
const e = a.pathname.split("/");
if (3 === e.length && e[2].startsWith("b2b-") && e[2].endsWith(".html")) return e[2].slice(0, -5);
}
} else if ("tmall" === o && i.get("id")) return i.get("id");
}
if (a.href.includes("%3D")) return e(a.href.replace("%3D", "="), o);
throw new Error(`Id could not be extracted from string: ${a.href}`);
};
},
3061: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.extractRawLink = void 0);
const r = n(1897),
a = n(7322),
o = n(4786),
i = n(5724),
l = n(1968),
s = n(8681),
u = n(79),
c = n(4796),
f = n(8880),
d = n(2592),
p = n(3804),
h = n(6928),
m = n(4660),
g = n(4575),
y = n(3183),
b = n(4727),
v = n(5494);
t.extractRawLink = function (e) {
const t = e instanceof URL ? e : new URL(e),
n = (0, r.detectAgent)(t.href);
if (!n) throw new Error("Raw links can only be extracted from Agent links");
if ("cnfans" === n) {
const { marketplace: e, id: n } = (0, l.decodeCnFans)(t);
return (0, v.generateRawLink)(e, n);
}
if ("mulebuy" === n) {
const { marketplace: e, id: n } = (0, h.decodeMulebuy)(t);
return (0, v.generateRawLink)(e, n);
}
if ("pandabuy" === n) {
const { marketplace: e, id: n } = (0, g.decodePandabuy)(t);
return (0, v.generateRawLink)(e, n);
}
if ("cssbuy" === n) {
const { marketplace: e, id: n } = (0, s.decodeCssbuy)(t);
return (0, v.generateRawLink)(e, n);
}
if ("hagobuy" === n || "hegobuy" === n || "kakobuy" === n) {
const { marketplace: e, id: n } = (0, u.decodeHagobuy)(t);
return (0, v.generateRawLink)(e, n);
}
if ("allchinabuy" === n) {
const { marketplace: e, id: n } = (0, l.decodeAllChinaBuy)(t);
return (0, v.generateRawLink)(e, n);
}
if ("hoobuy" === n) {
const { marketplace: e, id: n } = (0, c.decodeHoobuy)(t);
return (0, v.generateRawLink)(e, n);
}
if ("superbuy" === n) {
const { marketplace: e, id: n } = (0, b.decodeSuperbuy)(t);
return (0, v.generateRawLink)(e, n);
}
if ("kameymall" === n) {
const { marketplace: e, id: n } = (0, d.decodeKameymall)(t);
return (0, v.generateRawLink)(e, n);
}
if ("joyabuy" === n) {
const { marketplace: e, id: n } = (0, f.decodeJoyabuy)(t);
return (0, v.generateRawLink)(e, n);
}
if ("orientdig" === n) {
const { marketplace: e, id: n } = (0, m.decodeOrientdig)(t);
return (0, v.generateRawLink)(e, n);
}
if ("sifubuy" === n) {
const { marketplace: e, id: n } = (0, y.decodeSifubuy)(t);
return (0, v.generateRawLink)(e, n);
}
if ("lovegobuy" === n) {
const { marketplace: e, id: n } = (0, p.decodeLovegobuy)(t);
return (0, v.generateRawLink)(e, n);
}
if ("acbuy" === n) {
const { marketplace: e, id: n } = (0, o.decodeAcbuy)(t);
return (0, v.generateRawLink)(e, n);
}
try {
const e = (0, a.extractInnerParam)(t);
if (e) return new URL(e);
} catch (e) {}
throw new Error(`Agent ${n} is not supported for extracting raw links. URL: ${t.href}`);
};
},
33: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.generateAgentLink = void 0);
const r = n(1829),
a = n(4537),
o = n(909),
i = n(4641),
l = n(340),
s = n(5334),
u = n(9426),
c = n(5494);
t.generateAgentLink = function (e, t, n, f, d) {
if ("pandabuy" === e) {
const e = new URL("https://www.pandabuy.com/shopdetail");
if ((e.searchParams.set("ra", null != d ? d : "1"), !s.pandabuyMarketplaceStrings.has(t))) throw new Error("Unsupported marketplace");
return e.searchParams.set("t", s.pandabuyMarketplaceStrings.get(t)), e.searchParams.set("id", n), f && e.searchParams.set("inviteCode", f), e;
}
if ("wegobuy" === e) return g.set("from", "search-input"), g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("partnercode", f), new URL(`https://www.wegobuy.com/en/page/buy?${g.toString()}`);
if ("superbuy" === e) return g.set("from", "search-input"), g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("partnercode", f), new URL(`https://www.superbuy.com/en/page/buy?${g.toString()}`);
if ("sugargoo" === e) return g.set("productLink", encodeURIComponent((0, s.generateRawLink)(t, n).href)), f && g.set("memberId", f), new URL(`https://www.sugargoo.com/#/home/productDetail?${g.toString()}`);
if ("cssbuy" === e) {
if ((f && g.set("promotionCode", f), "weidian" === t)) {
const e = `https://www.cssbuy.com/item-micro-${n}.html`,
t = g.toString();
return new URL(t ? `${e}?${t}` : e);
}
if ("1688" === t) {
const e = `https://www.cssbuy.com/item-1688-${n}.html`,
t = g.toString();
return new URL(t ? `${e}?${t}` : e);
}
const e = `https://www.cssbuy.com/item-${n}.html`,
r = g.toString();
return new URL(r ? `${e}?${r}` : e);
}
if ("hagobuy" === e) return g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("affcode", f), new URL(`https://www.hagobuy.com/item/details?${g.toString()}`);
if ("hegobuy" === e) return g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("affcode", f), new URL(`https://www.hegobuy.com/item/details?${g.toString()}`);
if ("kakobuy" === e) return g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("affcode", f), new URL(`https://www.kakobuy.com/item/details?${g.toString()}`);
if ("kameymall" === e) return g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("code", f), new URL(`https://www.kameymall.com/purchases/search/item?${g.toString()}`);
if ("cnfans" === e) {
const e = new URL("https://cnfans.com/shops/");
return e.searchParams.set("shop_type", t), e.searchParams.set("shop_id", n), f && e.searchParams.set("ref", f), e;
}
if ("mulebuy" === e) {
const e = new URL("https://mulebuy.com/shops/");
return e.searchParams.set("shop_type", t), e.searchParams.set("shop_id", n), f && e.searchParams.set("ref", f), e;
}
if ("ezbuycn" === e) return g.set("key", (0, s.generateRawLink)(t, n).href), new URL(`https://ezbuycn.com/api/chaid.aspx?${g.toString()}`);
if ("hoobuy" === e) {
if ((f && g.set("inviteCode", f), "1688" === t)) {
const e = `https://www.hoobuy.com/product/0/${n}`,
t = g.toString();
return new URL(t ? `${e}?${t}` : e);
}
if ("taobao" === t || "tmall" === t) {
const e = `https://www.hoobuy.com/product/1/${n}`,
t = g.toString();
return new URL(t ? `${e}?${t}` : e);
}
if ("weidian" === t) {
const e = `https://www.hoobuy.com/product/2/${n}`,
t = g.toString();
return new URL(t ? `${e}?${t}` : e);
}
}
if ("allchinabuy" === e) return g.set("from", "search-input"), g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("partnercode", f), new URL(`https://www.allchinabuy.com/en/page/buy?${g.toString()}`);
if ("basetao" === e) return new URL(`https://www.basetao.com/best-taobao-agent-service/products/agent/${"tmall" !== t ? t : "taobao"}/${n}.html`);
if ("eastmallbuy" === e) {
const e = new URL("https://eastmallbuy.com/index/item/index.html");
return e.searchParams.set("searchlang", "en"), e.searchParams.set("url", (0, s.generateRawLink)(t, n).href), f && e.searchParams.set("inviter", f), e;
}
if ("hubbuycn" === e) {
const e = new URL("https://www.hubbuycn.com/index/item/index.html");
return e.searchParams.set("searchlang", "en"), e.searchParams.set("url", (0, s.generateRawLink)(t, n).href), f && e.searchParams.set("inviter", f), e;
}
if ("joyabuy" === e) {
const e = new URL("https://joyabuy.com/product/");
if ("taobao" === t || "tmall" === t) e.searchParams.set("shop_type", "taobao");
else if ("weidian" === t) e.searchParams.set("shop_type", "weidian");
else {
if ("1688" !== t) throw new Error("Marketplace could not be detected for CnFans");
e.searchParams.set("shop_type", "ali_1688");
}
return e.searchParams.set("id", n), f && e.searchParams.set("ref", f), e;
}
if ("joyagoo" === e) {
const e = new URL("https://joyagoo.com/product");
if ((e.searchParams.set("id", n), "taobao" === t || "tmall" === t)) e.searchParams.set("platform", "TAOBAO");
else if ("weidian" === t) e.searchParams.set("platform", "WEIDIAN");
else {
if ("1688" !== t) throw new Error("Marketplace could not be detected for Joyagoo");
e.searchParams.set("platform", "ALI_1688");
}
return f && e.searchParams.set("ref", f), e;
}
if ("orientdig" === e) {
const e = new URL("https://orientdig.com/product/");
if ("taobao" === t || "tmall" === t) e.searchParams.set("shop_type", "taobao");
else if ("weidian" === t) e.searchParams.set("shop_type", "weidian");
else {
if ("1688" !== t) throw new Error("Marketplace could not be detected for CnFans");
e.searchParams.set("shop_type", "ali_1688");
}
return e.searchParams.set("id", n), f && e.searchParams.set("ref", f), e;
}
if ("oopbuy" === e) {
const e = new URL(`https://www.oopbuy.com/product/${o.oopbuyMarketplaceStrings.get(t)}/${n}`);
return f && e.searchParams.set("inviteCode", f), e;
}
if ("lovegobuy" === e) {
const e = new URL("https://www.lovegobuy.com/product");
e.searchParams.set("id", n);
const r = a.lovegobuyMarketplaceStrings.get(t);
if (!r) throw new Error("Unsupported marketplace for LoveGoBuy");
return e.searchParams.set("shop_type", r), f && e.searchParams.set("invite_code", f), e;
}
if ("blikbuy" === e) return g.set("go", "item"), g.set("url", (0, s.generateRawLink)(t, n).href), f && g.set("icode", f), new URL(`https://www.blikbuy.com/?${g.toString()}`);
if ("ponybuy" === e) {
const e = new URL("https://www.ponybuy.com/en-gb/goods");
return f && e.searchParams.set("tracking", f), e.searchParams.set("product_id", n), e.searchParams.set("platform", "tmall" !== t ? t : "taobao"), e;
}
if ("panglobalbuy" === e) {
const e = i.panglobalbuyMarketplaceStrings.get(t);
if (void 0 === e) throw new Error("Unsupported marketplace for PanGlobalBuy");
return g.set("type", e), g.set("offerId", n), f && g.set("share_id", f), new URL(`https://panglobalbuy.com/#/details?${g.toString()}`);
}
if ("sifubuy" === e) {
const e = new URL("https://www.sifubuy.com/detail");
f && e.searchParams.set("invite_code", f), e.searchParams.set("id", n);
const r = u.sifubuyMarketplaceStrings.get(t);
if (!r) throw new Error("Unsupported marketplace for SifuBuy");
return e.searchParams.set("type", r), e;
}
if ("loongbuy" === e) {
const e = new URL("https://www.loongbuy.com/product-details");
return e.searchParams.set("url", (0, s.generateRawLink)(t, n).href), f && e.searchParams.set("invitecode", f), e;
}
if ("acbuy" === e) {
const e = new URL("https://www.acbuy.com/product/");
e.searchParams.set("id", n);
const a = r.acbuyMarketplaceStrings.get("taobao");
if (!a) throw new Error("Unsupported marketplace for acbuy");
return e.searchParams.set("source", a), f && e.searchParams.set("u", f), e;
}
if ("itaobuy" === e) {
const e = new URL("https://www.itaobuy.com/product-detail");
return e.searchParams.set("url", (0, s.generateRawLink)(t, n).href), f && e.searchParams.set("inviteCode", f), e;
}
if ("raw" === e) return (0, s.generateRawLink)(t, n);
throw new Error(`Unsupported agent: ${e}`);
};
},
5494: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.generateRawLink = t.generateProperLink = t.generateMarketplaceLink = void 0);
const r = n(8871);
function a(e, t) {
if (!r.marketplaces.includes(e)) throw new Error(`Unsupported marketplace: ${e}`);
if ("weidian" === e) {
const e = new URLSearchParams();
return e.set("userid", t), new URL(`https://weidian.com/?${e.toString()}`);
}
if ("taobao" === e || "tmall" === e) return new URL(`https://shop${t}.taobao.com`);
if ("1688" === e) return t.startsWith("b2b-") ? new URL(`https://m.1688.com/winport/${t}.html`) : new URL(`https://${t}.1688.com`);
throw new Error(`Unsupported marketplace: ${e}`);
}
(t.generateMarketplaceLink = a), (t.generateProperLink = a), (t.generateRawLink = a);
},
401: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.isAgentLink = void 0);
const r = n(1897),
a = n(3061);
t.isAgentLink = function (e) {
let t;
try {
t = new URL(e);
} catch (e) {
return !1;
}
if (!["http:", "https:"].includes(t.protocol)) return !1;
const n = (0, r.detectAgent)(t);
if (!n) return !1;
if ("superbuy" === n && (t.pathname.includes("/shop/") || t.href.includes("/shop/"))) return !0;
if ("pandabuy" === n && t.pathname.startsWith("/shopdetail")) return !0;
if ("cssbuy" === n && t.pathname.startsWith("/productlist")) return !0;
if ("hagobuy" === n && t.pathname.startsWith("/item/store")) return !0;
if ("hegobuy" === n && t.pathname.startsWith("/item/store")) return !0;
if ("kakobuy" === n && t.pathname.startsWith("/item/store")) return !0;
if ("kameymall" === n && t.pathname.includes("/store/")) return !0;
if ("cnfans" === n && (t.pathname.startsWith("/shops") || t.pathname.slice(3).startsWith("/shops"))) return !0;
if ("hoobuy" === n && t.pathname.includes("/shop/")) return !0;
if ("allchinabuy" === n && (t.pathname.includes("/shop/") || t.href.includes("/shop/"))) return !0;
if ("sugargoo" === n) return !1;
if ("basetao" === n) return !1;
if ("mulebuy" === n && (t.pathname.startsWith("/shops") || t.pathname.slice(3).startsWith("/shops"))) return !0;
if ("joyabuy" === n && (t.pathname.includes("/shop") || t.pathname.slice(3).startsWith("/shop"))) return !0;
if ("orientdig" === n && (t.pathname.includes("/shop") || t.pathname.slice(3).startsWith("/shop"))) return !0;
if ("sifubuy" === n && (t.pathname.includes("/shop") || t.pathname.slice(3).startsWith("/shop"))) return !0;
if ("lovegobuy" === n && (t.pathname.includes("/shop") || t.pathname.slice(3).startsWith("/shop"))) return !0;
if ("acbuy" === n && t.pathname.startsWith("/shop/")) return !0;
try {
(0, a.extractRawLink)(t);
} catch (e) {
return !1;
}
return !1;
};
},
9505: (e, t, n) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), (t.isMarketplaceLink = t.isRawLink = void 0);
const r = n(7913),
a = n(8347);
function o(e) {
let t;
try {
t = "string" == typeof e ? new URL(e) : e;
} catch (e) {
return !1;
}
if ("weidian.com" === t.hostname) {
const e = t.searchParams.get("userid") || t.searchParams.get("userId");
if (e) return !0;
}
if ("m.1688.com" === t.hostname && t.pathname.includes("winport")) return !0;
if (t.hostname.endsWith("1688.com")) return !0;
const n = (0, r.detectMarketplace)(t);
if (!n) return !1;
if ("weidian" === n) {
if (t.pathname.startsWith("/item")) return !1;
const e = t.searchParams.get("userid") || t.searchParams.get("userId");
if (e) return !0;
}
if ("taobao" === n || "tmall" === n) {
const e = (t.hostname.match(/^shop(\d+)\.taobao\.com$/) || [])[1];
if (e) return !0;
}
try {
(0, a.extractId)(t);
} catch (e) {
return !1;
}
return !0;
}
(t.isRawLink = o), (t.isMarketplaceLink = o);
},
}
var t = {};
function n(r) {
var a = t[r];
if (void 0 !== a) return a.exports;
var o = (t[r] = { exports: {} });
return e[r].call(o.exports, o, o.exports, n), o.exports;
}
(n.m = e),
(n.d = (e, t) => {
for (var r in t) n.o(t, r) && !n.o(e, r) && Object.defineProperty(e, r, { enumerable: !0, get: t[r] });
}),
(n.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)),
(() => {
var e = { 354: 0 };
n.d(t, { Z: () => a });
var t = {};
var r = (t) => {
if (void 0 === t) return;
if ("string" != typeof t) throw new Error("options.key must be a string.");
var n = (function (e) {
var t = e.match(/\[([^\]]*)\]/g);
return t
? t.map(function (e) {
return e.substr(1, e.length - 2);
})
: [];
})(t);
if (0 === n.length) return [t, []];
var r = t.substr(0, t.indexOf("["));
return [r, n];
},
a = {
parse: function (t) {
if ("string" != typeof t) throw new Error("Argument must be a string.");
for (var n = {}, a = t.trim().split("&"), o = 0; o < a.length; o++) {
var i = a[o].split("="),
l = decodeURIComponent(i[0]),
s = r(l),
u = s[0],
c = s[1],
f = void 0 === i[1] ? null : decodeURIComponent(i[1]);
if (0 === c.length) n[u] = f;
else {
for (var d = n, p = 0; p < c.length - 1; p++) {
var h = c[p];
if ("" === h) {
if (void 0 === d.length) d = [];
else if (!Array.isArray(d)) throw new Error("Trying to push to a non-array value.");
d.push({});
d = d[d.length - 1];
} else {
if (void 0 === d[h]) e[h] = {};
d = d[h];
}
}
var m = c[c.length - 1];
if ("" === m) {
if (void 0 === d.length) d = [];
else if (!Array.isArray(d)) throw new Error("Trying to push to a non-array value.");
d.push(f);
} else d[m] = f;
}
}
return n;
},
stringify: function (e) {
if ("object" != typeof e || null === e) return "";
var t = [];
return (
Object.keys(e).forEach(function (n) {
var r = (function (e, t, n) {
if (!t.length) return n ? [encodeURIComponent(e), n] : [encodeURIComponent(e)];
var a = t.shift(),
o = e + "[" + a + "]";
return r(o, t, n);
})(n, [], e[n]);
t.push(r.join("="));
}),
t.join("&")
);
},
};
})(),
(n.g = (function () {
if ("object" == typeof globalThis) return globalThis;
try {
return this || new Function("return this")();
} catch (e) {
if ("object" == typeof window) return window;
}
})()),
(() => {
var e;
n.g.importScripts && (e = n.g.location + "");
var t = n.g.document;
if (!e && t && (t.currentScript && (e = t.currentScript.src), !e)) {
var r = t.getElementsByTagName("script");
if (r.length) for (var a = r.length - 1; a > -1 && !e; ) e = r[a--].src;
}
if (!e) throw new Error("Automatic publicPath is not supported in this browser");
(e = e
.replace(/#.*$/, "")
.replace(/\?.*$/, "")
.replace(/\/[^\/]+$/, "/")),
(n.p = e);
})();
var r = {};
return (
(e = r),
(t = n(4354)),
document.addEventListener("DOMContentLoaded", () => {
const inputArea = document.getElementById("input-urls"),
convertButton = document.getElementById("convert-button"),
outputContainer = document.getElementById("output-urls-container"),
copyButton = document.getElementById("copy-button"),
pasteButton = document.getElementById("paste-button");
let lastConvertedUrls = [];
pasteButton.addEventListener("click", () => {
if (navigator.clipboard && navigator.clipboard.readText) {
navigator.clipboard.readText()
.then(text => {
inputArea.value = text;
})
.catch(err => {
console.error('Failed to read clipboard contents: ', err);
alert('Failed to paste from clipboard. Please paste manually.');
});
} else {
alert('Clipboard API not supported on this browser.');
}
});
copyButton.addEventListener("click", () => {
if (lastConvertedUrls.length > 0) {
const urlsText = lastConvertedUrls.map(url => url.href).join("\n");
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(urlsText).then(() => {
copyButton.textContent = 'Copied!';
setTimeout(() => { copyButton.textContent = 'Copy'; }, 2000);
}).catch(err => {
console.error('Failed to copy text: ', err);
alert('Failed to copy URLs.');
});
} else {
alert('Clipboard API not supported on this browser.');
}
}
});
convertButton.addEventListener("click", () => {
const inputText = inputArea.value,
targetAgent = 'raw';
if (!inputText) {
outputContainer.innerHTML = '<p>Please paste some text.</p>';
lastConvertedUrls = [];
return;
}
try {
const { agentUrls, rawUrls } = t.filterLinks(inputText, true, true, false, undefined, true);
const convertedAgentUrls = (agentUrls || []).map(url => (new t.CnLink(url)).as(targetAgent));
const originalRawUrls = (rawUrls || []);
lastConvertedUrls = [...convertedAgentUrls, ...originalRawUrls];
outputContainer.innerHTML = '';
if (lastConvertedUrls.length > 0) {
lastConvertedUrls.forEach(url => {
const link = document.createElement('a');
link.href = url.href;
link.target = '_blank';
link.rel = 'noopener noreferrer';
link.textContent = url.href;
outputContainer.appendChild(link);
});
} else {
outputContainer.innerHTML = '<p>No convertible links found in the text.</p>';
}
} catch (err) {
console.error("Conversion error:", err);
outputContainer.innerHTML = '<p>An error occurred during conversion. Please check the console for details.</p>';
lastConvertedUrls = [];
}
});
}),
r
);
})();
})();
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"3b751eef2f5c4a4cb2d1eba009633e05","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
</div></div>
</div></div></div></div>
</div></div>
<p></p>
<p class="has-text-align-center">This is the most powerful url converter tool for Chinese ecommerce marketplaces that is both fast and easy to use. It can convert and sanitize URLs from Taobao, Weidian, Tmall, and 1688, as well as links from CnFans, KakoBuy, USFans, MuleBuy, Superbuy, Sugargoo, Cssbuy, BaseTao, KameyMall, LoveGoBuy, HooBuy, AllChinaBuy, PonyBuy, EastMallBuy, HubbuyCN, OrientDig, OopBuy, SifuBuy, LoongBuy, ACBuy, JoyaGoo, iTaoBuy, and CnShopper. Even links for legacy agents such as Pandabuy, Hagobuy, EzBuyCn, JoyaBuy, BlikBuy, HegoBuy, and Wegobuy can still be converted. <br><br>Shortened affiliate urls and shortened 1688 links are also no issue for us. This url converting tool is capable of decoding pandabuy.page.link, k.youshop10.com, m.tb.cn, qr.1688.com, tinyurl.com, weidian.info, hoobuy.cc, l.acbuy.com, oopbuy.cc, sl.hegobuy.com, ihego.vip, ikako.vip, sl.kakobuy.com, blikbuy.seewebs.com, click.world.taobao.com, link.acbuy.com, and itaobuy.allapp.link back to Taobao links, Weidian links, or any other well known agent.</p>
<div class="kb-row-layout-wrap kb-row-layout-id72_52ee98-23 alignfull has-theme-palette9-background-color kt-row-has-bg wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top kb-theme-content-width">
<div class="wp-block-kadence-column kadence-column72_3cf4af-38"><div class="kt-inside-inner-col">
<p class="kt-adv-heading72_c07724-bc wp-block-kadence-advancedheading" data-kb-block="kb-adv-heading72_c07724-bc">Our Commitment to You</p>
<h2 class="kt-adv-heading72_ce648d-d7 wp-block-kadence-advancedheading" data-kb-block="kb-adv-heading72_ce648d-d7">Dedicated to Safe & Secure Link Converting for you </h2>
</div></div>
</div></div>
<p></p>
<div class="kb-row-layout-wrap kb-row-layout-id72_e20f27-6f alignfull has-theme-palette8-background-color kt-row-has-bg wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-2-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top kt-inner-column-height-full kb-theme-content-width">
<div class="wp-block-kadence-column kadence-column72_78f4ba-3a inner-column-2"><div class="kt-inside-inner-col"><div class="kt-blocks-testimonials-wrap72_e7b24c-65 kt-testimonial-halign-left kt-testimonial-style-basic kt-testimonials-media-off kt-testimonials-icon-off kt-testimonial-columns-1 kt-t-xxl-col-1 kt-t-xl-col-1 kt-t-lg-col-1 kt-t-md-col-1 kt-t-sm-col-1 kt-t-xs-col-1 wp-block-kadence-testimonials"><ul class="kt-blocks-testimonials-inner-wrap kt-testimonial-grid-wrap">
<li class="kt-testimonial-grid-item"><div class="kt-testimonial-item-wrap kt-testimonial-item-72_d19fdc-4e wp-block-kadence-testimonial"><div class="kt-testimonial-text-wrap"><div class="kt-testimonial-rating-wrap kt-testimonial-rating-5" role="img" aria-label="5 out of 5 stars"><div class="kt-svg-testimonial-rating-icon kt-svg-testimonial-rating-icon-1" aria-hidden="true"><svg viewBox="0 0 576 512" fill="currentColor" stroke="currentColor" stroke-width="36" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" height="36" width="36" aria-hidden="true" role="img"><path d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"/></svg></div><div class="kt-svg-testimonial-rating-icon kt-svg-testimonial-rating-icon-2" aria-hidden="true"><svg viewBox="0 0 576 512" fill="currentColor" stroke="currentColor" stroke-width="36" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" height="36" width="36" aria-hidden="true" role="img"><path d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"/></svg></div><div class="kt-svg-testimonial-rating-icon kt-svg-testimonial-rating-icon-3" aria-hidden="true"><svg viewBox="0 0 576 512" fill="currentColor" stroke="currentColor" stroke-width="36" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" height="36" width="36" aria-hidden="true" role="img"><path d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"/></svg></div><div class="kt-svg-testimonial-rating-icon kt-svg-testimonial-rating-icon-4" aria-hidden="true"><svg viewBox="0 0 576 512" fill="currentColor" stroke="currentColor" stroke-width="36" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" height="36" width="36" aria-hidden="true" role="img"><path d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"/></svg></div><div class="kt-svg-testimonial-rating-icon kt-svg-testimonial-rating-icon-5" aria-hidden="true"><svg viewBox="0 0 576 512" fill="currentColor" stroke="currentColor" stroke-width="36" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" height="36" width="36" aria-hidden="true" role="img"><path d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"/></svg></div></div><div class="kt-testimonial-content-wrap"><blockquote class="kt-testimonial-content">“We were using enterprise solutions for link converting until we found Safe Link Converter, its saving us both time and money.”</blockquote></div></div><div class="kt-testimonial-meta-wrap"><div class="kt-testimonial-meta-name-wrap"><div class="kt-testimonial-name-wrap"><div class="kt-testimonial-name">Jessica Brown from a Confidential Shopify Ecom Agency </div></div></div></div></div></li>
</ul></div></div></div>
<div class="wp-block-kadence-column kadence-column72_098116-7f kb-section-dir-vertical"><div class="kt-inside-inner-col">
<figure class="wp-block-kadence-image kb-image72_fe9e22-6c size-large kb-image-is-ratio-size"><div class="kb-is-ratio-image kb-image-ratio-port34"><img fetchpriority="high" decoding="async" width="1365" height="2048" src="https://safelinkconverter.com/wp-content/uploads/2025/07/pexels-photo-6204232.jpeg" alt="woman sitting next to computer" class="kb-img wp-image-65" srcset="https://safelinkconverter.com/wp-content/uploads/2025/07/pexels-photo-6204232.jpeg 1365w, https://safelinkconverter.com/wp-content/uploads/2025/07/pexels-photo-6204232-200x300.jpeg 200w, https://safelinkconverter.com/wp-content/uploads/2025/07/pexels-photo-6204232-683x1024.jpeg 683w, https://safelinkconverter.com/wp-content/uploads/2025/07/pexels-photo-6204232-768x1152.jpeg 768w, https://safelinkconverter.com/wp-content/uploads/2025/07/pexels-photo-6204232-1024x1536.jpeg 1024w" sizes="(max-width: 1365px) 100vw, 1365px" /></div></figure>
</div></div>
</div></div>
<div class="kb-row-layout-wrap kb-row-layout-id72_68a9df-be alignfull has-theme-palette8-background-color kt-row-has-bg wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-2-columns kt-row-layout-row kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top kb-theme-content-width">
<div class="wp-block-kadence-column kadence-column72_41e06b-dd"><div class="kt-inside-inner-col">
<h2 class="kt-adv-heading72_4c1a9f-c9 wp-block-kadence-advancedheading has-theme-palette-3-color has-text-color" data-kb-block="kb-adv-heading72_4c1a9f-c9">Check out our Latest Blog Posts</h2>
</div></div>
<div class="wp-block-kadence-column kadence-column72_a0d8c5-c2"><div class="kt-inside-inner-col"><ul class="wp-block-kadence-posts kb-posts kadence-posts-list kb-posts-id-72_6463d4-ce content-wrap grid-cols kb-posts-style-boxed grid-sm-col-2 grid-lg-col-2 item-image-style-above"><li class="kb-post-list-item">
<article class="entry content-bg loop-entry kb-post-no-image post-174 post type-post status-publish format-standard hentry category-ecommerce">
<div class="entry-content-wrap">
<header class="entry-header">
<h2 class="entry-title"><a href="https://safelinkconverter.com/superbuy-freight-calculator-your-complete-2025-guide-to-international-shipping-costs/" rel="bookmark">Superbuy Freight Calculator: Your Complete 2025 Guide to International Shipping Costs</a></h2></header><!-- .entry-header -->
<div class="entry-summary">
<p>The Superbuy freight calculator serves as an essential tool for anyone purchasing items from Chinese e-commerce platforms like Taobao, 1688, or Weidian. This comprehensive shipping estimator allows users to calculate precise shipping costs from China to over 252 countries worldwide, helping shoppers budget effectively before making their purchases. The calculator considers multiple factors including package…</p>
</div><!-- .entry-summary -->
<footer class="entry-footer">
<div class="entry-actions">
<p class="more-link-wrap">
<a href="https://safelinkconverter.com/superbuy-freight-calculator-your-complete-2025-guide-to-international-shipping-costs/" class="post-more-link">
Read More<span class="screen-reader-text"> Superbuy Freight Calculator: Your Complete 2025 Guide to International Shipping Costs</span><span class="kadence-svg-iconset svg-baseline"><svg aria-hidden="true" class="kadence-svg-icon kadence-arrow-right-alt-svg" fill="currentColor" version="1.1" xmlns="http://www.w3.org/2000/svg" width="27" height="28" viewBox="0 0 27 28"><title>Continue</title><path d="M27 13.953c0 0.141-0.063 0.281-0.156 0.375l-6 5.531c-0.156 0.141-0.359 0.172-0.547 0.094-0.172-0.078-0.297-0.25-0.297-0.453v-3.5h-19.5c-0.281 0-0.5-0.219-0.5-0.5v-3c0-0.281 0.219-0.5 0.5-0.5h19.5v-3.5c0-0.203 0.109-0.375 0.297-0.453s0.391-0.047 0.547 0.078l6 5.469c0.094 0.094 0.156 0.219 0.156 0.359v0z"></path>
</svg></span> </a>
</p>
</div><!-- .entry-actions -->
</footer><!-- .entry-footer --> </div>
</article>
</li>
<li class="kb-post-list-item">
<article class="entry content-bg loop-entry kb-post-no-image post-154 post type-post status-publish format-standard hentry category-ecommerce">
<div class="entry-content-wrap">
<header class="entry-header">
<h2 class="entry-title"><a href="https://safelinkconverter.com/h12-weidian-meaning-understanding-chinas-popular-replica-sneaker-platform/" rel="bookmark">H12 Weidian Meaning: Understanding China’s Popular Replica Sneaker Platform</a></h2></header><!-- .entry-header -->
<div class="entry-summary">
<p>H12 Weidian represents a specific seller or factory operating on China’s Weidian marketplace, specializing in high-quality replica sneakers. H12 operates a Weidian store and is primarily known as a Weidian seller that has gained significant recognition in the replica sneaker community. The term combines “H12,” which refers to a well-known Chinese replica factory brand, with…</p>
</div><!-- .entry-summary -->
<footer class="entry-footer">
<div class="entry-actions">
<p class="more-link-wrap">
<a href="https://safelinkconverter.com/h12-weidian-meaning-understanding-chinas-popular-replica-sneaker-platform/" class="post-more-link">
Read More<span class="screen-reader-text"> H12 Weidian Meaning: Understanding China’s Popular Replica Sneaker Platform</span><span class="kadence-svg-iconset svg-baseline"><svg aria-hidden="true" class="kadence-svg-icon kadence-arrow-right-alt-svg" fill="currentColor" version="1.1" xmlns="http://www.w3.org/2000/svg" width="27" height="28" viewBox="0 0 27 28"><title>Continue</title><path d="M27 13.953c0 0.141-0.063 0.281-0.156 0.375l-6 5.531c-0.156 0.141-0.359 0.172-0.547 0.094-0.172-0.078-0.297-0.25-0.297-0.453v-3.5h-19.5c-0.281 0-0.5-0.219-0.5-0.5v-3c0-0.281 0.219-0.5 0.5-0.5h19.5v-3.5c0-0.203 0.109-0.375 0.297-0.453s0.391-0.047 0.547 0.078l6 5.469c0.094 0.094 0.156 0.219 0.156 0.359v0z"></path>
</svg></span> </a>
</p>
</div><!-- .entry-actions -->
</footer><!-- .entry-footer --> </div>
</article>
</li>
</ul>
<div class="wp-block-kadence-advancedbtn kb-buttons-wrap kb-btns72_0a9e27-8c"><span class="kb-button kt-button button kb-btn72_180c7e-51 kt-btn-size-standard kt-btn-width-type-auto kb-btn-global-inherit kt-btn-has-text-true kt-btn-has-svg-false wp-block-button__link wp-block-kadence-singlebtn"><span class="kt-btn-inner-text">Check out our blog here</span></span></div>
</div></div>
</div></div>
<div class="kb-row-layout-wrap kb-row-layout-id72_9e7653-53 alignfull has-theme-palette9-background-color kt-row-has-bg wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-2-columns kt-row-layout-left-golden kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top kb-theme-content-width">
<div class="wp-block-kadence-column kadence-column72_afc844-63"><div class="kt-inside-inner-col">
<h2 class="kt-adv-heading72_fb77a3-73 wp-block-kadence-advancedheading has-theme-palette-3-color has-text-color" data-kb-block="kb-adv-heading72_fb77a3-73">Frequently Asked Questions</h2>
<p class="kt-adv-heading72_6d5b63-4c wp-block-kadence-advancedheading has-theme-palette-3-color has-text-color" data-kb-block="kb-adv-heading72_6d5b63-4c">Find answers to the most common inquiries.</p>
<div class="wp-block-kadence-accordion alignnone"><div class="kt-accordion-wrap kt-accordion-id72_f5c816-d5 kt-accordion-has-5-panes kt-active-pane-0 kt-accordion-block kt-pane-header-alignment-left kt-accodion-icon-style-arrow kt-accodion-icon-side-right" style="max-width:none"><div class="kt-accordion-inner-wrap" data-allow-multiple-open="false" data-start-open="0">
<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane72_0472ca-91"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">Is my data safe with Safe Link Converter?</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p class="has-theme-palette-4-color has-text-color">Yes, we prioritize user privacy and employ advanced security protocols to protect your data. We do not log urls you convert at all. </p>
</div></div></div>
<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane72_9e7465-83"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">Can I track my converted links?</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p class="has-theme-palette-4-color has-text-color">No, we do not even track your converted rep links. Many other services do. Be careful. </p>
</div></div></div>
<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-1 kt-pane72_bd1e41-db"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">What is Safe Link Converter?</span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p class="has-theme-palette-5-color has-text-color">Safe Link Converter is an online platform specializing in secure link conversion for Ecommerce reps and operators who do not want to be tracked while doing their product research. </p>
</div></div></div>
<div class="wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane72_59ab95-6e"><div class="kt-accordion-header-wrap"><button class="kt-blocks-accordion-header kt-acccordion-button-label-show" type="button"><span class="kt-blocks-accordion-title-wrap"><span class="kt-blocks-accordion-title">Can you add more marketplaces or urls to convert? </span></span><span class="kt-blocks-accordion-icon-trigger"></span></button></div><div class="kt-accordion-panel kt-accordion-panel-hidden"><div class="kt-accordion-panel-inner">
<p class="has-theme-palette-4-color has-text-color">Yes of course! Please email us at: info@safelinkconverter.com and let us know your feature requests.</p>
</div></div></div>
</div></div></div>
</div></div>
<div class="wp-block-kadence-column kadence-column72_1b6662-d4"><div class="kt-inside-inner-col">
<figure class="wp-block-kadence-image kb-image72_30a64d-49 size-large kb-image-is-ratio-size"><div class="kb-is-ratio-image kb-image-ratio-port23"><img decoding="async" width="1024" height="683" src="https://safelinkconverter.com/wp-content/uploads/2025/09/close-up-of-a-magnifying-glass-focusing-on-the-phrase-frequently-asked-questions.-221164-1024x683.jpg" alt="Close-up of a magnifying glass focusing on the phrase 'Frequently Asked Questions'." class="kb-img wp-image-183" srcset="https://safelinkconverter.com/wp-content/uploads/2025/09/close-up-of-a-magnifying-glass-focusing-on-the-phrase-frequently-asked-questions.-221164-1024x683.jpg 1024w, https://safelinkconverter.com/wp-content/uploads/2025/09/close-up-of-a-magnifying-glass-focusing-on-the-phrase-frequently-asked-questions.-221164-300x200.jpg 300w, https://safelinkconverter.com/wp-content/uploads/2025/09/close-up-of-a-magnifying-glass-focusing-on-the-phrase-frequently-asked-questions.-221164-768x512.jpg 768w, https://safelinkconverter.com/wp-content/uploads/2025/09/close-up-of-a-magnifying-glass-focusing-on-the-phrase-frequently-asked-questions.-221164-1536x1024.jpg 1536w, https://safelinkconverter.com/wp-content/uploads/2025/09/close-up-of-a-magnifying-glass-focusing-on-the-phrase-frequently-asked-questions.-221164-2048x1365.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></figure>
</div></div>
</div></div></div><!-- .entry-content -->
</div>
</article><!-- #post-72 -->
</div>
</div><!-- #main -->
</div>
</div><!-- #primary -->
</main><!-- #inner-wrap -->
<footer id="colophon" class="site-footer" role="contentinfo">
<div class="site-footer-wrap">
<div class="site-middle-footer-wrap site-footer-row-container site-footer-focus-item site-footer-row-layout-standard site-footer-row-tablet-layout-default site-footer-row-mobile-layout-default" data-section="kadence_customizer_footer_middle">
<div class="site-footer-row-container-inner">
<div class="site-container">
<div class="site-middle-footer-inner-wrap site-footer-row site-footer-row-columns-2 site-footer-row-column-layout-equal site-footer-row-tablet-column-layout-default site-footer-row-mobile-column-layout-row ft-ro-dir-row ft-ro-collapse-normal ft-ro-t-dir-default ft-ro-m-dir-default ft-ro-lstyle-plain">
<div class="site-footer-middle-section-1 site-footer-section footer-section-inner-items-1">
<div class="footer-widget-area widget-area site-footer-focus-item footer-widget1 content-align-default content-tablet-align-default content-mobile-align-default content-valign-default content-tablet-valign-default content-mobile-valign-default" data-section="sidebar-widgets-footer1">
<div class="footer-widget-area-inner site-info-inner">
<section id="block-14" class="widget widget_block"><style>.wp-block-kadence-advancedheading.kt-adv-headingbf64ed-df, .wp-block-kadence-advancedheading.kt-adv-headingbf64ed-df[data-kb-block="kb-adv-headingbf64ed-df"]{margin-top:0px;margin-bottom:var(--global-kb-spacing-xxs, 0.5rem);font-size:var(--global-kb-font-size-lg, 2rem);font-weight:700;font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-headingbf64ed-df mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-headingbf64ed-df[data-kb-block="kb-adv-headingbf64ed-df"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}</style>
<div class="kt-adv-headingbf64ed-df wp-block-kadence-advancedheading" data-kb-block="kb-adv-headingbf64ed-df">Safe Link Converter</div>
</section><section id="block-15" class="widget widget_block"><style>.wp-block-kadence-advancedheading.kt-adv-headingda7379-69, .wp-block-kadence-advancedheading.kt-adv-headingda7379-69[data-kb-block="kb-adv-headingda7379-69"]{max-width:400px;margin-top:0px;font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-headingda7379-69 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-headingda7379-69[data-kb-block="kb-adv-headingda7379-69"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}</style>
<p class="kt-adv-headingda7379-69 wp-block-kadence-advancedheading" data-kb-block="kb-adv-headingda7379-69"></p>
</section> </div>
</div><!-- .footer-widget1 -->
</div>
<div class="site-footer-middle-section-2 site-footer-section footer-section-inner-items-1">
<div class="footer-widget-area site-info site-footer-focus-item content-align-right content-tablet-align-default content-mobile-align-default content-valign-default content-tablet-valign-default content-mobile-valign-default" data-section="kadence_customizer_footer_html">
<div class="footer-widget-area-inner site-info-inner">
<div class="footer-html inner-link-style-normal"><div class="footer-html-inner"><p>© 2025 Safe Link Converter</p>
</div></div> </div>
</div><!-- .site-info -->
</div>
</div>
</div>
</div>
</div>
</div>
</footer><!-- #colophon -->
</div><!-- #wrapper -->
<script>document.documentElement.style.setProperty('--scrollbar-offset', window.innerWidth - document.documentElement.clientWidth + 'px' );</script>
<script type="speculationrules">
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/kadence\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>
<div id="mobile-drawer" class="popup-drawer popup-drawer-layout-sidepanel popup-drawer-animation-fade popup-drawer-side-right" data-drawer-target-string="#mobile-drawer"
>
<div class="drawer-overlay" data-drawer-target-string="#mobile-drawer"></div>
<div class="drawer-inner">
<div class="drawer-header">
<button class="menu-toggle-close drawer-toggle" aria-label="Close menu" data-toggle-target="#mobile-drawer" data-toggle-body-class="showing-popup-drawer-from-right" aria-expanded="false" data-set-focus=".menu-toggle-open"
>
<span class="toggle-close-bar"></span>
<span class="toggle-close-bar"></span>
</button>
</div>
<div class="drawer-content mobile-drawer-content content-align-left content-valign-top">
<div class="site-header-item site-header-focus-item site-header-item-mobile-navigation mobile-navigation-layout-stretch-false" data-section="kadence_customizer_mobile_navigation">
<nav id="mobile-site-navigation" class="mobile-navigation drawer-navigation drawer-navigation-parent-toggle-false" role="navigation" aria-label="Primary Mobile">
<div class="mobile-menu-container drawer-menu-container">
<ul id="mobile-menu" class="menu has-collapse-sub-nav"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-72 current_page_item menu-item-74"><a href="https://safelinkconverter.com/" aria-current="page">Universal Link Converter | Safe Link Converter</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-78"><a href="https://safelinkconverter.com/blog/">Blog</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-75"><a href="#">About</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-76"><a href="https://safelinkconverter.com/contact/">Contact</a></li>
</ul> </div>
</nav><!-- #site-navigation -->
</div><!-- data-section="mobile_navigation" -->
</div>
</div>
</div>
<script id="kadence-navigation-js-extra">
var kadenceConfig = {"screenReader":{"expand":"Child menu","expandOf":"Child menu of","collapse":"Child menu","collapseOf":"Child menu of"},"breakPoints":{"desktop":"1024","tablet":768},"scrollOffset":"0"};
</script>
<script src="https://safelinkconverter.com/wp-content/themes/kadence/assets/js/navigation.min.js?ver=1.3.4" id="kadence-navigation-js" async></script>
<script src="https://safelinkconverter.com/wp-content/plugins/kadence-blocks/includes/assets/js/kt-accordion.min.js?ver=3.5.19" id="kadence-blocks-accordion-js"></script>
</body>
</html>
<!-- Page cached by LiteSpeed Cache 7.4 on 2025-09-09 18:59:09 -->