{"@attributes":{"version":"2.0"},"channel":{"title":"Posts on \u54c6\u5566b\u68a6\u7684\u535a\u5ba2","link":"https:\/\/my.rongyiapi.com\/posts\/","description":"Recent content in Posts on \u54c6\u5566b\u68a6\u7684\u535a\u5ba2","generator":"Hugo -- 0.134.2","language":"zh","lastBuildDate":"Tue, 24 Feb 2026 18:26:37 +0000","item":[{"title":"Whisper \u8bed\u97f3\u8bc6\u522b - \u751f\u6210 ASS \u5b57\u5e55\u6587\u4ef6","link":"https:\/\/my.rongyiapi.com\/posts\/whisper-%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%88%AB---%E7%94%9F%E6%88%90-ass-%E5%AD%97%E5%B9%95%E6%96%87%E4%BB%B6\/","pubDate":"Tue, 24 Feb 2026 18:26:37 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/whisper-%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%88%AB---%E7%94%9F%E6%88%90-ass-%E5%AD%97%E5%B9%95%E6%96%87%E4%BB%B6\/","description":"<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\">12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-13\"><a class=\"lnlinks\" href=\"#hl-0-13\">13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-14\"><a class=\"lnlinks\" href=\"#hl-0-14\">14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-15\"><a class=\"lnlinks\" href=\"#hl-0-15\">15<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-16\"><a class=\"lnlinks\" href=\"#hl-0-16\">16<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-17\"><a class=\"lnlinks\" href=\"#hl-0-17\">17<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-18\"><a class=\"lnlinks\" href=\"#hl-0-18\">18<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-19\"><a class=\"lnlinks\" href=\"#hl-0-19\">19<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-20\"><a class=\"lnlinks\" href=\"#hl-0-20\">20<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-21\"><a class=\"lnlinks\" href=\"#hl-0-21\">21<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-22\"><a class=\"lnlinks\" href=\"#hl-0-22\">22<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-23\"><a class=\"lnlinks\" href=\"#hl-0-23\">23<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-24\"><a class=\"lnlinks\" href=\"#hl-0-24\">24<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-25\"><a class=\"lnlinks\" href=\"#hl-0-25\">25<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-26\"><a class=\"lnlinks\" href=\"#hl-0-26\">26<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-27\"><a class=\"lnlinks\" href=\"#hl-0-27\">27<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-28\"><a class=\"lnlinks\" href=\"#hl-0-28\">28<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-29\"><a class=\"lnlinks\" href=\"#hl-0-29\">29<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-30\"><a class=\"lnlinks\" href=\"#hl-0-30\">30<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-31\"><a class=\"lnlinks\" href=\"#hl-0-31\">31<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-32\"><a class=\"lnlinks\" href=\"#hl-0-32\">32<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-33\"><a class=\"lnlinks\" href=\"#hl-0-33\">33<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-34\"><a class=\"lnlinks\" href=\"#hl-0-34\">34<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-35\"><a class=\"lnlinks\" href=\"#hl-0-35\">35<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-36\"><a class=\"lnlinks\" href=\"#hl-0-36\">36<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-37\"><a class=\"lnlinks\" href=\"#hl-0-37\">37<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-38\"><a class=\"lnlinks\" href=\"#hl-0-38\">38<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-39\"><a class=\"lnlinks\" href=\"#hl-0-39\">39<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-40\"><a class=\"lnlinks\" href=\"#hl-0-40\">40<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-41\"><a class=\"lnlinks\" href=\"#hl-0-41\">41<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-42\"><a class=\"lnlinks\" href=\"#hl-0-42\">42<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-43\"><a class=\"lnlinks\" href=\"#hl-0-43\">43<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-44\"><a class=\"lnlinks\" href=\"#hl-0-44\">44<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-45\"><a class=\"lnlinks\" href=\"#hl-0-45\">45<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-46\"><a class=\"lnlinks\" href=\"#hl-0-46\">46<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-47\"><a class=\"lnlinks\" href=\"#hl-0-47\">47<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-48\"><a class=\"lnlinks\" href=\"#hl-0-48\">48<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-49\"><a class=\"lnlinks\" href=\"#hl-0-49\">49<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-50\"><a class=\"lnlinks\" href=\"#hl-0-50\">50<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-51\"><a class=\"lnlinks\" href=\"#hl-0-51\">51<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-52\"><a class=\"lnlinks\" href=\"#hl-0-52\">52<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-53\"><a class=\"lnlinks\" href=\"#hl-0-53\">53<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-54\"><a class=\"lnlinks\" href=\"#hl-0-54\">54<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-55\"><a class=\"lnlinks\" href=\"#hl-0-55\">55<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-56\"><a class=\"lnlinks\" href=\"#hl-0-56\">56<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-57\"><a class=\"lnlinks\" href=\"#hl-0-57\">57<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-58\"><a class=\"lnlinks\" href=\"#hl-0-58\">58<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-59\"><a class=\"lnlinks\" href=\"#hl-0-59\">59<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-60\"><a class=\"lnlinks\" href=\"#hl-0-60\">60<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-61\"><a class=\"lnlinks\" href=\"#hl-0-61\">61<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-62\"><a class=\"lnlinks\" href=\"#hl-0-62\">62<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-63\"><a class=\"lnlinks\" href=\"#hl-0-63\">63<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-64\"><a class=\"lnlinks\" href=\"#hl-0-64\">64<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-65\"><a class=\"lnlinks\" href=\"#hl-0-65\">65<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-66\"><a class=\"lnlinks\" href=\"#hl-0-66\">66<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-python\" data-lang=\"python\"><span class=\"line\"><span class=\"cl\"><span class=\"ch\">#!\/usr\/bin\/env python<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">&#34;&#34;&#34;\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">Whisper \u8bed\u97f3\u8bc6\u522b - \u751f\u6210 ASS \u5b57\u5e55\u6587\u4ef6\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">&#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kn\">from<\/span> <span class=\"nn\">faster_whisper<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">WhisperModel<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">def<\/span> <span class=\"nf\">format_ass_time<\/span><span class=\"p\">(<\/span><span class=\"n\">seconds<\/span><span class=\"p\">):<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s2\">&#34;&#34;&#34;\u8f6c\u6362\u4e3a ASS \u65f6\u95f4\u683c\u5f0f\uff1aH:MM:SS.CC&#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">hours<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">int<\/span><span class=\"p\">(<\/span><span class=\"n\">seconds<\/span> <span class=\"o\">\/\/<\/span> <span class=\"mi\">3600<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">minutes<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">int<\/span><span class=\"p\">((<\/span><span class=\"n\">seconds<\/span> <span class=\"o\">%<\/span> <span class=\"mi\">3600<\/span><span class=\"p\">)<\/span> <span class=\"o\">\/\/<\/span> <span class=\"mi\">60<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">secs<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">int<\/span><span class=\"p\">(<\/span><span class=\"n\">seconds<\/span> <span class=\"o\">%<\/span> <span class=\"mi\">60<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">centisecs<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">int<\/span><span class=\"p\">((<\/span><span class=\"n\">seconds<\/span> <span class=\"o\">%<\/span> <span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"o\">*<\/span> <span class=\"mi\">100<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">return<\/span> <span class=\"sa\">f<\/span><span class=\"s2\">&#34;<\/span><span class=\"si\">{<\/span><span class=\"n\">hours<\/span><span class=\"si\">}<\/span><span class=\"s2\">:<\/span><span class=\"si\">{<\/span><span class=\"n\">minutes<\/span><span class=\"si\">:<\/span><span class=\"s2\">02d<\/span><span class=\"si\">}<\/span><span class=\"s2\">:<\/span><span class=\"si\">{<\/span><span class=\"n\">secs<\/span><span class=\"si\">:<\/span><span class=\"s2\">02d<\/span><span class=\"si\">}<\/span><span class=\"s2\">.<\/span><span class=\"si\">{<\/span><span class=\"n\">centisecs<\/span><span class=\"si\">:<\/span><span class=\"s2\">02d<\/span><span class=\"si\">}<\/span><span class=\"s2\">&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">def<\/span> <span class=\"nf\">transcribe<\/span><span class=\"p\">(<\/span><span class=\"n\">audio_file<\/span><span class=\"p\">,<\/span> <span class=\"n\">output_file<\/span><span class=\"o\">=<\/span><span class=\"kc\">None<\/span><span class=\"p\">):<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s2\">&#34;&#34;&#34;\u8f6c\u5f55\u97f3\u9891\u5e76\u751f\u6210 ASS \u5b57\u5e55&#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">model<\/span> <span class=\"o\">=<\/span> <span class=\"n\">WhisperModel<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;tiny&#34;<\/span><span class=\"p\">,<\/span> <span class=\"n\">device<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;cpu&#34;<\/span><span class=\"p\">,<\/span> <span class=\"n\">compute_type<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;int8&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">segments<\/span><span class=\"p\">,<\/span> <span class=\"n\">info<\/span> <span class=\"o\">=<\/span> <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">transcribe<\/span><span class=\"p\">(<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">audio_file<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">language<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;zh&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">word_timestamps<\/span><span class=\"o\">=<\/span><span class=\"kc\">True<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"c1\"># ASS \u6587\u4ef6\u5934<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">ass_header<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&#34;&#34;&#34;[Script Info]\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">Title: Whisper Subtitle\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">ScriptType: v4.00+\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">WrapStyle: 0\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">PlayResX: 1920\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">PlayResY: 1080\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">[V4+ Styles]\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">Style: Default,Arial,48,&amp;H00FFFFFF,&amp;H000000FF,&amp;H00000000,&amp;H80000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,20,1\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">[Events]\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">&#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"c1\"># \u751f\u6210\u5b57\u5e55\u4e8b\u4ef6<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">events<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">for<\/span> <span class=\"n\">segment<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">segments<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">start<\/span> <span class=\"o\">=<\/span> <span class=\"n\">format_ass_time<\/span><span class=\"p\">(<\/span><span class=\"n\">segment<\/span><span class=\"o\">.<\/span><span class=\"n\">start<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">end<\/span> <span class=\"o\">=<\/span> <span class=\"n\">format_ass_time<\/span><span class=\"p\">(<\/span><span class=\"n\">segment<\/span><span class=\"o\">.<\/span><span class=\"n\">end<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">text<\/span> <span class=\"o\">=<\/span> <span class=\"n\">segment<\/span><span class=\"o\">.<\/span><span class=\"n\">text<\/span><span class=\"o\">.<\/span><span class=\"n\">strip<\/span><span class=\"p\">()<\/span><span class=\"o\">.<\/span><span class=\"n\">replace<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;<\/span><span class=\"se\">\\\\<\/span><span class=\"s2\">N&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">events<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"sa\">f<\/span><span class=\"s2\">&#34;Dialogue: 0,<\/span><span class=\"si\">{<\/span><span class=\"n\">start<\/span><span class=\"si\">}<\/span><span class=\"s2\">,<\/span><span class=\"si\">{<\/span><span class=\"n\">end<\/span><span class=\"si\">}<\/span><span class=\"s2\">,Default,,0,0,0,,<\/span><span class=\"si\">{<\/span><span class=\"n\">text<\/span><span class=\"si\">}<\/span><span class=\"s2\">&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">result<\/span> <span class=\"o\">=<\/span> <span class=\"n\">ass_header<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">&#34;<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">&#34;<\/span><span class=\"o\">.<\/span><span class=\"n\">join<\/span><span class=\"p\">(<\/span><span class=\"n\">events<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"c1\"># \u4fdd\u5b58\u5230\u6587\u4ef6<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">if<\/span> <span class=\"n\">output_file<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">with<\/span> <span class=\"nb\">open<\/span><span class=\"p\">(<\/span><span class=\"n\">output_file<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;w&#34;<\/span><span class=\"p\">,<\/span> <span class=\"n\">encoding<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;utf-8-sig&#34;<\/span><span class=\"p\">)<\/span> <span class=\"k\">as<\/span> <span class=\"n\">f<\/span><span class=\"p\">:<\/span>  <span class=\"c1\"># utf-8-sig for ASS<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">f<\/span><span class=\"o\">.<\/span><span class=\"n\">write<\/span><span class=\"p\">(<\/span><span class=\"n\">result<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"sa\">f<\/span><span class=\"s2\">&#34;\u2705 \u5b57\u5e55\u5df2\u4fdd\u5b58: <\/span><span class=\"si\">{<\/span><span class=\"n\">output_file<\/span><span class=\"si\">}<\/span><span class=\"s2\">&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">return<\/span> <span class=\"n\">result<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># \u4f7f\u7528\u793a\u4f8b<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span> <span class=\"vm\">__name__<\/span> <span class=\"o\">==<\/span> <span class=\"s2\">&#34;__main__&#34;<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">audio_file<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&#34;audio\/test_zh.wav&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">output_file<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&#34;audio\/test_zh.ass&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">transcribe<\/span><span class=\"p\">(<\/span><span class=\"n\">audio_file<\/span><span class=\"p\">,<\/span> <span class=\"n\">output_file<\/span><span class=\"p\">))<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"API \u5f00\u53d1\u89c4\u8303","link":"https:\/\/my.rongyiapi.com\/posts\/api-%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83\/","pubDate":"Mon, 21 Jul 2025 23:21:49 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/api-%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83\/","description":"<h1 id=\"api-\u5f00\u53d1\u89c4\u8303\">API \u5f00\u53d1\u89c4\u8303<\/h1>\n<h2 id=\"\u57fa\u672c\u539f\u5219\">\u57fa\u672c\u539f\u5219<\/h2>\n<ul>\n<li>RESTful \u8bbe\u8ba1\uff0c\u65e0\u72b6\u6001<\/li>\n<li>\u7edf\u4e00\u4f7f\u7528 JSON \u683c\u5f0f<\/li>\n<li>\u8def\u7531\u524d\u7f00\uff1a<code>\/api\/v1<\/code><\/li>\n<li>\u8ba4\u8bc1\u65b9\u5f0f\uff1a<code>Authorization: Bearer &lt;token&gt;<\/code><\/li>\n<li>HTTP\u72b6\u6001\u7801\u7edf\u4e00\u4e3a200<\/li>\n<\/ul>\n<h2 id=\"\u8def\u7531\u89c4\u8303\">\u8def\u7531\u89c4\u8303<\/h2>\n<ul>\n<li>\u8d44\u6e90\u540d\u4f7f\u7528\u590d\u6570\uff1a<code>\/users<\/code>\u3001<code>\/user_profiles<\/code><\/li>\n<li>HTTP \u65b9\u6cd5\u5bf9\u5e94\u64cd\u4f5c\uff1a\n<ul>\n<li><code>GET<\/code> - \u67e5\u8be2<\/li>\n<li><code>POST<\/code> - \u521b\u5efa<\/li>\n<li><code>PUT\/PATCH<\/code> - \u66f4\u65b0<\/li>\n<li><code>DELETE<\/code> - \u5220\u9664<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u7edf\u4e00\u54cd\u5e94\u683c\u5f0f\">\u7edf\u4e00\u54cd\u5e94\u683c\u5f0f<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\">3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\">4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\">5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\">6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\">7<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-json\" data-lang=\"json\"><span class=\"line\"><span class=\"cl\"><span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  <span class=\"nt\">&#34;code&#34;<\/span><span class=\"p\">:<\/span> <span class=\"mi\">200<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  <span class=\"nt\">&#34;message&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;\u64cd\u4f5c\u6210\u529f&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  <span class=\"nt\">&#34;data&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  <span class=\"nt\">&#34;meta&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{},<\/span>     <span class=\"c1\">\/\/ \u5206\u9875\u65f6\u4f7f\u7528\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>  <span class=\"nt\">&#34;errors&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{}<\/span>    <span class=\"c1\">\/\/ \u9a8c\u8bc1\u5931\u8d25\u65f6\u4f7f\u7528\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span><span class=\"p\">}<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"code\u4e3a\u4e1a\u52a1\u72b6\u6001\u7801\">code\u4e3a\u4e1a\u52a1\u72b6\u6001\u7801<\/h2>\n<table>\n  <thead>\n      <tr>\n          <th style=\"text-align: left\">\u4e1a\u52a1\u7801<\/th>\n          <th style=\"text-align: left\">\u8bf4\u660e<\/th>\n      <\/tr>\n  <\/thead>\n  <tbody>\n      <tr>\n          <td style=\"text-align: left\">200<\/td>\n          <td style=\"text-align: left\">\u6210\u529f<\/td>\n      <\/tr>\n      <tr>\n          <td style=\"text-align: left\">400<\/td>\n          <td style=\"text-align: left\">\u8bf7\u6c42\u9519\u8bef<\/td>\n      <\/tr>\n      <tr>\n          <td style=\"text-align: left\">401<\/td>\n          <td style=\"text-align: left\">\u9a8c\u8bc1\u5931\u8d25<\/td>\n      <\/tr>\n      <tr>\n          <td style=\"text-align: left\">401<\/td>\n          <td style=\"text-align: left\">\u672a\u8ba4\u8bc1<\/td>\n      <\/tr>\n      <tr>\n          <td style=\"text-align: left\">403<\/td>\n          <td style=\"text-align: left\">\u65e0\u6743\u9650<\/td>\n      <\/tr>\n      <tr>\n          <td style=\"text-align: left\">404<\/td>\n          <td style=\"text-align: left\">\u672a\u627e\u5230<\/td>\n      <\/tr>\n      <tr>\n          <td style=\"text-align: left\">429<\/td>\n          <td style=\"text-align: left\">\u8bf7\u6c42\u8fc7\u9891<\/td>\n      <\/tr>\n      <tr>\n          <td style=\"text-align: left\">500<\/td>\n          <td style=\"text-align: left\">\u670d\u52a1\u5668\u9519\u8bef<\/td>\n      <\/tr>\n  <\/tbody>\n<\/table>\n<h2 id=\"\u54cd\u5e94\u793a\u4f8b\">\u54cd\u5e94\u793a\u4f8b<\/h2>\n<p><strong>\u6210\u529f\u54cd\u5e94<\/strong><\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-2\"><a class=\"lnlinks\" href=\"#hl-1-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-3\"><a class=\"lnlinks\" href=\"#hl-1-3\">3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-4\"><a class=\"lnlinks\" href=\"#hl-1-4\">4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-5\"><a class=\"lnlinks\" href=\"#hl-1-5\">5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-6\"><a class=\"lnlinks\" href=\"#hl-1-6\">6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-7\"><a class=\"lnlinks\" href=\"#hl-1-7\">7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-8\"><a class=\"lnlinks\" href=\"#hl-1-8\">8<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-json\" data-lang=\"json\"><span class=\"line\"><span class=\"cl\"><span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  <span class=\"nt\">&#34;code&#34;<\/span><span class=\"p\">:<\/span> <span class=\"mi\">200<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  <span class=\"nt\">&#34;message&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;\u83b7\u53d6\u6210\u529f&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  <span class=\"nt\">&#34;data&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"nt\">&#34;id&#34;<\/span><span class=\"p\">:<\/span> <span class=\"mi\">1<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"nt\">&#34;name&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;John Doe&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><strong>\u9a8c\u8bc1\u5931\u8d25<\/strong><\/p>"},{"title":"AugmentCode\u81ea\u52a8\u6ce8\u518c","link":"https:\/\/my.rongyiapi.com\/posts\/augmentcode%E8%87%AA%E5%8A%A8%E6%B3%A8%E5%86%8C\/","pubDate":"Fri, 20 Jun 2025 21:15:35 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/augmentcode%E8%87%AA%E5%8A%A8%E6%B3%A8%E5%86%8C\/","description":"<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">  1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\">  2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\">  3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\">  4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\">  5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\">  6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\">  7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\">  8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\">  9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\"> 10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\"> 11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\"> 12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-13\"><a class=\"lnlinks\" href=\"#hl-0-13\"> 13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-14\"><a class=\"lnlinks\" href=\"#hl-0-14\"> 14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-15\"><a class=\"lnlinks\" href=\"#hl-0-15\"> 15<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-16\"><a class=\"lnlinks\" href=\"#hl-0-16\"> 16<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-17\"><a class=\"lnlinks\" href=\"#hl-0-17\"> 17<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-18\"><a class=\"lnlinks\" href=\"#hl-0-18\"> 18<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-19\"><a class=\"lnlinks\" href=\"#hl-0-19\"> 19<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-20\"><a class=\"lnlinks\" href=\"#hl-0-20\"> 20<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-21\"><a class=\"lnlinks\" href=\"#hl-0-21\"> 21<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-22\"><a class=\"lnlinks\" href=\"#hl-0-22\"> 22<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-23\"><a class=\"lnlinks\" href=\"#hl-0-23\"> 23<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-24\"><a class=\"lnlinks\" href=\"#hl-0-24\"> 24<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-25\"><a class=\"lnlinks\" href=\"#hl-0-25\"> 25<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-26\"><a class=\"lnlinks\" href=\"#hl-0-26\"> 26<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-27\"><a class=\"lnlinks\" href=\"#hl-0-27\"> 27<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-28\"><a class=\"lnlinks\" href=\"#hl-0-28\"> 28<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-29\"><a class=\"lnlinks\" href=\"#hl-0-29\"> 29<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-30\"><a class=\"lnlinks\" href=\"#hl-0-30\"> 30<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-31\"><a class=\"lnlinks\" href=\"#hl-0-31\"> 31<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-32\"><a class=\"lnlinks\" href=\"#hl-0-32\"> 32<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-33\"><a class=\"lnlinks\" href=\"#hl-0-33\"> 33<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-34\"><a class=\"lnlinks\" href=\"#hl-0-34\"> 34<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-35\"><a class=\"lnlinks\" href=\"#hl-0-35\"> 35<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-36\"><a class=\"lnlinks\" href=\"#hl-0-36\"> 36<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-37\"><a class=\"lnlinks\" href=\"#hl-0-37\"> 37<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-38\"><a class=\"lnlinks\" href=\"#hl-0-38\"> 38<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-39\"><a class=\"lnlinks\" href=\"#hl-0-39\"> 39<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-40\"><a class=\"lnlinks\" href=\"#hl-0-40\"> 40<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-41\"><a class=\"lnlinks\" href=\"#hl-0-41\"> 41<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-42\"><a class=\"lnlinks\" href=\"#hl-0-42\"> 42<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-43\"><a class=\"lnlinks\" href=\"#hl-0-43\"> 43<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-44\"><a class=\"lnlinks\" href=\"#hl-0-44\"> 44<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-45\"><a class=\"lnlinks\" href=\"#hl-0-45\"> 45<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-46\"><a class=\"lnlinks\" href=\"#hl-0-46\"> 46<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-47\"><a class=\"lnlinks\" href=\"#hl-0-47\"> 47<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-48\"><a class=\"lnlinks\" href=\"#hl-0-48\"> 48<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-49\"><a class=\"lnlinks\" href=\"#hl-0-49\"> 49<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-50\"><a class=\"lnlinks\" href=\"#hl-0-50\"> 50<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-51\"><a class=\"lnlinks\" href=\"#hl-0-51\"> 51<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-52\"><a class=\"lnlinks\" href=\"#hl-0-52\"> 52<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-53\"><a class=\"lnlinks\" href=\"#hl-0-53\"> 53<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-54\"><a class=\"lnlinks\" href=\"#hl-0-54\"> 54<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-55\"><a class=\"lnlinks\" href=\"#hl-0-55\"> 55<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-56\"><a class=\"lnlinks\" href=\"#hl-0-56\"> 56<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-57\"><a class=\"lnlinks\" href=\"#hl-0-57\"> 57<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-58\"><a class=\"lnlinks\" href=\"#hl-0-58\"> 58<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-59\"><a class=\"lnlinks\" href=\"#hl-0-59\"> 59<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-60\"><a class=\"lnlinks\" href=\"#hl-0-60\"> 60<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-61\"><a class=\"lnlinks\" href=\"#hl-0-61\"> 61<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-62\"><a class=\"lnlinks\" href=\"#hl-0-62\"> 62<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-63\"><a class=\"lnlinks\" href=\"#hl-0-63\"> 63<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-64\"><a class=\"lnlinks\" href=\"#hl-0-64\"> 64<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-65\"><a class=\"lnlinks\" href=\"#hl-0-65\"> 65<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-66\"><a class=\"lnlinks\" href=\"#hl-0-66\"> 66<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-67\"><a class=\"lnlinks\" href=\"#hl-0-67\"> 67<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-68\"><a class=\"lnlinks\" href=\"#hl-0-68\"> 68<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-69\"><a class=\"lnlinks\" href=\"#hl-0-69\"> 69<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-70\"><a class=\"lnlinks\" href=\"#hl-0-70\"> 70<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-71\"><a class=\"lnlinks\" href=\"#hl-0-71\"> 71<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-72\"><a class=\"lnlinks\" href=\"#hl-0-72\"> 72<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-73\"><a class=\"lnlinks\" href=\"#hl-0-73\"> 73<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-74\"><a class=\"lnlinks\" href=\"#hl-0-74\"> 74<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-75\"><a class=\"lnlinks\" href=\"#hl-0-75\"> 75<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-76\"><a class=\"lnlinks\" href=\"#hl-0-76\"> 76<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-77\"><a class=\"lnlinks\" href=\"#hl-0-77\"> 77<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-78\"><a class=\"lnlinks\" href=\"#hl-0-78\"> 78<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-79\"><a class=\"lnlinks\" href=\"#hl-0-79\"> 79<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-80\"><a class=\"lnlinks\" href=\"#hl-0-80\"> 80<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-81\"><a class=\"lnlinks\" href=\"#hl-0-81\"> 81<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-82\"><a class=\"lnlinks\" href=\"#hl-0-82\"> 82<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-83\"><a class=\"lnlinks\" href=\"#hl-0-83\"> 83<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-84\"><a class=\"lnlinks\" href=\"#hl-0-84\"> 84<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-85\"><a class=\"lnlinks\" href=\"#hl-0-85\"> 85<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-86\"><a class=\"lnlinks\" href=\"#hl-0-86\"> 86<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-87\"><a class=\"lnlinks\" href=\"#hl-0-87\"> 87<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-88\"><a class=\"lnlinks\" href=\"#hl-0-88\"> 88<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-89\"><a class=\"lnlinks\" href=\"#hl-0-89\"> 89<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-90\"><a class=\"lnlinks\" href=\"#hl-0-90\"> 90<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-91\"><a class=\"lnlinks\" href=\"#hl-0-91\"> 91<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-92\"><a class=\"lnlinks\" href=\"#hl-0-92\"> 92<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-93\"><a class=\"lnlinks\" href=\"#hl-0-93\"> 93<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-94\"><a class=\"lnlinks\" href=\"#hl-0-94\"> 94<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-95\"><a class=\"lnlinks\" href=\"#hl-0-95\"> 95<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-96\"><a class=\"lnlinks\" href=\"#hl-0-96\"> 96<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-97\"><a class=\"lnlinks\" href=\"#hl-0-97\"> 97<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-98\"><a class=\"lnlinks\" href=\"#hl-0-98\"> 98<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-99\"><a class=\"lnlinks\" href=\"#hl-0-99\"> 99<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-100\"><a class=\"lnlinks\" href=\"#hl-0-100\">100<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-101\"><a class=\"lnlinks\" href=\"#hl-0-101\">101<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-102\"><a class=\"lnlinks\" href=\"#hl-0-102\">102<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-103\"><a class=\"lnlinks\" href=\"#hl-0-103\">103<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-104\"><a class=\"lnlinks\" href=\"#hl-0-104\">104<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-105\"><a class=\"lnlinks\" href=\"#hl-0-105\">105<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-106\"><a class=\"lnlinks\" href=\"#hl-0-106\">106<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-107\"><a class=\"lnlinks\" href=\"#hl-0-107\">107<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-108\"><a class=\"lnlinks\" href=\"#hl-0-108\">108<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-109\"><a class=\"lnlinks\" href=\"#hl-0-109\">109<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-110\"><a class=\"lnlinks\" href=\"#hl-0-110\">110<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-111\"><a class=\"lnlinks\" href=\"#hl-0-111\">111<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-112\"><a class=\"lnlinks\" href=\"#hl-0-112\">112<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-113\"><a class=\"lnlinks\" href=\"#hl-0-113\">113<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-114\"><a class=\"lnlinks\" href=\"#hl-0-114\">114<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-115\"><a class=\"lnlinks\" href=\"#hl-0-115\">115<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-116\"><a class=\"lnlinks\" href=\"#hl-0-116\">116<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-117\"><a class=\"lnlinks\" href=\"#hl-0-117\">117<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-118\"><a class=\"lnlinks\" href=\"#hl-0-118\">118<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-119\"><a class=\"lnlinks\" href=\"#hl-0-119\">119<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-120\"><a class=\"lnlinks\" href=\"#hl-0-120\">120<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-121\"><a class=\"lnlinks\" href=\"#hl-0-121\">121<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-122\"><a class=\"lnlinks\" href=\"#hl-0-122\">122<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-123\"><a class=\"lnlinks\" href=\"#hl-0-123\">123<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-124\"><a class=\"lnlinks\" href=\"#hl-0-124\">124<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-125\"><a class=\"lnlinks\" href=\"#hl-0-125\">125<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-126\"><a class=\"lnlinks\" href=\"#hl-0-126\">126<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-127\"><a class=\"lnlinks\" href=\"#hl-0-127\">127<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-128\"><a class=\"lnlinks\" href=\"#hl-0-128\">128<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-129\"><a class=\"lnlinks\" href=\"#hl-0-129\">129<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-130\"><a class=\"lnlinks\" href=\"#hl-0-130\">130<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-131\"><a class=\"lnlinks\" href=\"#hl-0-131\">131<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-132\"><a class=\"lnlinks\" href=\"#hl-0-132\">132<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-133\"><a class=\"lnlinks\" href=\"#hl-0-133\">133<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-134\"><a class=\"lnlinks\" href=\"#hl-0-134\">134<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-135\"><a class=\"lnlinks\" href=\"#hl-0-135\">135<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-136\"><a class=\"lnlinks\" href=\"#hl-0-136\">136<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-137\"><a class=\"lnlinks\" href=\"#hl-0-137\">137<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-138\"><a class=\"lnlinks\" href=\"#hl-0-138\">138<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-139\"><a class=\"lnlinks\" href=\"#hl-0-139\">139<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-140\"><a class=\"lnlinks\" href=\"#hl-0-140\">140<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-141\"><a class=\"lnlinks\" href=\"#hl-0-141\">141<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-142\"><a class=\"lnlinks\" href=\"#hl-0-142\">142<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-143\"><a class=\"lnlinks\" href=\"#hl-0-143\">143<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-144\"><a class=\"lnlinks\" href=\"#hl-0-144\">144<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-145\"><a class=\"lnlinks\" href=\"#hl-0-145\">145<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-146\"><a class=\"lnlinks\" href=\"#hl-0-146\">146<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-147\"><a class=\"lnlinks\" href=\"#hl-0-147\">147<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-148\"><a class=\"lnlinks\" href=\"#hl-0-148\">148<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-149\"><a class=\"lnlinks\" href=\"#hl-0-149\">149<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-150\"><a class=\"lnlinks\" href=\"#hl-0-150\">150<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-151\"><a class=\"lnlinks\" href=\"#hl-0-151\">151<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-152\"><a class=\"lnlinks\" href=\"#hl-0-152\">152<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-153\"><a class=\"lnlinks\" href=\"#hl-0-153\">153<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-154\"><a class=\"lnlinks\" href=\"#hl-0-154\">154<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-155\"><a class=\"lnlinks\" href=\"#hl-0-155\">155<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-156\"><a class=\"lnlinks\" href=\"#hl-0-156\">156<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-157\"><a class=\"lnlinks\" href=\"#hl-0-157\">157<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-158\"><a class=\"lnlinks\" href=\"#hl-0-158\">158<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-159\"><a class=\"lnlinks\" href=\"#hl-0-159\">159<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-160\"><a class=\"lnlinks\" href=\"#hl-0-160\">160<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-161\"><a class=\"lnlinks\" href=\"#hl-0-161\">161<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-162\"><a class=\"lnlinks\" href=\"#hl-0-162\">162<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-163\"><a class=\"lnlinks\" href=\"#hl-0-163\">163<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-164\"><a class=\"lnlinks\" href=\"#hl-0-164\">164<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-165\"><a class=\"lnlinks\" href=\"#hl-0-165\">165<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-166\"><a class=\"lnlinks\" href=\"#hl-0-166\">166<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-167\"><a class=\"lnlinks\" href=\"#hl-0-167\">167<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-168\"><a class=\"lnlinks\" href=\"#hl-0-168\">168<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-169\"><a class=\"lnlinks\" href=\"#hl-0-169\">169<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-170\"><a class=\"lnlinks\" href=\"#hl-0-170\">170<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-171\"><a class=\"lnlinks\" href=\"#hl-0-171\">171<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-172\"><a class=\"lnlinks\" href=\"#hl-0-172\">172<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-173\"><a class=\"lnlinks\" href=\"#hl-0-173\">173<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-174\"><a class=\"lnlinks\" href=\"#hl-0-174\">174<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-175\"><a class=\"lnlinks\" href=\"#hl-0-175\">175<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-176\"><a class=\"lnlinks\" href=\"#hl-0-176\">176<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-177\"><a class=\"lnlinks\" href=\"#hl-0-177\">177<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-178\"><a class=\"lnlinks\" href=\"#hl-0-178\">178<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-179\"><a class=\"lnlinks\" href=\"#hl-0-179\">179<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-180\"><a class=\"lnlinks\" href=\"#hl-0-180\">180<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-181\"><a class=\"lnlinks\" href=\"#hl-0-181\">181<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-182\"><a class=\"lnlinks\" href=\"#hl-0-182\">182<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-183\"><a class=\"lnlinks\" href=\"#hl-0-183\">183<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-184\"><a class=\"lnlinks\" href=\"#hl-0-184\">184<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-185\"><a class=\"lnlinks\" href=\"#hl-0-185\">185<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-186\"><a class=\"lnlinks\" href=\"#hl-0-186\">186<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-187\"><a class=\"lnlinks\" href=\"#hl-0-187\">187<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-188\"><a class=\"lnlinks\" href=\"#hl-0-188\">188<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-189\"><a class=\"lnlinks\" href=\"#hl-0-189\">189<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-190\"><a class=\"lnlinks\" href=\"#hl-0-190\">190<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-191\"><a class=\"lnlinks\" href=\"#hl-0-191\">191<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-192\"><a class=\"lnlinks\" href=\"#hl-0-192\">192<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-193\"><a class=\"lnlinks\" href=\"#hl-0-193\">193<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-194\"><a class=\"lnlinks\" href=\"#hl-0-194\">194<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-195\"><a class=\"lnlinks\" href=\"#hl-0-195\">195<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-196\"><a class=\"lnlinks\" href=\"#hl-0-196\">196<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-197\"><a class=\"lnlinks\" href=\"#hl-0-197\">197<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-198\"><a class=\"lnlinks\" href=\"#hl-0-198\">198<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-199\"><a class=\"lnlinks\" href=\"#hl-0-199\">199<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-200\"><a class=\"lnlinks\" href=\"#hl-0-200\">200<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-201\"><a class=\"lnlinks\" href=\"#hl-0-201\">201<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-202\"><a class=\"lnlinks\" href=\"#hl-0-202\">202<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-203\"><a class=\"lnlinks\" href=\"#hl-0-203\">203<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-204\"><a class=\"lnlinks\" href=\"#hl-0-204\">204<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-205\"><a class=\"lnlinks\" href=\"#hl-0-205\">205<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-206\"><a class=\"lnlinks\" href=\"#hl-0-206\">206<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-207\"><a class=\"lnlinks\" href=\"#hl-0-207\">207<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-208\"><a class=\"lnlinks\" href=\"#hl-0-208\">208<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-209\"><a class=\"lnlinks\" href=\"#hl-0-209\">209<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-210\"><a class=\"lnlinks\" href=\"#hl-0-210\">210<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-211\"><a class=\"lnlinks\" href=\"#hl-0-211\">211<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-212\"><a class=\"lnlinks\" href=\"#hl-0-212\">212<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-213\"><a class=\"lnlinks\" href=\"#hl-0-213\">213<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-214\"><a class=\"lnlinks\" href=\"#hl-0-214\">214<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-215\"><a class=\"lnlinks\" href=\"#hl-0-215\">215<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-216\"><a class=\"lnlinks\" href=\"#hl-0-216\">216<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-217\"><a class=\"lnlinks\" href=\"#hl-0-217\">217<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-218\"><a class=\"lnlinks\" href=\"#hl-0-218\">218<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-219\"><a class=\"lnlinks\" href=\"#hl-0-219\">219<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-220\"><a class=\"lnlinks\" href=\"#hl-0-220\">220<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-221\"><a class=\"lnlinks\" href=\"#hl-0-221\">221<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-222\"><a class=\"lnlinks\" href=\"#hl-0-222\">222<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-223\"><a class=\"lnlinks\" href=\"#hl-0-223\">223<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-224\"><a class=\"lnlinks\" href=\"#hl-0-224\">224<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-225\"><a class=\"lnlinks\" href=\"#hl-0-225\">225<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-226\"><a class=\"lnlinks\" href=\"#hl-0-226\">226<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-227\"><a class=\"lnlinks\" href=\"#hl-0-227\">227<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-228\"><a class=\"lnlinks\" href=\"#hl-0-228\">228<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-229\"><a class=\"lnlinks\" href=\"#hl-0-229\">229<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-230\"><a class=\"lnlinks\" href=\"#hl-0-230\">230<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-231\"><a class=\"lnlinks\" href=\"#hl-0-231\">231<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-232\"><a class=\"lnlinks\" href=\"#hl-0-232\">232<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-233\"><a class=\"lnlinks\" href=\"#hl-0-233\">233<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-234\"><a class=\"lnlinks\" href=\"#hl-0-234\">234<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-235\"><a class=\"lnlinks\" href=\"#hl-0-235\">235<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-236\"><a class=\"lnlinks\" href=\"#hl-0-236\">236<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-237\"><a class=\"lnlinks\" href=\"#hl-0-237\">237<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-238\"><a class=\"lnlinks\" href=\"#hl-0-238\">238<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-239\"><a class=\"lnlinks\" href=\"#hl-0-239\">239<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-240\"><a class=\"lnlinks\" href=\"#hl-0-240\">240<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-241\"><a class=\"lnlinks\" href=\"#hl-0-241\">241<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-242\"><a class=\"lnlinks\" href=\"#hl-0-242\">242<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-243\"><a class=\"lnlinks\" href=\"#hl-0-243\">243<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-244\"><a class=\"lnlinks\" href=\"#hl-0-244\">244<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-245\"><a class=\"lnlinks\" href=\"#hl-0-245\">245<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-246\"><a class=\"lnlinks\" href=\"#hl-0-246\">246<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-247\"><a class=\"lnlinks\" href=\"#hl-0-247\">247<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-248\"><a class=\"lnlinks\" href=\"#hl-0-248\">248<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-249\"><a class=\"lnlinks\" href=\"#hl-0-249\">249<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-250\"><a class=\"lnlinks\" href=\"#hl-0-250\">250<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-251\"><a class=\"lnlinks\" href=\"#hl-0-251\">251<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-252\"><a class=\"lnlinks\" href=\"#hl-0-252\">252<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-253\"><a class=\"lnlinks\" href=\"#hl-0-253\">253<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-254\"><a class=\"lnlinks\" href=\"#hl-0-254\">254<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-255\"><a class=\"lnlinks\" href=\"#hl-0-255\">255<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-256\"><a class=\"lnlinks\" href=\"#hl-0-256\">256<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-257\"><a class=\"lnlinks\" href=\"#hl-0-257\">257<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-258\"><a class=\"lnlinks\" href=\"#hl-0-258\">258<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-259\"><a class=\"lnlinks\" href=\"#hl-0-259\">259<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-260\"><a class=\"lnlinks\" href=\"#hl-0-260\">260<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-261\"><a class=\"lnlinks\" href=\"#hl-0-261\">261<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-262\"><a class=\"lnlinks\" href=\"#hl-0-262\">262<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-263\"><a class=\"lnlinks\" href=\"#hl-0-263\">263<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-264\"><a class=\"lnlinks\" href=\"#hl-0-264\">264<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-265\"><a class=\"lnlinks\" href=\"#hl-0-265\">265<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-266\"><a class=\"lnlinks\" href=\"#hl-0-266\">266<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-267\"><a class=\"lnlinks\" href=\"#hl-0-267\">267<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-268\"><a class=\"lnlinks\" href=\"#hl-0-268\">268<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-269\"><a class=\"lnlinks\" href=\"#hl-0-269\">269<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-270\"><a class=\"lnlinks\" href=\"#hl-0-270\">270<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-271\"><a class=\"lnlinks\" href=\"#hl-0-271\">271<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-272\"><a class=\"lnlinks\" href=\"#hl-0-272\">272<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-273\"><a class=\"lnlinks\" href=\"#hl-0-273\">273<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-274\"><a class=\"lnlinks\" href=\"#hl-0-274\">274<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-275\"><a class=\"lnlinks\" href=\"#hl-0-275\">275<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-276\"><a class=\"lnlinks\" href=\"#hl-0-276\">276<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-277\"><a class=\"lnlinks\" href=\"#hl-0-277\">277<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-278\"><a class=\"lnlinks\" href=\"#hl-0-278\">278<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-279\"><a class=\"lnlinks\" href=\"#hl-0-279\">279<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-280\"><a class=\"lnlinks\" href=\"#hl-0-280\">280<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-281\"><a class=\"lnlinks\" href=\"#hl-0-281\">281<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-282\"><a class=\"lnlinks\" href=\"#hl-0-282\">282<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-283\"><a class=\"lnlinks\" href=\"#hl-0-283\">283<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-284\"><a class=\"lnlinks\" href=\"#hl-0-284\">284<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-285\"><a class=\"lnlinks\" href=\"#hl-0-285\">285<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-286\"><a class=\"lnlinks\" href=\"#hl-0-286\">286<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-287\"><a class=\"lnlinks\" href=\"#hl-0-287\">287<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-288\"><a class=\"lnlinks\" href=\"#hl-0-288\">288<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-289\"><a class=\"lnlinks\" href=\"#hl-0-289\">289<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-290\"><a class=\"lnlinks\" href=\"#hl-0-290\">290<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-291\"><a class=\"lnlinks\" href=\"#hl-0-291\">291<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-292\"><a class=\"lnlinks\" href=\"#hl-0-292\">292<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-293\"><a class=\"lnlinks\" href=\"#hl-0-293\">293<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-294\"><a class=\"lnlinks\" href=\"#hl-0-294\">294<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-295\"><a class=\"lnlinks\" href=\"#hl-0-295\">295<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-296\"><a class=\"lnlinks\" href=\"#hl-0-296\">296<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-297\"><a class=\"lnlinks\" href=\"#hl-0-297\">297<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-298\"><a class=\"lnlinks\" href=\"#hl-0-298\">298<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-299\"><a class=\"lnlinks\" href=\"#hl-0-299\">299<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-300\"><a class=\"lnlinks\" href=\"#hl-0-300\">300<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-301\"><a class=\"lnlinks\" href=\"#hl-0-301\">301<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-302\"><a class=\"lnlinks\" href=\"#hl-0-302\">302<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-303\"><a class=\"lnlinks\" href=\"#hl-0-303\">303<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-304\"><a class=\"lnlinks\" href=\"#hl-0-304\">304<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-305\"><a class=\"lnlinks\" href=\"#hl-0-305\">305<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-306\"><a class=\"lnlinks\" href=\"#hl-0-306\">306<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-307\"><a class=\"lnlinks\" href=\"#hl-0-307\">307<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-308\"><a class=\"lnlinks\" href=\"#hl-0-308\">308<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-309\"><a class=\"lnlinks\" href=\"#hl-0-309\">309<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-310\"><a class=\"lnlinks\" href=\"#hl-0-310\">310<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-311\"><a class=\"lnlinks\" href=\"#hl-0-311\">311<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-312\"><a class=\"lnlinks\" href=\"#hl-0-312\">312<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-313\"><a class=\"lnlinks\" href=\"#hl-0-313\">313<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-314\"><a class=\"lnlinks\" href=\"#hl-0-314\">314<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-315\"><a class=\"lnlinks\" href=\"#hl-0-315\">315<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-316\"><a class=\"lnlinks\" href=\"#hl-0-316\">316<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-317\"><a class=\"lnlinks\" href=\"#hl-0-317\">317<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-318\"><a class=\"lnlinks\" href=\"#hl-0-318\">318<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-319\"><a class=\"lnlinks\" href=\"#hl-0-319\">319<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-320\"><a class=\"lnlinks\" href=\"#hl-0-320\">320<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-321\"><a class=\"lnlinks\" href=\"#hl-0-321\">321<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-322\"><a class=\"lnlinks\" href=\"#hl-0-322\">322<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-323\"><a class=\"lnlinks\" href=\"#hl-0-323\">323<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-324\"><a class=\"lnlinks\" href=\"#hl-0-324\">324<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-325\"><a class=\"lnlinks\" href=\"#hl-0-325\">325<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-326\"><a class=\"lnlinks\" href=\"#hl-0-326\">326<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-327\"><a class=\"lnlinks\" href=\"#hl-0-327\">327<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-328\"><a class=\"lnlinks\" href=\"#hl-0-328\">328<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-329\"><a class=\"lnlinks\" href=\"#hl-0-329\">329<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-330\"><a class=\"lnlinks\" href=\"#hl-0-330\">330<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-331\"><a class=\"lnlinks\" href=\"#hl-0-331\">331<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-332\"><a class=\"lnlinks\" href=\"#hl-0-332\">332<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-333\"><a class=\"lnlinks\" href=\"#hl-0-333\">333<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-334\"><a class=\"lnlinks\" href=\"#hl-0-334\">334<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-335\"><a class=\"lnlinks\" href=\"#hl-0-335\">335<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-336\"><a class=\"lnlinks\" href=\"#hl-0-336\">336<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-337\"><a class=\"lnlinks\" href=\"#hl-0-337\">337<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-338\"><a class=\"lnlinks\" href=\"#hl-0-338\">338<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-339\"><a class=\"lnlinks\" href=\"#hl-0-339\">339<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-340\"><a class=\"lnlinks\" href=\"#hl-0-340\">340<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-341\"><a class=\"lnlinks\" href=\"#hl-0-341\">341<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-342\"><a class=\"lnlinks\" href=\"#hl-0-342\">342<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-343\"><a class=\"lnlinks\" href=\"#hl-0-343\">343<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-344\"><a class=\"lnlinks\" href=\"#hl-0-344\">344<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-345\"><a class=\"lnlinks\" href=\"#hl-0-345\">345<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-346\"><a class=\"lnlinks\" href=\"#hl-0-346\">346<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-347\"><a class=\"lnlinks\" href=\"#hl-0-347\">347<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-348\"><a class=\"lnlinks\" href=\"#hl-0-348\">348<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-349\"><a class=\"lnlinks\" href=\"#hl-0-349\">349<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-350\"><a class=\"lnlinks\" href=\"#hl-0-350\">350<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-351\"><a class=\"lnlinks\" href=\"#hl-0-351\">351<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-352\"><a class=\"lnlinks\" href=\"#hl-0-352\">352<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-353\"><a class=\"lnlinks\" href=\"#hl-0-353\">353<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-354\"><a class=\"lnlinks\" href=\"#hl-0-354\">354<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-355\"><a class=\"lnlinks\" href=\"#hl-0-355\">355<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-356\"><a class=\"lnlinks\" href=\"#hl-0-356\">356<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-357\"><a class=\"lnlinks\" href=\"#hl-0-357\">357<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-358\"><a class=\"lnlinks\" href=\"#hl-0-358\">358<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-359\"><a class=\"lnlinks\" href=\"#hl-0-359\">359<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-360\"><a class=\"lnlinks\" href=\"#hl-0-360\">360<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-361\"><a class=\"lnlinks\" href=\"#hl-0-361\">361<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-362\"><a class=\"lnlinks\" href=\"#hl-0-362\">362<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-363\"><a class=\"lnlinks\" href=\"#hl-0-363\">363<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-364\"><a class=\"lnlinks\" href=\"#hl-0-364\">364<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-365\"><a class=\"lnlinks\" href=\"#hl-0-365\">365<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-366\"><a class=\"lnlinks\" href=\"#hl-0-366\">366<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-367\"><a class=\"lnlinks\" href=\"#hl-0-367\">367<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-368\"><a class=\"lnlinks\" href=\"#hl-0-368\">368<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-369\"><a class=\"lnlinks\" href=\"#hl-0-369\">369<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-370\"><a class=\"lnlinks\" href=\"#hl-0-370\">370<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-371\"><a class=\"lnlinks\" href=\"#hl-0-371\">371<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-372\"><a class=\"lnlinks\" href=\"#hl-0-372\">372<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-373\"><a class=\"lnlinks\" href=\"#hl-0-373\">373<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-374\"><a class=\"lnlinks\" href=\"#hl-0-374\">374<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-375\"><a class=\"lnlinks\" href=\"#hl-0-375\">375<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-376\"><a class=\"lnlinks\" href=\"#hl-0-376\">376<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-377\"><a class=\"lnlinks\" href=\"#hl-0-377\">377<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-378\"><a class=\"lnlinks\" href=\"#hl-0-378\">378<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-379\"><a class=\"lnlinks\" href=\"#hl-0-379\">379<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-380\"><a class=\"lnlinks\" href=\"#hl-0-380\">380<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-381\"><a class=\"lnlinks\" href=\"#hl-0-381\">381<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-382\"><a class=\"lnlinks\" href=\"#hl-0-382\">382<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-383\"><a class=\"lnlinks\" href=\"#hl-0-383\">383<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-384\"><a class=\"lnlinks\" href=\"#hl-0-384\">384<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-385\"><a class=\"lnlinks\" href=\"#hl-0-385\">385<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-386\"><a class=\"lnlinks\" href=\"#hl-0-386\">386<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-387\"><a class=\"lnlinks\" href=\"#hl-0-387\">387<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-388\"><a class=\"lnlinks\" href=\"#hl-0-388\">388<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-389\"><a class=\"lnlinks\" href=\"#hl-0-389\">389<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-390\"><a class=\"lnlinks\" href=\"#hl-0-390\">390<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-391\"><a class=\"lnlinks\" href=\"#hl-0-391\">391<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-392\"><a class=\"lnlinks\" href=\"#hl-0-392\">392<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-393\"><a class=\"lnlinks\" href=\"#hl-0-393\">393<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-394\"><a class=\"lnlinks\" href=\"#hl-0-394\">394<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-395\"><a class=\"lnlinks\" href=\"#hl-0-395\">395<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-396\"><a class=\"lnlinks\" href=\"#hl-0-396\">396<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-397\"><a class=\"lnlinks\" href=\"#hl-0-397\">397<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-398\"><a class=\"lnlinks\" href=\"#hl-0-398\">398<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-399\"><a class=\"lnlinks\" href=\"#hl-0-399\">399<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-400\"><a class=\"lnlinks\" href=\"#hl-0-400\">400<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-401\"><a class=\"lnlinks\" href=\"#hl-0-401\">401<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-402\"><a class=\"lnlinks\" href=\"#hl-0-402\">402<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-403\"><a class=\"lnlinks\" href=\"#hl-0-403\">403<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-404\"><a class=\"lnlinks\" href=\"#hl-0-404\">404<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-405\"><a class=\"lnlinks\" href=\"#hl-0-405\">405<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-406\"><a class=\"lnlinks\" href=\"#hl-0-406\">406<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-407\"><a class=\"lnlinks\" href=\"#hl-0-407\">407<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-408\"><a class=\"lnlinks\" href=\"#hl-0-408\">408<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-409\"><a class=\"lnlinks\" href=\"#hl-0-409\">409<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-410\"><a class=\"lnlinks\" href=\"#hl-0-410\">410<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-411\"><a class=\"lnlinks\" href=\"#hl-0-411\">411<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-412\"><a class=\"lnlinks\" href=\"#hl-0-412\">412<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-413\"><a class=\"lnlinks\" href=\"#hl-0-413\">413<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-414\"><a class=\"lnlinks\" href=\"#hl-0-414\">414<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-415\"><a class=\"lnlinks\" href=\"#hl-0-415\">415<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-416\"><a class=\"lnlinks\" href=\"#hl-0-416\">416<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-417\"><a class=\"lnlinks\" href=\"#hl-0-417\">417<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-418\"><a class=\"lnlinks\" href=\"#hl-0-418\">418<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-419\"><a class=\"lnlinks\" href=\"#hl-0-419\">419<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-420\"><a class=\"lnlinks\" href=\"#hl-0-420\">420<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-421\"><a class=\"lnlinks\" href=\"#hl-0-421\">421<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-422\"><a class=\"lnlinks\" href=\"#hl-0-422\">422<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-423\"><a class=\"lnlinks\" href=\"#hl-0-423\">423<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-424\"><a class=\"lnlinks\" href=\"#hl-0-424\">424<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-425\"><a class=\"lnlinks\" href=\"#hl-0-425\">425<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-426\"><a class=\"lnlinks\" href=\"#hl-0-426\">426<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-427\"><a class=\"lnlinks\" href=\"#hl-0-427\">427<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-428\"><a class=\"lnlinks\" href=\"#hl-0-428\">428<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-429\"><a class=\"lnlinks\" href=\"#hl-0-429\">429<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-430\"><a class=\"lnlinks\" href=\"#hl-0-430\">430<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-431\"><a class=\"lnlinks\" href=\"#hl-0-431\">431<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-432\"><a class=\"lnlinks\" href=\"#hl-0-432\">432<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-433\"><a class=\"lnlinks\" href=\"#hl-0-433\">433<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-434\"><a class=\"lnlinks\" href=\"#hl-0-434\">434<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-435\"><a class=\"lnlinks\" href=\"#hl-0-435\">435<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-436\"><a class=\"lnlinks\" href=\"#hl-0-436\">436<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-437\"><a class=\"lnlinks\" href=\"#hl-0-437\">437<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-438\"><a class=\"lnlinks\" href=\"#hl-0-438\">438<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-439\"><a class=\"lnlinks\" href=\"#hl-0-439\">439<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-440\"><a class=\"lnlinks\" href=\"#hl-0-440\">440<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-441\"><a class=\"lnlinks\" href=\"#hl-0-441\">441<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-442\"><a class=\"lnlinks\" href=\"#hl-0-442\">442<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-443\"><a class=\"lnlinks\" href=\"#hl-0-443\">443<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-444\"><a class=\"lnlinks\" href=\"#hl-0-444\">444<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-445\"><a class=\"lnlinks\" href=\"#hl-0-445\">445<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-446\"><a class=\"lnlinks\" href=\"#hl-0-446\">446<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-447\"><a class=\"lnlinks\" href=\"#hl-0-447\">447<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-448\"><a class=\"lnlinks\" href=\"#hl-0-448\">448<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-449\"><a class=\"lnlinks\" href=\"#hl-0-449\">449<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-450\"><a class=\"lnlinks\" href=\"#hl-0-450\">450<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-451\"><a class=\"lnlinks\" href=\"#hl-0-451\">451<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-452\"><a class=\"lnlinks\" href=\"#hl-0-452\">452<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-453\"><a class=\"lnlinks\" href=\"#hl-0-453\">453<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-454\"><a class=\"lnlinks\" href=\"#hl-0-454\">454<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-455\"><a class=\"lnlinks\" href=\"#hl-0-455\">455<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-456\"><a class=\"lnlinks\" href=\"#hl-0-456\">456<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-457\"><a class=\"lnlinks\" href=\"#hl-0-457\">457<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-458\"><a class=\"lnlinks\" href=\"#hl-0-458\">458<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-459\"><a class=\"lnlinks\" href=\"#hl-0-459\">459<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-460\"><a class=\"lnlinks\" href=\"#hl-0-460\">460<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-461\"><a class=\"lnlinks\" href=\"#hl-0-461\">461<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-462\"><a class=\"lnlinks\" href=\"#hl-0-462\">462<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-463\"><a class=\"lnlinks\" href=\"#hl-0-463\">463<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-464\"><a class=\"lnlinks\" href=\"#hl-0-464\">464<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-465\"><a class=\"lnlinks\" href=\"#hl-0-465\">465<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-466\"><a class=\"lnlinks\" href=\"#hl-0-466\">466<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-467\"><a class=\"lnlinks\" href=\"#hl-0-467\">467<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-468\"><a class=\"lnlinks\" href=\"#hl-0-468\">468<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-469\"><a class=\"lnlinks\" href=\"#hl-0-469\">469<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-470\"><a class=\"lnlinks\" href=\"#hl-0-470\">470<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-471\"><a class=\"lnlinks\" href=\"#hl-0-471\">471<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-472\"><a class=\"lnlinks\" href=\"#hl-0-472\">472<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-473\"><a class=\"lnlinks\" href=\"#hl-0-473\">473<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-474\"><a class=\"lnlinks\" href=\"#hl-0-474\">474<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-475\"><a class=\"lnlinks\" href=\"#hl-0-475\">475<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-476\"><a class=\"lnlinks\" href=\"#hl-0-476\">476<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-477\"><a class=\"lnlinks\" href=\"#hl-0-477\">477<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-478\"><a class=\"lnlinks\" href=\"#hl-0-478\">478<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-479\"><a class=\"lnlinks\" href=\"#hl-0-479\">479<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-480\"><a class=\"lnlinks\" href=\"#hl-0-480\">480<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-481\"><a class=\"lnlinks\" href=\"#hl-0-481\">481<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-482\"><a class=\"lnlinks\" href=\"#hl-0-482\">482<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-483\"><a class=\"lnlinks\" href=\"#hl-0-483\">483<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-484\"><a class=\"lnlinks\" href=\"#hl-0-484\">484<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-485\"><a class=\"lnlinks\" href=\"#hl-0-485\">485<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-486\"><a class=\"lnlinks\" href=\"#hl-0-486\">486<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-487\"><a class=\"lnlinks\" href=\"#hl-0-487\">487<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-488\"><a class=\"lnlinks\" href=\"#hl-0-488\">488<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-489\"><a class=\"lnlinks\" href=\"#hl-0-489\">489<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-490\"><a class=\"lnlinks\" href=\"#hl-0-490\">490<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-491\"><a class=\"lnlinks\" href=\"#hl-0-491\">491<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-492\"><a class=\"lnlinks\" href=\"#hl-0-492\">492<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-493\"><a class=\"lnlinks\" href=\"#hl-0-493\">493<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-494\"><a class=\"lnlinks\" href=\"#hl-0-494\">494<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-495\"><a class=\"lnlinks\" href=\"#hl-0-495\">495<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-496\"><a class=\"lnlinks\" href=\"#hl-0-496\">496<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-497\"><a class=\"lnlinks\" href=\"#hl-0-497\">497<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-498\"><a class=\"lnlinks\" href=\"#hl-0-498\">498<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-499\"><a class=\"lnlinks\" href=\"#hl-0-499\">499<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-500\"><a class=\"lnlinks\" href=\"#hl-0-500\">500<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-501\"><a class=\"lnlinks\" href=\"#hl-0-501\">501<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-502\"><a class=\"lnlinks\" href=\"#hl-0-502\">502<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-503\"><a class=\"lnlinks\" href=\"#hl-0-503\">503<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-504\"><a class=\"lnlinks\" href=\"#hl-0-504\">504<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-505\"><a class=\"lnlinks\" href=\"#hl-0-505\">505<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-506\"><a class=\"lnlinks\" href=\"#hl-0-506\">506<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-507\"><a class=\"lnlinks\" href=\"#hl-0-507\">507<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-508\"><a class=\"lnlinks\" href=\"#hl-0-508\">508<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-509\"><a class=\"lnlinks\" href=\"#hl-0-509\">509<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-510\"><a class=\"lnlinks\" href=\"#hl-0-510\">510<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-511\"><a class=\"lnlinks\" href=\"#hl-0-511\">511<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-512\"><a class=\"lnlinks\" href=\"#hl-0-512\">512<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-513\"><a class=\"lnlinks\" href=\"#hl-0-513\">513<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-514\"><a class=\"lnlinks\" href=\"#hl-0-514\">514<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-515\"><a class=\"lnlinks\" href=\"#hl-0-515\">515<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-516\"><a class=\"lnlinks\" href=\"#hl-0-516\">516<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-517\"><a class=\"lnlinks\" href=\"#hl-0-517\">517<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-518\"><a class=\"lnlinks\" href=\"#hl-0-518\">518<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-519\"><a class=\"lnlinks\" href=\"#hl-0-519\">519<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-520\"><a class=\"lnlinks\" href=\"#hl-0-520\">520<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-521\"><a class=\"lnlinks\" href=\"#hl-0-521\">521<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-522\"><a class=\"lnlinks\" href=\"#hl-0-522\">522<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-523\"><a class=\"lnlinks\" href=\"#hl-0-523\">523<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-524\"><a class=\"lnlinks\" href=\"#hl-0-524\">524<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-525\"><a class=\"lnlinks\" href=\"#hl-0-525\">525<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-526\"><a class=\"lnlinks\" href=\"#hl-0-526\">526<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-527\"><a class=\"lnlinks\" href=\"#hl-0-527\">527<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-528\"><a class=\"lnlinks\" href=\"#hl-0-528\">528<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-529\"><a class=\"lnlinks\" href=\"#hl-0-529\">529<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-530\"><a class=\"lnlinks\" href=\"#hl-0-530\">530<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-531\"><a class=\"lnlinks\" href=\"#hl-0-531\">531<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-532\"><a class=\"lnlinks\" href=\"#hl-0-532\">532<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-533\"><a class=\"lnlinks\" href=\"#hl-0-533\">533<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-534\"><a class=\"lnlinks\" href=\"#hl-0-534\">534<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-535\"><a class=\"lnlinks\" href=\"#hl-0-535\">535<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-536\"><a class=\"lnlinks\" href=\"#hl-0-536\">536<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-537\"><a class=\"lnlinks\" href=\"#hl-0-537\">537<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-538\"><a class=\"lnlinks\" href=\"#hl-0-538\">538<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-539\"><a class=\"lnlinks\" href=\"#hl-0-539\">539<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-540\"><a class=\"lnlinks\" href=\"#hl-0-540\">540<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-541\"><a class=\"lnlinks\" href=\"#hl-0-541\">541<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-542\"><a class=\"lnlinks\" href=\"#hl-0-542\">542<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-543\"><a class=\"lnlinks\" href=\"#hl-0-543\">543<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-544\"><a class=\"lnlinks\" href=\"#hl-0-544\">544<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-545\"><a class=\"lnlinks\" href=\"#hl-0-545\">545<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-546\"><a class=\"lnlinks\" href=\"#hl-0-546\">546<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-547\"><a class=\"lnlinks\" href=\"#hl-0-547\">547<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-548\"><a class=\"lnlinks\" href=\"#hl-0-548\">548<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-549\"><a class=\"lnlinks\" href=\"#hl-0-549\">549<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-550\"><a class=\"lnlinks\" href=\"#hl-0-550\">550<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-551\"><a class=\"lnlinks\" href=\"#hl-0-551\">551<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-552\"><a class=\"lnlinks\" href=\"#hl-0-552\">552<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-553\"><a class=\"lnlinks\" href=\"#hl-0-553\">553<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-554\"><a class=\"lnlinks\" href=\"#hl-0-554\">554<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-555\"><a class=\"lnlinks\" href=\"#hl-0-555\">555<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-556\"><a class=\"lnlinks\" href=\"#hl-0-556\">556<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-557\"><a class=\"lnlinks\" href=\"#hl-0-557\">557<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-558\"><a class=\"lnlinks\" href=\"#hl-0-558\">558<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-559\"><a class=\"lnlinks\" href=\"#hl-0-559\">559<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-560\"><a class=\"lnlinks\" href=\"#hl-0-560\">560<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-561\"><a class=\"lnlinks\" href=\"#hl-0-561\">561<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-562\"><a class=\"lnlinks\" href=\"#hl-0-562\">562<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-563\"><a class=\"lnlinks\" href=\"#hl-0-563\">563<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-564\"><a class=\"lnlinks\" href=\"#hl-0-564\">564<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-565\"><a class=\"lnlinks\" href=\"#hl-0-565\">565<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-566\"><a class=\"lnlinks\" href=\"#hl-0-566\">566<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-567\"><a class=\"lnlinks\" href=\"#hl-0-567\">567<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-gdscript3\" data-lang=\"gdscript3\"><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"o\">==<\/span><span class=\"n\">UserScript<\/span><span class=\"o\">==<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">name<\/span>         <span class=\"n\">AugmentCode\u81ea\u52a8\u6ce8\u518c<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">namespace<\/span>    <span class=\"n\">http<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/<\/span><span class=\"n\">tampermonkey<\/span><span class=\"o\">.<\/span><span class=\"n\">net<\/span><span class=\"o\">\/<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">version<\/span>      <span class=\"mf\">0.1<\/span><span class=\"o\">.<\/span><span class=\"mi\">1<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">description<\/span>  <span class=\"err\">\u81ea\u52a8\u5b8c\u6210<\/span><span class=\"n\">AugmentCode\u7684\u6ce8\u518c\u6d41\u7a0b<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">author<\/span>       <span class=\"n\">Your<\/span> <span class=\"n\">name<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">match<\/span>        <span class=\"n\">https<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/*.<\/span><span class=\"n\">augmentcode<\/span><span class=\"o\">.<\/span><span class=\"n\">com<\/span><span class=\"o\">\/*<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">icon<\/span>         <span class=\"n\">https<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/<\/span><span class=\"n\">www<\/span><span class=\"o\">.<\/span><span class=\"n\">google<\/span><span class=\"o\">.<\/span><span class=\"n\">com<\/span><span class=\"o\">\/<\/span><span class=\"n\">s2<\/span><span class=\"o\">\/<\/span><span class=\"n\">favicons<\/span><span class=\"err\">?<\/span><span class=\"n\">sz<\/span><span class=\"o\">=<\/span><span class=\"mi\">64<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">domain<\/span><span class=\"o\">=<\/span><span class=\"n\">augmentcode<\/span><span class=\"o\">.<\/span><span class=\"n\">com<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">grant<\/span>        <span class=\"n\">GM_xmlhttpRequest<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">grant<\/span>        <span class=\"n\">GM_setValue<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">grant<\/span>        <span class=\"n\">GM_getValue<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">grant<\/span>        <span class=\"n\">GM_log<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">connect<\/span>      <span class=\"n\">tempmail<\/span><span class=\"o\">.<\/span><span class=\"n\">plus<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"o\">==\/<\/span><span class=\"n\">UserScript<\/span><span class=\"o\">==<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"n\">function<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s1\">&#39;use strict&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u4e3b\u90ae\u7bb1\u57df\u540d\u5e38\u91cf\uff0c\u7528\u4e8e\u751f\u6210\u6807\u51c6\u683c\u5f0f\u7684\u90ae\u7bb1\u5730\u5740<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">EMAIL_DOMAIN<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&#34;&#34;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/**<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"o\">*<\/span> <span class=\"err\">\u4e34\u65f6\u90ae\u7bb1\u670d\u52a1\u914d\u7f6e<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"o\">*<\/span> <span class=\"err\">\u7528\u4e8e\u9700\u8981\u4e34\u65f6\u63a5\u6536\u9a8c\u8bc1\u90ae\u4ef6\u7684\u573a\u666f<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"o\">*\/<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">TEMP_MAIL_CONFIG<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">username<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;&#34;<\/span><span class=\"p\">,<\/span>          <span class=\"o\">\/\/<\/span> <span class=\"err\">\u4e34\u65f6\u90ae\u7bb1\u7528\u6237\u540d<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">emailExtension<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;@mailto.plus&#34;<\/span><span class=\"p\">,<\/span> <span class=\"o\">\/\/<\/span> <span class=\"err\">\u4e34\u65f6\u90ae\u7bb1\u6269\u5c55\u57df\u540d<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">epin<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;&#34;<\/span>             <span class=\"o\">\/\/<\/span> <span class=\"err\">\u90ae\u7bb1\u8bbf\u95ee<\/span><span class=\"n\">PIN\u7801<\/span><span class=\"err\">\uff0c\u7528\u4e8e\u767b\u5f55\u4e34\u65f6\u90ae\u7bb1<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">FIRST_NAMES<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"s2\">&#34;alex&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;emily&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;jason&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;olivia&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;ryan&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;sophia&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;thomas&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;isabella&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;william&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;mia&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;james&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;ava&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;noah&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;charlotte&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;ethan&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;amelia&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;jacob&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;evelyn&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;mason&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;abigail&#34;<\/span><span class=\"p\">];<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">LAST_NAMES<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"s2\">&#34;taylor&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;anderson&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;thompson&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;jackson&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;white&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;harris&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;martin&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;thomas&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;lewis&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;clark&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;lee&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;walker&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;hall&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;young&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;allen&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;king&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;wright&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;scott&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;green&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;adams&#34;<\/span><span class=\"p\">];<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u989c\u8272\u914d\u7f6e<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">COLORS<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">primary<\/span><span class=\"p\">:<\/span> <span class=\"s1\">&#39;#3498db&#39;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">secondary<\/span><span class=\"p\">:<\/span> <span class=\"s1\">&#39;#2ecc71&#39;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">danger<\/span><span class=\"p\">:<\/span> <span class=\"s1\">&#39;#e74c3c&#39;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">warning<\/span><span class=\"p\">:<\/span> <span class=\"s1\">&#39;#f39c12&#39;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">info<\/span><span class=\"p\">:<\/span> <span class=\"s1\">&#39;#34495e&#39;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">light<\/span><span class=\"p\">:<\/span> <span class=\"s1\">&#39;#ecf0f1&#39;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">dark<\/span><span class=\"p\">:<\/span> <span class=\"s1\">&#39;#2c3e50&#39;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">background<\/span><span class=\"p\">:<\/span> <span class=\"s1\">&#39;rgba(30, 30, 30, 0.95)&#39;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u65e5\u5fd7<\/span><span class=\"n\">UI\u914d\u7f6e<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">LOG_UI_CONFIG<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">position<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">bottom<\/span><span class=\"p\">:<\/span> <span class=\"mi\">40<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">left<\/span><span class=\"p\">:<\/span> <span class=\"mi\">20<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">dimensions<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">width<\/span><span class=\"p\">:<\/span> <span class=\"mi\">320<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">maxHeight<\/span><span class=\"p\">:<\/span> <span class=\"mi\">450<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u521b\u5efa\u65e5\u5fd7<\/span><span class=\"n\">UI<\/span> <span class=\"o\">-<\/span> <span class=\"err\">\u4f4d\u7f6e\u6539\u5230\u5de6\u4e0b\u89d2\uff0c\u6837\u5f0f\u548c\u989c\u8272\u66f4\u65b0<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">function<\/span> <span class=\"n\">createLogUI<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">logContainer<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">createElement<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;div&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">logContainer<\/span><span class=\"o\">.<\/span><span class=\"n\">id<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&#34;auto-register-log&#34;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">logContainer<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">cssText<\/span> <span class=\"o\">=<\/span> <span class=\"err\">`<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">position<\/span><span class=\"p\">:<\/span> <span class=\"n\">fixed<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">bottom<\/span><span class=\"p\">:<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">LOG_UI_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">position<\/span><span class=\"o\">.<\/span><span class=\"n\">bottom<\/span><span class=\"p\">}<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">left<\/span><span class=\"p\">:<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">LOG_UI_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">position<\/span><span class=\"o\">.<\/span><span class=\"n\">left<\/span><span class=\"p\">}<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">width<\/span><span class=\"p\">:<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">LOG_UI_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">dimensions<\/span><span class=\"o\">.<\/span><span class=\"n\">width<\/span><span class=\"p\">}<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"nb\">max<\/span><span class=\"o\">-<\/span><span class=\"n\">height<\/span><span class=\"p\">:<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">LOG_UI_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">dimensions<\/span><span class=\"o\">.<\/span><span class=\"n\">maxHeight<\/span><span class=\"p\">}<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">background<\/span><span class=\"p\">:<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">background<\/span><span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">border<\/span><span class=\"o\">-<\/span><span class=\"n\">radius<\/span><span class=\"p\">:<\/span> <span class=\"mi\">10<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">box<\/span><span class=\"o\">-<\/span><span class=\"n\">shadow<\/span><span class=\"p\">:<\/span> <span class=\"mi\">0<\/span> <span class=\"mi\">8<\/span><span class=\"n\">px<\/span> <span class=\"mi\">24<\/span><span class=\"n\">px<\/span> <span class=\"n\">rgba<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mf\">0.25<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">z<\/span><span class=\"o\">-<\/span><span class=\"n\">index<\/span><span class=\"p\">:<\/span> <span class=\"mi\">10000<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">font<\/span><span class=\"o\">-<\/span><span class=\"n\">family<\/span><span class=\"p\">:<\/span> <span class=\"s1\">&#39;Segoe UI&#39;<\/span><span class=\"p\">,<\/span> <span class=\"n\">Tahoma<\/span><span class=\"p\">,<\/span> <span class=\"n\">Geneva<\/span><span class=\"p\">,<\/span> <span class=\"n\">Verdana<\/span><span class=\"p\">,<\/span> <span class=\"n\">sans<\/span><span class=\"o\">-<\/span><span class=\"n\">serif<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">overflow<\/span><span class=\"p\">:<\/span> <span class=\"n\">hidden<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">display<\/span><span class=\"p\">:<\/span> <span class=\"n\">flex<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">flex<\/span><span class=\"o\">-<\/span><span class=\"n\">direction<\/span><span class=\"p\">:<\/span> <span class=\"n\">column<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"err\">`<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">logContainer<\/span><span class=\"o\">.<\/span><span class=\"n\">innerHTML<\/span> <span class=\"o\">=<\/span> <span class=\"err\">`<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"o\">&lt;<\/span><span class=\"n\">div<\/span> <span class=\"n\">style<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">padding<\/span><span class=\"p\">:<\/span> <span class=\"mi\">14<\/span><span class=\"n\">px<\/span> <span class=\"mi\">16<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">background<\/span><span class=\"p\">:<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">primary<\/span><span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">color<\/span><span class=\"p\">:<\/span> <span class=\"n\">white<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">font<\/span><span class=\"o\">-<\/span><span class=\"n\">weight<\/span><span class=\"p\">:<\/span> <span class=\"mi\">600<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">display<\/span><span class=\"p\">:<\/span> <span class=\"n\">flex<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">justify<\/span><span class=\"o\">-<\/span><span class=\"n\">content<\/span><span class=\"p\">:<\/span> <span class=\"n\">space<\/span><span class=\"o\">-<\/span><span class=\"n\">between<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">align<\/span><span class=\"o\">-<\/span><span class=\"n\">items<\/span><span class=\"p\">:<\/span> <span class=\"n\">center<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">border<\/span><span class=\"o\">-<\/span><span class=\"n\">bottom<\/span><span class=\"p\">:<\/span> <span class=\"mi\">2<\/span><span class=\"n\">px<\/span> <span class=\"n\">solid<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">secondary<\/span><span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"o\">&lt;<\/span><span class=\"n\">span<\/span><span class=\"o\">&gt;<\/span><span class=\"err\">\u81ea\u52a8\u6ce8\u518c\u52a9\u624b<\/span><span class=\"o\">&lt;\/<\/span><span class=\"n\">span<\/span><span class=\"o\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"o\">&lt;<\/span><span class=\"n\">div<\/span><span class=\"o\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"o\">&lt;<\/span><span class=\"n\">button<\/span> <span class=\"n\">id<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;auto-register-btn&#34;<\/span> <span class=\"n\">style<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">background<\/span><span class=\"p\">:<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">secondary<\/span><span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">border<\/span><span class=\"p\">:<\/span> <span class=\"n\">none<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">color<\/span><span class=\"p\">:<\/span> <span class=\"n\">white<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">cursor<\/span><span class=\"p\">:<\/span> <span class=\"n\">pointer<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">font<\/span><span class=\"o\">-<\/span><span class=\"n\">size<\/span><span class=\"p\">:<\/span> <span class=\"mi\">13<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">padding<\/span><span class=\"p\">:<\/span> <span class=\"mi\">6<\/span><span class=\"n\">px<\/span> <span class=\"mi\">12<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">border<\/span><span class=\"o\">-<\/span><span class=\"n\">radius<\/span><span class=\"p\">:<\/span> <span class=\"mi\">4<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">margin<\/span><span class=\"o\">-<\/span><span class=\"n\">right<\/span><span class=\"p\">:<\/span> <span class=\"mi\">8<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">display<\/span><span class=\"p\">:<\/span> <span class=\"n\">none<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">transition<\/span><span class=\"p\">:<\/span> <span class=\"n\">all<\/span> <span class=\"mf\">0.2<\/span><span class=\"n\">s<\/span> <span class=\"nb\">ease<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"s2\">&#34;&gt;\u5f00\u59cb\u6ce8\u518c&lt;\/button&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"o\">&lt;<\/span><span class=\"n\">button<\/span> <span class=\"n\">id<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;clear-log&#34;<\/span> <span class=\"n\">style<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">background<\/span><span class=\"p\">:<\/span> <span class=\"n\">transparent<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">border<\/span><span class=\"p\">:<\/span> <span class=\"mi\">1<\/span><span class=\"n\">px<\/span> <span class=\"n\">solid<\/span> <span class=\"n\">rgba<\/span><span class=\"p\">(<\/span><span class=\"mi\">255<\/span><span class=\"p\">,<\/span> <span class=\"mi\">255<\/span><span class=\"p\">,<\/span> <span class=\"mi\">255<\/span><span class=\"p\">,<\/span> <span class=\"mf\">0.7<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">color<\/span><span class=\"p\">:<\/span> <span class=\"n\">white<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">cursor<\/span><span class=\"p\">:<\/span> <span class=\"n\">pointer<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">font<\/span><span class=\"o\">-<\/span><span class=\"n\">size<\/span><span class=\"p\">:<\/span> <span class=\"mi\">13<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">padding<\/span><span class=\"p\">:<\/span> <span class=\"mi\">6<\/span><span class=\"n\">px<\/span> <span class=\"mi\">12<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">border<\/span><span class=\"o\">-<\/span><span class=\"n\">radius<\/span><span class=\"p\">:<\/span> <span class=\"mi\">4<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">transition<\/span><span class=\"p\">:<\/span> <span class=\"n\">all<\/span> <span class=\"mf\">0.2<\/span><span class=\"n\">s<\/span> <span class=\"nb\">ease<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"s2\">&#34;&gt;\u6e05\u9664&lt;\/button&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"o\">&lt;<\/span><span class=\"n\">button<\/span> <span class=\"n\">id<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;minimize-log&#34;<\/span> <span class=\"n\">style<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">background<\/span><span class=\"p\">:<\/span> <span class=\"n\">transparent<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">border<\/span><span class=\"p\">:<\/span> <span class=\"n\">none<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">color<\/span><span class=\"p\">:<\/span> <span class=\"n\">white<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">cursor<\/span><span class=\"p\">:<\/span> <span class=\"n\">pointer<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">font<\/span><span class=\"o\">-<\/span><span class=\"n\">size<\/span><span class=\"p\">:<\/span> <span class=\"mi\">16<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">padding<\/span><span class=\"p\">:<\/span> <span class=\"mi\">6<\/span><span class=\"n\">px<\/span> <span class=\"mi\">12<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">margin<\/span><span class=\"o\">-<\/span><span class=\"n\">left<\/span><span class=\"p\">:<\/span> <span class=\"mi\">8<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">transition<\/span><span class=\"p\">:<\/span> <span class=\"n\">all<\/span> <span class=\"mf\">0.2<\/span><span class=\"n\">s<\/span> <span class=\"nb\">ease<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"s2\">&#34;&gt;_&lt;\/button&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"o\">&lt;\/<\/span><span class=\"n\">div<\/span><span class=\"o\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"o\">&lt;\/<\/span><span class=\"n\">div<\/span><span class=\"o\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"o\">&lt;<\/span><span class=\"n\">div<\/span> <span class=\"n\">style<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">padding<\/span><span class=\"p\">:<\/span> <span class=\"mi\">8<\/span><span class=\"n\">px<\/span> <span class=\"mi\">16<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">background<\/span><span class=\"p\">:<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">dark<\/span><span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">border<\/span><span class=\"o\">-<\/span><span class=\"n\">bottom<\/span><span class=\"p\">:<\/span> <span class=\"mi\">1<\/span><span class=\"n\">px<\/span> <span class=\"n\">solid<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">info<\/span><span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">font<\/span><span class=\"o\">-<\/span><span class=\"n\">size<\/span><span class=\"p\">:<\/span> <span class=\"mi\">12<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">color<\/span><span class=\"p\">:<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">light<\/span><span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">display<\/span><span class=\"p\">:<\/span> <span class=\"n\">flex<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">align<\/span><span class=\"o\">-<\/span><span class=\"n\">items<\/span><span class=\"p\">:<\/span> <span class=\"n\">center<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">gap<\/span><span class=\"p\">:<\/span> <span class=\"mi\">8<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"o\">&lt;<\/span><span class=\"n\">span<\/span> <span class=\"n\">style<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;color: ${COLORS.secondary};&#34;<\/span><span class=\"o\">&gt;<\/span><span class=\"err\">\ud83d\udce2<\/span><span class=\"o\">&lt;\/<\/span><span class=\"n\">span<\/span><span class=\"o\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"o\">&lt;<\/span><span class=\"n\">span<\/span><span class=\"o\">&gt;<\/span><span class=\"err\">\u64cd\u4f5c\u63a7\u5236\u53f0<\/span><span class=\"o\">&lt;\/<\/span><span class=\"n\">span<\/span><span class=\"o\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"o\">&lt;\/<\/span><span class=\"n\">div<\/span><span class=\"o\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"o\">&lt;<\/span><span class=\"n\">div<\/span> <span class=\"n\">id<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;log-content&#34;<\/span> <span class=\"n\">style<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">padding<\/span><span class=\"p\">:<\/span> <span class=\"mi\">16<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">overflow<\/span><span class=\"o\">-<\/span><span class=\"n\">y<\/span><span class=\"p\">:<\/span> <span class=\"n\">auto<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"nb\">max<\/span><span class=\"o\">-<\/span><span class=\"n\">height<\/span><span class=\"p\">:<\/span> <span class=\"n\">calc<\/span><span class=\"p\">(<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">LOG_UI_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">dimensions<\/span><span class=\"o\">.<\/span><span class=\"n\">maxHeight<\/span><span class=\"p\">}<\/span><span class=\"n\">px<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">120<\/span><span class=\"n\">px<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">font<\/span><span class=\"o\">-<\/span><span class=\"n\">size<\/span><span class=\"p\">:<\/span> <span class=\"mi\">14<\/span><span class=\"n\">px<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">color<\/span><span class=\"p\">:<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">light<\/span><span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">line<\/span><span class=\"o\">-<\/span><span class=\"n\">height<\/span><span class=\"p\">:<\/span> <span class=\"mf\">1.5<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;&gt;&lt;\/div&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"err\">`<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">body<\/span><span class=\"o\">.<\/span><span class=\"n\">appendChild<\/span><span class=\"p\">(<\/span><span class=\"n\">logContainer<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">\/\/<\/span> <span class=\"err\">\u6700\u5c0f\u5316\u529f\u80fd<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">let<\/span> <span class=\"n\">isMinimized<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">false<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">logContent<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">getElementById<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;log-content&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">minimizeBtn<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">getElementById<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;minimize-log&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">minimizeBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;click&#39;<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">isMinimized<\/span> <span class=\"o\">=<\/span> <span class=\"o\">!<\/span><span class=\"n\">isMinimized<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logContent<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">display<\/span> <span class=\"o\">=<\/span> <span class=\"n\">isMinimized<\/span> <span class=\"err\">?<\/span> <span class=\"s1\">&#39;none&#39;<\/span> <span class=\"p\">:<\/span> <span class=\"s1\">&#39;block&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">minimizeBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">textContent<\/span> <span class=\"o\">=<\/span> <span class=\"n\">isMinimized<\/span> <span class=\"err\">?<\/span> <span class=\"s1\">&#39;\u25a2&#39;<\/span> <span class=\"p\">:<\/span> <span class=\"s1\">&#39;_&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">\/\/<\/span> <span class=\"err\">\u6e05\u9664\u65e5\u5fd7\u529f\u80fd<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">clearBtn<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">getElementById<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;clear-log&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">clearBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;click&#39;<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logContent<\/span><span class=\"o\">.<\/span><span class=\"n\">innerHTML<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"nb\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u65e5\u5fd7\u5df2\u6e05\u9664&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;info&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">\/\/<\/span> <span class=\"err\">\u6ce8\u518c\u6309\u94ae\u60ac\u505c\u6548\u679c<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">registerBtn<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">getElementById<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;auto-register-btn&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">registerBtn<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">registerBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;mouseenter&#39;<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">registerBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">transform<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;scale(1.05)&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">registerBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;mouseleave&#39;<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">registerBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">transform<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;scale(1)&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"nb\">log<\/span><span class=\"p\">:<\/span> <span class=\"n\">function<\/span><span class=\"p\">(<\/span><span class=\"n\">message<\/span><span class=\"p\">,<\/span> <span class=\"n\">type<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;info&#39;<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">const<\/span> <span class=\"n\">logEntry<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">createElement<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;div&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logEntry<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">marginBottom<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;10px&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logEntry<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">padding<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;12px&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logEntry<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">borderRadius<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;6px&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logEntry<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">wordBreak<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;break-all&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logEntry<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">transition<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;all 0.3s ease&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">let<\/span> <span class=\"n\">bgColor<\/span><span class=\"p\">,<\/span> <span class=\"n\">textColor<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">switch<\/span><span class=\"p\">(<\/span><span class=\"n\">type<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"k\">case<\/span> <span class=\"s1\">&#39;success&#39;<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">bgColor<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;rgba(46, 204, 113, 0.2)&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">textColor<\/span> <span class=\"o\">=<\/span> <span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">secondary<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"k\">break<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"k\">case<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">bgColor<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;rgba(231, 76, 60, 0.2)&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">textColor<\/span> <span class=\"o\">=<\/span> <span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">danger<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"k\">break<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"k\">case<\/span> <span class=\"s1\">&#39;warning&#39;<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">bgColor<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;rgba(243, 156, 17, 0.2)&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">textColor<\/span> <span class=\"o\">=<\/span> <span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">warning<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"k\">break<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">default<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">bgColor<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;rgba(255, 255, 255, 0.05)&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">textColor<\/span> <span class=\"o\">=<\/span> <span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">light<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logEntry<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">backgroundColor<\/span> <span class=\"o\">=<\/span> <span class=\"n\">bgColor<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logEntry<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">color<\/span> <span class=\"o\">=<\/span> <span class=\"n\">textColor<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">const<\/span> <span class=\"n\">time<\/span> <span class=\"o\">=<\/span> <span class=\"n\">new<\/span> <span class=\"n\">Date<\/span><span class=\"p\">()<\/span><span class=\"o\">.<\/span><span class=\"n\">toLocaleTimeString<\/span><span class=\"p\">([],<\/span> <span class=\"p\">{<\/span> <span class=\"n\">hour<\/span><span class=\"p\">:<\/span> <span class=\"s1\">&#39;2-digit&#39;<\/span><span class=\"p\">,<\/span> <span class=\"n\">minute<\/span><span class=\"p\">:<\/span><span class=\"s1\">&#39;2-digit&#39;<\/span><span class=\"p\">,<\/span> <span class=\"n\">second<\/span><span class=\"p\">:<\/span><span class=\"s1\">&#39;2-digit&#39;<\/span> <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logEntry<\/span><span class=\"o\">.<\/span><span class=\"n\">textContent<\/span> <span class=\"o\">=<\/span> <span class=\"err\">`<\/span><span class=\"p\">[<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">time<\/span><span class=\"p\">}]<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">message<\/span><span class=\"p\">}<\/span><span class=\"err\">`<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logContent<\/span><span class=\"o\">.<\/span><span class=\"n\">appendChild<\/span><span class=\"p\">(<\/span><span class=\"n\">logEntry<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logContent<\/span><span class=\"o\">.<\/span><span class=\"n\">scrollTop<\/span> <span class=\"o\">=<\/span> <span class=\"n\">logContent<\/span><span class=\"o\">.<\/span><span class=\"n\">scrollHeight<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">showRegisterButton<\/span><span class=\"p\">:<\/span> <span class=\"n\">function<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">const<\/span> <span class=\"n\">registerBtn<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">getElementById<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;auto-register-btn&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">registerBtn<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">this<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u627e\u5230\u6ce8\u518c\u6309\u94ae\uff0c\u6b63\u5728\u663e\u793a...&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">registerBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">display<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;inline-block&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"k\">return<\/span> <span class=\"n\">registerBtn<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">this<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u672a\u627e\u5230\u6ce8\u518c\u6309\u94ae\u5143\u7d20&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"k\">return<\/span> <span class=\"n\">null<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u521b\u5efa\u5168\u5c40\u65e5\u5fd7\u5bf9\u8c61<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">logger<\/span> <span class=\"o\">=<\/span> <span class=\"n\">createLogUI<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u751f\u6210\u968f\u673a\u90ae\u7bb1<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">function<\/span> <span class=\"n\">generateEmail<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">firstName<\/span> <span class=\"o\">=<\/span> <span class=\"n\">FIRST_NAMES<\/span><span class=\"p\">[<\/span><span class=\"n\">Math<\/span><span class=\"o\">.<\/span><span class=\"n\">floor<\/span><span class=\"p\">(<\/span><span class=\"n\">Math<\/span><span class=\"o\">.<\/span><span class=\"n\">random<\/span><span class=\"p\">()<\/span> <span class=\"o\">*<\/span> <span class=\"n\">FIRST_NAMES<\/span><span class=\"o\">.<\/span><span class=\"n\">length<\/span><span class=\"p\">)];<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">lastName<\/span> <span class=\"o\">=<\/span> <span class=\"n\">LAST_NAMES<\/span><span class=\"p\">[<\/span><span class=\"n\">Math<\/span><span class=\"o\">.<\/span><span class=\"n\">floor<\/span><span class=\"p\">(<\/span><span class=\"n\">Math<\/span><span class=\"o\">.<\/span><span class=\"n\">random<\/span><span class=\"p\">()<\/span> <span class=\"o\">*<\/span> <span class=\"n\">LAST_NAMES<\/span><span class=\"o\">.<\/span><span class=\"n\">length<\/span><span class=\"p\">)];<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">timestamp<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Date<\/span><span class=\"o\">.<\/span><span class=\"n\">now<\/span><span class=\"p\">()<\/span><span class=\"o\">.<\/span><span class=\"n\">toString<\/span><span class=\"p\">(<\/span><span class=\"mi\">36<\/span><span class=\"p\">);<\/span> <span class=\"o\">\/\/<\/span> <span class=\"err\">\u8f6c\u6362\u4e3a<\/span><span class=\"mi\">36<\/span><span class=\"err\">\u8fdb\u5236\u4ee5\u7f29\u77ed\u957f\u5ea6<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">randomNum<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Math<\/span><span class=\"o\">.<\/span><span class=\"n\">floor<\/span><span class=\"p\">(<\/span><span class=\"n\">Math<\/span><span class=\"o\">.<\/span><span class=\"n\">random<\/span><span class=\"p\">()<\/span> <span class=\"o\">*<\/span> <span class=\"mi\">10000<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">toString<\/span><span class=\"p\">()<\/span><span class=\"o\">.<\/span><span class=\"n\">padStart<\/span><span class=\"p\">(<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;0&#39;<\/span><span class=\"p\">);<\/span> <span class=\"o\">\/\/<\/span> <span class=\"err\">\u751f\u6210<\/span><span class=\"mi\">4<\/span><span class=\"err\">\u4f4d\u968f\u673a\u6570<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">username<\/span> <span class=\"o\">=<\/span> <span class=\"err\">`<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">firstName<\/span><span class=\"p\">}<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">lastName<\/span><span class=\"p\">}<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">timestamp<\/span><span class=\"p\">}<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">randomNum<\/span><span class=\"p\">}<\/span><span class=\"err\">`<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"err\">`<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">username<\/span><span class=\"p\">}<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">EMAIL_DOMAIN<\/span><span class=\"p\">}<\/span><span class=\"err\">`<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u7b49\u5f85\u5143\u7d20\u51fa\u73b0<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">async<\/span> <span class=\"n\">function<\/span> <span class=\"n\">waitForElement<\/span><span class=\"p\">(<\/span><span class=\"n\">selector<\/span><span class=\"p\">,<\/span> <span class=\"n\">timeout<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10000<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">startTime<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Date<\/span><span class=\"o\">.<\/span><span class=\"n\">now<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">while<\/span> <span class=\"p\">(<\/span><span class=\"n\">Date<\/span><span class=\"o\">.<\/span><span class=\"n\">now<\/span><span class=\"p\">()<\/span> <span class=\"o\">-<\/span> <span class=\"n\">startTime<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">timeout<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">const<\/span> <span class=\"n\">element<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">querySelector<\/span><span class=\"p\">(<\/span><span class=\"n\">selector<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">element<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">return<\/span> <span class=\"n\">element<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">await<\/span> <span class=\"n\">new<\/span> <span class=\"n\">Promise<\/span><span class=\"p\">(<\/span><span class=\"n\">resolve<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"n\">setTimeout<\/span><span class=\"p\">(<\/span><span class=\"n\">resolve<\/span><span class=\"p\">,<\/span> <span class=\"mi\">100<\/span><span class=\"p\">));<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"n\">null<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u4ece\u90ae\u4ef6\u6587\u672c\u4e2d\u63d0\u53d6\u9a8c\u8bc1\u7801<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">function<\/span> <span class=\"n\">extractVerificationCode<\/span><span class=\"p\">(<\/span><span class=\"n\">mailText<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">codeMatch<\/span> <span class=\"o\">=<\/span> <span class=\"n\">mailText<\/span><span class=\"o\">.<\/span><span class=\"n\">match<\/span><span class=\"p\">(<\/span><span class=\"o\">\/<\/span><span class=\"p\">(<\/span><span class=\"err\">?<\/span><span class=\"o\">&lt;!<\/span><span class=\"p\">[<\/span><span class=\"n\">a<\/span><span class=\"o\">-<\/span><span class=\"n\">zA<\/span><span class=\"o\">-<\/span><span class=\"n\">Z<\/span><span class=\"err\">@<\/span><span class=\"o\">.<\/span><span class=\"p\">])<\/span>\\<span class=\"n\">b<\/span>\\<span class=\"n\">d<\/span><span class=\"p\">{<\/span><span class=\"mi\">6<\/span><span class=\"p\">}<\/span>\\<span class=\"n\">b<\/span><span class=\"o\">\/<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"n\">codeMatch<\/span> <span class=\"err\">?<\/span> <span class=\"n\">codeMatch<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"p\">:<\/span> <span class=\"n\">null<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u5220\u9664\u90ae\u4ef6<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">async<\/span> <span class=\"n\">function<\/span> <span class=\"n\">deleteEmail<\/span><span class=\"p\">(<\/span><span class=\"n\">firstId<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"n\">new<\/span> <span class=\"n\">Promise<\/span><span class=\"p\">((<\/span><span class=\"n\">resolve<\/span><span class=\"p\">,<\/span> <span class=\"n\">reject<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">const<\/span> <span class=\"n\">deleteUrl<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;https:\/\/tempmail.plus\/api\/mails\/&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">const<\/span> <span class=\"n\">maxRetries<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">5<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">let<\/span> <span class=\"n\">retryCount<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">function<\/span> <span class=\"n\">tryDelete<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">GM_xmlhttpRequest<\/span><span class=\"p\">({<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">method<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;DELETE&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">url<\/span><span class=\"p\">:<\/span> <span class=\"n\">deleteUrl<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">data<\/span><span class=\"p\">:<\/span> <span class=\"err\">`<\/span><span class=\"n\">email<\/span><span class=\"o\">=$<\/span><span class=\"p\">{<\/span><span class=\"n\">TEMP_MAIL_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">username<\/span><span class=\"p\">}<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">TEMP_MAIL_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">emailExtension<\/span><span class=\"p\">}<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">first_id<\/span><span class=\"o\">=$<\/span><span class=\"p\">{<\/span><span class=\"n\">firstId<\/span><span class=\"p\">}<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">epin<\/span><span class=\"o\">=$<\/span><span class=\"p\">{<\/span><span class=\"n\">TEMP_MAIL_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">epin<\/span><span class=\"p\">}<\/span><span class=\"err\">`<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">headers<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"s2\">&#34;Content-Type&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;application\/x-www-form-urlencoded&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">onload<\/span><span class=\"p\">:<\/span> <span class=\"n\">function<\/span><span class=\"p\">(<\/span><span class=\"n\">response<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">try<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"k\">const<\/span> <span class=\"n\">result<\/span> <span class=\"o\">=<\/span> <span class=\"n\">JSON<\/span><span class=\"o\">.<\/span><span class=\"n\">parse<\/span><span class=\"p\">(<\/span><span class=\"n\">response<\/span><span class=\"o\">.<\/span><span class=\"n\">responseText<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">result<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">result<\/span> <span class=\"o\">===<\/span> <span class=\"bp\">true<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;\u90ae\u4ef6\u5220\u9664\u6210\u529f&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;success&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                <span class=\"n\">resolve<\/span><span class=\"p\">(<\/span><span class=\"bp\">true<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                <span class=\"k\">return<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"p\">}<\/span> <span class=\"n\">catch<\/span> <span class=\"p\">(<\/span><span class=\"n\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;\u89e3\u6790\u5220\u9664\u54cd\u5e94\u5931\u8d25: &#34;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">error<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;warning&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"o\">\/\/<\/span> <span class=\"err\">\u5982\u679c\u8fd8\u6709\u91cd\u8bd5\u6b21\u6570\uff0c\u7ee7\u7eed\u5c1d\u8bd5<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">retryCount<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">maxRetries<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">retryCount<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"err\">`\u5220\u9664\u90ae\u4ef6\u5931\u8d25\uff0c\u6b63\u5728\u91cd\u8bd5<\/span> <span class=\"p\">(<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">retryCount<\/span><span class=\"p\">}<\/span><span class=\"o\">\/$<\/span><span class=\"p\">{<\/span><span class=\"n\">maxRetries<\/span><span class=\"p\">})<\/span><span class=\"o\">...<\/span><span class=\"err\">`<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;warning&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">setTimeout<\/span><span class=\"p\">(<\/span><span class=\"n\">tryDelete<\/span><span class=\"p\">,<\/span> <span class=\"mi\">500<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;\u5220\u9664\u90ae\u4ef6\u5931\u8d25\uff0c\u5df2\u8fbe\u5230\u6700\u5927\u91cd\u8bd5\u6b21\u6570&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">resolve<\/span><span class=\"p\">(<\/span><span class=\"bp\">false<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">onerror<\/span><span class=\"p\">:<\/span> <span class=\"n\">function<\/span><span class=\"p\">(<\/span><span class=\"n\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">retryCount<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">maxRetries<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">retryCount<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"err\">`\u5220\u9664\u90ae\u4ef6\u51fa\u9519\uff0c\u6b63\u5728\u91cd\u8bd5<\/span> <span class=\"p\">(<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">retryCount<\/span><span class=\"p\">}<\/span><span class=\"o\">\/$<\/span><span class=\"p\">{<\/span><span class=\"n\">maxRetries<\/span><span class=\"p\">})<\/span><span class=\"o\">...<\/span><span class=\"err\">`<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;warning&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">setTimeout<\/span><span class=\"p\">(<\/span><span class=\"n\">tryDelete<\/span><span class=\"p\">,<\/span> <span class=\"mi\">500<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;\u5220\u9664\u90ae\u4ef6\u5931\u8d25: &#34;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">error<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">resolve<\/span><span class=\"p\">(<\/span><span class=\"bp\">false<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">tryDelete<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u83b7\u53d6\u6700\u65b0\u90ae\u4ef6\u4e2d\u7684\u9a8c\u8bc1\u7801<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">async<\/span> <span class=\"n\">function<\/span> <span class=\"n\">getLatestMailCode<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"n\">new<\/span> <span class=\"n\">Promise<\/span><span class=\"p\">((<\/span><span class=\"n\">resolve<\/span><span class=\"p\">,<\/span> <span class=\"n\">reject<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">const<\/span> <span class=\"n\">mailListUrl<\/span> <span class=\"o\">=<\/span> <span class=\"err\">`<\/span><span class=\"n\">https<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/<\/span><span class=\"n\">tempmail<\/span><span class=\"o\">.<\/span><span class=\"n\">plus<\/span><span class=\"o\">\/<\/span><span class=\"n\">api<\/span><span class=\"o\">\/<\/span><span class=\"n\">mails<\/span><span class=\"err\">?<\/span><span class=\"n\">email<\/span><span class=\"o\">=$<\/span><span class=\"p\">{<\/span><span class=\"n\">TEMP_MAIL_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">username<\/span><span class=\"p\">}<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">TEMP_MAIL_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">emailExtension<\/span><span class=\"p\">}<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">limit<\/span><span class=\"o\">=<\/span><span class=\"mi\">20<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">epin<\/span><span class=\"o\">=$<\/span><span class=\"p\">{<\/span><span class=\"n\">TEMP_MAIL_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">epin<\/span><span class=\"p\">}<\/span><span class=\"err\">`<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">GM_xmlhttpRequest<\/span><span class=\"p\">({<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">method<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;GET&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">url<\/span><span class=\"p\">:<\/span> <span class=\"n\">mailListUrl<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">onload<\/span><span class=\"p\">:<\/span> <span class=\"n\">async<\/span> <span class=\"n\">function<\/span><span class=\"p\">(<\/span><span class=\"n\">mailListResponse<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">try<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"k\">const<\/span> <span class=\"n\">mailListData<\/span> <span class=\"o\">=<\/span> <span class=\"n\">JSON<\/span><span class=\"o\">.<\/span><span class=\"n\">parse<\/span><span class=\"p\">(<\/span><span class=\"n\">mailListResponse<\/span><span class=\"o\">.<\/span><span class=\"n\">responseText<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"n\">mailListData<\/span><span class=\"o\">.<\/span><span class=\"n\">result<\/span> <span class=\"o\">||<\/span> <span class=\"o\">!<\/span><span class=\"n\">mailListData<\/span><span class=\"o\">.<\/span><span class=\"n\">first_id<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">resolve<\/span><span class=\"p\">(<\/span><span class=\"n\">null<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"k\">return<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"k\">const<\/span> <span class=\"n\">firstId<\/span> <span class=\"o\">=<\/span> <span class=\"n\">mailListData<\/span><span class=\"o\">.<\/span><span class=\"n\">first_id<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"k\">const<\/span> <span class=\"n\">mailDetailUrl<\/span> <span class=\"o\">=<\/span> <span class=\"err\">`<\/span><span class=\"n\">https<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/<\/span><span class=\"n\">tempmail<\/span><span class=\"o\">.<\/span><span class=\"n\">plus<\/span><span class=\"o\">\/<\/span><span class=\"n\">api<\/span><span class=\"o\">\/<\/span><span class=\"n\">mails<\/span><span class=\"o\">\/$<\/span><span class=\"p\">{<\/span><span class=\"n\">firstId<\/span><span class=\"p\">}<\/span><span class=\"err\">?<\/span><span class=\"n\">email<\/span><span class=\"o\">=$<\/span><span class=\"p\">{<\/span><span class=\"n\">TEMP_MAIL_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">username<\/span><span class=\"p\">}<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">TEMP_MAIL_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">emailExtension<\/span><span class=\"p\">}<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">epin<\/span><span class=\"o\">=$<\/span><span class=\"p\">{<\/span><span class=\"n\">TEMP_MAIL_CONFIG<\/span><span class=\"o\">.<\/span><span class=\"n\">epin<\/span><span class=\"p\">}<\/span><span class=\"err\">`<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">GM_xmlhttpRequest<\/span><span class=\"p\">({<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">method<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;GET&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">url<\/span><span class=\"p\">:<\/span> <span class=\"n\">mailDetailUrl<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">onload<\/span><span class=\"p\">:<\/span> <span class=\"n\">async<\/span> <span class=\"n\">function<\/span><span class=\"p\">(<\/span><span class=\"n\">mailDetailResponse<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                <span class=\"n\">try<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"k\">const<\/span> <span class=\"n\">mailDetailData<\/span> <span class=\"o\">=<\/span> <span class=\"n\">JSON<\/span><span class=\"o\">.<\/span><span class=\"n\">parse<\/span><span class=\"p\">(<\/span><span class=\"n\">mailDetailResponse<\/span><span class=\"o\">.<\/span><span class=\"n\">responseText<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"n\">mailDetailData<\/span><span class=\"o\">.<\/span><span class=\"n\">result<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                        <span class=\"n\">resolve<\/span><span class=\"p\">(<\/span><span class=\"n\">null<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                        <span class=\"k\">return<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"k\">const<\/span> <span class=\"n\">mailText<\/span> <span class=\"o\">=<\/span> <span class=\"n\">mailDetailData<\/span><span class=\"o\">.<\/span><span class=\"n\">text<\/span> <span class=\"o\">||<\/span> <span class=\"s2\">&#34;&#34;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"k\">const<\/span> <span class=\"n\">mailSubject<\/span> <span class=\"o\">=<\/span> <span class=\"n\">mailDetailData<\/span><span class=\"o\">.<\/span><span class=\"n\">subject<\/span> <span class=\"o\">||<\/span> <span class=\"s2\">&#34;&#34;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;\u627e\u5230\u90ae\u4ef6\u4e3b\u9898: &#34;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">mailSubject<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"k\">const<\/span> <span class=\"n\">code<\/span> <span class=\"o\">=<\/span> <span class=\"n\">extractVerificationCode<\/span><span class=\"p\">(<\/span><span class=\"n\">mailText<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u83b7\u53d6\u5230\u9a8c\u8bc1\u7801\u540e\uff0c\u5c1d\u8bd5\u5220\u9664\u90ae\u4ef6<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">code<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                        <span class=\"n\">await<\/span> <span class=\"n\">deleteEmail<\/span><span class=\"p\">(<\/span><span class=\"n\">firstId<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"n\">resolve<\/span><span class=\"p\">(<\/span><span class=\"n\">code<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                <span class=\"p\">}<\/span> <span class=\"n\">catch<\/span> <span class=\"p\">(<\/span><span class=\"n\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;\u89e3\u6790\u90ae\u4ef6\u8be6\u60c5\u5931\u8d25: &#34;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">error<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                    <span class=\"n\">resolve<\/span><span class=\"p\">(<\/span><span class=\"n\">null<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">onerror<\/span><span class=\"p\">:<\/span> <span class=\"n\">function<\/span><span class=\"p\">(<\/span><span class=\"n\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;\u83b7\u53d6\u90ae\u4ef6\u8be6\u60c5\u5931\u8d25: &#34;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">error<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                                <span class=\"n\">resolve<\/span><span class=\"p\">(<\/span><span class=\"n\">null<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">}<\/span> <span class=\"n\">catch<\/span> <span class=\"p\">(<\/span><span class=\"n\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;\u89e3\u6790\u90ae\u4ef6\u5217\u8868\u5931\u8d25: &#34;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">error<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">resolve<\/span><span class=\"p\">(<\/span><span class=\"n\">null<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">onerror<\/span><span class=\"p\">:<\/span> <span class=\"n\">function<\/span><span class=\"p\">(<\/span><span class=\"n\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;\u83b7\u53d6\u90ae\u4ef6\u5217\u8868\u5931\u8d25: &#34;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">error<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">resolve<\/span><span class=\"p\">(<\/span><span class=\"n\">null<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u83b7\u53d6\u9a8c\u8bc1\u7801\uff08\u5e26\u91cd\u8bd5\u673a\u5236\uff09<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">async<\/span> <span class=\"n\">function<\/span> <span class=\"n\">getVerificationCode<\/span><span class=\"p\">(<\/span><span class=\"n\">maxRetries<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"n\">retryInterval<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">3000<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"n\">let<\/span> <span class=\"n\">attempt<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span> <span class=\"n\">attempt<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">maxRetries<\/span><span class=\"p\">;<\/span> <span class=\"n\">attempt<\/span><span class=\"o\">++<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"err\">`\u5c1d\u8bd5\u83b7\u53d6\u9a8c\u8bc1\u7801<\/span> <span class=\"p\">(<\/span><span class=\"err\">\u7b2c<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">attempt<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">}<\/span><span class=\"o\">\/$<\/span><span class=\"p\">{<\/span><span class=\"n\">maxRetries<\/span><span class=\"p\">}<\/span> <span class=\"err\">\u6b21<\/span><span class=\"p\">)<\/span><span class=\"o\">...<\/span><span class=\"err\">`<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">try<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">const<\/span> <span class=\"n\">code<\/span> <span class=\"o\">=<\/span> <span class=\"n\">await<\/span> <span class=\"n\">getLatestMailCode<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">code<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;\u6210\u529f\u83b7\u53d6\u9a8c\u8bc1\u7801: &#34;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">code<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;success&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"k\">return<\/span> <span class=\"n\">code<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">attempt<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">maxRetries<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"err\">`\u672a\u83b7\u53d6\u5230\u9a8c\u8bc1\u7801\uff0c<\/span><span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">retryInterval<\/span><span class=\"o\">\/<\/span><span class=\"mi\">1000<\/span><span class=\"p\">}<\/span><span class=\"err\">\u79d2\u540e\u91cd\u8bd5<\/span><span class=\"o\">...<\/span><span class=\"err\">`<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;warning&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">await<\/span> <span class=\"n\">new<\/span> <span class=\"n\">Promise<\/span><span class=\"p\">(<\/span><span class=\"n\">resolve<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"n\">setTimeout<\/span><span class=\"p\">(<\/span><span class=\"n\">resolve<\/span><span class=\"p\">,<\/span> <span class=\"n\">retryInterval<\/span><span class=\"p\">));<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span> <span class=\"n\">catch<\/span> <span class=\"p\">(<\/span><span class=\"n\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;\u83b7\u53d6\u9a8c\u8bc1\u7801\u51fa\u9519: &#34;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">error<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">attempt<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">maxRetries<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">await<\/span> <span class=\"n\">new<\/span> <span class=\"n\">Promise<\/span><span class=\"p\">(<\/span><span class=\"n\">resolve<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"n\">setTimeout<\/span><span class=\"p\">(<\/span><span class=\"n\">resolve<\/span><span class=\"p\">,<\/span> <span class=\"n\">retryInterval<\/span><span class=\"p\">));<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">throw<\/span> <span class=\"n\">new<\/span> <span class=\"n\">Error<\/span><span class=\"p\">(<\/span><span class=\"err\">`\u7ecf\u8fc7<\/span> <span class=\"o\">$<\/span><span class=\"p\">{<\/span><span class=\"n\">maxRetries<\/span><span class=\"p\">}<\/span> <span class=\"err\">\u6b21\u5c1d\u8bd5\u540e\u4ecd\u672a\u83b7\u53d6\u5230\u9a8c\u8bc1\u7801\u3002`<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u81ea\u52a8\u586b\u5199\u90ae\u7bb1\u5e76\u63d0\u4ea4<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">async<\/span> <span class=\"n\">function<\/span> <span class=\"n\">fillEmail<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">email<\/span> <span class=\"o\">=<\/span> <span class=\"n\">generateEmail<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u4f7f\u7528\u90ae\u7bb1: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">email<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">emailInput<\/span> <span class=\"o\">=<\/span> <span class=\"n\">await<\/span> <span class=\"n\">waitForElement<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;input[name=&#34;username&#34;]&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"n\">emailInput<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u672a\u627e\u5230\u90ae\u7bb1\u8f93\u5165\u6846&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"bp\">false<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u627e\u5230\u90ae\u7bb1\u8f93\u5165\u6846\uff0c\u5f00\u59cb\u586b\u5199&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">\/\/<\/span> <span class=\"err\">\u586b\u5199\u90ae\u7bb1<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">emailInput<\/span><span class=\"o\">.<\/span><span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"n\">email<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">emailInput<\/span><span class=\"o\">.<\/span><span class=\"n\">dispatchEvent<\/span><span class=\"p\">(<\/span><span class=\"n\">new<\/span> <span class=\"n\">Event<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;input&#39;<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> <span class=\"n\">bubbles<\/span><span class=\"p\">:<\/span> <span class=\"bp\">true<\/span> <span class=\"p\">}));<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">\/\/<\/span> <span class=\"err\">\u70b9\u51fb\u7ee7\u7eed\u6309\u94ae<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">continueBtn<\/span> <span class=\"o\">=<\/span> <span class=\"n\">await<\/span> <span class=\"n\">waitForElement<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;button[type=&#34;submit&#34;]&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"n\">continueBtn<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u672a\u627e\u5230\u7ee7\u7eed\u6309\u94ae&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"bp\">false<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">continueBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">click<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"bp\">true<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u586b\u5199\u9a8c\u8bc1\u7801<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">async<\/span> <span class=\"n\">function<\/span> <span class=\"n\">fillVerificationCode<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">code<\/span> <span class=\"o\">=<\/span> <span class=\"n\">await<\/span> <span class=\"n\">getVerificationCode<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"n\">code<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u672a\u80fd\u83b7\u53d6\u9a8c\u8bc1\u7801&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"bp\">false<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">codeInput<\/span> <span class=\"o\">=<\/span> <span class=\"n\">await<\/span> <span class=\"n\">waitForElement<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;input[name=&#34;code&#34;]&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"n\">codeInput<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u672a\u627e\u5230\u9a8c\u8bc1\u7801\u8f93\u5165\u6846&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"bp\">false<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">\/\/<\/span> <span class=\"err\">\u586b\u5199\u9a8c\u8bc1\u7801<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">codeInput<\/span><span class=\"o\">.<\/span><span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"n\">code<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">codeInput<\/span><span class=\"o\">.<\/span><span class=\"n\">dispatchEvent<\/span><span class=\"p\">(<\/span><span class=\"n\">new<\/span> <span class=\"n\">Event<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;input&#39;<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> <span class=\"n\">bubbles<\/span><span class=\"p\">:<\/span> <span class=\"bp\">true<\/span> <span class=\"p\">}));<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">\/\/<\/span> <span class=\"err\">\u70b9\u51fb\u7ee7\u7eed\u6309\u94ae<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">continueBtn<\/span> <span class=\"o\">=<\/span> <span class=\"n\">await<\/span> <span class=\"n\">waitForElement<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;button[type=&#34;submit&#34;]&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"n\">continueBtn<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u672a\u627e\u5230\u7ee7\u7eed\u6309\u94ae&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"bp\">false<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">continueBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">click<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"bp\">true<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u540c\u610f\u670d\u52a1\u6761\u6b3e\u5e76\u5b8c\u6210\u6ce8\u518c<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">async<\/span> <span class=\"n\">function<\/span> <span class=\"n\">completeRegistration<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">checkbox<\/span> <span class=\"o\">=<\/span> <span class=\"n\">await<\/span> <span class=\"n\">waitForElement<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;input[type=&#34;checkbox&#34;]&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">checkbox<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"n\">checkbox<\/span><span class=\"o\">.<\/span><span class=\"n\">checked<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">checkbox<\/span><span class=\"o\">.<\/span><span class=\"n\">click<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u5df2\u81ea\u52a8\u52fe\u9009\u670d\u52a1\u6761\u6b3e\u540c\u610f\u6846&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;success&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u672a\u627e\u5230\u670d\u52a1\u6761\u6b3e\u590d\u9009\u6846&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;warning&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">signupBtn<\/span> <span class=\"o\">=<\/span> <span class=\"n\">await<\/span> <span class=\"n\">waitForElement<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;button:contains(&#34;Sign up&#34;)&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"n\">signupBtn<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u672a\u627e\u5230\u6ce8\u518c\u6309\u94ae&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"bp\">false<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">signupBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">click<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u70b9\u51fb\u6ce8\u518c\u6309\u94ae&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;success&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"bp\">true<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u4e3b\u51fd\u6570<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">async<\/span> <span class=\"n\">function<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">\/\/<\/span> <span class=\"err\">\u53ea\u5728\u6ce8\u518c\u76f8\u5173\u9875\u9762\u8fd0\u884c<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"n\">window<\/span><span class=\"o\">.<\/span><span class=\"n\">location<\/span><span class=\"o\">.<\/span><span class=\"n\">href<\/span><span class=\"o\">.<\/span><span class=\"n\">includes<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;login.augmentcode.com&#39;<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"o\">!<\/span><span class=\"n\">window<\/span><span class=\"o\">.<\/span><span class=\"n\">location<\/span><span class=\"o\">.<\/span><span class=\"n\">href<\/span><span class=\"o\">.<\/span><span class=\"n\">includes<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;auth.augmentcode.com&#39;<\/span><span class=\"p\">))<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u5f53\u524d\u9875\u9762\u4e0d\u662f\u6ce8\u518c\u9875\u9762\uff0c\u811a\u672c\u4e0d\u6267\u884c&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;info&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;===== \u5f00\u59cb\u81ea\u52a8\u6ce8\u518c\u6d41\u7a0b =====&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;info&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">\/\/<\/span> <span class=\"err\">\u68c0\u67e5\u5f53\u524d\u9875\u9762\u72b6\u6001<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">emailInput<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">querySelector<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;input[name=&#34;username&#34;]&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">codeInput<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">querySelector<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;input[name=&#34;code&#34;]&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">const<\/span> <span class=\"n\">termsCheckbox<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">querySelector<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;#terms-of-service-checkbox&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">emailInput<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u68c0\u6d4b\u5230\u90ae\u7bb1\u8f93\u5165\u9875\u9762&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"o\">\/\/<\/span> <span class=\"err\">\u663e\u793a\u6ce8\u518c\u6309\u94ae<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">const<\/span> <span class=\"n\">registerButton<\/span> <span class=\"o\">=<\/span> <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">showRegisterButton<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">registerButton<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">registerButton<\/span><span class=\"o\">.<\/span><span class=\"n\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;click&#39;<\/span><span class=\"p\">,<\/span> <span class=\"n\">async<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">try<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">registerButton<\/span><span class=\"o\">.<\/span><span class=\"n\">disabled<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">true<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">registerButton<\/span><span class=\"o\">.<\/span><span class=\"n\">textContent<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;\u5904\u7406\u4e2d...&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">registerButton<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">backgroundColor<\/span> <span class=\"o\">=<\/span> <span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">warning<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">await<\/span> <span class=\"n\">fillEmail<\/span><span class=\"p\">())<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u90ae\u7bb1\u586b\u5199\u5b8c\u6210\uff0c\u8bf7\u7b49\u5f85\u9875\u9762\u8df3\u8f6c\u5230\u9a8c\u8bc1\u7801\u8f93\u5165...&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;success&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">}<\/span> <span class=\"n\">catch<\/span> <span class=\"p\">(<\/span><span class=\"n\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u586b\u5199\u90ae\u7bb1\u8fc7\u7a0b\u51fa\u9519: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">error<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">}<\/span> <span class=\"n\">finally<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">registerButton<\/span><span class=\"o\">.<\/span><span class=\"n\">disabled<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">false<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">registerButton<\/span><span class=\"o\">.<\/span><span class=\"n\">textContent<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;\u5f00\u59cb\u6ce8\u518c&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">registerButton<\/span><span class=\"o\">.<\/span><span class=\"n\">style<\/span><span class=\"o\">.<\/span><span class=\"n\">backgroundColor<\/span> <span class=\"o\">=<\/span> <span class=\"n\">COLORS<\/span><span class=\"o\">.<\/span><span class=\"n\">secondary<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">codeInput<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u68c0\u6d4b\u5230\u9a8c\u8bc1\u7801\u8f93\u5165\u9875\u9762\uff0c\u81ea\u52a8\u6267\u884c\u9a8c\u8bc1\u7801\u586b\u5199...&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">try<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">await<\/span> <span class=\"n\">fillVerificationCode<\/span><span class=\"p\">())<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u9a8c\u8bc1\u7801\u586b\u5199\u5b8c\u6210\uff0c\u6b63\u5728\u5b8c\u6210\u6ce8\u518c...&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;success&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">await<\/span> <span class=\"n\">new<\/span> <span class=\"n\">Promise<\/span><span class=\"p\">(<\/span><span class=\"n\">resolve<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"n\">setTimeout<\/span><span class=\"p\">(<\/span><span class=\"n\">resolve<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2000<\/span><span class=\"p\">));<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">await<\/span> <span class=\"n\">completeRegistration<\/span><span class=\"p\">())<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;===== \u6ce8\u518c\u6d41\u7a0b\u5b8c\u6210\uff01 =====&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;success&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span> <span class=\"n\">catch<\/span> <span class=\"p\">(<\/span><span class=\"n\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u586b\u5199\u9a8c\u8bc1\u7801\u8fc7\u7a0b\u51fa\u9519: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">error<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">termsCheckbox<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u68c0\u6d4b\u5230\u670d\u52a1\u6761\u6b3e\u9875\u9762\uff0c\u81ea\u52a8\u52fe\u9009\u540c\u610f\u6846...&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">try<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"n\">termsCheckbox<\/span><span class=\"o\">.<\/span><span class=\"n\">checked<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">termsCheckbox<\/span><span class=\"o\">.<\/span><span class=\"n\">click<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u5df2\u81ea\u52a8\u52fe\u9009\u670d\u52a1\u6761\u6b3e\u540c\u610f\u6846&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;success&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"o\">\/\/<\/span> <span class=\"err\">\u67e5\u627e\u5e76\u70b9\u51fb\u6ce8\u518c\u6309\u94ae<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">const<\/span> <span class=\"n\">signupBtn<\/span> <span class=\"o\">=<\/span> <span class=\"n\">await<\/span> <span class=\"n\">waitForElement<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;button[type=&#34;button&#34;]&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">signupBtn<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">signupBtn<\/span><span class=\"o\">.<\/span><span class=\"n\">click<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u70b9\u51fb\u6ce8\u518c\u6309\u94ae\u5b8c\u6210&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;success&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span> <span class=\"n\">catch<\/span> <span class=\"p\">(<\/span><span class=\"n\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u52fe\u9009\u670d\u52a1\u6761\u6b3e\u8fc7\u7a0b\u51fa\u9519: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">error<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u65e0\u6cd5\u8bc6\u522b\u5f53\u524d\u9875\u9762\u72b6\u6001&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;warning&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u542f\u52a8\u811a\u672c<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">main<\/span><span class=\"p\">()<\/span><span class=\"o\">.<\/span><span class=\"n\">catch<\/span><span class=\"p\">(<\/span><span class=\"n\">error<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"n\">logger<\/span><span class=\"o\">.<\/span><span class=\"n\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;\u811a\u672c\u6267\u884c\u51fa\u9519: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">error<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;error&#39;<\/span><span class=\"p\">));<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">})();<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"\u6c89\u6d78\u5f0f\u7ffb\u8bd1\u63d2\u4ef6\u5730\u9053\u4e2d\u6587\u7ffb\u8bd1\u63d0\u793a\u8bcd","link":"https:\/\/my.rongyiapi.com\/posts\/%E6%B2%89%E6%B5%B8%E5%BC%8F%E7%BF%BB%E8%AF%91%E6%8F%92%E4%BB%B6%E5%9C%B0%E9%81%93%E4%B8%AD%E6%96%87%E7%BF%BB%E8%AF%91%E6%8F%90%E7%A4%BA%E8%AF%8D\/","pubDate":"Mon, 09 Jun 2025 15:43:01 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/%E6%B2%89%E6%B5%B8%E5%BC%8F%E7%BF%BB%E8%AF%91%E6%8F%92%E4%BB%B6%E5%9C%B0%E9%81%93%E4%B8%AD%E6%96%87%E7%BF%BB%E8%AF%91%E6%8F%90%E7%A4%BA%E8%AF%8D\/","description":"<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\">12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-13\"><a class=\"lnlinks\" href=\"#hl-0-13\">13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-14\"><a class=\"lnlinks\" href=\"#hl-0-14\">14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-15\"><a class=\"lnlinks\" href=\"#hl-0-15\">15<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-16\"><a class=\"lnlinks\" href=\"#hl-0-16\">16<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-17\"><a class=\"lnlinks\" href=\"#hl-0-17\">17<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-18\"><a class=\"lnlinks\" href=\"#hl-0-18\">18<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-19\"><a class=\"lnlinks\" href=\"#hl-0-19\">19<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-20\"><a class=\"lnlinks\" href=\"#hl-0-20\">20<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">\u7f51\u9875\u7ffb\u8bd1 (\u4ec5\u8f93\u51fa\u8bd1\u6587)\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\u60a8\u662f\u4e00\u4f4d\u4e13\u4e1a\u7684\u7ffb\u8bd1\u52a9\u624b\uff0c\u60a8\u7684\u4efb\u52a1\u662f\u5c06\u7f51\u9875\u5185\u5bb9\u51c6\u786e\u3001\u81ea\u7136\u3001\u4e14\u5bcc\u6709\u611f\u67d3\u529b\u5730\u7ffb\u8bd1\u6210\u76ee\u6807\u8bed\u8a00\u3002\u60a8\u5c24\u5176\u64c5\u957f\u6355\u6349\u539f\u6587\u7684\u60c5\u611f\u548c\u8bed\u6c14\uff0c\u5e76\u5c06\u5176\u81ea\u7136\u5730\u878d\u5165\u5230\u8bd1\u6587\u4e2d\u3002\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\u7ffb\u8bd1\u8bf7\u6c42\u6307\u793a:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\u8bf7\u5c06\u4ee5\u4e0b {{from}} \u6587\u672c\u7ffb\u8bd1\u6210 {{to}}\u3002 \u60a8\u7684\u8f93\u51fa\u5fc5\u987b\u4ec5\u5305\u542b\u8bd1\u6587\u672c\u8eab\uff0c\u8bf7\u52ff\u5305\u542b\u4efb\u4f55\u524d\u8a00\u3001\u89e3\u91ca\u6216\u5176\u4ed6\u975e\u8bd1\u6587\u5185\u5bb9\u3002\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\u7ffb\u8bd1\u8981\u6c42 (\u8bf7\u4e25\u683c\u9075\u5b88):\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    \u8bed\u8a00\u98ce\u683c: \u5730\u9053\u7684\u4e2d\u6587\u6bcd\u8bed\u8005\u65e5\u5e38\u53e3\u8bed\u98ce\u683c\uff0c\u8bd1\u6587 \u81ea\u7136\u6d41\u7545\uff0c\u907f\u514d\u4e66\u9762\u8bed\u548c\u673a\u5668\u7ffb\u8bd1\u75d5\u8ff9\u3002\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    \u8bed\u6c14\u60c5\u611f: \u7565\u5fae\u975e\u6b63\u5f0f\u7684\u8bed\u6c14\uff0c\u5145\u5206\u4f20\u8fbe\u539f\u6587\u7528\u6237\u7684 \u70ed\u60c5\u548c\u771f\u8bda\u7684\u8d5e\u8d4f \u4e4b\u60c5\u3002\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    \u8868\u8fbe\u6280\u5de7: \u5de7\u5999\u878d\u5165\u5730\u9053\u7684\u4e2d\u6587\u4fd7\u8bed\u548c\u53e3\u8bed\u5316\u8868\u8fbe (\u4f8b\u5982 \u201c\u538b\u69a8\u201d\u3001\u201c\u5fcd\u75db\u5272\u7231\u201d \u7b49\u98ce\u683c)\uff0c\u4f7f\u8bd1\u6587\u751f\u52a8\u6d3b\u6cfc\uff0c\u8d34\u8fd1\u771f\u5b9e\u5bf9\u8bdd\u3002\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    \u7ffb\u8bd1\u7b56\u7565: \u907f\u514d\u751f\u786c\u5b57\u9762\u76f4\u8bd1\uff0c\u7406\u89e3\u539f\u6587\u6838\u5fc3\u610f\u601d\u548c\u60c5\u611f\uff0c\u7528\u81ea\u7136\u6d41\u7545\u4e2d\u6587 \u91cd\u65b0\u7ec4\u7ec7\u8868\u8fbe (\u795e\u5f62\u517c\u5907)\u3002\n<\/span><\/span><span class=\"line\"><span class=\"cl\">**\u4e13\u6709\u540d\u8bcd\u5904\u7406:** \u5bf9\u4e8e\u82f1\u6587\u539f\u6587\u4e2d\u7684 **\u4ea7\u54c1\u540d\u79f0\u3001\u8f6f\u4ef6\u540d\u79f0\u3001\u6280\u672f\u672f\u8bed\u3001\u6a21\u578b\u540d\u79f0\u3001\u54c1\u724c\u540d\u79f0\u3001\u4ee3\u7801\u6807\u8bc6\u7b26\u6216\u7279\u5b9a\u82f1\u6587\u7f29\u5199** \u7b49\u4e13\u6709\u540d\u8bcd\uff08\u4f8b\u5982 &#34;Cursor&#34;, &#34;Gemini-2.5-pro-exp&#34;, &#34;VS Code&#34;, &#34;API&#34;, &#34;GPT-4&#34;\uff09\uff0c**\u5fc5\u987b\u4fdd\u7559\u5176\u539f\u59cb\u82f1\u6587\u5f62\u5f0f\uff0c\u4e0d\u8fdb\u884c\u7ffb\u8bd1**\u3002\u8bf7\u5c06\u8fd9\u4e9b\u82f1\u6587\u672f\u8bed\u81ea\u7136\u5730\u5d4c\u5165\u5230\u6d41\u7545\u7684\u4e2d\u6587\u8bd1\u6587\u4e2d\u3002 * **\u91cd\u8981\u793a\u4f8b:** \u5982\u679c\u539f\u6587\u662f &#34;Add Gemini-2.5-pro-exp to Cursor&#34;\uff0c\u4e00\u4e2a\u597d\u7684\u7ffb\u8bd1\u5e94\u8be5\u662f\u50cf \u201c\u5feb\u628a Gemini-2.5-pro-exp \u52a0\u5230 Cursor \u91cc\u8bd5\u8bd5\uff01\u201d \u6216 \u201c\u63a8\u8350\u5c06 Gemini-2.5-pro-exp \u96c6\u6210\u5230 Cursor \u4e2d\u201d\uff0c**\u7edd\u4e0d\u80fd** \u7ffb\u8bd1 &#34;Cursor&#34; \u6216 &#34;Gemini-2.5-pro-exp&#34;\u3002\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    \u8bd1\u6587\u76ee\u6807: \u9ad8\u5ea6\u81ea\u7136\u5730\u9053\u7684\u4e2d\u6587\u53e3\u8bed\u8bd1\u6587\uff0c\u5982\u540c\u771f\u8bda\u7528\u6237\u70ed\u60c5\u63a8\u8350\uff0c\u800c\u975e\u673a\u5668\u7ffb\u8bd1\u3002\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    \u53ef\u9009\u7f51\u9875\u4e0a\u4e0b\u6587\u4fe1\u606f (\u5982\u6709\uff0c\u8bf7\u53c2\u8003\u4ee5\u63d0\u5347\u7ffb\u8bd1\u8d28\u91cf):\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    {{title_prompt}} (\u7f51\u9875\u6807\u9898\uff0c\u4f8b\u5982: \u201c\u7f51\u9875\u6807\u9898: Cursor \u7528\u6237\u8bc4\u4ef7\u201d)\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    {{summary_prompt}} (\u7f51\u9875\u4e0a\u4e0b\u6587\u6458\u8981\uff0c\u4f8b\u5982: \u201c\u7f51\u9875\u6458\u8981: \u672c\u6587\u603b\u7ed3\u7528\u6237\u5bf9 Cursor \u7f16\u8f91\u5668\u7684\u6b63\u9762\u8bc4\u4ef7\u2026\u201d)\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    {{terms_prompt}} (\u76f8\u5173\u4e13\u4e1a\u672f\u8bed\uff0c\u4f8b\u5982: \u201c\u4e13\u4e1a\u672f\u8bed: IDE, \u4ee3\u7801\u7f16\u8f91\u5668, AI \u52a9\u624b\u2026\u201d)\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\u5f85\u7ffb\u8bd1\u7684\u6587\u672c\u5185\u5bb9:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">{{text}}\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\u8bf7\u52a1\u5fc5\u53ea\u8fd4\u56de\u9ad8\u8d28\u91cf\u3001\u5730\u9053\u7684\u4e2d\u6587\u53e3\u8bed\u5316\u8bd1\u6587\uff01\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><!-- raw HTML omitted -->\n<!-- raw HTML omitted -->\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">**\u4e13\u6709\u540d\u8bcd\u5904\u7406:** \u5bf9\u4e8e\u82f1\u6587\u539f\u6587\u4e2d\u7684 **\u4ea7\u54c1\u540d\u79f0\u3001\u8f6f\u4ef6\u540d\u79f0\u3001\u6280\u672f\u672f\u8bed\u3001\u6a21\u578b\u540d\u79f0\u3001\u54c1\u724c\u540d\u79f0\u3001\u4ee3\u7801\u6807\u8bc6\u7b26\u6216\u7279\u5b9a\u82f1\u6587\u7f29\u5199** \u7b49\u4e13\u6709\u540d\u8bcd\uff08\u4f8b\u5982 &#34;Cursor&#34;, &#34;Gemini-2.5-pro-exp&#34;, &#34;VS Code&#34;, &#34;API&#34;, &#34;GPT-4&#34;\uff09\uff0c**\u5fc5\u987b\u4fdd\u7559\u5176\u539f\u59cb\u82f1\u6587\u5f62\u5f0f\uff0c\u4e0d\u8fdb\u884c\u7ffb\u8bd1**\u3002\u8bf7\u5c06\u8fd9\u4e9b\u82f1\u6587\u672f\u8bed\u81ea\u7136\u5730\u5d4c\u5165\u5230\u6d41\u7545\u7684\u4e2d\u6587\u8bd1\u6587\u4e2d\u3002 * **\u91cd\u8981\u793a\u4f8b:** \u5982\u679c\u539f\u6587\u662f &#34;Add Gemini-2.5-pro-exp to Cursor&#34;\uff0c\u4e00\u4e2a\u597d\u7684\u7ffb\u8bd1\u5e94\u8be5\u662f\u50cf \u201c\u5feb\u628a Gemini-2.5-pro-exp \u52a0\u5230 Cursor \u91cc\u8bd5\u8bd5\uff01\u201d \u6216 \u201c\u63a8\u8350\u5c06 Gemini-2.5-pro-exp \u96c6\u6210\u5230 Cursor \u4e2d\u201d\uff0c**\u7edd\u4e0d\u80fd** \u7ffb\u8bd1 &#34;Cursor&#34; \u6216 &#34;Gemini-2.5-pro-exp&#34;\u3002\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u9488\u5bf9\u6c89\u6d78\u5f0fMultiple Prompt\u7684\u9009\u9879,\u9700\u8981\u5355\u72ec\u4f18\u5316\u5904\u7406<\/p>"},{"title":"\u6cb9\u7334 \u5141\u8bb8\u8f93\u5165\u6846\u7c98\u8d34\u5185\u5bb9","link":"https:\/\/my.rongyiapi.com\/posts\/%E6%B2%B9%E7%8C%B4-%E5%85%81%E8%AE%B8%E8%BE%93%E5%85%A5%E6%A1%86%E7%B2%98%E8%B4%B4%E5%86%85%E5%AE%B9\/","pubDate":"Mon, 09 Jun 2025 05:42:38 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/%E6%B2%B9%E7%8C%B4-%E5%85%81%E8%AE%B8%E8%BE%93%E5%85%A5%E6%A1%86%E7%B2%98%E8%B4%B4%E5%86%85%E5%AE%B9\/","description":"<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\">12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-13\"><a class=\"lnlinks\" href=\"#hl-0-13\">13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-14\"><a class=\"lnlinks\" href=\"#hl-0-14\">14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-15\"><a class=\"lnlinks\" href=\"#hl-0-15\">15<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-16\"><a class=\"lnlinks\" href=\"#hl-0-16\">16<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-17\"><a class=\"lnlinks\" href=\"#hl-0-17\">17<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-18\"><a class=\"lnlinks\" href=\"#hl-0-18\">18<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-19\"><a class=\"lnlinks\" href=\"#hl-0-19\">19<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-20\"><a class=\"lnlinks\" href=\"#hl-0-20\">20<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-21\"><a class=\"lnlinks\" href=\"#hl-0-21\">21<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-22\"><a class=\"lnlinks\" href=\"#hl-0-22\">22<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-23\"><a class=\"lnlinks\" href=\"#hl-0-23\">23<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-24\"><a class=\"lnlinks\" href=\"#hl-0-24\">24<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-25\"><a class=\"lnlinks\" href=\"#hl-0-25\">25<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-26\"><a class=\"lnlinks\" href=\"#hl-0-26\">26<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-27\"><a class=\"lnlinks\" href=\"#hl-0-27\">27<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-28\"><a class=\"lnlinks\" href=\"#hl-0-28\">28<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-29\"><a class=\"lnlinks\" href=\"#hl-0-29\">29<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-30\"><a class=\"lnlinks\" href=\"#hl-0-30\">30<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-31\"><a class=\"lnlinks\" href=\"#hl-0-31\">31<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-32\"><a class=\"lnlinks\" href=\"#hl-0-32\">32<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-33\"><a class=\"lnlinks\" href=\"#hl-0-33\">33<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-34\"><a class=\"lnlinks\" href=\"#hl-0-34\">34<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-35\"><a class=\"lnlinks\" href=\"#hl-0-35\">35<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-36\"><a class=\"lnlinks\" href=\"#hl-0-36\">36<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-37\"><a class=\"lnlinks\" href=\"#hl-0-37\">37<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-38\"><a class=\"lnlinks\" href=\"#hl-0-38\">38<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-39\"><a class=\"lnlinks\" href=\"#hl-0-39\">39<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-40\"><a class=\"lnlinks\" href=\"#hl-0-40\">40<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-41\"><a class=\"lnlinks\" href=\"#hl-0-41\">41<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-42\"><a class=\"lnlinks\" href=\"#hl-0-42\">42<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-43\"><a class=\"lnlinks\" href=\"#hl-0-43\">43<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-44\"><a class=\"lnlinks\" href=\"#hl-0-44\">44<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-45\"><a class=\"lnlinks\" href=\"#hl-0-45\">45<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-46\"><a class=\"lnlinks\" href=\"#hl-0-46\">46<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-47\"><a class=\"lnlinks\" href=\"#hl-0-47\">47<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-48\"><a class=\"lnlinks\" href=\"#hl-0-48\">48<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-49\"><a class=\"lnlinks\" href=\"#hl-0-49\">49<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-50\"><a class=\"lnlinks\" href=\"#hl-0-50\">50<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-51\"><a class=\"lnlinks\" href=\"#hl-0-51\">51<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-52\"><a class=\"lnlinks\" href=\"#hl-0-52\">52<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-53\"><a class=\"lnlinks\" href=\"#hl-0-53\">53<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-54\"><a class=\"lnlinks\" href=\"#hl-0-54\">54<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-55\"><a class=\"lnlinks\" href=\"#hl-0-55\">55<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-56\"><a class=\"lnlinks\" href=\"#hl-0-56\">56<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-57\"><a class=\"lnlinks\" href=\"#hl-0-57\">57<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-58\"><a class=\"lnlinks\" href=\"#hl-0-58\">58<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-59\"><a class=\"lnlinks\" href=\"#hl-0-59\">59<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-60\"><a class=\"lnlinks\" href=\"#hl-0-60\">60<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-61\"><a class=\"lnlinks\" href=\"#hl-0-61\">61<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-62\"><a class=\"lnlinks\" href=\"#hl-0-62\">62<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-63\"><a class=\"lnlinks\" href=\"#hl-0-63\">63<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-64\"><a class=\"lnlinks\" href=\"#hl-0-64\">64<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-gdscript3\" data-lang=\"gdscript3\"><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"o\">==<\/span><span class=\"n\">UserScript<\/span><span class=\"o\">==<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">name<\/span>         <span class=\"err\">\u5141\u8bb8\u8f93\u5165\u6846\u7c98\u8d34\u5185\u5bb9<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">namespace<\/span>    <span class=\"n\">http<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/<\/span><span class=\"n\">tampermonkey<\/span><span class=\"o\">.<\/span><span class=\"n\">net<\/span><span class=\"o\">\/<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">version<\/span>      <span class=\"mf\">0.1<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">description<\/span>  <span class=\"err\">\u5728\u6240\u6709\u7f51\u9875\u4e0a\u5141\u8bb8\u8f93\u5165\u6846\u7c98\u8d34\u5185\u5bb9<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">author<\/span>       <span class=\"err\">\u60a8\u7684\u540d\u5b57<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">match<\/span>        <span class=\"n\">https<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/*\/*<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"err\">@<\/span><span class=\"n\">grant<\/span>        <span class=\"n\">none<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">\/\/<\/span> <span class=\"o\">==\/<\/span><span class=\"n\">UserScript<\/span><span class=\"o\">==<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"n\">function<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s1\">&#39;use strict&#39;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u65b9\u6cd5<\/span> <span class=\"mi\">1<\/span><span class=\"p\">:<\/span> <span class=\"err\">\u79fb\u9664<\/span> <span class=\"n\">oncopy<\/span><span class=\"p\">,<\/span> <span class=\"n\">oncut<\/span><span class=\"p\">,<\/span> <span class=\"n\">onpaste<\/span> <span class=\"err\">\u4e8b\u4ef6<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">body<\/span><span class=\"o\">.<\/span><span class=\"n\">setAttribute<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;oncopy&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">body<\/span><span class=\"o\">.<\/span><span class=\"n\">setAttribute<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;oncut&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">body<\/span><span class=\"o\">.<\/span><span class=\"n\">setAttribute<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;onpaste&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u65b9\u6cd5<\/span> <span class=\"mi\">2<\/span><span class=\"p\">:<\/span> <span class=\"err\">\u79fb\u9664\u6240\u6709\u5143\u7d20\u7684\u4e8b\u4ef6\u76d1\u542c\u5668<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">removeEventListeners<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"n\">el<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">el<\/span><span class=\"o\">.<\/span><span class=\"n\">removeAttribute<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;onpaste&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">el<\/span><span class=\"o\">.<\/span><span class=\"n\">removeAttribute<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;oncopy&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">el<\/span><span class=\"o\">.<\/span><span class=\"n\">removeAttribute<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;oncut&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">};<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u904d\u5386\u6240\u6709\u5143\u7d20<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">allElements<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">querySelectorAll<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;*&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">allElements<\/span><span class=\"o\">.<\/span><span class=\"n\">forEach<\/span><span class=\"p\">(<\/span><span class=\"n\">el<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"n\">removeEventListeners<\/span><span class=\"p\">(<\/span><span class=\"n\">el<\/span><span class=\"p\">));<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u65b9\u6cd5<\/span> <span class=\"mi\">3<\/span><span class=\"p\">:<\/span> <span class=\"err\">\u4f7f\u7528\u4e8b\u4ef6\u6355\u83b7\u9636\u6bb5\u6765\u8986\u76d6\u4e8b\u4ef6<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;copy&#39;<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"n\">e<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span> <span class=\"n\">e<\/span><span class=\"o\">.<\/span><span class=\"n\">stopPropagation<\/span><span class=\"p\">();<\/span> <span class=\"p\">},<\/span> <span class=\"bp\">true<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;paste&#39;<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"n\">e<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span> <span class=\"n\">e<\/span><span class=\"o\">.<\/span><span class=\"n\">stopPropagation<\/span><span class=\"p\">();<\/span> <span class=\"p\">},<\/span> <span class=\"bp\">true<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;cut&#39;<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"n\">e<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span> <span class=\"n\">e<\/span><span class=\"o\">.<\/span><span class=\"n\">stopPropagation<\/span><span class=\"p\">();<\/span> <span class=\"p\">},<\/span> <span class=\"bp\">true<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u65b9\u6cd5<\/span> <span class=\"mi\">4<\/span><span class=\"p\">:<\/span> <span class=\"err\">\u66f4\u6539\u6837\u5f0f\uff0c\u5c1d\u8bd5\u89e3\u9664\u9650\u5236<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">styles<\/span> <span class=\"o\">=<\/span> <span class=\"err\">`<\/span><span class=\"o\">*<\/span><span class=\"p\">:<\/span><span class=\"ow\">not<\/span><span class=\"p\">(<\/span><span class=\"n\">input<\/span><span class=\"p\">):<\/span><span class=\"ow\">not<\/span><span class=\"p\">(<\/span><span class=\"n\">textarea<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">-<\/span><span class=\"n\">webkit<\/span><span class=\"o\">-<\/span><span class=\"n\">user<\/span><span class=\"o\">-<\/span><span class=\"n\">select<\/span><span class=\"p\">:<\/span> <span class=\"n\">text<\/span> <span class=\"o\">!<\/span><span class=\"n\">important<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">-<\/span><span class=\"n\">moz<\/span><span class=\"o\">-<\/span><span class=\"n\">user<\/span><span class=\"o\">-<\/span><span class=\"n\">select<\/span><span class=\"p\">:<\/span> <span class=\"n\">text<\/span> <span class=\"o\">!<\/span><span class=\"n\">important<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"o\">-<\/span><span class=\"n\">ms<\/span><span class=\"o\">-<\/span><span class=\"n\">user<\/span><span class=\"o\">-<\/span><span class=\"n\">select<\/span><span class=\"p\">:<\/span> <span class=\"n\">text<\/span> <span class=\"o\">!<\/span><span class=\"n\">important<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">user<\/span><span class=\"o\">-<\/span><span class=\"n\">select<\/span><span class=\"p\">:<\/span> <span class=\"n\">text<\/span> <span class=\"o\">!<\/span><span class=\"n\">important<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span><span class=\"err\">`<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">styleSheet<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">createElement<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;style&#34;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">styleSheet<\/span><span class=\"o\">.<\/span><span class=\"n\">type<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&#34;text\/css&#34;<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">styleSheet<\/span><span class=\"o\">.<\/span><span class=\"n\">innerText<\/span> <span class=\"o\">=<\/span> <span class=\"n\">styles<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">head<\/span><span class=\"o\">.<\/span><span class=\"n\">appendChild<\/span><span class=\"p\">(<\/span><span class=\"n\">styleSheet<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u65b9\u6cd5<\/span> <span class=\"mi\">5<\/span><span class=\"p\">:<\/span> <span class=\"err\">\u89e3\u9664\u53ef\u80fd\u88ab\u8bbe\u7f6e\u7684\u53ea\u8bfb\u5c5e\u6027<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">const<\/span> <span class=\"n\">inputs<\/span> <span class=\"o\">=<\/span> <span class=\"n\">document<\/span><span class=\"o\">.<\/span><span class=\"n\">querySelectorAll<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;input, textarea&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">inputs<\/span><span class=\"o\">.<\/span><span class=\"n\">forEach<\/span><span class=\"p\">(<\/span><span class=\"n\">input<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">input<\/span><span class=\"o\">.<\/span><span class=\"n\">removeAttribute<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;readonly&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">input<\/span><span class=\"o\">.<\/span><span class=\"n\">removeAttribute<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;disabled&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"o\">\/\/<\/span> <span class=\"err\">\u65b9\u6cd5<\/span> <span class=\"mi\">6<\/span><span class=\"p\">:<\/span> <span class=\"err\">\u4f7f\u7528\u5b9a\u65f6\u5668\u4e0d\u65ad\u5c1d\u8bd5\u89e3\u9664\u9650\u5236<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">setInterval<\/span><span class=\"p\">(()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">allElements<\/span><span class=\"o\">.<\/span><span class=\"n\">forEach<\/span><span class=\"p\">(<\/span><span class=\"n\">el<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"n\">removeEventListeners<\/span><span class=\"p\">(<\/span><span class=\"n\">el<\/span><span class=\"p\">));<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">inputs<\/span><span class=\"o\">.<\/span><span class=\"n\">forEach<\/span><span class=\"p\">(<\/span><span class=\"n\">input<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">input<\/span><span class=\"o\">.<\/span><span class=\"n\">removeAttribute<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;readonly&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">input<\/span><span class=\"o\">.<\/span><span class=\"n\">removeAttribute<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;disabled&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">},<\/span> <span class=\"mi\">1000<\/span><span class=\"p\">);<\/span> <span class=\"o\">\/\/<\/span> <span class=\"err\">\u6bcf\u79d2\u5c1d\u8bd5\u4e00\u6b21<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">})();<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"python  mcp\u670d\u52a1\u5668\u8fd4\u56de\u56fe\u7247\u4f8b\u5b50","link":"https:\/\/my.rongyiapi.com\/posts\/python--mcp%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%94%E5%9B%9E%E5%9B%BE%E7%89%87%E4%BE%8B%E5%AD%90\/","pubDate":"Wed, 04 Jun 2025 10:45:03 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/python--mcp%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%94%E5%9B%9E%E5%9B%BE%E7%89%87%E4%BE%8B%E5%AD%90\/","description":"<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\">12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-13\"><a class=\"lnlinks\" href=\"#hl-0-13\">13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-14\"><a class=\"lnlinks\" href=\"#hl-0-14\">14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-15\"><a class=\"lnlinks\" href=\"#hl-0-15\">15<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-16\"><a class=\"lnlinks\" href=\"#hl-0-16\">16<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-17\"><a class=\"lnlinks\" href=\"#hl-0-17\">17<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-18\"><a class=\"lnlinks\" href=\"#hl-0-18\">18<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-19\"><a class=\"lnlinks\" href=\"#hl-0-19\">19<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-20\"><a class=\"lnlinks\" href=\"#hl-0-20\">20<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-21\"><a class=\"lnlinks\" href=\"#hl-0-21\">21<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-22\"><a class=\"lnlinks\" href=\"#hl-0-22\">22<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-23\"><a class=\"lnlinks\" href=\"#hl-0-23\">23<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-24\"><a class=\"lnlinks\" href=\"#hl-0-24\">24<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-25\"><a class=\"lnlinks\" href=\"#hl-0-25\">25<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-26\"><a class=\"lnlinks\" href=\"#hl-0-26\">26<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-27\"><a class=\"lnlinks\" href=\"#hl-0-27\">27<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-28\"><a class=\"lnlinks\" href=\"#hl-0-28\">28<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-29\"><a class=\"lnlinks\" href=\"#hl-0-29\">29<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-30\"><a class=\"lnlinks\" href=\"#hl-0-30\">30<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-31\"><a class=\"lnlinks\" href=\"#hl-0-31\">31<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-32\"><a class=\"lnlinks\" href=\"#hl-0-32\">32<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-33\"><a class=\"lnlinks\" href=\"#hl-0-33\">33<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-34\"><a class=\"lnlinks\" href=\"#hl-0-34\">34<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-35\"><a class=\"lnlinks\" href=\"#hl-0-35\">35<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-36\"><a class=\"lnlinks\" href=\"#hl-0-36\">36<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-37\"><a class=\"lnlinks\" href=\"#hl-0-37\">37<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-38\"><a class=\"lnlinks\" href=\"#hl-0-38\">38<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-39\"><a class=\"lnlinks\" href=\"#hl-0-39\">39<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-40\"><a class=\"lnlinks\" href=\"#hl-0-40\">40<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-41\"><a class=\"lnlinks\" href=\"#hl-0-41\">41<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-42\"><a class=\"lnlinks\" href=\"#hl-0-42\">42<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-43\"><a class=\"lnlinks\" href=\"#hl-0-43\">43<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-44\"><a class=\"lnlinks\" href=\"#hl-0-44\">44<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-gdscript3\" data-lang=\"gdscript3\"><span class=\"line\"><span class=\"cl\"><span class=\"s2\">&#34;&#34;&#34;\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">FastMCP\u56fe\u7247\u5de5\u5177\u793a\u4f8b\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">\u8fd9\u4e2a\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u5728FastMCP\u4e2d\u521b\u5efa\u8fd4\u56de\u56fe\u50cf\u7684\u5de5\u5177\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">&#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">from<\/span> <span class=\"n\">fastmcp<\/span> <span class=\"n\">import<\/span> <span class=\"n\">FastMCP<\/span><span class=\"p\">,<\/span> <span class=\"ne\">Image<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">from<\/span> <span class=\"n\">typing<\/span> <span class=\"n\">import<\/span> <span class=\"n\">Optional<\/span><span class=\"p\">,<\/span> <span class=\"n\">List<\/span><span class=\"p\">,<\/span> <span class=\"n\">Dict<\/span><span class=\"p\">,<\/span> <span class=\"n\">Any<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">from<\/span> <span class=\"n\">PIL<\/span> <span class=\"n\">import<\/span> <span class=\"ne\">Image<\/span> <span class=\"n\">as<\/span> <span class=\"n\">PILImage<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">from<\/span> <span class=\"n\">PIL<\/span> <span class=\"n\">import<\/span> <span class=\"n\">ImageDraw<\/span><span class=\"p\">,<\/span> <span class=\"n\">ImageFont<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">import<\/span> <span class=\"n\">os<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">import<\/span> <span class=\"n\">io<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">import<\/span> <span class=\"n\">base64<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># \u521b\u5efaFastMCP\u5b9e\u4f8b<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">mcp<\/span> <span class=\"o\">=<\/span> <span class=\"n\">FastMCP<\/span><span class=\"p\">(<\/span><span class=\"n\">name<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;\u56fe\u7247\u5904\u7406\u670d\u52a1&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"err\">@<\/span><span class=\"n\">mcp<\/span><span class=\"o\">.<\/span><span class=\"k\">tool<\/span><span class=\"p\">()<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">def<\/span> <span class=\"nf\">image_to_base64<\/span><span class=\"p\">(<\/span><span class=\"n\">image_path<\/span><span class=\"p\">:<\/span> <span class=\"nb\">str<\/span><span class=\"p\">)<\/span> <span class=\"o\">-&gt;<\/span> <span class=\"ne\">Image<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s2\">&#34;&#34;&#34;\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">    \u8bfb\u53d6\u6307\u5b9a\u8def\u5f84\u7684\u56fe\u7247\uff0c\u5e76\u8fd4\u56de\u4e00\u4e2a\u8868\u793a\u8be5\u56fe\u7247\u7684 fastmcp.Image \u5bf9\u8c61\uff0c\u4f7f\u7528\u5176\u539f\u59cb\u6570\u636e\u548c\u68c0\u6d4b\u5230\u7684\u683c\u5f0f\u3002\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">    Args:\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">        image_path: \u56fe\u7247\u6587\u4ef6\u7684\u8def\u5f84\u3002\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">    &#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">if<\/span> <span class=\"ow\">not<\/span> <span class=\"n\">os<\/span><span class=\"o\">.<\/span><span class=\"n\">path<\/span><span class=\"o\">.<\/span><span class=\"n\">exists<\/span><span class=\"p\">(<\/span><span class=\"n\">image_path<\/span><span class=\"p\">):<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">raise<\/span> <span class=\"n\">FileNotFoundError<\/span><span class=\"p\">(<\/span><span class=\"n\">f<\/span><span class=\"s2\">&#34;\u56fe\u7247\u6587\u4ef6 &#39;{image_path}&#39; \u4e0d\u5b58\u5728&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"c1\"># Open with PIL to get format, then read raw data<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">pil_img<\/span> <span class=\"o\">=<\/span> <span class=\"n\">PILImage<\/span><span class=\"o\">.<\/span><span class=\"n\">open<\/span><span class=\"p\">(<\/span><span class=\"n\">image_path<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"c1\"># Use PIL&#39;s detected format, defaulting to PNG if not found (as in resize_image)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"c1\"># Format should be lowercase for fastmcp.Image constructor based on generate_image example (format=&#34;png&#34;)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">img_format<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"n\">pil_img<\/span><span class=\"o\">.<\/span><span class=\"n\">format<\/span> <span class=\"ow\">or<\/span> <span class=\"s2\">&#34;PNG&#34;<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">lower<\/span><span class=\"p\">()<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">with<\/span> <span class=\"n\">open<\/span><span class=\"p\">(<\/span><span class=\"n\">image_path<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;rb&#34;<\/span><span class=\"p\">)<\/span> <span class=\"n\">as<\/span> <span class=\"n\">f<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">image_data<\/span> <span class=\"o\">=<\/span> <span class=\"n\">f<\/span><span class=\"o\">.<\/span><span class=\"n\">read<\/span><span class=\"p\">()<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"c1\"># The old mime_type and base64_str logic is no longer needed here for constructor<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"c1\"># \u8fd4\u56de fastmcp.Image \u5bf9\u8c61\uff0c\u4f7f\u7528\u539f\u59cb\u56fe\u50cf\u6570\u636e\u548c\u683c\u5f0f<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">return<\/span> <span class=\"ne\">Image<\/span><span class=\"p\">(<\/span><span class=\"n\">data<\/span><span class=\"o\">=<\/span><span class=\"n\">image_data<\/span><span class=\"p\">,<\/span> <span class=\"n\">format<\/span><span class=\"o\">=<\/span><span class=\"n\">img_format<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> \n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span> <span class=\"n\">__name__<\/span> <span class=\"o\">==<\/span> <span class=\"s2\">&#34;__main__&#34;<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">\u542f\u52a8FastMCP\u56fe\u7247\u5904\u7406\u670d\u52a1\u5668...&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">mcp<\/span><span class=\"o\">.<\/span><span class=\"n\">run<\/span><span class=\"p\">()<\/span> \n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"\u5206\u4eab\u4ee3\u7801\u7684\u7f8e\u5316\u5de5\u5177","link":"https:\/\/my.rongyiapi.com\/posts\/%E5%88%86%E4%BA%AB%E4%BB%A3%E7%A0%81%E7%9A%84%E7%BE%8E%E5%8C%96%E5%B7%A5%E5%85%B7\/","pubDate":"Wed, 30 Oct 2024 06:37:21 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/%E5%88%86%E4%BA%AB%E4%BB%A3%E7%A0%81%E7%9A%84%E7%BE%8E%E5%8C%96%E5%B7%A5%E5%85%B7\/","description":"<p><a href=\"https:\/\/chalk.ist\/\">https:\/\/chalk.ist\/<\/a>\n\u6548\u679c\u86ee\u60ca\u8273\u7684\n<img loading=\"lazy\" src=\"https:\/\/github.com\/user-attachments\/assets\/32c07c2f-2ab9-4ee5-8139-6f83b6b4f988\" alt=\"image\"  \/>\n<\/p>"},{"title":"docker\u542f\u52a8apache\u9759\u6001\u670d\u52a1\u5668","link":"https:\/\/my.rongyiapi.com\/posts\/docker%E5%90%AF%E5%8A%A8apache%E9%9D%99%E6%80%81%E6%9C%8D%E5%8A%A1%E5%99%A8\/","pubDate":"Sun, 29 Sep 2024 18:39:20 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/docker%E5%90%AF%E5%8A%A8apache%E9%9D%99%E6%80%81%E6%9C%8D%E5%8A%A1%E5%99%A8\/","description":"<p>\u6700\u8fd1\u5728\u90e8\u7f72vite\u7684\u9759\u6001\u9879\u76ee\u9700\u8981\u7528\u5230apache<\/p>\n<p>docker-compose.yaml<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\">11<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">services:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  apache:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    image: httpd:latest\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    container_name: apache_container\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    ports:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - &#34;8888:80&#34;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    volumes:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - \/Users\/ll\/Desktop\/2024\/vite-vue-mks\/dist:\/usr\/local\/apache2\/htdocs\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - .\/httpd.conf:\/usr\/local\/apache2\/conf\/httpd.conf\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    restart: always\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    command: \/bin\/bash -c &#34;cat \/usr\/local\/apache2\/conf\/httpd.conf &amp;&amp; httpd-foreground&#34;\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>httpd.conf<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-2\"><a class=\"lnlinks\" href=\"#hl-1-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-3\"><a class=\"lnlinks\" href=\"#hl-1-3\">3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-4\"><a class=\"lnlinks\" href=\"#hl-1-4\">4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-5\"><a class=\"lnlinks\" href=\"#hl-1-5\">5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-6\"><a class=\"lnlinks\" href=\"#hl-1-6\">6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-7\"><a class=\"lnlinks\" href=\"#hl-1-7\">7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-8\"><a class=\"lnlinks\" href=\"#hl-1-8\">8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-9\"><a class=\"lnlinks\" href=\"#hl-1-9\">9<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\"># \u5305\u542b\u539f\u59cb\u914d\u7f6e\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Include conf\/original\/httpd.conf\n<\/span><\/span><span class=\"line\"><span class=\"cl\">LoadModule rewrite_module modules\/mod_rewrite.so\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"># \u542f\u7528 .htaccess\n<\/span><\/span><span class=\"line\"><span class=\"cl\">&lt;Directory &#34;\/usr\/local\/apache2\/htdocs&#34;&gt;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    AllowOverride All\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    Require all granted\n<\/span><\/span><span class=\"line\"><span class=\"cl\">&lt;\/Directory&gt;\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"TestFlight \u4f1a\u5f39\u51fa \u201c\u6240\u8bf7\u6c42\u7684 App \u4e0d\u53ef\u7528\u6216\u8005\u4e0d\u5b58\u5728\u201d \u7684\u63d0\u793a\u89e3\u51b3\u529e\u6cd5","link":"https:\/\/my.rongyiapi.com\/posts\/testflight-%E4%BC%9A%E5%BC%B9%E5%87%BA-%E6%89%80%E8%AF%B7%E6%B1%82%E7%9A%84-app-%E4%B8%8D%E5%8F%AF%E7%94%A8%E6%88%96%E8%80%85%E4%B8%8D%E5%AD%98%E5%9C%A8-%E7%9A%84%E6%8F%90%E7%A4%BA%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95\/","pubDate":"Fri, 27 Sep 2024 23:34:51 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/testflight-%E4%BC%9A%E5%BC%B9%E5%87%BA-%E6%89%80%E8%AF%B7%E6%B1%82%E7%9A%84-app-%E4%B8%8D%E5%8F%AF%E7%94%A8%E6%88%96%E8%80%85%E4%B8%8D%E5%AD%98%E5%9C%A8-%E7%9A%84%E6%8F%90%E7%A4%BA%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95\/","description":"<p>\u7528\u4e0b\u9762\u8fd9\u4e2a\u4e1c\u897f\u5207\u4e00\u4e0b\u5730\u533a\u5c31\u80fd\u7528\u4e86<\/p>\n<p>App Store Region<\/p>\n<p><a href=\"https:\/\/www.icloud.com\/shortcuts\/e5b5ec353fd14f828d063daf767de20f\">https:\/\/www.icloud.com\/shortcuts\/e5b5ec353fd14f828d063daf767de20f<\/a><\/p>"},{"title":"docker-compose\u5e38\u7528\u547d\u4ee4","link":"https:\/\/my.rongyiapi.com\/posts\/docker-compose%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4\/","pubDate":"Wed, 25 Sep 2024 11:37:32 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/docker-compose%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4\/","description":"<h3 id=\"\u62c9\u53d6\u6700\u65b0\u955c\u50cf\u91cd\u65b0\u90e8\u7f72\">\u62c9\u53d6\u6700\u65b0\u955c\u50cf\u91cd\u65b0\u90e8\u7f72<\/h3>\n<p>\u5efa\u7acb\u6587\u4ef6 run.sh<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\">3<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker-compose pull\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker-compose down\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker-compose up -d --build\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"\u67e5\u770b\u65e5\u5fd7\">\u67e5\u770b\u65e5\u5fd7<\/h3>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker-compose logs -f --tail 100\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"\u6cb9\u7334\u811a\u672c\u7684\u4e2d\u7ea7\u6559\u7a0b\uff1a\u62e6\u622a\u548c\u4fee\u6539\u7f51\u9875\u7684\u5c0f\u6280\u5de7","link":"https:\/\/my.rongyiapi.com\/posts\/%E6%B2%B9%E7%8C%B4%E8%84%9A%E6%9C%AC%E7%9A%84%E4%B8%AD%E7%BA%A7%E6%95%99%E7%A8%8B%E6%8B%A6%E6%88%AA%E5%92%8C%E4%BF%AE%E6%94%B9%E7%BD%91%E9%A1%B5%E7%9A%84%E5%B0%8F%E6%8A%80%E5%B7%A7\/","pubDate":"Mon, 23 Sep 2024 17:14:37 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/%E6%B2%B9%E7%8C%B4%E8%84%9A%E6%9C%AC%E7%9A%84%E4%B8%AD%E7%BA%A7%E6%95%99%E7%A8%8B%E6%8B%A6%E6%88%AA%E5%92%8C%E4%BF%AE%E6%94%B9%E7%BD%91%E9%A1%B5%E7%9A%84%E5%B0%8F%E6%8A%80%E5%B7%A7\/","description":"<h1 id=\"\u6cb9\u7334\u811a\u672c\u7684\u4e2d\u7ea7\u6559\u7a0b\u62e6\u622a\u548c\u4fee\u6539\u7f51\u9875\u7684\u5c0f\u6280\u5de7\">\u6cb9\u7334\u811a\u672c\u7684\u4e2d\u7ea7\u6559\u7a0b\uff1a\u62e6\u622a\u548c\u4fee\u6539\u7f51\u9875\u7684\u5c0f\u6280\u5de7<\/h1>\n<p>\u8fd9\u662f\u6cb9\u7334\u811a\u672c\u4e2d\u62e6\u622a\u548c\u4fee\u6539\u7f51\u9875\u7684\u4e00\u4e9b\u5c0f\u6280\u5de7\u3002\u8fd9\u4e9b\u5185\u5bb9\u53ef\u80fd\u5f88\u591a\u4eba\u90fd\u77e5\u9053\uff0c\u4f46\u662f\u5bf9\u4e8e\u4e00\u4e9b\u4eba\u6765\u8bf4\u53ef\u80fd\u4ecd\u7136\u6709\u7528\uff0c\u6240\u4ee5\u6211\u5728\u8fd9\u91cc\u5206\u4eab\u7ed9\u5927\u5bb6\u3002<\/p>\n<h2 id=\"\u5f53\u7279\u5b9a\u5143\u7d20\u6dfb\u52a0\u5230-dom-\u65f6\u89e6\u53d1\u811a\u672c\">\u5f53\u7279\u5b9a\u5143\u7d20\u6dfb\u52a0\u5230 DOM \u65f6\u89e6\u53d1\u811a\u672c<\/h2>\n<p>\u4f7f\u7528 <code>setInterval<\/code> \u5b9a\u671f\u68c0\u67e5\u5143\u7d20\u4e0d\u662f\u4e00\u4e2a\u597d\u4e3b\u610f\uff0c\u56e0\u4e3a\u5b83\u5e76\u4e0d\u9ad8\u6548\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u6027\u80fd\u95ee\u9898\u3002<\/p>\n<p>\u901a\u8fc7\u4f7f\u7528 <code>MutationObserver<\/code> \uff0c\u6211\u4eec\u53ef\u4ee5\u5728\u7279\u5b9a\u5143\u7d20\u6dfb\u52a0\u5230 DOM \u65f6\u89e6\u53d1\u811a\u672c\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\">12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-13\"><a class=\"lnlinks\" href=\"#hl-0-13\">13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-14\"><a class=\"lnlinks\" href=\"#hl-0-14\">14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-15\"><a class=\"lnlinks\" href=\"#hl-0-15\">15<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-javascript\" data-lang=\"javascript\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">function<\/span> <span class=\"nx\">wait_for_element<\/span><span class=\"p\">(<\/span><span class=\"nx\">selector<\/span><span class=\"p\">,<\/span> <span class=\"nx\">callback<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"kr\">const<\/span> <span class=\"nx\">observer<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">MutationObserver<\/span><span class=\"p\">((<\/span><span class=\"nx\">mutationsList<\/span><span class=\"p\">,<\/span> <span class=\"nx\">observer<\/span><span class=\"p\">)<\/span> <span class=\"p\">=&gt;<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"kr\">const<\/span> <span class=\"nx\">mutation<\/span> <span class=\"k\">of<\/span> <span class=\"nx\">mutationsList<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">mutation<\/span><span class=\"p\">.<\/span><span class=\"nx\">type<\/span> <span class=\"o\">===<\/span> <span class=\"s1\">&#39;childList&#39;<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"kr\">const<\/span> <span class=\"nx\">elements<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">document<\/span><span class=\"p\">.<\/span><span class=\"nx\">querySelectorAll<\/span><span class=\"p\">(<\/span><span class=\"nx\">selector<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">elements<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"nx\">observer<\/span><span class=\"p\">.<\/span><span class=\"nx\">disconnect<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"nx\">callback<\/span><span class=\"p\">(<\/span><span class=\"nx\">elements<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"c1\">\/\/ Filter desired elements by `mutation.addedNodes` here\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"nx\">observer<\/span><span class=\"p\">.<\/span><span class=\"nx\">observe<\/span><span class=\"p\">(<\/span><span class=\"nb\">document<\/span><span class=\"p\">.<\/span><span class=\"nx\">body<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span><span class=\"nx\">childList<\/span><span class=\"o\">:<\/span> <span class=\"kc\">true<\/span><span class=\"p\">,<\/span> <span class=\"nx\">subtree<\/span><span class=\"o\">:<\/span> <span class=\"kc\">true<\/span><span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u62e6\u622a-fetch-\u8bf7\u6c42\">\u62e6\u622a fetch \u8bf7\u6c42<\/h2>\n<p>\u8981\u62e6\u622a fetch \u8bf7\u6c42\uff0c\u6211\u4eec\u53ef\u4ee5\u8986\u76d6 <code>window.fetch<\/code> \u51fd\u6570\u3002\u4ee5\u4e0b\u662f\u5982\u4f55\u62e6\u622a fetch \u8bf7\u6c42\u7684\u793a\u4f8b\uff1a<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-2\"><a class=\"lnlinks\" href=\"#hl-1-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-3\"><a class=\"lnlinks\" href=\"#hl-1-3\">3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-4\"><a class=\"lnlinks\" href=\"#hl-1-4\">4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-5\"><a class=\"lnlinks\" href=\"#hl-1-5\">5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-6\"><a class=\"lnlinks\" href=\"#hl-1-6\">6<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-javascript\" data-lang=\"javascript\"><span class=\"line\"><span class=\"cl\"><span class=\"kr\">const<\/span> <span class=\"nx\">originalFetch<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">window<\/span><span class=\"p\">.<\/span><span class=\"nx\">fetch<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nb\">window<\/span><span class=\"p\">.<\/span><span class=\"nx\">fetch<\/span> <span class=\"o\">=<\/span> <span class=\"kd\">function<\/span><span class=\"p\">(<\/span><span class=\"nx\">input<\/span><span class=\"p\">,<\/span> <span class=\"nx\">init<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;fetch request:&#39;<\/span><span class=\"p\">,<\/span> <span class=\"nx\">input<\/span><span class=\"p\">,<\/span> <span class=\"nx\">init<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"c1\">\/\/ Modify the input or init object here\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>    <span class=\"k\">return<\/span> <span class=\"nx\">originalFetch<\/span><span class=\"p\">.<\/span><span class=\"nx\">apply<\/span><span class=\"p\">(<\/span><span class=\"k\">this<\/span><span class=\"p\">,<\/span> <span class=\"nx\">arguments<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">};<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4f60\u53ef\u4ee5\u7528\u7c7b\u4f3c\u7684\u65b9\u5f0f\u62e6\u622a\u4efb\u4f55\u8bf7\u6c42\uff0c\u6bd4\u5982 <code>XMLHttpRequest<\/code>\uff0c<code>JQuery.ajax<\/code>\u3002<\/p>"},{"title":"\u672c\u5730\u5927\u6a21\u578b\u7684\u804a\u5929 UI \u6536\u96c6","link":"https:\/\/my.rongyiapi.com\/posts\/%E6%9C%AC%E5%9C%B0%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9A%84%E8%81%8A%E5%A4%A9-ui-%E6%94%B6%E9%9B%86\/","pubDate":"Mon, 23 Sep 2024 09:24:31 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/%E6%9C%AC%E5%9C%B0%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9A%84%E8%81%8A%E5%A4%A9-ui-%E6%94%B6%E9%9B%86\/","description":"<h1 id=\"\u672c\u5730\u5927\u6a21\u578b\u7684\u804a\u5929-ui-\u6536\u96c6\">\u672c\u5730\u5927\u6a21\u578b\u7684\u804a\u5929 UI \u6536\u96c6<\/h1>\n<h2 id=\"ui-\u96c6\u5408\">UI \u96c6\u5408<\/h2>\n<ul>\n<li><strong>Open-webui:<\/strong> <a href=\"https:\/\/github.com\/open-webui\/open-webui\">open-webui\/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI) (github.com)<\/a><\/li>\n<li><strong>Chatbox:<\/strong> <a href=\"https:\/\/chatboxai.app\/\">Chatbox<\/a><\/li>\n<li><strong>LM Studio:<\/strong> <a href=\"https:\/\/lmstudio.ai\/\">LM Studio - Discover, download, and run local LLMs<\/a><\/li>\n<li><strong>AnythingLLM :<\/strong> <a href=\"https:\/\/useanything.com\/\">AnythingLLM | The ultimate AI business intelligence tool (useanything.com)<\/a><\/li>\n<\/ul>\n<h2 id=\"\u5b89\u88c5-open-webui\">\u5b89\u88c5 open-webui<\/h2>\n<p>\u4ee5\u4e0b\u662f\u4f7f\u7528 Docker \u5b89\u88c5 open-webui \u7684\u6b65\u9aa4\uff1a<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-sh\" data-lang=\"sh\"><span class=\"line\"><span class=\"cl\">docker run -d -p 3009:8080 --add-host<span class=\"o\">=<\/span>host.docker.internal:host-gateway -v open-webui:\/app\/backend\/data --name open-webui --restart always ghcr.io\/open-webui\/open-webui:main\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u5176\u4ed6\u76f8\u5173\u8d44\u6e90\">\u5176\u4ed6\u76f8\u5173\u8d44\u6e90<\/h2>\n<ul>\n<li><strong>Chatbox:<\/strong> \u4e00\u4e2a\u7b80\u5355\u6613\u7528\u7684\u804a\u5929\u5de5\u5177\uff0c\u652f\u6301\u591a\u79cd\u804a\u5929\u529f\u80fd\uff0c\u9002\u7528\u4e8e\u4e2a\u4eba\u548c\u56e2\u961f\u4f7f\u7528\u3002<a href=\"https:\/\/chatboxai.app\/\">Chatbox<\/a><\/li>\n<li><strong>LM Studio:<\/strong> \u4e00\u4e2a\u53d1\u73b0\u3001\u4e0b\u8f7d\u548c\u8fd0\u884c\u672c\u5730\u5927\u6a21\u578b\u7684\u5e73\u53f0\uff0c\u63d0\u4f9b\u7528\u6237\u53cb\u597d\u7684\u754c\u9762\u3002<a href=\"https:\/\/lmstudio.ai\/\">LM Studio<\/a><\/li>\n<li><strong>AnythingLLM:<\/strong> \u4e00\u4e2a\u7075\u6d3b\u7684 LLM \u5e73\u53f0\uff0c\u652f\u6301\u591a\u79cd\u5927\u6a21\u578b\u7684\u672c\u5730\u8fd0\u884c\u3002<\/li>\n<\/ul>\n<hr>\n<h1 id=\"\u5de5\u4f5c\u6d41\u7c7b\">\u5de5\u4f5c\u6d41\u7c7b<\/h1>\n<p><a href=\"https:\/\/docs.dify.ai\/v\/zh-hans\">\u6b22\u8fce\u4f7f\u7528 Dify | \u4e2d\u6587 | Dify<\/a>\n<a href=\"https:\/\/github.com\/sugarforever\/chat-ollama\/blob\/main\/README.zh-Hans.md#%E5%85%B3%E7%B3%BB%E6%95%B0%E6%8D%AE\">https:\/\/github.com\/sugarforever\/chat-ollama\/blob\/main\/README.zh-Hans.md#%E5%85%B3%E7%B3%BB%E6%95%B0%E6%8D%AE<\/a><\/p>"},{"title":"FastGPT \u4e0e Ollama \u7684\u5b89\u88c5\u4e0e\u914d\u7f6e\u6307\u5357","link":"https:\/\/my.rongyiapi.com\/posts\/fastgpt-%E4%B8%8E-ollama-%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE%E6%8C%87%E5%8D%97\/","pubDate":"Mon, 23 Sep 2024 09:23:39 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/fastgpt-%E4%B8%8E-ollama-%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE%E6%8C%87%E5%8D%97\/","description":"<p>[toc]<\/p>\n<h1 id=\"fastgpt-\u4e0e-ollama-\u7684\u5b89\u88c5\u4e0e\u914d\u7f6e\u6307\u5357\">FastGPT \u4e0e Ollama \u7684\u5b89\u88c5\u4e0e\u914d\u7f6e\u6307\u5357<\/h1>\n<h2 id=\"\u76f8\u5173\u77e5\u8bc6\">\u76f8\u5173\u77e5\u8bc6<\/h2>\n<ul>\n<li><strong>FastGPT:<\/strong> <a href=\"https:\/\/doc.fastgpt.in\/docs\/development\/\">\u5f00\u53d1\u4e0e\u90e8\u7f72\u6307\u5357 | FastGPT<\/a><\/li>\n<li><strong>Ollama:<\/strong> <a href=\"https:\/\/ollama.com\/\">Ollama<\/a><\/li>\n<li><strong>M3E:<\/strong> <a href=\"https:\/\/github.com\/wangyuxinwhy\/uniem\/tree\/main\/mteb-zh\">uniem\/mteb-zh at main \u00b7 wangyuxinwhy\/uniem (github.com)<\/a><\/li>\n<li><strong>Qwen:<\/strong> <a href=\"https:\/\/ollama.com\/library\/qwen2\">Qwen\u6a21\u578b\u4ecb\u7ecd qwen2 (ollama.com)<\/a><\/li>\n<\/ul>\n<h2 id=\"fastgpt\">FastGPT<\/h2>\n<h3 id=\"\u5b89\u88c5\u6307\u5357\">\u5b89\u88c5\u6307\u5357<\/h3>\n<h4 id=\"\u6b65\u9aa4\u4e00\u5b89\u88c5\">\u6b65\u9aa4\u4e00\uff1a\u5b89\u88c5<\/h4>\n<p>\u4f60\u53ef\u4ee5\u4f7f\u7528 Docker Compose \u5feb\u901f\u90e8\u7f72 FastGPT\u3002<\/p>\n<p>\u53c2\u8003\u6587\u6863\uff1a<a href=\"https:\/\/doc.fastai.site\/docs\/development\/docker\/\">Docker Compose \u5feb\u901f\u90e8\u7f72 | FastGPT (fastai.site)<\/a><\/p>\n<p>\u53c2\u8003\u6e90\u7801\uff1a<a href=\"https:\/\/github.com\/labring\/FastGPT\/tree\/main\/files\/docker\">FastGPT\/files\/docker at main \u00b7 labring\/FastGPT (github.com)<\/a><\/p>\n<h4 id=\"\u6b65\u9aa4\u4e8c\u521b\u5efa\u6587\u4ef6\u5939\u5e76\u4e0b\u8f7d\u6587\u4ef6\">\u6b65\u9aa4\u4e8c\uff1a\u521b\u5efa\u6587\u4ef6\u5939\u5e76\u4e0b\u8f7d\u6587\u4ef6<\/h4>\n<ol>\n<li>\n<p>\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\uff0c\u7528\u4e8e\u5b58\u653e\u4e0b\u8f7d\u7684\u6587\u4ef6\u3002<\/p>\n<\/li>\n<li>\n<p>\u4e0b\u8f7d\u4ee5\u4e0b\u4e24\u4e2a\u6587\u4ef6\u5e76\u653e\u5165\u521b\u5efa\u7684\u6587\u4ef6\u5939\u4e2d\uff1a<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/labring\/FastGPT\/blob\/main\/files\/docker\/docker-compose-pgvector.yml\" title=\"docker-compose-pgvector.yml\">docker-compose-pgvector.yml<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/labring\/FastGPT\/blob\/main\/projects\/app\/data\/config.json\">config.json<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4 id=\"\u6b65\u9aa4\u4e09\u542f\u52a8\u670d\u52a1\">\u6b65\u9aa4\u4e09\uff1a\u542f\u52a8\u670d\u52a1<\/h4>\n<p>\u5728\u6587\u4ef6\u5939\u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u542f\u52a8\u670d\u52a1\uff1a<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-sh\" data-lang=\"sh\"><span class=\"line\"><span class=\"cl\">docker-compose up\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"ollama\">Ollama<\/h2>\n<h3 id=\"\u5b89\u88c5\u6307\u5357-1\">\u5b89\u88c5\u6307\u5357<\/h3>\n<h4 id=\"\u6b65\u9aa4\u4e00\u4e0b\u8f7d\">\u6b65\u9aa4\u4e00\uff1a\u4e0b\u8f7d<\/h4>\n<p>\u5728 Windows \u7cfb\u7edf\u4e0a\u4e0b\u8f7d\u5e76\u5b89\u88c5 Ollama\uff1a<a href=\"https:\/\/ollama.com\/download\">Download Ollama on Windows<\/a><\/p>\n<h4 id=\"\u6b65\u9aa4\u4e8c\u5b89\u88c5\u6a21\u578b\">\u6b65\u9aa4\u4e8c\uff1a\u5b89\u88c5\u6a21\u578b<\/h4>\n<p>\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u5b89\u88c5\u548c\u914d\u7f6e\u6a21\u578b\uff1a<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-2\"><a class=\"lnlinks\" href=\"#hl-1-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-3\"><a class=\"lnlinks\" href=\"#hl-1-3\">3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-4\"><a class=\"lnlinks\" href=\"#hl-1-4\">4<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-sh\" data-lang=\"sh\"><span class=\"line\"><span class=\"cl\">ollama run qwen2:7b\n<\/span><\/span><span class=\"line\"><span class=\"cl\">ollama cp qwen2:7b gpt-3.5-turbo\n<\/span><\/span><span class=\"line\"><span class=\"cl\">ollama pull milkey\/m3e\n<\/span><\/span><span class=\"line\"><span class=\"cl\">ollama cp milkey\/m3e m3e\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h4 id=\"\u6b65\u9aa4\u4e09\u542f\u52a8\u670d\u52a1-1\">\u6b65\u9aa4\u4e09\uff1a\u542f\u52a8\u670d\u52a1<\/h4>\n<p>\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u542f\u52a8\u670d\u52a1\uff1a<\/p>"},{"title":"go cgo \u4ea4\u53c9\u7f16\u8bd1sqlite3","link":"https:\/\/my.rongyiapi.com\/posts\/go-cgo-%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91sqlite3\/","pubDate":"Mon, 23 Sep 2024 09:00:08 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/go-cgo-%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91sqlite3\/","description":"<p>\u4e8c\u8fdb\u5236\u6587\u4ef6\u662f\u7528 &lsquo;CGO_ENABLED=0&rsquo; \u7f16\u8bd1\u7684\uff0cgo-sqlite3 \u9700\u8981 cgo \u624d\u80fd\u5de5\u4f5c\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">brew install FiloSottile\/musl-cross\/musl-cross\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-2\"><a class=\"lnlinks\" href=\"#hl-1-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-3\"><a class=\"lnlinks\" href=\"#hl-1-3\">3<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">env CC=x86_64-linux-musl-gcc CXX=x86_64-linux-musl-g++ GOARCH=amd64 GOOS=linux CGO_ENABLED=1 \\\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  go build -ldflags &#34;-linkmode external -extldflags -static&#34;\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u5404\u79cd\u8d44\u6599<\/p>\n<p><a href=\"https:\/\/github.com\/mattn\/go-sqlite3\/issues\/797\">https:\/\/github.com\/mattn\/go-sqlite3\/issues\/797<\/a><\/p>\n<p><a href=\"https:\/\/titanwolf.org\/Network\/Articles\/Article?AID=70ceaf7f-fda5-46cb-a0cc-0cc347d1156c#gsc.tab=0\">https:\/\/titanwolf.org\/Network\/Articles\/Article?AID=70ceaf7f-fda5-46cb-a0cc-0cc347d1156c#gsc.tab=0<\/a><\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/59698483\/how-to-cross-compile-a-go-package-using-github-com-mattn-go-sqlite3-for-a-google\">https:\/\/stackoverflow.com\/questions\/59698483\/how-to-cross-compile-a-go-package-using-github-com-mattn-go-sqlite3-for-a-google<\/a><\/p>\n<p><a href=\"https:\/\/blog.qiurank.com\/\">https:\/\/blog.qiurank.com\/<\/a>\n\u8fd9\u4e2a\u535a\u5ba2\u5c06\u4e86cgo<\/p>\n<p>xgo\u6559\u7a0b\n<a href=\"https:\/\/www.bilibili.com\/video\/av40133443\/\">https:\/\/www.bilibili.com\/video\/av40133443\/<\/a><\/p>\n<h1 id=\"xgo\u7f16\u8bd1\u6559\u7a0b\">xgo\u7f16\u8bd1\u6559\u7a0b<\/h1>\n<p><a href=\"https:\/\/blog.csdn.net\/weixin_49393427\/article\/details\/114265359\">https:\/\/blog.csdn.net\/weixin_49393427\/article\/details\/114265359<\/a><\/p>\n<p>xgo ~\/Desktop\/goproject\/testfq<\/p>\n<h1 id=\"\u5b89\u88c5xgo\">\u5b89\u88c5xgo<\/h1>\n<p>\u8fd9\u4e2a\u5305\u652f\u6301 mod<\/p>\n<p><a href=\"https:\/\/github.com\/techknowlogick\/xgo\">https:\/\/github.com\/techknowlogick\/xgo<\/a><\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-2-1\"><a class=\"lnlinks\" href=\"#hl-2-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-2\"><a class=\"lnlinks\" href=\"#hl-2-2\">2<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker pull techknowlogick\/xgo:latest\n<\/span><\/span><span class=\"line\"><span class=\"cl\">go get src.techknowlogick.com\/xgo\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u6b64\u65f6xgo\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4f1a\u9ed8\u8ba4\u5b89\u88c5\u5728<code>~\/go\/bin\/xgo<\/code>\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u8fd9\u6837\u8f93\u5165xgo\u5c31\u53ef\u4ee5\u76f4\u63a5\u6267\u884c<\/p>\n<h1 id=\"\u7f16\u8bd1\">\u7f16\u8bd1<\/h1>\n<p>\u9879\u76ee\u8def\u5f84\u5728<\/p>\n<p>\/Users\/xxxx\/Desktop\/goproject\/testfq<\/p>\n<p>\u6240\u4ee5\u6539\u6210  ~\/Desktop\/goproject\/testfq<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-3-1\"><a class=\"lnlinks\" href=\"#hl-3-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">xgo ~\/Desktop\/goproject\/testfq \u2014targets=linux\/amd64\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h1 id=\"\u53c2\u8003\u8d44\u6599\">\u53c2\u8003\u8d44\u6599<\/h1>\n<p><a href=\"https:\/\/holmesian.org\/go-cross-compile-xgo\">https:\/\/holmesian.org\/go-cross-compile-xgo<\/a><\/p>"},{"title":"go\u7f16\u8bd1","link":"https:\/\/my.rongyiapi.com\/posts\/go%E7%BC%96%E8%AF%91\/","pubDate":"Mon, 23 Sep 2024 08:59:23 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/go%E7%BC%96%E8%AF%91\/","description":"<p>Windows \u4e0b\u7f16\u8bd1Linux 64\u4f4d\u53ef\u6267\u884c\u7a0b\u5e8f<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\">3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\">4<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">SET GOOS=linux\n<\/span><\/span><span class=\"line\"><span class=\"cl\">SET GOARCH=amd64\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">go build\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>GOOS\uff1a\u76ee\u6807\u5e73\u53f0\uff08darwin\u3001freebsd\u3001linux\u3001windows\uff09\u00a0<\/p>\n<p>GOARCH\uff1a\u76ee\u6807\u5e73\u53f0\u7684\u4f53\u7cfb<a href=\"http:\/\/lib.csdn.net\/base\/architecture\">\u67b6\u6784<\/a>\uff08386\u3001amd64\u3001arm\uff09<\/p>\n<p>\u4ea4\u53c9\u7f16\u8bd1\u4e0d\u652f\u6301 CGO<\/p>\n<p>window \u540e\u53f0\u65b9\u5f0f\u8fd0\u884c<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">go build -ldflags &#34;-H=windowsgui&#34;\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h1 id=\"\u7f16\u8bd1window\u8fd0\u884c\u7684\u7a0b\u5e8f\">\u7f16\u8bd1window\u8fd0\u884c\u7684\u7a0b\u5e8f<\/h1>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-2-1\"><a class=\"lnlinks\" href=\"#hl-2-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-2\"><a class=\"lnlinks\" href=\"#hl-2-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-3\"><a class=\"lnlinks\" href=\"#hl-2-3\">3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-4\"><a class=\"lnlinks\" href=\"#hl-2-4\">4<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">SET GOOS=windows\n<\/span><\/span><span class=\"line\"><span class=\"cl\">SET GOARCH=amd64\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">go build\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h1 id=\"\u7f16\u8bd1linux\u8fd0\u884c\u7684\u7a0b\u5e8f\">\u7f16\u8bd1linux\u8fd0\u884c\u7684\u7a0b\u5e8f<\/h1>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-3-1\"><a class=\"lnlinks\" href=\"#hl-3-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-3-2\"><a class=\"lnlinks\" href=\"#hl-3-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-3-3\"><a class=\"lnlinks\" href=\"#hl-3-3\">3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-3-4\"><a class=\"lnlinks\" href=\"#hl-3-4\">4<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">SET GOOS=linux\n<\/span><\/span><span class=\"line\"><span class=\"cl\">SET GOARCH=amd64\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">go build\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"\u5b66\u4e60gin\u6784\u5efa\u4e86\u4e00\u4e2a\u811a\u624b\u67b6","link":"https:\/\/my.rongyiapi.com\/posts\/%E5%AD%A6%E4%B9%A0gin%E6%9E%84%E5%BB%BA%E4%BA%86%E4%B8%80%E4%B8%AA%E8%84%9A%E6%89%8B%E6%9E%B6\/","pubDate":"Mon, 23 Sep 2024 08:59:01 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/%E5%AD%A6%E4%B9%A0gin%E6%9E%84%E5%BB%BA%E4%BA%86%E4%B8%80%E4%B8%AA%E8%84%9A%E6%89%8B%E6%9E%B6\/","description":"<h1 id=\"\u5b66\u4e60gin\u6784\u5efa\u4e86\u4e00\u4e2a\u811a\u624b\u67b6\">\u5b66\u4e60gin\u6784\u5efa\u4e86\u4e00\u4e2a\u811a\u624b\u67b6<\/h1>\n<p><a href=\"https:\/\/github.com\/duolabmeng6\/gin-laravel-demo\">https:\/\/github.com\/duolabmeng6\/gin-laravel-demo<\/a><\/p>\n<p>\u6a21\u4efflaravel\u7684\u76ee\u5f55\u7ed3\u6784\u6784\u5efa\u7684gin\u5e94\u7528<\/p>\n<p>\u914d\u7f6e\u4e86config gorm redis\u7b49<\/p>\n<p>\u5b8c\u5584\u4e86gin\u7684\u65e5\u5fd7\u8bb0\u5f55\u670d\u52a1 \u53ef\u4ee5\u8bb0\u5f55\u8fd4\u56de\u7ed9\u5ba2\u6237\u7684\u5185\u5bb9<\/p>"},{"title":"gin\u5165\u95e8","link":"https:\/\/my.rongyiapi.com\/posts\/gin%E5%85%A5%E9%97%A8\/","pubDate":"Mon, 23 Sep 2024 08:58:39 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/gin%E5%85%A5%E9%97%A8\/","description":"<h1 id=\"\u4ecb\u7ecd\">\u4ecb\u7ecd<\/h1>\n<p>\u6587\u6863 <a href=\"https:\/\/gin-gonic.com\/zh-cn\/docs\/\">https:\/\/gin-gonic.com\/zh-cn\/docs\/<\/a><\/p>\n<p>\u76f4\u63a5\u5c31\u8dd1\u8d77\u6765\u4e86<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\">12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-13\"><a class=\"lnlinks\" href=\"#hl-0-13\">13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-14\"><a class=\"lnlinks\" href=\"#hl-0-14\">14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-15\"><a class=\"lnlinks\" href=\"#hl-0-15\">15<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-16\"><a class=\"lnlinks\" href=\"#hl-0-16\">16<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-17\"><a class=\"lnlinks\" href=\"#hl-0-17\">17<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-18\"><a class=\"lnlinks\" href=\"#hl-0-18\">18<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-19\"><a class=\"lnlinks\" href=\"#hl-0-19\">19<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-20\"><a class=\"lnlinks\" href=\"#hl-0-20\">20<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-21\"><a class=\"lnlinks\" href=\"#hl-0-21\">21<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-22\"><a class=\"lnlinks\" href=\"#hl-0-22\">22<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-23\"><a class=\"lnlinks\" href=\"#hl-0-23\">23<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-24\"><a class=\"lnlinks\" href=\"#hl-0-24\">24<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-25\"><a class=\"lnlinks\" href=\"#hl-0-25\">25<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-26\"><a class=\"lnlinks\" href=\"#hl-0-26\">26<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-27\"><a class=\"lnlinks\" href=\"#hl-0-27\">27<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-28\"><a class=\"lnlinks\" href=\"#hl-0-28\">28<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-29\"><a class=\"lnlinks\" href=\"#hl-0-29\">29<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-30\"><a class=\"lnlinks\" href=\"#hl-0-30\">30<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-31\"><a class=\"lnlinks\" href=\"#hl-0-31\">31<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-32\"><a class=\"lnlinks\" href=\"#hl-0-32\">32<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-33\"><a class=\"lnlinks\" href=\"#hl-0-33\">33<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-34\"><a class=\"lnlinks\" href=\"#hl-0-34\">34<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-35\"><a class=\"lnlinks\" href=\"#hl-0-35\">35<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-36\"><a class=\"lnlinks\" href=\"#hl-0-36\">36<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-37\"><a class=\"lnlinks\" href=\"#hl-0-37\">37<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-38\"><a class=\"lnlinks\" href=\"#hl-0-38\">38<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-39\"><a class=\"lnlinks\" href=\"#hl-0-39\">39<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-40\"><a class=\"lnlinks\" href=\"#hl-0-40\">40<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-41\"><a class=\"lnlinks\" href=\"#hl-0-41\">41<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-42\"><a class=\"lnlinks\" href=\"#hl-0-42\">42<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-43\"><a class=\"lnlinks\" href=\"#hl-0-43\">43<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-44\"><a class=\"lnlinks\" href=\"#hl-0-44\">44<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-45\"><a class=\"lnlinks\" href=\"#hl-0-45\">45<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-46\"><a class=\"lnlinks\" href=\"#hl-0-46\">46<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-47\"><a class=\"lnlinks\" href=\"#hl-0-47\">47<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-48\"><a class=\"lnlinks\" href=\"#hl-0-48\">48<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-49\"><a class=\"lnlinks\" href=\"#hl-0-49\">49<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-50\"><a class=\"lnlinks\" href=\"#hl-0-50\">50<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-51\"><a class=\"lnlinks\" href=\"#hl-0-51\">51<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-52\"><a class=\"lnlinks\" href=\"#hl-0-52\">52<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-53\"><a class=\"lnlinks\" href=\"#hl-0-53\">53<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-54\"><a class=\"lnlinks\" href=\"#hl-0-54\">54<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-55\"><a class=\"lnlinks\" href=\"#hl-0-55\">55<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-56\"><a class=\"lnlinks\" href=\"#hl-0-56\">56<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-57\"><a class=\"lnlinks\" href=\"#hl-0-57\">57<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-58\"><a class=\"lnlinks\" href=\"#hl-0-58\">58<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-59\"><a class=\"lnlinks\" href=\"#hl-0-59\">59<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-60\"><a class=\"lnlinks\" href=\"#hl-0-60\">60<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-61\"><a class=\"lnlinks\" href=\"#hl-0-61\">61<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-62\"><a class=\"lnlinks\" href=\"#hl-0-62\">62<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-63\"><a class=\"lnlinks\" href=\"#hl-0-63\">63<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-64\"><a class=\"lnlinks\" href=\"#hl-0-64\">64<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-65\"><a class=\"lnlinks\" href=\"#hl-0-65\">65<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-66\"><a class=\"lnlinks\" href=\"#hl-0-66\">66<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-67\"><a class=\"lnlinks\" href=\"#hl-0-67\">67<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"p\">~~~<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kn\">package<\/span> <span class=\"nx\">main<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kn\">import<\/span> <span class=\"p\">(<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"s\">&#34;net\/http&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"s\">&#34;github.com\/gin-gonic\/gin&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span> <span class=\"nx\">db<\/span> <span class=\"p\">=<\/span> <span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"kd\">map<\/span><span class=\"p\">[<\/span><span class=\"kt\">string<\/span><span class=\"p\">]<\/span><span class=\"kt\">string<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span> <span class=\"nf\">setupRouter<\/span><span class=\"p\">()<\/span> <span class=\"o\">*<\/span><span class=\"nx\">gin<\/span><span class=\"p\">.<\/span><span class=\"nx\">Engine<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"c1\">\/\/ Disable Console Color\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"c1\">\/\/ gin.DisableConsoleColor()\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"nx\">r<\/span> <span class=\"o\">:=<\/span> <span class=\"nx\">gin<\/span><span class=\"p\">.<\/span><span class=\"nf\">Default<\/span><span class=\"p\">()<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"c1\">\/\/ Ping test\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"nx\">r<\/span><span class=\"p\">.<\/span><span class=\"nf\">GET<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;\/ping&#34;<\/span><span class=\"p\">,<\/span> <span class=\"kd\">func<\/span><span class=\"p\">(<\/span><span class=\"nx\">c<\/span> <span class=\"o\">*<\/span><span class=\"nx\">gin<\/span><span class=\"p\">.<\/span><span class=\"nx\">Context<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"nx\">c<\/span><span class=\"p\">.<\/span><span class=\"nf\">String<\/span><span class=\"p\">(<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">StatusOK<\/span><span class=\"p\">,<\/span> <span class=\"s\">&#34;pong&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"p\">})<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"c1\">\/\/ Get user value\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"nx\">r<\/span><span class=\"p\">.<\/span><span class=\"nf\">GET<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;\/user\/:name&#34;<\/span><span class=\"p\">,<\/span> <span class=\"kd\">func<\/span><span class=\"p\">(<\/span><span class=\"nx\">c<\/span> <span class=\"o\">*<\/span><span class=\"nx\">gin<\/span><span class=\"p\">.<\/span><span class=\"nx\">Context<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"nx\">user<\/span> <span class=\"o\">:=<\/span> <span class=\"nx\">c<\/span><span class=\"p\">.<\/span><span class=\"nx\">Params<\/span><span class=\"p\">.<\/span><span class=\"nf\">ByName<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;name&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"nx\">value<\/span><span class=\"p\">,<\/span> <span class=\"nx\">ok<\/span> <span class=\"o\">:=<\/span> <span class=\"nx\">db<\/span><span class=\"p\">[<\/span><span class=\"nx\">user<\/span><span class=\"p\">]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"k\">if<\/span> <span class=\"nx\">ok<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">         <span class=\"nx\">c<\/span><span class=\"p\">.<\/span><span class=\"nf\">JSON<\/span><span class=\"p\">(<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">StatusOK<\/span><span class=\"p\">,<\/span> <span class=\"nx\">gin<\/span><span class=\"p\">.<\/span><span class=\"nx\">H<\/span><span class=\"p\">{<\/span><span class=\"s\">&#34;user&#34;<\/span><span class=\"p\">:<\/span> <span class=\"nx\">user<\/span><span class=\"p\">,<\/span> <span class=\"s\">&#34;value&#34;<\/span><span class=\"p\">:<\/span> <span class=\"nx\">value<\/span><span class=\"p\">})<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">         <span class=\"nx\">c<\/span><span class=\"p\">.<\/span><span class=\"nf\">JSON<\/span><span class=\"p\">(<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">StatusOK<\/span><span class=\"p\">,<\/span> <span class=\"nx\">gin<\/span><span class=\"p\">.<\/span><span class=\"nx\">H<\/span><span class=\"p\">{<\/span><span class=\"s\">&#34;user&#34;<\/span><span class=\"p\">:<\/span> <span class=\"nx\">user<\/span><span class=\"p\">,<\/span> <span class=\"s\">&#34;status&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s\">&#34;no value&#34;<\/span><span class=\"p\">})<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"p\">})<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"c1\">\/\/ Authorized group (uses gin.BasicAuth() middleware)\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"c1\">\/\/ Same than:\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"c1\">\/\/ authorized := r.Group(&#34;\/&#34;)\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"c1\">\/\/ authorized.Use(gin.BasicAuth(gin.Credentials{\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"c1\">\/\/   &#34;foo&#34;:  &#34;bar&#34;,\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"c1\">\/\/   &#34;manu&#34;: &#34;123&#34;,\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"c1\">\/\/}))\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"nx\">authorized<\/span> <span class=\"o\">:=<\/span> <span class=\"nx\">r<\/span><span class=\"p\">.<\/span><span class=\"nf\">Group<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;\/&#34;<\/span><span class=\"p\">,<\/span> <span class=\"nx\">gin<\/span><span class=\"p\">.<\/span><span class=\"nf\">BasicAuth<\/span><span class=\"p\">(<\/span><span class=\"nx\">gin<\/span><span class=\"p\">.<\/span><span class=\"nx\">Accounts<\/span><span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"s\">&#34;foo&#34;<\/span><span class=\"p\">:<\/span>  <span class=\"s\">&#34;bar&#34;<\/span><span class=\"p\">,<\/span> <span class=\"c1\">\/\/ user:foo password:bar\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>      <span class=\"s\">&#34;manu&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s\">&#34;123&#34;<\/span><span class=\"p\">,<\/span> <span class=\"c1\">\/\/ user:manu password:123\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"p\">}))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"nx\">authorized<\/span><span class=\"p\">.<\/span><span class=\"nf\">POST<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;admin&#34;<\/span><span class=\"p\">,<\/span> <span class=\"kd\">func<\/span><span class=\"p\">(<\/span><span class=\"nx\">c<\/span> <span class=\"o\">*<\/span><span class=\"nx\">gin<\/span><span class=\"p\">.<\/span><span class=\"nx\">Context<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"nx\">user<\/span> <span class=\"o\">:=<\/span> <span class=\"nx\">c<\/span><span class=\"p\">.<\/span><span class=\"nf\">MustGet<\/span><span class=\"p\">(<\/span><span class=\"nx\">gin<\/span><span class=\"p\">.<\/span><span class=\"nx\">AuthUserKey<\/span><span class=\"p\">).(<\/span><span class=\"kt\">string<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"c1\">\/\/ Parse JSON\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>      <span class=\"kd\">var<\/span> <span class=\"nx\">json<\/span> <span class=\"kd\">struct<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">         <span class=\"nx\">Value<\/span> <span class=\"kt\">string<\/span> <span class=\"s\">`json:&#34;value&#34; binding:&#34;required&#34;`<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"k\">if<\/span> <span class=\"nx\">c<\/span><span class=\"p\">.<\/span><span class=\"nf\">Bind<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">json<\/span><span class=\"p\">)<\/span> <span class=\"o\">==<\/span> <span class=\"kc\">nil<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">         <span class=\"nx\">db<\/span><span class=\"p\">[<\/span><span class=\"nx\">user<\/span><span class=\"p\">]<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">json<\/span><span class=\"p\">.<\/span><span class=\"nx\">Value<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">         <span class=\"nx\">c<\/span><span class=\"p\">.<\/span><span class=\"nf\">JSON<\/span><span class=\"p\">(<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">StatusOK<\/span><span class=\"p\">,<\/span> <span class=\"nx\">gin<\/span><span class=\"p\">.<\/span><span class=\"nx\">H<\/span><span class=\"p\">{<\/span><span class=\"s\">&#34;status&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s\">&#34;ok&#34;<\/span><span class=\"p\">})<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"p\">})<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"k\">return<\/span> <span class=\"nx\">r<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"nx\">r<\/span> <span class=\"o\">:=<\/span> <span class=\"nf\">setupRouter<\/span><span class=\"p\">()<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">   <span class=\"c1\">\/\/ Listen and Server in 0.0.0.0:8080\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"><\/span>   <span class=\"nx\">r<\/span><span class=\"p\">.<\/span><span class=\"nf\">Run<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;:8080&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">~~~<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"Caddy \u914d\u7f6e\u81ea\u52a8\u914d\u7f6ehttps \u548c docker\u542f\u52a8ssh","link":"https:\/\/my.rongyiapi.com\/posts\/caddy-%E9%85%8D%E7%BD%AE%E8%87%AA%E5%8A%A8%E9%85%8D%E7%BD%AEhttps-%E5%92%8C-docker%E5%90%AF%E5%8A%A8ssh\/","pubDate":"Mon, 23 Sep 2024 08:57:42 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/caddy-%E9%85%8D%E7%BD%AE%E8%87%AA%E5%8A%A8%E9%85%8D%E7%BD%AEhttps-%E5%92%8C-docker%E5%90%AF%E5%8A%A8ssh\/","description":"<h1 id=\"caddy-\u914d\u7f6e\u81ea\u52a8\u914d\u7f6ehttps-\u548c-docker\u542f\u52a8ssh\">Caddy \u914d\u7f6e\u81ea\u52a8\u914d\u7f6ehttps \u548c docker\u542f\u52a8ssh<\/h1>\n<p>Caddyfile<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\">3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\">4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\">5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\">6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\">7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\">8<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">go.kenhong.com {\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\troot * \/srv\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    encode {\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        zstd\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        gzip 9\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    }\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\tfile_server\n<\/span><\/span><span class=\"line\"><span class=\"cl\">}\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>docker-compose.yml<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-2\"><a class=\"lnlinks\" href=\"#hl-1-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-3\"><a class=\"lnlinks\" href=\"#hl-1-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-4\"><a class=\"lnlinks\" href=\"#hl-1-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-5\"><a class=\"lnlinks\" href=\"#hl-1-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-6\"><a class=\"lnlinks\" href=\"#hl-1-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-7\"><a class=\"lnlinks\" href=\"#hl-1-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-8\"><a class=\"lnlinks\" href=\"#hl-1-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-9\"><a class=\"lnlinks\" href=\"#hl-1-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-10\"><a class=\"lnlinks\" href=\"#hl-1-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-11\"><a class=\"lnlinks\" href=\"#hl-1-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-12\"><a class=\"lnlinks\" href=\"#hl-1-12\">12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-13\"><a class=\"lnlinks\" href=\"#hl-1-13\">13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-14\"><a class=\"lnlinks\" href=\"#hl-1-14\">14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-15\"><a class=\"lnlinks\" href=\"#hl-1-15\">15<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-16\"><a class=\"lnlinks\" href=\"#hl-1-16\">16<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-17\"><a class=\"lnlinks\" href=\"#hl-1-17\">17<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-18\"><a class=\"lnlinks\" href=\"#hl-1-18\">18<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-19\"><a class=\"lnlinks\" href=\"#hl-1-19\">19<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-20\"><a class=\"lnlinks\" href=\"#hl-1-20\">20<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-21\"><a class=\"lnlinks\" href=\"#hl-1-21\">21<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-22\"><a class=\"lnlinks\" href=\"#hl-1-22\">22<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-23\"><a class=\"lnlinks\" href=\"#hl-1-23\">23<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-24\"><a class=\"lnlinks\" href=\"#hl-1-24\">24<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-25\"><a class=\"lnlinks\" href=\"#hl-1-25\">25<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-26\"><a class=\"lnlinks\" href=\"#hl-1-26\">26<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-27\"><a class=\"lnlinks\" href=\"#hl-1-27\">27<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-28\"><a class=\"lnlinks\" href=\"#hl-1-28\">28<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-29\"><a class=\"lnlinks\" href=\"#hl-1-29\">29<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-30\"><a class=\"lnlinks\" href=\"#hl-1-30\">30<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-31\"><a class=\"lnlinks\" href=\"#hl-1-31\">31<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-32\"><a class=\"lnlinks\" href=\"#hl-1-32\">32<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-33\"><a class=\"lnlinks\" href=\"#hl-1-33\">33<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">version: &#39;3.2&#39;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">services:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  openssh-server:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    image: linuxserver\/openssh-server:latest\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    container_name: openssh-server\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    hostname: openssh-server #optional\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    environment:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - PUID=1000\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - PGID=1000\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - TZ=Asia\/Shanghai\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - SUDO_ACCESS=false #optional\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - PASSWORD_ACCESS=true #optional\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - USER_PASSWORD=${USER_PASSWORD}\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - USER_NAME=${USER_NAME} #optional\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    volumes:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - .\/config:\/config\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - .\/www:\/config\/www\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    ports:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - ${SSH_PORT}:2222\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    restart: unless-stopped\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  caddy:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    image: caddy:2-alpine\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    ports:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - &#34;80:80&#34;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - &#34;443:443&#34;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - &#34;443:443\/udp&#34;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    volumes:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - .\/Caddyfile:\/etc\/caddy\/Caddyfile\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - .\/www:\/srv\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - .\/caddy_data:\/data\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - .\/caddy_config:\/config\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"docker\u7684nginx\u7ba1\u7406\u9762\u677f","link":"https:\/\/my.rongyiapi.com\/posts\/docker%E7%9A%84nginx%E7%AE%A1%E7%90%86%E9%9D%A2%E6%9D%BF\/","pubDate":"Mon, 23 Sep 2024 08:57:04 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/docker%E7%9A%84nginx%E7%AE%A1%E7%90%86%E9%9D%A2%E6%9D%BF\/","description":"<h1 id=\"docker\u7684nginx\u7ba1\u7406\u9762\u677f\">docker\u7684nginx\u7ba1\u7406\u9762\u677f<\/h1>\n<p><a href=\"https:\/\/github.com\/NginxProxyManager\/nginx-proxy-manager\">NginxProxyManager\/nginx-proxy-manager: Docker container for managing Nginx proxy hosts with a simple, powerful interface (github.com)<\/a><\/p>\n<h1 id=\"\u82f1\u6587\u7248\u672c\">\u82f1\u6587\u7248\u672c<\/h1>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\">12<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">version: &#39;3.8&#39;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">services:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  app:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    image: &#39;jc21\/nginx-proxy-manager:latest&#39;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    restart: unless-stopped\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    ports:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - &#39;80:80&#39;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - &#39;81:81&#39;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - &#39;443:443&#39;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    volumes:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - .\/data:\/data\n<\/span><\/span><span class=\"line\"><span class=\"cl\">      - .\/letsencrypt:\/etc\/letsencrypt\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h1 id=\"\u4e2d\u6587\u7248\u672c\">\u4e2d\u6587\u7248\u672c<\/h1>\n<p><a href=\"https:\/\/github.com\/xiaoxinpro\/nginx-proxy-manager-zh\">xiaoxinpro\/nginx-proxy-manager-zh: \u57fa\u4e8enginx-proxy-manager\u7ffb\u8bd1\u7684\u4e2d\u6587\u7248\u672c (github.com)<\/a><\/p>"},{"title":"docker\u6784\u5efa\u8fd9\u4e00\u7bc7\u5c31\u591f\u4e86","link":"https:\/\/my.rongyiapi.com\/posts\/docker%E6%9E%84%E5%BB%BA%E8%BF%99%E4%B8%80%E7%AF%87%E5%B0%B1%E5%A4%9F%E4%BA%86\/","pubDate":"Mon, 23 Sep 2024 08:55:55 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/docker%E6%9E%84%E5%BB%BA%E8%BF%99%E4%B8%80%E7%AF%87%E5%B0%B1%E5%A4%9F%E4%BA%86\/","description":"<h1 id=\"docker\u6784\u5efa\u8fd9\u4e00\u7bc7\u5c31\u591f\u4e86\">docker\u6784\u5efa\u8fd9\u4e00\u7bc7\u5c31\u591f\u4e86<\/h1>\n<p>b\u7ad9 <a href=\"https:\/\/www.bilibili.com\/video\/BV1iY411P7Dp\/\">https:\/\/www.bilibili.com\/video\/BV1iY411P7Dp\/<\/a><\/p>\n<ul>\n<li>\u7b80\u5355\u4ecb\u7ecd\u98de\u6d46<\/li>\n<li>\u901a\u8fc7docker\u6784\u5efaOCR\u5e94\u7528<\/li>\n<li>Docker\u955c\u50cf\u7626\u8eab\u6280\u5de7<\/li>\n<li>\u7528\u51fd\u6570\u8ba1\u7b97\u90e8\u7f72\u5236\u4f5c\u597d\u7684docker\u5e94\u7528<\/li>\n<\/ul>\n<h2 id=\"\u76ee\u6807\">\u76ee\u6807<\/h2>\n<ul>\n<li>\u5728 docker \u4e2d\u6784\u5efa PaddleOCR \u7684\u8fd0\u884c\u73af\u5883<\/li>\n<li>\u53ef\u4ee5\u5728 Serverless \u67b6\u6784\u4e2d\u8fd0\u884c(\u963f\u91cc\u4e91\u51fd\u6570\u8ba1\u7b97 \u817e\u8baf\u4e91\u51fd\u6570)<\/li>\n<\/ul>\n<h2 id=\"\u96be\u70b9\">\u96be\u70b9<\/h2>\n<ul>\n<li>\u5728\u6784\u5efa\u955c\u50cf\u65b9\u9762\uff0c<a href=\"https:\/\/hub.docker.com\/r\/paddlepaddle\/paddle\/tags?page=1&amp;ordering=last_updated\">\u98de\u6d46\u5b98\u65b9\u63d0\u4f9b\u7684 docker \u955c\u50cf<\/a>\uff0c\u52a8\u8f84 4GB\u30018GB\uff0c\u5728\u955c\u50cf\u5982\u6b64\u5927\u7684\u60c5\u51b5\u4e0b\u57fa\u672c\u65e0\u7f18 Serverless \u3002<\/li>\n<li>\u6df1\u5ea6\u5b66\u4e60\u7684\u90e8\u7f72\u73af\u5883\u590d\u6742\u4f9d\u8d56\u591a<\/li>\n<\/ul>\n<h1 id=\"docker-\u5e38\u7528\u547d\u4ee4\">docker \u5e38\u7528\u547d\u4ee4<\/h1>\n<h2 id=\"\u521b\u5efa-python-\u7684\u8fd0\u884c\u73af\u5883\">\u521b\u5efa python \u7684\u8fd0\u884c\u73af\u5883<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker run -itd --name pyrun -p 9000:9000 -v \u4e3b\u673a\u76ee\u5f55:\/app python:3.7.10-slim \/bin\/bash\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u8fdb\u5165\u5bb9\u5668\u8c03\u8bd5\">\u8fdb\u5165\u5bb9\u5668\u8c03\u8bd5<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker exec -it pyrun  \/bin\/bash \n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u6e05\u7406\u7f13\u5b58\">\u6e05\u7406\u7f13\u5b58<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-2-1\"><a class=\"lnlinks\" href=\"#hl-2-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-2\"><a class=\"lnlinks\" href=\"#hl-2-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-3\"><a class=\"lnlinks\" href=\"#hl-2-3\">3<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-gdscript3\" data-lang=\"gdscript3\"><span class=\"line\"><span class=\"cl\"><span class=\"n\">rm<\/span> <span class=\"o\">-<\/span><span class=\"n\">rf<\/span> <span class=\"o\">\/<\/span><span class=\"n\">root<\/span><span class=\"o\">\/.<\/span><span class=\"n\">cache<\/span><span class=\"o\">\/*<\/span> \\\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">&amp;&amp;<\/span> <span class=\"n\">rm<\/span> <span class=\"o\">-<\/span><span class=\"n\">rf<\/span> <span class=\"o\">\/<\/span><span class=\"k\">var<\/span><span class=\"o\">\/<\/span><span class=\"n\">lib<\/span><span class=\"o\">\/<\/span><span class=\"n\">apt<\/span><span class=\"o\">\/<\/span><span class=\"n\">lists<\/span><span class=\"o\">\/*<\/span> \\\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">&amp;&amp;<\/span> <span class=\"n\">rm<\/span> <span class=\"o\">-<\/span><span class=\"n\">rf<\/span> <span class=\"o\">\/<\/span><span class=\"n\">app<\/span><span class=\"o\">\/<\/span><span class=\"n\">test<\/span><span class=\"o\">\/<\/span><span class=\"n\">pg<\/span><span class=\"o\">\/*<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u67e5\u770b\u4fee\u6539\u8bb0\u5f55\">\u67e5\u770b\u4fee\u6539\u8bb0\u5f55<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-3-1\"><a class=\"lnlinks\" href=\"#hl-3-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker container diff \u5bb9\u5668\u540d\u79f0 &gt; \u5bb9\u5668\u4fee\u6539\u8bb0\u5f55.log\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u67e5\u770b\u5c42\u7684\u5927\u5c0f\">\u67e5\u770b\u5c42\u7684\u5927\u5c0f<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-4-1\"><a class=\"lnlinks\" href=\"#hl-4-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker image history \u955c\u50cf\u540d\u79f0\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u8fd0\u884c\u4e2d\u7684\u5bb9\u5668\u5927\u5c0f\">\u8fd0\u884c\u4e2d\u7684\u5bb9\u5668\u5927\u5c0f<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-5-1\"><a class=\"lnlinks\" href=\"#hl-5-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker container ls -s\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u67e5\u770b\u65e5\u5fd7\u7684\u811a\u672c\">\u67e5\u770b\u65e5\u5fd7\u7684\u811a\u672c<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-6-1\"><a class=\"lnlinks\" href=\"#hl-6-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker logs testocr --tail 10 -f\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u955c\u50cf\u4fdd\u5b58\">\u955c\u50cf\u4fdd\u5b58<\/h2>\n<p>\u4fdd\u5b58\u4e3a\u955c\u50cf<\/p>"},{"title":"docker\u5b9e\u7528\u6280\u5de7","link":"https:\/\/my.rongyiapi.com\/posts\/docker%E5%AE%9E%E7%94%A8%E6%8A%80%E5%B7%A7\/","pubDate":"Mon, 23 Sep 2024 08:55:26 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/docker%E5%AE%9E%E7%94%A8%E6%8A%80%E5%B7%A7\/","description":"<h1 id=\"\u4e3a\u7a0b\u5e8f\u6784\u5efa\u542f\u52a8\u811a\u672c\">\u4e3a\u7a0b\u5e8f\u6784\u5efa\u542f\u52a8\u811a\u672c<\/h1>\n<h2 id=\"\u6784\u5efa\u5e76\u4e14\u8fd0\u884c\u7684\u811a\u672c\">\u6784\u5efa\u5e76\u4e14\u8fd0\u884c\u7684\u811a\u672c<\/h2>\n<p>start_t1_ocr.sh<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\">3<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker rm -f testocr\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker build -t testocr:1.0 .\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker run -itd --name testocr -v \/root\/llq:\/app testocr:1.0 \/bin\/bash -c &#34;cd \/app &amp;&amp; python t1_imgs_handle.py&#34;\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u67e5\u770b\u65e5\u5fd7\u7684\u811a\u672c\">\u67e5\u770b\u65e5\u5fd7\u7684\u811a\u672c<\/h2>\n<p>log_t1_ocr.sh<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker logs testocr --tail 10 -f\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h1 id=\"\u81ea\u5b9a\u4e49\u6784\u5efa\u955c\u50cf\u65f6\">\u81ea\u5b9a\u4e49\u6784\u5efa\u955c\u50cf\u65f6<\/h1>\n<h2 id=\"python\u8fd0\u884c\u73af\u5883\">python\u8fd0\u884c\u73af\u5883<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-2-1\"><a class=\"lnlinks\" href=\"#hl-2-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-2\"><a class=\"lnlinks\" href=\"#hl-2-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-3\"><a class=\"lnlinks\" href=\"#hl-2-3\">3<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker run -itd --name pythonrun -p 9005:9000 -v \u4e3b\u673a\u76ee\u5f55:\/app python:3.7.10-slim \/bin\/bash\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker exec -it pythonrun  \/bin\/bash \n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"\u4f9d\u8d56\u5b89\u88c5\">\u4f9d\u8d56\u5b89\u88c5<\/h3>\n<p>\u5efa\u8bae\u5148\u5c06\u5305\u4e0b\u8f7d\u56de\u6765 \u7136\u540e\u518d\u8fdb\u884c\u5b89\u88c5 \u907f\u514d\u6bcf\u6b21\u90fd\u8981\u91cd\u65b0\u4e0b\u8f7d\u901f\u5ea6\u6162<\/p>\n<p>\u4e0b\u8f7d\u79bb\u7ebf\u5b89\u88c5\u5305<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-3-1\"><a class=\"lnlinks\" href=\"#hl-3-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-3-2\"><a class=\"lnlinks\" href=\"#hl-3-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-3-3\"><a class=\"lnlinks\" href=\"#hl-3-3\">3<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-gdscript3\" data-lang=\"gdscript3\"><span class=\"line\"><span class=\"cl\"><span class=\"n\">pip<\/span> <span class=\"n\">download<\/span> <span class=\"o\">-<\/span><span class=\"n\">r<\/span> <span class=\"n\">requirements<\/span><span class=\"o\">.<\/span><span class=\"n\">txt<\/span> <span class=\"o\">-<\/span><span class=\"n\">d<\/span> <span class=\"o\">.\/<\/span><span class=\"n\">pg<\/span> \n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">pip<\/span> <span class=\"n\">download<\/span> <span class=\"n\">paddlepaddle<\/span><span class=\"o\">==<\/span><span class=\"mf\">2.0<\/span><span class=\"o\">.<\/span><span class=\"mi\">2<\/span> <span class=\"o\">-<\/span><span class=\"n\">i<\/span> <span class=\"n\">https<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/<\/span><span class=\"n\">mirror<\/span><span class=\"o\">.<\/span><span class=\"n\">baidu<\/span><span class=\"o\">.<\/span><span class=\"n\">com<\/span><span class=\"o\">\/<\/span><span class=\"n\">pypi<\/span><span class=\"o\">\/<\/span><span class=\"n\">simple<\/span> <span class=\"o\">-<\/span><span class=\"n\">d<\/span> <span class=\"o\">.\/<\/span><span class=\"n\">pg<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">pip<\/span> <span class=\"n\">download<\/span> <span class=\"n\">paddlehub<\/span> <span class=\"o\">-<\/span><span class=\"n\">d<\/span> <span class=\"o\">.\/<\/span><span class=\"n\">pg<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u5b89\u88c5\u79bb\u7ebf\u5b89\u88c5\u5305<\/p>"},{"title":"docker\u90e8\u7f72redis","link":"https:\/\/my.rongyiapi.com\/posts\/docker%E9%83%A8%E7%BD%B2redis\/","pubDate":"Mon, 23 Sep 2024 08:53:52 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/docker%E9%83%A8%E7%BD%B2redis\/","description":"<p>dockerfile<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\">3<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">FROM redis\n<\/span><\/span><span class=\"line\"><span class=\"cl\">COPY redis.conf \/usr\/local\/etc\/redis\/redis.conf\n<\/span><\/span><span class=\"line\"><span class=\"cl\">CMD [ &#34;redis-server&#34;, &#34;\/usr\/local\/etc\/redis\/redis.conf&#34; ]\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker run --name some-redis1 -p 6380:6379\u00a0 -d redis --requirepass &#34;123456&#34;\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>redis\u542f\u52a8\u7684\u9ed8\u8ba4\u7aef\u53e3\u53f7\u662f6379\uff0c\u8fd9\u4e2a\u65f6\u5019\u5bbf\u4e3b\u673a\u4f7f\u75286380\u8fdb\u884c\u6620\u5c04\uff0c\u5e76\u8bbe\u7f6e\u6388\u6743\u5bc6\u7801123456\uff0c<\/p>\n<h1 id=\"\u542f\u52a8redis\">\u542f\u52a8redis<\/h1>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-2-1\"><a class=\"lnlinks\" href=\"#hl-2-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">docker run --name redis-rpc -p 6379:6379 -d redis  --requirepass &#34;duolabmeng&#34;\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"\u8bb0\u4e00\u6b21\u8bef\u5220mysql\u5168\u90e8\u6570\u636e\u6062\u590d\u7684\u8fc7\u7a0b","link":"https:\/\/my.rongyiapi.com\/posts\/%E8%AE%B0%E4%B8%80%E6%AC%A1%E8%AF%AF%E5%88%A0mysql%E5%85%A8%E9%83%A8%E6%95%B0%E6%8D%AE%E6%81%A2%E5%A4%8D%E7%9A%84%E8%BF%87%E7%A8%8B\/","pubDate":"Mon, 23 Sep 2024 08:49:42 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/%E8%AE%B0%E4%B8%80%E6%AC%A1%E8%AF%AF%E5%88%A0mysql%E5%85%A8%E9%83%A8%E6%95%B0%E6%8D%AE%E6%81%A2%E5%A4%8D%E7%9A%84%E8%BF%87%E7%A8%8B\/","description":"<h1 id=\"\u8bb0\u4e00\u6b21\u8bef\u5220mysql\u5168\u90e8\u6570\u636e\u6062\u590d\u7684\u8fc7\u7a0b\">\u8bb0\u4e00\u6b21\u8bef\u5220mysql\u5168\u90e8\u6570\u636e\u6062\u590d\u7684\u8fc7\u7a0b<\/h1>\n<h1 id=\"\u539f\u56e0\">\u539f\u56e0<\/h1>\n<p>laravel \u8fd0\u884c\u4e86\u4e00\u4e0b\n<code>php artisan test<\/code><\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\">3<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-gdscript3\" data-lang=\"gdscript3\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">class<\/span> <span class=\"n\">ApiTokenPermissionsTest<\/span> <span class=\"k\">extends<\/span> <span class=\"n\">TestCase<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">use<\/span> <span class=\"n\">RefreshDatabase<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4ed6\u81ea\u5e26\u7684\u6d4b\u8bd5\u6587\u4ef6\u4e2d\uff0c\u6709\u91cd\u7f6e\u6570\u636e\u5e93\u7684\u529f\u80fd\u3002\n\u6240\u4ee5\u6574\u4e2a\u6570\u636e\u5e93\u90fd\u88ab\u5220\u9664\u4e86\n\u539f\u5730\u7206\u70b8\u554a\u3002\u7ebf\u4e0a\u7684\u6570\u636e\u5e93\u3002<\/p>\n<h1 id=\"\u670d\u52a1\u5668\u4e0a\u5bfb\u627ebinlog\u6587\u4ef6\">\u670d\u52a1\u5668\u4e0a\u5bfb\u627ebinlog\u6587\u4ef6<\/h1>\n<p>\u5728\u8fd9\u91cc\u627e\u5230\u6240\u6709binlog\u6587\u4ef6\u7136\u540e\u4e0b\u8f7d\u5230\u81ea\u5df1\u7535\u8111\u4e0a\n<code>\/var\/lib\/mysql\/<\/code>\u8fd9\u4e2a\u76ee\u5f55\u4e0b\u627e\u5230\u4e865\u4e2abinlog\u6587\u4ef6<\/p>\n<p><code>\/var\/lib\/mysql\/binlog.000012<\/code><\/p>\n<p><img loading=\"lazy\" src=\"images\/screenshot_1616932925864.png\" alt=\"\"  \/>\n<\/p>\n<h1 id=\"binlog\u538b\u7f29\u540e\u4e0b\u8f7d\u5230\u81ea\u5df1\u7535\u8111\">binlog\u538b\u7f29\u540e\u4e0b\u8f7d\u5230\u81ea\u5df1\u7535\u8111<\/h1>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">gzip  binlog.000012\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h1 id=\"\u5728\u7535\u8111\u4e2d\u5b89\u88c5mysql\">\u5728\u7535\u8111\u4e2d\u5b89\u88c5mysql<\/h1>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-2-1\"><a class=\"lnlinks\" href=\"#hl-2-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">brew install mysql\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u914d\u7f6e\u4e00\u4e0b \u5efa\u7acb\u597d\u8981\u6062\u590d\u7684\u6570\u636e\u5e93\u548c\u8868\u548c\u7528\u6237\u8d26\u53f7<\/p>\n<h1 id=\"\u5bfc\u51fa\u4e3asql\u8bed\u53e5\u67e5\u770b\">\u5bfc\u51fa\u4e3asql\u8bed\u53e5\u67e5\u770b<\/h1>\n<p>\u00b7\u00b7\u00b7\nmysqlbinlog -v &ndash;base64-output=decode-rows \/Users\/ll\/fsdownload\/binlog.000010 &ndash;stop-datetime=&ldquo;2021-03-27 00:00:00&rdquo; &gt; 000010.sql\nmysqlbinlog -v &ndash;base64-output=decode-rows \/Users\/ll\/fsdownload\/binlog.000011 &ndash;stop-datetime=&ldquo;2021-03-27 00:00:00&rdquo; &gt; 000011.sql\nmysqlbinlog -v &ndash;base64-output=decode-rows \/Users\/ll\/fsdownload\/binlog.000012 &ndash;stop-datetime=&ldquo;2021-03-27 00:00:00&rdquo; &gt; 000012.sql\nmysqlbinlog -v &ndash;base64-output=decode-rows \/Users\/ll\/fsdownload\/binlog.000013 &ndash;stop-datetime=&ldquo;2021-03-27 00:00:00&rdquo; &gt; 000013.sql\n\u00b7\u00b7\u00b7<\/p>"},{"title":"frp\u642d\u5efa\u548c\u4f7f\u7528","link":"https:\/\/my.rongyiapi.com\/posts\/frp%E6%90%AD%E5%BB%BA%E5%92%8C%E4%BD%BF%E7%94%A8\/","pubDate":"Mon, 23 Sep 2024 08:45:56 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/frp%E6%90%AD%E5%BB%BA%E5%92%8C%E4%BD%BF%E7%94%A8\/","description":"<h1 id=\"frp\u642d\u5efa\u548c\u4f7f\u7528\">frp\u642d\u5efa\u548c\u4f7f\u7528<\/h1>\n<h1 id=\"server\">server<\/h1>\n<p>docker-compose.yaml<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\">12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-13\"><a class=\"lnlinks\" href=\"#hl-0-13\">13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-14\"><a class=\"lnlinks\" href=\"#hl-0-14\">14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-15\"><a class=\"lnlinks\" href=\"#hl-0-15\">15<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">version: &#34;3&#34;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">services:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> frps:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> container\\_name: frps\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> image: snowdreamtech\/frps:0.56.0\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> network\\_mode: host\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> volumes:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">- .\/frps.toml:\/etc\/frp\/frps.toml\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>frps.toml<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">bindPort = 17000\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h1 id=\"client\">client<\/h1>\n<p>docker-compose.yaml<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-2-1\"><a class=\"lnlinks\" href=\"#hl-2-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-2\"><a class=\"lnlinks\" href=\"#hl-2-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-3\"><a class=\"lnlinks\" href=\"#hl-2-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-4\"><a class=\"lnlinks\" href=\"#hl-2-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-5\"><a class=\"lnlinks\" href=\"#hl-2-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-6\"><a class=\"lnlinks\" href=\"#hl-2-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-7\"><a class=\"lnlinks\" href=\"#hl-2-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-8\"><a class=\"lnlinks\" href=\"#hl-2-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-9\"><a class=\"lnlinks\" href=\"#hl-2-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-10\"><a class=\"lnlinks\" href=\"#hl-2-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-11\"><a class=\"lnlinks\" href=\"#hl-2-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-12\"><a class=\"lnlinks\" href=\"#hl-2-12\">12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-13\"><a class=\"lnlinks\" href=\"#hl-2-13\">13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-14\"><a class=\"lnlinks\" href=\"#hl-2-14\">14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-15\"><a class=\"lnlinks\" href=\"#hl-2-15\">15<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-16\"><a class=\"lnlinks\" href=\"#hl-2-16\">16<\/a>\n<\/span><span class=\"lnt\" id=\"hl-2-17\"><a class=\"lnlinks\" href=\"#hl-2-17\">17<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">version: &#34;3&#34;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">services:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> frpc:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> container\\_name: frpc\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> image: snowdreamtech\/frpc:0.56.0\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> network\\_mode: host\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> volumes:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">- .\/frpc.toml:\/etc\/frp\/frpc.toml\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> restart: always\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>frpc.toml<\/p>"},{"title":"openai\u7684\u5de5\u5177\u51fd\u6570\u8c03\u7528\u4f8b\u5b50","link":"https:\/\/my.rongyiapi.com\/posts\/openai%E7%9A%84%E5%B7%A5%E5%85%B7%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E4%BE%8B%E5%AD%90\/","pubDate":"Mon, 23 Sep 2024 08:44:22 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/openai%E7%9A%84%E5%B7%A5%E5%85%B7%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E4%BE%8B%E5%AD%90\/","description":"<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">  1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\">  2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\">  3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\">  4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\">  5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\">  6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\">  7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\">  8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\">  9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\"> 10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\"> 11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\"> 12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-13\"><a class=\"lnlinks\" href=\"#hl-0-13\"> 13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-14\"><a class=\"lnlinks\" href=\"#hl-0-14\"> 14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-15\"><a class=\"lnlinks\" href=\"#hl-0-15\"> 15<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-16\"><a class=\"lnlinks\" href=\"#hl-0-16\"> 16<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-17\"><a class=\"lnlinks\" href=\"#hl-0-17\"> 17<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-18\"><a class=\"lnlinks\" href=\"#hl-0-18\"> 18<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-19\"><a class=\"lnlinks\" href=\"#hl-0-19\"> 19<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-20\"><a class=\"lnlinks\" href=\"#hl-0-20\"> 20<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-21\"><a class=\"lnlinks\" href=\"#hl-0-21\"> 21<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-22\"><a class=\"lnlinks\" href=\"#hl-0-22\"> 22<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-23\"><a class=\"lnlinks\" href=\"#hl-0-23\"> 23<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-24\"><a class=\"lnlinks\" href=\"#hl-0-24\"> 24<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-25\"><a class=\"lnlinks\" href=\"#hl-0-25\"> 25<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-26\"><a class=\"lnlinks\" href=\"#hl-0-26\"> 26<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-27\"><a class=\"lnlinks\" href=\"#hl-0-27\"> 27<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-28\"><a class=\"lnlinks\" href=\"#hl-0-28\"> 28<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-29\"><a class=\"lnlinks\" href=\"#hl-0-29\"> 29<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-30\"><a class=\"lnlinks\" href=\"#hl-0-30\"> 30<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-31\"><a class=\"lnlinks\" href=\"#hl-0-31\"> 31<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-32\"><a class=\"lnlinks\" href=\"#hl-0-32\"> 32<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-33\"><a class=\"lnlinks\" href=\"#hl-0-33\"> 33<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-34\"><a class=\"lnlinks\" href=\"#hl-0-34\"> 34<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-35\"><a class=\"lnlinks\" href=\"#hl-0-35\"> 35<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-36\"><a class=\"lnlinks\" href=\"#hl-0-36\"> 36<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-37\"><a class=\"lnlinks\" href=\"#hl-0-37\"> 37<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-38\"><a class=\"lnlinks\" href=\"#hl-0-38\"> 38<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-39\"><a class=\"lnlinks\" href=\"#hl-0-39\"> 39<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-40\"><a class=\"lnlinks\" href=\"#hl-0-40\"> 40<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-41\"><a class=\"lnlinks\" href=\"#hl-0-41\"> 41<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-42\"><a class=\"lnlinks\" href=\"#hl-0-42\"> 42<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-43\"><a class=\"lnlinks\" href=\"#hl-0-43\"> 43<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-44\"><a class=\"lnlinks\" href=\"#hl-0-44\"> 44<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-45\"><a class=\"lnlinks\" href=\"#hl-0-45\"> 45<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-46\"><a class=\"lnlinks\" href=\"#hl-0-46\"> 46<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-47\"><a class=\"lnlinks\" href=\"#hl-0-47\"> 47<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-48\"><a class=\"lnlinks\" href=\"#hl-0-48\"> 48<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-49\"><a class=\"lnlinks\" href=\"#hl-0-49\"> 49<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-50\"><a class=\"lnlinks\" href=\"#hl-0-50\"> 50<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-51\"><a class=\"lnlinks\" href=\"#hl-0-51\"> 51<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-52\"><a class=\"lnlinks\" href=\"#hl-0-52\"> 52<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-53\"><a class=\"lnlinks\" href=\"#hl-0-53\"> 53<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-54\"><a class=\"lnlinks\" href=\"#hl-0-54\"> 54<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-55\"><a class=\"lnlinks\" href=\"#hl-0-55\"> 55<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-56\"><a class=\"lnlinks\" href=\"#hl-0-56\"> 56<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-57\"><a class=\"lnlinks\" href=\"#hl-0-57\"> 57<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-58\"><a class=\"lnlinks\" href=\"#hl-0-58\"> 58<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-59\"><a class=\"lnlinks\" href=\"#hl-0-59\"> 59<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-60\"><a class=\"lnlinks\" href=\"#hl-0-60\"> 60<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-61\"><a class=\"lnlinks\" href=\"#hl-0-61\"> 61<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-62\"><a class=\"lnlinks\" href=\"#hl-0-62\"> 62<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-63\"><a class=\"lnlinks\" href=\"#hl-0-63\"> 63<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-64\"><a class=\"lnlinks\" href=\"#hl-0-64\"> 64<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-65\"><a class=\"lnlinks\" href=\"#hl-0-65\"> 65<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-66\"><a class=\"lnlinks\" href=\"#hl-0-66\"> 66<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-67\"><a class=\"lnlinks\" href=\"#hl-0-67\"> 67<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-68\"><a class=\"lnlinks\" href=\"#hl-0-68\"> 68<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-69\"><a class=\"lnlinks\" href=\"#hl-0-69\"> 69<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-70\"><a class=\"lnlinks\" href=\"#hl-0-70\"> 70<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-71\"><a class=\"lnlinks\" href=\"#hl-0-71\"> 71<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-72\"><a class=\"lnlinks\" href=\"#hl-0-72\"> 72<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-73\"><a class=\"lnlinks\" href=\"#hl-0-73\"> 73<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-74\"><a class=\"lnlinks\" href=\"#hl-0-74\"> 74<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-75\"><a class=\"lnlinks\" href=\"#hl-0-75\"> 75<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-76\"><a class=\"lnlinks\" href=\"#hl-0-76\"> 76<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-77\"><a class=\"lnlinks\" href=\"#hl-0-77\"> 77<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-78\"><a class=\"lnlinks\" href=\"#hl-0-78\"> 78<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-79\"><a class=\"lnlinks\" href=\"#hl-0-79\"> 79<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-80\"><a class=\"lnlinks\" href=\"#hl-0-80\"> 80<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-81\"><a class=\"lnlinks\" href=\"#hl-0-81\"> 81<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-82\"><a class=\"lnlinks\" href=\"#hl-0-82\"> 82<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-83\"><a class=\"lnlinks\" href=\"#hl-0-83\"> 83<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-84\"><a class=\"lnlinks\" href=\"#hl-0-84\"> 84<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-85\"><a class=\"lnlinks\" href=\"#hl-0-85\"> 85<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-86\"><a class=\"lnlinks\" href=\"#hl-0-86\"> 86<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-87\"><a class=\"lnlinks\" href=\"#hl-0-87\"> 87<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-88\"><a class=\"lnlinks\" href=\"#hl-0-88\"> 88<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-89\"><a class=\"lnlinks\" href=\"#hl-0-89\"> 89<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-90\"><a class=\"lnlinks\" href=\"#hl-0-90\"> 90<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-91\"><a class=\"lnlinks\" href=\"#hl-0-91\"> 91<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-92\"><a class=\"lnlinks\" href=\"#hl-0-92\"> 92<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-93\"><a class=\"lnlinks\" href=\"#hl-0-93\"> 93<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-94\"><a class=\"lnlinks\" href=\"#hl-0-94\"> 94<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-95\"><a class=\"lnlinks\" href=\"#hl-0-95\"> 95<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-96\"><a class=\"lnlinks\" href=\"#hl-0-96\"> 96<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-97\"><a class=\"lnlinks\" href=\"#hl-0-97\"> 97<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-98\"><a class=\"lnlinks\" href=\"#hl-0-98\"> 98<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-99\"><a class=\"lnlinks\" href=\"#hl-0-99\"> 99<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-100\"><a class=\"lnlinks\" href=\"#hl-0-100\">100<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-101\"><a class=\"lnlinks\" href=\"#hl-0-101\">101<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-102\"><a class=\"lnlinks\" href=\"#hl-0-102\">102<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-103\"><a class=\"lnlinks\" href=\"#hl-0-103\">103<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-104\"><a class=\"lnlinks\" href=\"#hl-0-104\">104<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-105\"><a class=\"lnlinks\" href=\"#hl-0-105\">105<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-106\"><a class=\"lnlinks\" href=\"#hl-0-106\">106<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-107\"><a class=\"lnlinks\" href=\"#hl-0-107\">107<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-108\"><a class=\"lnlinks\" href=\"#hl-0-108\">108<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-109\"><a class=\"lnlinks\" href=\"#hl-0-109\">109<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-110\"><a class=\"lnlinks\" href=\"#hl-0-110\">110<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-111\"><a class=\"lnlinks\" href=\"#hl-0-111\">111<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-112\"><a class=\"lnlinks\" href=\"#hl-0-112\">112<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-113\"><a class=\"lnlinks\" href=\"#hl-0-113\">113<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-114\"><a class=\"lnlinks\" href=\"#hl-0-114\">114<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-115\"><a class=\"lnlinks\" href=\"#hl-0-115\">115<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-116\"><a class=\"lnlinks\" href=\"#hl-0-116\">116<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-117\"><a class=\"lnlinks\" href=\"#hl-0-117\">117<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-118\"><a class=\"lnlinks\" href=\"#hl-0-118\">118<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-119\"><a class=\"lnlinks\" href=\"#hl-0-119\">119<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-120\"><a class=\"lnlinks\" href=\"#hl-0-120\">120<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-121\"><a class=\"lnlinks\" href=\"#hl-0-121\">121<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-122\"><a class=\"lnlinks\" href=\"#hl-0-122\">122<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-123\"><a class=\"lnlinks\" href=\"#hl-0-123\">123<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-124\"><a class=\"lnlinks\" href=\"#hl-0-124\">124<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-125\"><a class=\"lnlinks\" href=\"#hl-0-125\">125<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-126\"><a class=\"lnlinks\" href=\"#hl-0-126\">126<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-127\"><a class=\"lnlinks\" href=\"#hl-0-127\">127<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-128\"><a class=\"lnlinks\" href=\"#hl-0-128\">128<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-129\"><a class=\"lnlinks\" href=\"#hl-0-129\">129<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-130\"><a class=\"lnlinks\" href=\"#hl-0-130\">130<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-131\"><a class=\"lnlinks\" href=\"#hl-0-131\">131<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-132\"><a class=\"lnlinks\" href=\"#hl-0-132\">132<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-133\"><a class=\"lnlinks\" href=\"#hl-0-133\">133<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-134\"><a class=\"lnlinks\" href=\"#hl-0-134\">134<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-135\"><a class=\"lnlinks\" href=\"#hl-0-135\">135<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-gdscript3\" data-lang=\"gdscript3\"><span class=\"line\"><span class=\"cl\"><span class=\"n\">import<\/span> <span class=\"n\">json<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">import<\/span> <span class=\"n\">httpx<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">from<\/span> <span class=\"n\">openai<\/span> <span class=\"n\">import<\/span> <span class=\"n\">OpenAI<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">api_key<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;sk-&#39;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">base_url<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;https:\/\/api.deepseek.com\/v1&#39;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">model<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&#34;deepseek-coder&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">client<\/span> <span class=\"o\">=<\/span> <span class=\"n\">OpenAI<\/span><span class=\"p\">(<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">api_key<\/span><span class=\"o\">=<\/span><span class=\"n\">api_key<\/span><span class=\"p\">,<\/span>   <span class=\"c1\"># API\u5bc6\u94a5<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">base_url<\/span><span class=\"o\">=<\/span><span class=\"n\">base_url<\/span><span class=\"p\">,<\/span> <span class=\"c1\"># \u57fa\u7840URL<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">http_client<\/span><span class=\"o\">=<\/span><span class=\"n\">httpx<\/span><span class=\"o\">.<\/span><span class=\"n\">Client<\/span><span class=\"p\">(<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">proxies<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;http:\/\/127.0.0.1:8888&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">transport<\/span><span class=\"o\">=<\/span><span class=\"n\">httpx<\/span><span class=\"o\">.<\/span><span class=\"n\">HTTPTransport<\/span><span class=\"p\">(<\/span><span class=\"n\">local_address<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;0.0.0.0&#34;<\/span><span class=\"p\">),<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">verify<\/span><span class=\"o\">=<\/span><span class=\"n\">False<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># Define the search functions (mock implementations for Baidu, Google, and Bing)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">def<\/span> <span class=\"nf\">search_baidu<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">):<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s2\">&#34;&#34;&#34;Search for the keyword on Baidu&#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">return<\/span> <span class=\"n\">f<\/span><span class=\"s2\">&#34;{keyword}\u662f\u4e00\u4e2a\u6280\u672f\u535a\u4e3b&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">def<\/span> <span class=\"nf\">search_google<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">):<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s2\">&#34;&#34;&#34;Search for the keyword on Google&#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">return<\/span> <span class=\"n\">f<\/span><span class=\"s2\">&#34;{keyword}\u662f\u4e00\u4e2a\u540e\u7aef\u5de5\u7a0b\u5e08&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">def<\/span> <span class=\"nf\">search_bing<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">):<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s2\">&#34;&#34;&#34;Search for the keyword on Bing&#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">return<\/span> <span class=\"n\">f<\/span><span class=\"s2\">&#34;{keyword}\u662f\u4e00\u4e2aPython\u7231\u597d\u8005&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># Define the tools in JSON format for OpenAI function calling<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">tools<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"s2\">&#34;type&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;function&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"s2\">&#34;function&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;name&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;search_baidu&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;description&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;\u4ece\u767e\u5ea6\u641c\u7d22\u5f15\u64ce\u4e2d\u641c\u7d22\u5173\u952e\u8bcd&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;parameters&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;type&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;object&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;properties&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"s2\">&#34;keyword&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"s2\">&#34;type&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;string&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"s2\">&#34;description&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;\u641c\u7d22\u5173\u952e\u8bcd&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;required&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"s2\">&#34;keyword&#34;<\/span><span class=\"p\">]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"s2\">&#34;type&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;function&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"s2\">&#34;function&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;name&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;search_google&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;description&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;\u4eceGoogle\u641c\u7d22\u5f15\u64ce\u4e2d\u641c\u7d22\u5173\u952e\u8bcd&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;parameters&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;type&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;object&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;properties&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"s2\">&#34;keyword&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"s2\">&#34;type&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;string&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"s2\">&#34;description&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;\u641c\u7d22\u5173\u952e\u8bcd&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;required&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"s2\">&#34;keyword&#34;<\/span><span class=\"p\">]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"s2\">&#34;type&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;function&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"s2\">&#34;function&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;name&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;search_bing&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;description&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;\u4eceBing\u641c\u7d22\u5f15\u64ce\u4e2d\u641c\u7d22\u5173\u952e\u8bcd&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"s2\">&#34;parameters&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;type&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;object&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;properties&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"s2\">&#34;keyword&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"s2\">&#34;type&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;string&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                        <span class=\"s2\">&#34;description&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;\u641c\u7d22\u5173\u952e\u8bcd&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;required&#34;<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"s2\">&#34;keyword&#34;<\/span><span class=\"p\">]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># Mapping functions to their names<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">available_functions<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s2\">&#34;search_baidu&#34;<\/span><span class=\"p\">:<\/span> <span class=\"n\">search_baidu<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s2\">&#34;search_google&#34;<\/span><span class=\"p\">:<\/span> <span class=\"n\">search_google<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s2\">&#34;search_bing&#34;<\/span><span class=\"p\">:<\/span> <span class=\"n\">search_bing<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">def<\/span> <span class=\"nf\">search<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">):<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">messages<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[{<\/span><span class=\"s2\">&#34;role&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;user&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;content&#34;<\/span><span class=\"p\">:<\/span> <span class=\"n\">f<\/span><span class=\"s2\">&#34;\u6c47\u603b\u767e\u5ea6\u3001\u8c37\u6b4c\u3001\u5fc5\u5e94\u4e09\u4e2a\u641c\u7d22\u5f15\u64ce\u5173\u4e8e&#39;{keyword}&#39;\u7684\u7ed3\u679c&#34;<\/span><span class=\"p\">}]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    \n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">f<\/span><span class=\"s2\">&#34;\u521d\u59cb\u6d88\u606f: {messages}&#34;<\/span><span class=\"p\">)<\/span>  <span class=\"c1\"># \u8c03\u8bd5\u4fe1\u606f<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"c1\"># \u7b2c\u4e00\u6b21\u8bf7\u6c42\uff1a\u51b3\u5b9a\u4f7f\u7528\u54ea\u4e9b\u5de5\u5177<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">client<\/span><span class=\"o\">.<\/span><span class=\"n\">chat<\/span><span class=\"o\">.<\/span><span class=\"n\">completions<\/span><span class=\"o\">.<\/span><span class=\"n\">create<\/span><span class=\"p\">(<\/span><span class=\"n\">model<\/span><span class=\"o\">=<\/span><span class=\"n\">model<\/span><span class=\"p\">,<\/span> <span class=\"n\">messages<\/span><span class=\"o\">=<\/span><span class=\"n\">messages<\/span><span class=\"p\">,<\/span> <span class=\"n\">tools<\/span><span class=\"o\">=<\/span><span class=\"n\">tools<\/span><span class=\"p\">,<\/span> <span class=\"n\">tool_choice<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;auto&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">response_message<\/span> <span class=\"o\">=<\/span> <span class=\"n\">response<\/span><span class=\"o\">.<\/span><span class=\"n\">choices<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">message<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"n\">tool_calls<\/span> <span class=\"o\">=<\/span> <span class=\"n\">response_message<\/span><span class=\"o\">.<\/span><span class=\"n\">tool_calls<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">f<\/span><span class=\"s2\">&#34;AI\u51b3\u5b9a\u4f7f\u7528\u7684\u5de5\u5177: {[call.function.name for call in tool_calls]}&#34;<\/span><span class=\"p\">)<\/span>  <span class=\"c1\"># \u8c03\u8bd5\u4fe1\u606f<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">if<\/span> <span class=\"n\">tool_calls<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">messages<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">response_message<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">for<\/span> <span class=\"n\">tool_call<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">tool_calls<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">function_name<\/span> <span class=\"o\">=<\/span> <span class=\"n\">tool_call<\/span><span class=\"o\">.<\/span><span class=\"n\">function<\/span><span class=\"o\">.<\/span><span class=\"n\">name<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">function_args<\/span> <span class=\"o\">=<\/span> <span class=\"n\">json<\/span><span class=\"o\">.<\/span><span class=\"n\">loads<\/span><span class=\"p\">(<\/span><span class=\"n\">tool_call<\/span><span class=\"o\">.<\/span><span class=\"n\">function<\/span><span class=\"o\">.<\/span><span class=\"n\">arguments<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">function_response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">available_functions<\/span><span class=\"p\">[<\/span><span class=\"n\">function_name<\/span><span class=\"p\">](<\/span><span class=\"o\">**<\/span><span class=\"n\">function_args<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            \n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">f<\/span><span class=\"s2\">&#34;\u8c03\u7528\u51fd\u6570 {function_name} \u7684\u7ed3\u679c: {function_response}&#34;<\/span><span class=\"p\">)<\/span>  <span class=\"c1\"># \u8c03\u8bd5\u4fe1\u606f<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            \n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">messages<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">({<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;tool_call_id&#34;<\/span><span class=\"p\">:<\/span> <span class=\"n\">tool_call<\/span><span class=\"o\">.<\/span><span class=\"n\">id<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;role&#34;<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#34;tool&#34;<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;name&#34;<\/span><span class=\"p\">:<\/span> <span class=\"n\">function_name<\/span><span class=\"p\">,<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">                <span class=\"s2\">&#34;content&#34;<\/span><span class=\"p\">:<\/span> <span class=\"n\">function_response<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"p\">})<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"c1\"># \u7b2c\u4e8c\u6b21\u8bf7\u6c42\uff1a\u6c47\u603b\u7ed3\u679c<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">second_response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">client<\/span><span class=\"o\">.<\/span><span class=\"n\">chat<\/span><span class=\"o\">.<\/span><span class=\"n\">completions<\/span><span class=\"o\">.<\/span><span class=\"n\">create<\/span><span class=\"p\">(<\/span><span class=\"n\">model<\/span><span class=\"o\">=<\/span><span class=\"n\">model<\/span><span class=\"p\">,<\/span> <span class=\"n\">messages<\/span><span class=\"o\">=<\/span><span class=\"n\">messages<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"n\">second_response<\/span><span class=\"o\">.<\/span><span class=\"n\">choices<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">message<\/span><span class=\"o\">.<\/span><span class=\"n\">content<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">return<\/span> <span class=\"s2\">&#34;\u672a\u80fd\u83b7\u53d6\u641c\u7d22\u7ed3\u679c&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># \u793a\u4f8b\u4f7f\u7528<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">result<\/span> <span class=\"o\">=<\/span> <span class=\"n\">search<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;duolabmeng6&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">f<\/span><span class=\"s2\">&#34;\u6700\u7ec8\u7ed3\u679c: {result}&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"ide\u4e0a\u7684\u5feb\u6377\u952e","link":"https:\/\/my.rongyiapi.com\/posts\/ide%E4%B8%8A%E7%9A%84%E5%BF%AB%E6%8D%B7%E9%94%AE\/","pubDate":"Mon, 23 Sep 2024 08:42:41 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/ide%E4%B8%8A%E7%9A%84%E5%BF%AB%E6%8D%B7%E9%94%AE\/","description":"<h1 id=\"\u5feb\u6377\u952e\">\u5feb\u6377\u952e<\/h1>\n<p>\u6211\u7528\u7684\u662f vscode \u7684\u5feb\u6377\u952e\u65b9\u6848 \u9700\u8981\u5b89\u88c5 vscode \u5feb\u6377\u952e\u7684\u63d2\u4ef6<\/p>\n<table>\n  <thead>\n      <tr>\n          <th style=\"text-align: left\">\u5feb\u6377\u952e\u540d\u79f0<\/th>\n          <th style=\"text-align: left\">\u5feb\u6377\u952e<\/th>\n          <th style=\"text-align: left\">\u539f\u6765\u5feb\u6377\u952e<\/th>\n      <\/tr>\n  <\/thead>\n  <tbody>\n      <tr>\n          <td style=\"text-align: left\">\u6700\u8fd1\u7684\u6587\u4ef6<\/td>\n          <td style=\"text-align: left\">cmd + E<\/td>\n          <td style=\"text-align: left\">ctrl + R<\/td>\n      <\/tr>\n      <tr>\n          <td style=\"text-align: left\">\u6587\u4ef6\u7ed3\u6784<\/td>\n          <td style=\"text-align: left\">cmd + R<\/td>\n          <td style=\"text-align: left\">ctrl +  shift + O<\/td>\n      <\/tr>\n  <\/tbody>\n<\/table>\n<h1 id=\"\u529f\u80fd\u63d2\u4ef6\">\u529f\u80fd\u63d2\u4ef6<\/h1>\n<h1 id=\"\u7f8e\u5316\u63d2\u4ef6\">\u7f8e\u5316\u63d2\u4ef6<\/h1>\n<h2 id=\"\u56fe\u6807\u63d2\u4ef6\">\u56fe\u6807\u63d2\u4ef6<\/h2>\n<p><a href=\"https:\/\/plugins.jetbrains.com\/plugin\/16604-extra-toolwindow-colorful-icons\">https:\/\/plugins.jetbrains.com\/plugin\/16604-extra-toolwindow-colorful-icons<\/a><\/p>"},{"title":"acme\u514d\u8d39https\u8bc1\u4e66","link":"https:\/\/my.rongyiapi.com\/posts\/acme%E5%85%8D%E8%B4%B9https%E8%AF%81%E4%B9%A6\/","pubDate":"Mon, 23 Sep 2024 08:38:39 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/acme%E5%85%8D%E8%B4%B9https%E8%AF%81%E4%B9%A6\/","description":"<h1 id=\"\u5b89\u88c5\">\u5b89\u88c5<\/h1>\n<h2 id=\"\u56fd\u5185\u4e0d\u53ef\u7528\">\u56fd\u5185\u4e0d\u53ef\u7528<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-sh\" data-lang=\"sh\"><span class=\"line\"><span class=\"cl\">curl https:\/\/get.acme.sh <span class=\"p\">|<\/span> sh\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u56fd\u5185\u53ef\u7528\">\u56fd\u5185\u53ef\u7528<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-1-1\"><a class=\"lnlinks\" href=\"#hl-1-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-2\"><a class=\"lnlinks\" href=\"#hl-1-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-1-3\"><a class=\"lnlinks\" href=\"#hl-1-3\">3<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-sh\" data-lang=\"sh\"><span class=\"line\"><span class=\"cl\">git clone https:\/\/gitee.com\/neilpang\/acme.sh.git\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nb\">cd<\/span> acme.sh\n<\/span><\/span><span class=\"line\"><span class=\"cl\">.\/acme.sh --install -m my@example.com\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h1 id=\"\u7533\u8bf7\u8bc1\u4e66\">\u7533\u8bf7\u8bc1\u4e66<\/h1>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-2-1\"><a class=\"lnlinks\" href=\"#hl-2-1\">1<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-sh\" data-lang=\"sh\"><span class=\"line\"><span class=\"cl\">.\/acme.sh --issue -d go.kenhong.com -w \/root\/ftp_nginx\/www\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u914d\u7f6e Nginx \u53ef\u4ee5\u8bbf\u95ee <code>\/root\/ftp_nginx\/www<\/code><\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-3-1\"><a class=\"lnlinks\" href=\"#hl-3-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-3-2\"><a class=\"lnlinks\" href=\"#hl-3-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-3-3\"><a class=\"lnlinks\" href=\"#hl-3-3\">3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-3-4\"><a class=\"lnlinks\" href=\"#hl-3-4\">4<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">[Wed Oct 18 02:52:53 AM CST 2023] Your cert is in: \/root\/.acme.sh\/go.kenhong.com\/go.kenhong.com.cer\n<\/span><\/span><span class=\"line\"><span class=\"cl\">[Wed Oct 18 02:52:53 AM CST 2023] Your cert key is in: \/root\/.acme.sh\/go.kenhong.com\/go.kenhong.com.key\n<\/span><\/span><span class=\"line\"><span class=\"cl\">[Wed Oct 18 02:52:53 AM CST 2023] The intermediate CA cert is in: \/root\/.acme.sh\/go.kenhong.com\/ca.cer\n<\/span><\/span><span class=\"line\"><span class=\"cl\">[Wed Oct 18 02:52:53 AM CST 2023] And the full chain certs is there: \/root\/.acme.sh\/go.kenhong.com\/fullchain.cer\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u770b\u5230\u4ee5\u4e0a\u4fe1\u606f\u8868\u793a\u6210\u529f\u3002<\/p>"},{"title":"chrome\u7684html\u4ee3\u7801\u8df3\u8f6c\u63d2\u4ef6 LocatorJS","link":"https:\/\/my.rongyiapi.com\/posts\/chrome%E7%9A%84html%E4%BB%A3%E7%A0%81%E8%B7%B3%E8%BD%AC%E6%8F%92%E4%BB%B6-locatorjs\/","pubDate":"Sun, 22 Sep 2024 17:24:03 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/chrome%E7%9A%84html%E4%BB%A3%E7%A0%81%E8%B7%B3%E8%BD%AC%E6%8F%92%E4%BB%B6-locatorjs\/","description":"<p><a href=\"https:\/\/chromewebstore.google.com\/detail\/LocatorJS\/npbfdllefekhdplbkdigpncggmojpefi\">https:\/\/chromewebstore.google.com\/detail\/LocatorJS\/npbfdllefekhdplbkdigpncggmojpefi<\/a>\n\u8fd9\u5c31\u5f88\u795e\u5668 \u771f\u597d\u7528<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\">1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\">2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\">3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\">4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\">5<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">cursor:\/\/file\/${projectPath}${filePath}:${line}:${column}\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">webstorm:\/\/open?file=${projectPath}${filePath}&amp;line=${line}&amp;column=${column}\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">vscode:\/\/file\/${projectPath}${filePath}:${line}:${column}\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u610f\u5916\u53d1\u73b0\u8fd9\u6837\u5b50\u4e5f\u53ef\u4ee5\u8df3\u8f6c\u4ee3\u7801 \u538b\u6839\u4e0d\u4e0d\u8981\u5f00\u53d1\u63d2\u4ef6\u554a<\/p>\n<p>\u725b\u903c \u76f4\u63a5\u8282\u7ea6\u4e86\u4e00\u4e2a\u63d2\u4ef6\u4ee5\u524d\u8fd8\u5f00\u53d1\u4e86\u4e2a\u8df3\u8f6c\u8df3\u8f6c\u4ee3\u7801\u7684\u63d2\u4ef6\u5462&hellip;\u539f\u6765\u4e0d\u9700\u8981\u7684<\/p>"},{"title":"\u5199\u4e86\u4e2aollama\u7684\u7ba1\u7406\u9762\u677f\u8f6f\u4ef6","link":"https:\/\/my.rongyiapi.com\/posts\/%E5%86%99%E4%BA%86%E4%B8%AAollama%E7%9A%84%E7%AE%A1%E7%90%86%E9%9D%A2%E6%9D%BF%E8%BD%AF%E4%BB%B6\/","pubDate":"Sat, 27 Jul 2024 22:10:32 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/%E5%86%99%E4%BA%86%E4%B8%AAollama%E7%9A%84%E7%AE%A1%E7%90%86%E9%9D%A2%E6%9D%BF%E8%BD%AF%E4%BB%B6\/","description":"<h1 id=\"\u524d\u8a00\">\u524d\u8a00<\/h1>\n<p>\u603b\u662f\u89c9\u5f97ollama\u547d\u4ee4\u884c\u7684\u65b9\u5f0f\u5f88\u9ebb\u70e6,\u968f\u624b\u5199\u4e00\u4e2aollama\u7684\u7ba1\u7406\u9762\u677f<\/p>\n<h1 id=\"ollama\u4e0b\u8f7d\">ollama\u4e0b\u8f7d<\/h1>\n<p><a href=\"https:\/\/ollama.com\/download\">https:\/\/ollama.com\/download<\/a><\/p>\n<h1 id=\"ollama\u7ba1\u7406\u9762\u677f\u8f6f\u4ef6\u4e0b\u8f7d\">ollama\u7ba1\u7406\u9762\u677f\u8f6f\u4ef6\u4e0b\u8f7d<\/h1>\n<p>\u652f\u6301 window MacOS<\/p>\n<p><a href=\"https:\/\/github.com\/duolabmeng6\/ollama_ui\/releases\">\u4e0b\u8f7d\u5730\u5740<\/a><\/p>\n<p><img loading=\"lazy\" src=\"https:\/\/github.com\/user-attachments\/assets\/7099853a-6706-44ad-9b5b-eabe9e82efd4\" alt=\"image\"  \/>\n<\/p>\n<h1 id=\"\u6e90\u7801\u5730\u5740\">\u6e90\u7801\u5730\u5740<\/h1>\n<p><a href=\"https:\/\/github.com\/duolabmeng6\/ollama_ui\">https:\/\/github.com\/duolabmeng6\/ollama_ui<\/a><\/p>"},{"title":"\u8ba9Copilot\u7528\u4e0aDeepSeek\u603b\u4e8e\u641e\u660e\u767d\u4e86vscode\u548cJetBrainsIDE\u90fd\u80fd\u7528","link":"https:\/\/my.rongyiapi.com\/posts\/%E8%AE%A9copilot%E7%94%A8%E4%B8%8Adeepseek%E6%80%BB%E4%BA%8E%E6%90%9E%E6%98%8E%E7%99%BD%E4%BA%86vscode%E5%92%8Cjetbrainside%E9%83%BD%E8%83%BD%E7%94%A8\/","pubDate":"Sat, 27 Jul 2024 19:48:14 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/%E8%AE%A9copilot%E7%94%A8%E4%B8%8Adeepseek%E6%80%BB%E4%BA%8E%E6%90%9E%E6%98%8E%E7%99%BD%E4%BA%86vscode%E5%92%8Cjetbrainside%E9%83%BD%E8%83%BD%E7%94%A8\/","description":"<h1 id=\"1\u4e0b\u8f7doverride\u9879\u76ee\">1.\u4e0b\u8f7doverride\u9879\u76ee<\/h1>\n<p><a href=\"https:\/\/github.com\/linux-do\/override\">linux-do\/override: \u5565\u4e5f\u4e0d\u662f (github.com)<\/a><\/p>\n<p>\u65b0\u5efa\u8fd9\u4e2a\u6587\u4ef6 config.conf<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\">12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-13\"><a class=\"lnlinks\" href=\"#hl-0-13\">13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-14\"><a class=\"lnlinks\" href=\"#hl-0-14\">14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-15\"><a class=\"lnlinks\" href=\"#hl-0-15\">15<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-16\"><a class=\"lnlinks\" href=\"#hl-0-16\">16<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-17\"><a class=\"lnlinks\" href=\"#hl-0-17\">17<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-18\"><a class=\"lnlinks\" href=\"#hl-0-18\">18<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-19\"><a class=\"lnlinks\" href=\"#hl-0-19\">19<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-20\"><a class=\"lnlinks\" href=\"#hl-0-20\">20<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-21\"><a class=\"lnlinks\" href=\"#hl-0-21\">21<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">{\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;bind&#34;: &#34;0.0.0.0:8181&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;proxy_url&#34;: &#34;&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;timeout&#34;: 600,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;codex_api_base&#34;: &#34;https:\/\/api.deepseek.com\/beta\/v1&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;codex_api_key&#34;: &#34;sk-&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;codex_api_organization&#34;: &#34;&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;codex_api_project&#34;: &#34;&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;codex_max_tokens&#34;: 500,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;code_instruct_model&#34;: &#34;deepseek-coder&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;chat_api_base&#34;: &#34;https:\/\/api.deepseek.com\/v1&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;chat_api_key&#34;: &#34;sk-&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;chat_api_organization&#34;: &#34;&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;chat_api_project&#34;: &#34;&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;chat_max_tokens&#34;: 4096,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;chat_model_default&#34;: &#34;deepseek-chat&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;chat_model_map&#34;: {\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  },\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;chat_locale&#34;: &#34;zh_CN&#34;,\n<\/span><\/span><span class=\"line\"><span class=\"cl\">  &#34;auth_token&#34;: &#34;&#34;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">}\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u8fd0\u884c <code>docker-compose up -d<\/code>\n\u8bbf\u95ee <code>http:\/\/127.0.0.1:8181<\/code> \u8fd9\u4e2a\u670d\u52a1\u5c31\u90e8\u7f72\u6210\u529f\u4e86<\/p>"},{"title":"streamlit \u7b80\u5355\u7684\u767b\u5f55\u4e8b\u4f8b","link":"https:\/\/my.rongyiapi.com\/posts\/streamlit-%E7%AE%80%E5%8D%95%E7%9A%84%E7%99%BB%E5%BD%95%E4%BA%8B%E4%BE%8B\/","pubDate":"Fri, 19 Jul 2024 22:59:56 +0000","guid":"https:\/\/my.rongyiapi.com\/posts\/streamlit-%E7%AE%80%E5%8D%95%E7%9A%84%E7%99%BB%E5%BD%95%E4%BA%8B%E4%BE%8B\/","description":"<p>streamlit \u7684cookie\u5e93\u633a\u5751\u7684 \u8fd9\u91cc\u6211\u91cd\u65b0\u5199\u4e86\u4e00\u4efd\u80fd\u7528\u7684 streamlit \u767b\u5f55\u540e\u4fdd\u6301\u767b\u5f55\u72b6\u6001\u7684\u4e8b\u4f8b<\/p>\n<p><code>st_local_storage.py<\/code><\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\" id=\"hl-0-1\"><a class=\"lnlinks\" href=\"#hl-0-1\"> 1<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-2\"><a class=\"lnlinks\" href=\"#hl-0-2\"> 2<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-3\"><a class=\"lnlinks\" href=\"#hl-0-3\"> 3<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-4\"><a class=\"lnlinks\" href=\"#hl-0-4\"> 4<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-5\"><a class=\"lnlinks\" href=\"#hl-0-5\"> 5<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-6\"><a class=\"lnlinks\" href=\"#hl-0-6\"> 6<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-7\"><a class=\"lnlinks\" href=\"#hl-0-7\"> 7<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-8\"><a class=\"lnlinks\" href=\"#hl-0-8\"> 8<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-9\"><a class=\"lnlinks\" href=\"#hl-0-9\"> 9<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-10\"><a class=\"lnlinks\" href=\"#hl-0-10\">10<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-11\"><a class=\"lnlinks\" href=\"#hl-0-11\">11<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-12\"><a class=\"lnlinks\" href=\"#hl-0-12\">12<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-13\"><a class=\"lnlinks\" href=\"#hl-0-13\">13<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-14\"><a class=\"lnlinks\" href=\"#hl-0-14\">14<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-15\"><a class=\"lnlinks\" href=\"#hl-0-15\">15<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-16\"><a class=\"lnlinks\" href=\"#hl-0-16\">16<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-17\"><a class=\"lnlinks\" href=\"#hl-0-17\">17<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-18\"><a class=\"lnlinks\" href=\"#hl-0-18\">18<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-19\"><a class=\"lnlinks\" href=\"#hl-0-19\">19<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-20\"><a class=\"lnlinks\" href=\"#hl-0-20\">20<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-21\"><a class=\"lnlinks\" href=\"#hl-0-21\">21<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-22\"><a class=\"lnlinks\" href=\"#hl-0-22\">22<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-23\"><a class=\"lnlinks\" href=\"#hl-0-23\">23<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-24\"><a class=\"lnlinks\" href=\"#hl-0-24\">24<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-25\"><a class=\"lnlinks\" href=\"#hl-0-25\">25<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-26\"><a class=\"lnlinks\" href=\"#hl-0-26\">26<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-27\"><a class=\"lnlinks\" href=\"#hl-0-27\">27<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-28\"><a class=\"lnlinks\" href=\"#hl-0-28\">28<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-29\"><a class=\"lnlinks\" href=\"#hl-0-29\">29<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-30\"><a class=\"lnlinks\" href=\"#hl-0-30\">30<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-31\"><a class=\"lnlinks\" href=\"#hl-0-31\">31<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-32\"><a class=\"lnlinks\" href=\"#hl-0-32\">32<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-33\"><a class=\"lnlinks\" href=\"#hl-0-33\">33<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-34\"><a class=\"lnlinks\" href=\"#hl-0-34\">34<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-35\"><a class=\"lnlinks\" href=\"#hl-0-35\">35<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-36\"><a class=\"lnlinks\" href=\"#hl-0-36\">36<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-37\"><a class=\"lnlinks\" href=\"#hl-0-37\">37<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-38\"><a class=\"lnlinks\" href=\"#hl-0-38\">38<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-39\"><a class=\"lnlinks\" href=\"#hl-0-39\">39<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-40\"><a class=\"lnlinks\" href=\"#hl-0-40\">40<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-41\"><a class=\"lnlinks\" href=\"#hl-0-41\">41<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-42\"><a class=\"lnlinks\" href=\"#hl-0-42\">42<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-43\"><a class=\"lnlinks\" href=\"#hl-0-43\">43<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-44\"><a class=\"lnlinks\" href=\"#hl-0-44\">44<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-45\"><a class=\"lnlinks\" href=\"#hl-0-45\">45<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-46\"><a class=\"lnlinks\" href=\"#hl-0-46\">46<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-47\"><a class=\"lnlinks\" href=\"#hl-0-47\">47<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-48\"><a class=\"lnlinks\" href=\"#hl-0-48\">48<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-49\"><a class=\"lnlinks\" href=\"#hl-0-49\">49<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-50\"><a class=\"lnlinks\" href=\"#hl-0-50\">50<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-51\"><a class=\"lnlinks\" href=\"#hl-0-51\">51<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-52\"><a class=\"lnlinks\" href=\"#hl-0-52\">52<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-53\"><a class=\"lnlinks\" href=\"#hl-0-53\">53<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-54\"><a class=\"lnlinks\" href=\"#hl-0-54\">54<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-55\"><a class=\"lnlinks\" href=\"#hl-0-55\">55<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-56\"><a class=\"lnlinks\" href=\"#hl-0-56\">56<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-57\"><a class=\"lnlinks\" href=\"#hl-0-57\">57<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-58\"><a class=\"lnlinks\" href=\"#hl-0-58\">58<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-59\"><a class=\"lnlinks\" href=\"#hl-0-59\">59<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-60\"><a class=\"lnlinks\" href=\"#hl-0-60\">60<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-61\"><a class=\"lnlinks\" href=\"#hl-0-61\">61<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-62\"><a class=\"lnlinks\" href=\"#hl-0-62\">62<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-63\"><a class=\"lnlinks\" href=\"#hl-0-63\">63<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-64\"><a class=\"lnlinks\" href=\"#hl-0-64\">64<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-65\"><a class=\"lnlinks\" href=\"#hl-0-65\">65<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-66\"><a class=\"lnlinks\" href=\"#hl-0-66\">66<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-67\"><a class=\"lnlinks\" href=\"#hl-0-67\">67<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-68\"><a class=\"lnlinks\" href=\"#hl-0-68\">68<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-69\"><a class=\"lnlinks\" href=\"#hl-0-69\">69<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-70\"><a class=\"lnlinks\" href=\"#hl-0-70\">70<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-71\"><a class=\"lnlinks\" href=\"#hl-0-71\">71<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-72\"><a class=\"lnlinks\" href=\"#hl-0-72\">72<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-73\"><a class=\"lnlinks\" href=\"#hl-0-73\">73<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-74\"><a class=\"lnlinks\" href=\"#hl-0-74\">74<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-75\"><a class=\"lnlinks\" href=\"#hl-0-75\">75<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-76\"><a class=\"lnlinks\" href=\"#hl-0-76\">76<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-77\"><a class=\"lnlinks\" href=\"#hl-0-77\">77<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-78\"><a class=\"lnlinks\" href=\"#hl-0-78\">78<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-79\"><a class=\"lnlinks\" href=\"#hl-0-79\">79<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-80\"><a class=\"lnlinks\" href=\"#hl-0-80\">80<\/a>\n<\/span><span class=\"lnt\" id=\"hl-0-81\"><a class=\"lnlinks\" href=\"#hl-0-81\">81<\/a>\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-gdscript3\" data-lang=\"gdscript3\"><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># NOTE: This feature uses browser local storage! AKA it stores data on a viewer&#39;s<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># machine. This may have privacy and compliance implications for your app. Be sure<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># to take that into account with any usage.<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">import<\/span> <span class=\"n\">json<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">from<\/span> <span class=\"n\">typing<\/span> <span class=\"n\">import<\/span> <span class=\"n\">Any<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">import<\/span> <span class=\"n\">uuid<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">import<\/span> <span class=\"n\">streamlit<\/span> <span class=\"n\">as<\/span> <span class=\"n\">st<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># Requires `pip install streamlit-js`<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># https:\/\/github.com\/toolittlecakes\/streamlit_js<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">from<\/span> <span class=\"n\">streamlit_js<\/span> <span class=\"n\">import<\/span> <span class=\"n\">st_js<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">KEY_PREFIX<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&#34;st_localstorage_&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">class<\/span> <span class=\"n\">StLocalStorage<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"s2\">&#34;&#34;&#34;An Dict-like wrapper around browser local storage.\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">    Values are stored JSON encoded.&#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">def<\/span> <span class=\"nf\">__init__<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">):<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"c1\"># Keep track of a UUID for each key to enable reruns<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"s2\">&#34;_ls_unique_keys&#34;<\/span> <span class=\"ow\">not<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">st<\/span><span class=\"o\">.<\/span><span class=\"n\">session_state<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">st<\/span><span class=\"o\">.<\/span><span class=\"n\">session_state<\/span><span class=\"p\">[<\/span><span class=\"s2\">&#34;_ls_unique_keys&#34;<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"c1\"># Hide the JS iframes<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">_container<\/span> <span class=\"o\">=<\/span> <span class=\"n\">st<\/span><span class=\"o\">.<\/span><span class=\"n\">container<\/span><span class=\"p\">()<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">with<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">_container<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">st<\/span><span class=\"o\">.<\/span><span class=\"n\">html<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;&#34;&#34; \n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">                &lt;style&gt;\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">                    .element-container:has(iframe[height=&#34;0&#34;]) {\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">                        display: none;\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">                    }\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">                &lt;\/style&gt;\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">            &#34;&#34;&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">def<\/span> <span class=\"nf\">__getitem__<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">,<\/span> <span class=\"n\">key<\/span><span class=\"p\">:<\/span> <span class=\"nb\">str<\/span><span class=\"p\">)<\/span> <span class=\"o\">-&gt;<\/span> <span class=\"n\">Any<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"n\">key<\/span> <span class=\"ow\">not<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">st<\/span><span class=\"o\">.<\/span><span class=\"n\">session_state<\/span><span class=\"p\">[<\/span><span class=\"s2\">&#34;_ls_unique_keys&#34;<\/span><span class=\"p\">]:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">st<\/span><span class=\"o\">.<\/span><span class=\"n\">session_state<\/span><span class=\"p\">[<\/span><span class=\"s2\">&#34;_ls_unique_keys&#34;<\/span><span class=\"p\">][<\/span><span class=\"n\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">uuid<\/span><span class=\"o\">.<\/span><span class=\"n\">uuid4<\/span><span class=\"p\">())<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">code<\/span> <span class=\"o\">=<\/span> <span class=\"n\">f<\/span><span class=\"s2\">&#34;&#34;&#34;\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">        \/\/ The UUID changes on save, which causes this to rerun and update\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">        console.debug(&#39;{st.session_state[&#34;_ls_unique_keys&#34;][key]}&#39;);\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">        return JSON.parse(localStorage.getItem(&#39;{KEY_PREFIX + key}&#39;));\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">        &#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">with<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">_container<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"n\">result<\/span> <span class=\"o\">=<\/span> <span class=\"n\">st_js<\/span><span class=\"p\">(<\/span><span class=\"n\">code<\/span><span class=\"p\">,<\/span> <span class=\"n\">key<\/span><span class=\"o\">=<\/span><span class=\"n\">st<\/span><span class=\"o\">.<\/span><span class=\"n\">session_state<\/span><span class=\"p\">[<\/span><span class=\"s2\">&#34;_ls_unique_keys&#34;<\/span><span class=\"p\">][<\/span><span class=\"n\">key<\/span><span class=\"p\">])<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">if<\/span> <span class=\"n\">result<\/span> <span class=\"ow\">and<\/span> <span class=\"n\">result<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"n\">json<\/span><span class=\"o\">.<\/span><span class=\"n\">loads<\/span><span class=\"p\">(<\/span><span class=\"n\">result<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">])<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"n\">None<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">def<\/span> <span class=\"nf\">__setitem__<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">,<\/span> <span class=\"n\">key<\/span><span class=\"p\">:<\/span> <span class=\"nb\">str<\/span><span class=\"p\">,<\/span> <span class=\"n\">value<\/span><span class=\"p\">:<\/span> <span class=\"n\">Any<\/span><span class=\"p\">)<\/span> <span class=\"o\">-&gt;<\/span> <span class=\"n\">None<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"n\">json<\/span><span class=\"o\">.<\/span><span class=\"n\">dumps<\/span><span class=\"p\">(<\/span><span class=\"n\">value<\/span><span class=\"p\">,<\/span> <span class=\"n\">ensure_ascii<\/span><span class=\"o\">=<\/span><span class=\"n\">False<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">st<\/span><span class=\"o\">.<\/span><span class=\"n\">session_state<\/span><span class=\"p\">[<\/span><span class=\"s2\">&#34;_ls_unique_keys&#34;<\/span><span class=\"p\">][<\/span><span class=\"n\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">uuid<\/span><span class=\"o\">.<\/span><span class=\"n\">uuid4<\/span><span class=\"p\">())<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">code<\/span> <span class=\"o\">=<\/span> <span class=\"n\">f<\/span><span class=\"s2\">&#34;&#34;&#34;\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">        console.debug(&#39;setting {key} to local storage&#39;);\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">        localStorage.setItem(&#39;{KEY_PREFIX + key}&#39;, JSON.stringify(&#39;{value}&#39;));\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s2\">        &#34;&#34;&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">with<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">_container<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"n\">st_js<\/span><span class=\"p\">(<\/span><span class=\"n\">code<\/span><span class=\"p\">,<\/span> <span class=\"n\">key<\/span><span class=\"o\">=<\/span><span class=\"n\">st<\/span><span class=\"o\">.<\/span><span class=\"n\">session_state<\/span><span class=\"p\">[<\/span><span class=\"s2\">&#34;_ls_unique_keys&#34;<\/span><span class=\"p\">][<\/span><span class=\"n\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">&#34;_set&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">def<\/span> <span class=\"nf\">__delitem__<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">,<\/span> <span class=\"n\">key<\/span><span class=\"p\">:<\/span> <span class=\"nb\">str<\/span><span class=\"p\">)<\/span> <span class=\"o\">-&gt;<\/span> <span class=\"n\">None<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">st<\/span><span class=\"o\">.<\/span><span class=\"n\">session_state<\/span><span class=\"p\">[<\/span><span class=\"s2\">&#34;_ls_unique_keys&#34;<\/span><span class=\"p\">][<\/span><span class=\"n\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">uuid<\/span><span class=\"o\">.<\/span><span class=\"n\">uuid4<\/span><span class=\"p\">())<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">code<\/span> <span class=\"o\">=<\/span> <span class=\"n\">f<\/span><span class=\"s2\">&#34;localStorage.removeItem(&#39;{KEY_PREFIX + key}&#39;);&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">with<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">_container<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"n\">st_js<\/span><span class=\"p\">(<\/span><span class=\"n\">code<\/span><span class=\"p\">,<\/span> <span class=\"n\">key<\/span><span class=\"o\">=<\/span><span class=\"n\">st<\/span><span class=\"o\">.<\/span><span class=\"n\">session_state<\/span><span class=\"p\">[<\/span><span class=\"s2\">&#34;_ls_unique_keys&#34;<\/span><span class=\"p\">][<\/span><span class=\"n\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">&#34;_del&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">def<\/span> <span class=\"nf\">__contains__<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">,<\/span> <span class=\"n\">key<\/span><span class=\"p\">:<\/span> <span class=\"nb\">str<\/span><span class=\"p\">)<\/span> <span class=\"o\">-&gt;<\/span> <span class=\"ne\">bool<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"k\">return<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">__getitem__<\/span><span class=\"p\">(<\/span><span class=\"n\">key<\/span><span class=\"p\">)<\/span> <span class=\"n\">is<\/span> <span class=\"ow\">not<\/span> <span class=\"n\">None<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">def<\/span> <span class=\"nf\">get<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">,<\/span> <span class=\"n\">key<\/span><span class=\"p\">:<\/span> <span class=\"nb\">str<\/span><span class=\"p\">)<\/span> <span class=\"o\">-&gt;<\/span> <span class=\"n\">Any<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">try<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">__getitem__<\/span><span class=\"p\">(<\/span><span class=\"n\">key<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">except<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"n\">None<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">    <span class=\"k\">def<\/span> <span class=\"nf\">set<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">,<\/span> <span class=\"n\">key<\/span><span class=\"p\">:<\/span> <span class=\"nb\">str<\/span><span class=\"p\">,<\/span> <span class=\"n\">value<\/span><span class=\"p\">:<\/span> <span class=\"n\">Any<\/span><span class=\"p\">)<\/span> <span class=\"o\">-&gt;<\/span> <span class=\"n\">None<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">try<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">__setitem__<\/span><span class=\"p\">(<\/span><span class=\"n\">key<\/span><span class=\"p\">,<\/span> <span class=\"n\">value<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">        <span class=\"n\">except<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">            <span class=\"k\">return<\/span> <span class=\"n\">None<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>login.py<\/code><\/p>"}]}}