diff --git a/assets/index-200e3146.css b/assets/index-3f1a890f.css similarity index 64% rename from assets/index-200e3146.css rename to assets/index-3f1a890f.css index d6bc3bb..d42302b 100644 --- a/assets/index-200e3146.css +++ b/assets/index-3f1a890f.css @@ -1 +1 @@ -.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;width:95%;max-width:1200px;max-height:90vh;overflow-y:auto}.modal-header{padding:20px;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:white;z-index:1}.modal-header h2{margin:0;font-size:1.5em}.close-button{background:none;border:none;font-size:1.5em;cursor:pointer;color:#657786}.modal-body{padding:20px}.diff-container{border:1px solid #e1e8ed;border-radius:8px}.diff-header{display:grid;grid-template-columns:1fr 1fr;gap:1px;background-color:#f7f9fa;border-bottom:1px solid #e1e8ed;position:sticky;top:69px;z-index:1}.diff-title{padding:12px;font-weight:700;text-align:center;background:white}.diff-content{padding:20px}.diff-section{margin-bottom:30px}.diff-path{font-weight:700;margin-bottom:10px;padding:8px;background-color:#f8f9fa;border-radius:4px;position:sticky;top:110px;z-index:1;background:white;border:1px solid #e1e8ed}.diff-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px}.diff-side{padding:15px;background-color:#fff;border-radius:4px;overflow-x:auto;border:1px solid #e1e8ed}.diff-side pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:monospace;font-size:14px;line-height:1.4}.diff-removed{background-color:#ffeef0;color:#d73a49}.diff-added{background-color:#e6ffed;color:#28a745}.no-content{color:#657786;font-style:italic;padding:10px}.no-diff{text-align:center;padding:40px;color:#657786;font-size:1.2em}@media (max-width: 768px){.diff-comparison{grid-template-columns:1fr;gap:10px}.diff-header{grid-template-columns:1fr;top:64px}.diff-path{top:105px}.modal-content{width:100%;height:100%;max-height:100vh;border-radius:0}.diff-side{max-height:300px;overflow-y:auto}}.layout[data-v-8ff61192]{display:flex;flex-direction:column;min-height:100vh}.main-content[data-v-8ff61192]{flex:1;background-color:#f7f9fa;padding:20px}.container[data-v-8ff61192]{max-width:1400px;margin:0 auto;width:100%}h1[data-v-8ff61192]{text-align:center;margin:0 0 20px;color:#14171a;font-size:28px}.search-container[data-v-8ff61192]{margin:20px 0;display:flex;justify-content:center}.search-input[data-v-8ff61192]{width:100%;max-width:800px;padding:12px 20px;border:2px solid #e1e8ed;border-radius:30px;font-size:16px;transition:all .3s ease}.search-input[data-v-8ff61192]:focus{outline:none;border-color:#1da1f2;box-shadow:0 0 0 2px #1da1f21a}.document-list[data-v-8ff61192]{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;margin-top:20px}.document-item[data-v-8ff61192]{background:white;border:1px solid #e1e8ed;border-radius:12px;overflow:hidden}.document-header[data-v-8ff61192]{display:flex;align-items:center;padding:16px;text-decoration:none;color:inherit;background:#f7f9fa;border-bottom:1px solid #e1e8ed;transition:background-color .2s ease}.document-header[data-v-8ff61192]:hover{background:#f0f3f5}.document-icon[data-v-8ff61192]{width:48px;height:48px;border-radius:50%;background-color:#1da1f2;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;flex-shrink:0;margin-right:16px}.document-info[data-v-8ff61192]{flex:1;min-width:0}.document-name[data-v-8ff61192]{font-size:18px;font-weight:700;color:#14171a;margin-bottom:4px;word-wrap:break-word}.revision-badge[data-v-8ff61192]{display:inline-block;padding:4px 8px;background-color:#e8f5fd;color:#1da1f2;border-radius:12px;font-size:12px;font-weight:500}.document-actions[data-v-8ff61192]{padding:12px 16px;display:flex;gap:12px}.action-button[data-v-8ff61192]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:14px;text-decoration:none;transition:all .2s ease}.revision-button[data-v-8ff61192]{background-color:#e8f5fd;color:#1da1f2;border:none}.revision-button[data-v-8ff61192]:hover{background-color:#d8effd}.original-button[data-v-8ff61192]{background-color:#f3f4f6;color:#4b5563;border:none}.original-button[data-v-8ff61192]:hover{background-color:#e5e7eb}.search-matches[data-v-8ff61192]{padding:8px 16px}.match-item[data-v-8ff61192]{margin:12px 0;background:#f8f9fa;border-radius:8px;overflow:hidden}.match-link[data-v-8ff61192]{display:block;padding:12px;text-decoration:none;color:inherit;transition:background-color .2s ease}.match-link[data-v-8ff61192]:hover{background:#f0f3f5}.match-header[data-v-8ff61192]{margin-bottom:8px}.match-index[data-v-8ff61192]{display:inline-block;padding:4px 8px;background:#e8f5fd;color:#1da1f2;border-radius:12px;font-size:12px;font-weight:500}.match-content[data-v-8ff61192]{font-size:14px;line-height:1.5;color:#14171a}[data-v-8ff61192] .highlight{background-color:#fff3cd;padding:2px 0;border-radius:2px;font-weight:500}.footer[data-v-8ff61192]{background-color:#fff;border-top:1px solid #e1e8ed;padding:16px;position:sticky;bottom:0;z-index:100}.footer-content[data-v-8ff61192]{max-width:1400px;margin:0 auto}.footer-buttons[data-v-8ff61192]{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.footer-button[data-v-8ff61192]{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid #1da1f2;border-radius:20px;background:none;color:#1da1f2;font-size:14px;cursor:pointer;text-decoration:none;transition:all .2s ease}.footer-button[data-v-8ff61192]:hover{background-color:#1da1f21a}.footer-button.warning[data-v-8ff61192]{border-color:#e0245e;color:#e0245e}.footer-button.warning[data-v-8ff61192]:hover{background-color:#e0245e1a}@media (max-width: 768px){.main-content[data-v-8ff61192]{padding:16px}.container[data-v-8ff61192]{padding:0}.document-list[data-v-8ff61192]{grid-template-columns:1fr}.document-header[data-v-8ff61192]{padding:12px}.document-icon[data-v-8ff61192]{width:40px;height:40px;font-size:16px;margin-right:12px}.document-name[data-v-8ff61192]{font-size:16px}.search-matches[data-v-8ff61192]{padding:8px 12px}.footer[data-v-8ff61192]{padding:12px}.footer-buttons[data-v-8ff61192]{gap:8px}.footer-button[data-v-8ff61192]{padding:6px 12px;font-size:12px}}@media (min-width: 1920px){.container[data-v-8ff61192]{max-width:1800px}.document-list[data-v-8ff61192]{grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}}.profile-header[data-v-804b1857]{background-color:#fff;padding:20px;margin-bottom:20px;position:relative;display:flex;flex-direction:column;align-items:center;min-height:80px;border:1px solid #e1e8ed;border-radius:12px}.back-link[data-v-804b1857]{position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:24px;text-decoration:none;color:#1da1f2;z-index:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center}h1[data-v-804b1857]{margin:0;padding:0 60px;text-align:center;font-size:1.5em;max-width:100%;word-break:break-word;box-sizing:border-box}.document-actions[data-v-804b1857]{margin-top:16px;display:flex;gap:12px;justify-content:center}.revision-link[data-v-804b1857],.edit-button[data-v-804b1857],.original-doc-btn[data-v-804b1857]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:14px;text-decoration:none;transition:background-color .2s ease}.revision-link[data-v-804b1857]{background-color:#e8f5fd;color:#1da1f2}.revision-link[data-v-804b1857]:hover{background-color:#d8effd}.edit-button[data-v-804b1857]{background-color:#dcfce7;color:#16a34a}.edit-button[data-v-804b1857]:hover{background-color:#bbf7d0}.revision-count[data-v-804b1857]{color:#1a91da}.original-doc-btn[data-v-804b1857]{background-color:#f3f4f6;color:#4b5563}.original-doc-btn[data-v-804b1857]:hover{background-color:#e5e7eb}.linked-revisions[data-v-804b1857]{background-color:#fff;border:1px solid #e1e8ed;border-radius:12px;padding:20px;margin:0 20px 20px}.linked-revisions h2[data-v-804b1857]{font-size:18px;margin:0 0 16px;color:#14171a}.revision-links[data-v-804b1857]{display:flex;flex-direction:column;gap:12px}.revision-link-item[data-v-804b1857]{display:block;padding:16px;background-color:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;text-decoration:none;color:inherit;transition:background-color .2s ease}.revision-link-item[data-v-804b1857]:hover{background-color:#f3f4f6}.revision-link-header[data-v-804b1857]{display:flex;justify-content:space-between;margin-bottom:8px}.document-name[data-v-804b1857]{font-weight:700;color:#14171a}.revision-title[data-v-804b1857]{color:#1da1f2}.revision-description[data-v-804b1857]{color:#4b5563;font-size:14px;margin-bottom:8px}.revision-date[data-v-804b1857]{color:#657786;font-size:12px}.search-container[data-v-804b1857]{margin:20px;display:flex;justify-content:center}.search-input[data-v-804b1857]{width:100%;max-width:600px;padding:12px 20px;border:2px solid #e1e8ed;border-radius:30px;font-size:16px;transition:all .3s ease}.search-input[data-v-804b1857]:focus{outline:none;border-color:#1da1f2;box-shadow:0 0 0 2px #1da1f21a}.tweets[data-v-804b1857]{max-width:800px;margin:0 auto;padding:0 20px}.tweet[data-v-804b1857]{background-color:#fff;border:1px solid #e1e8ed;cursor:pointer;transition:background-color .2s ease}.tweet+.tweet[data-v-804b1857]{border-top:none}.tweet[data-v-804b1857]:first-child{border-radius:12px 12px 0 0}.tweet[data-v-804b1857]:last-child{border-radius:0 0 12px 12px}.tweet[data-v-804b1857]:hover{background-color:#f8f9fa}.tweet-header[data-v-804b1857]{padding:12px 16px;border-bottom:1px solid #e1e8ed}.index[data-v-804b1857]{font-weight:700;color:#14171a}.tweet-content[data-v-804b1857]{font-size:16px;line-height:1.6;color:#2d3748;white-space:pre-wrap;word-break:break-word;margin:0;padding:12px 16px}.qa-content[data-v-804b1857]{background-color:#fff}.question[data-v-804b1857]{background-color:#f8f9fa;border-bottom:1px solid #e1e8ed;padding:20px}.answer[data-v-804b1857]{background-color:#fff;padding:20px}.qa-label[data-v-804b1857]{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;padding:4px 12px;border-radius:16px;margin-bottom:12px}.question .qa-label[data-v-804b1857]{background-color:#e8f5fd;color:#1da1f2}.answer .qa-label[data-v-804b1857]{background-color:#f3f4f6;color:#4b5563}.qa-label i[data-v-804b1857]{font-size:16px}.meta-info[data-v-804b1857]{padding:12px 16px;border-top:1px solid #e1e8ed;background-color:#f8f9fa;display:flex;gap:12px}.link-count[data-v-804b1857],.public-comment-count[data-v-804b1857]{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background-color:#fff;border:1px solid #e1e8ed;border-radius:16px;font-size:12px;color:#657786;transition:background-color .2s ease}.link-count[data-v-804b1857]:hover,.public-comment-count[data-v-804b1857]:hover{background-color:#f3f4f6}.link-count i[data-v-804b1857]{color:#1da1f2}[data-v-804b1857] .highlight{background-color:#fff3cd;padding:2px;border-radius:2px}@media (max-width: 768px){.linked-revisions[data-v-804b1857]{margin:0 8px 16px}.search-container[data-v-804b1857]{margin:16px 8px}.tweets[data-v-804b1857]{padding:0 8px}.tweet[data-v-804b1857]{margin-bottom:0;border-radius:0;border-left:none;border-right:none}.tweet[data-v-804b1857]:first-child{border-top:none}.qa-content[data-v-804b1857]{border-radius:0}.question[data-v-804b1857],.answer[data-v-804b1857]{padding:16px}.tweet-content[data-v-804b1857]{font-size:15px;padding:0 8px}.meta-info[data-v-804b1857]{padding:12px 16px}.document-actions[data-v-804b1857]{flex-direction:column;width:100%;padding:0 16px}.revision-link[data-v-804b1857],.edit-button[data-v-804b1857],.original-doc-btn[data-v-804b1857]{width:100%;justify-content:center}}.tweet-links-list[data-v-7a618d33]{list-style-type:none;padding-left:0}.tweet-link-item[data-v-7a618d33]{margin-bottom:20px}.link-title[data-v-7a618d33]{font-weight:700;color:#1da1f2;text-decoration:none}.linked-content[data-v-7a618d33]{margin-top:10px;padding:10px;border-left:2px solid #e1e8ed;background-color:#f8f9fa}.highlight[data-v-7a618d33]{background-color:#caddf2;font-weight:700}.modal-overlay[data-v-150e8811]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-150e8811]{background-color:#fff;border-radius:8px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column}.modal-header[data-v-150e8811]{padding:20px;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-150e8811]{margin:0;font-size:1.5em}.close-button[data-v-150e8811]{background:none;border:none;font-size:1.5em;cursor:pointer;color:#657786}.search-container[data-v-150e8811]{padding:16px 20px;border-bottom:1px solid #e1e8ed;background-color:#fff}.search-input-wrapper[data-v-150e8811]{position:relative;display:flex;align-items:center}.search-icon[data-v-150e8811]{position:absolute;left:12px;color:#657786}.search-input[data-v-150e8811]{width:100%;padding:8px 36px;border:1px solid #e1e8ed;border-radius:20px;font-size:14px;transition:all .2s ease}.search-input[data-v-150e8811]:focus{outline:none;border-color:#1da1f2;box-shadow:0 0 0 2px #1da1f21a}.clear-button[data-v-150e8811]{position:absolute;right:12px;background:none;border:none;color:#657786;cursor:pointer;padding:4px;border-radius:50%;transition:background-color .2s ease}.clear-button[data-v-150e8811]:hover{background-color:#0000001a}.modal-body[data-v-150e8811]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-150e8811]{padding:20px;border-top:1px solid #e1e8ed;display:flex;justify-content:flex-end;gap:12px}.revision-item[data-v-150e8811]{margin-bottom:24px}.revision-header[data-v-150e8811]{margin-bottom:12px}.revision-date[data-v-150e8811]{color:#657786;font-size:14px}.article-item[data-v-150e8811]{background:white;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:12px}.article-checkbox[data-v-150e8811]{display:flex;align-items:flex-start;gap:12px;padding:16px;cursor:pointer;width:100%}.article-checkbox input[data-v-150e8811]{margin-top:4px}.article-preview[data-v-150e8811]{flex-grow:1}.article-header[data-v-150e8811]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.revision-title[data-v-150e8811]{font-weight:700;color:#14171a}.article-status[data-v-150e8811]{padding:4px 8px;border-radius:12px;font-size:12px}.article-status.改正[data-v-150e8811]{background-color:#e8f5fd;color:#1da1f2}.article-status.新設[data-v-150e8811]{background-color:#dcfce7;color:#16a34a}.article-status.削除[data-v-150e8811]{background-color:#fee2e2;color:#ef4444}.article-content[data-v-150e8811]{font-size:14px;color:#4b5563}.before-content[data-v-150e8811],.after-content[data-v-150e8811]{margin-bottom:8px}.after-content[data-v-150e8811]{margin-bottom:0}.no-revisions[data-v-150e8811]{text-align:center;padding:40px;color:#657786;font-style:italic}.save-button[data-v-150e8811],.cancel-button[data-v-150e8811]{padding:8px 24px;border-radius:20px;font-size:14px;cursor:pointer;transition:all .2s ease}.save-button[data-v-150e8811]{background-color:#1da1f2;color:#fff;border:none}.save-button[data-v-150e8811]:hover{background-color:#1991db}.cancel-button[data-v-150e8811]{background-color:#fff;color:#1da1f2;border:1px solid #1da1f2}.cancel-button[data-v-150e8811]:hover{background-color:#1da1f21a}.highlight[data-v-150e8811]{background-color:#fff3cd;padding:2px;border-radius:2px}@media (max-width: 768px){.modal-content[data-v-150e8811]{width:95%;max-height:95vh}.article-header[data-v-150e8811]{flex-direction:column;gap:8px;align-items:flex-start}.article-checkbox[data-v-150e8811]{padding:12px}.search-container[data-v-150e8811]{padding:12px 16px}.search-input[data-v-150e8811]{font-size:16px}}.tweet-page[data-v-4a346623]{min-height:100vh;background-color:#f7f9fa;padding:20px}.tweet-container[data-v-4a346623]{background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.tweet-profile-header[data-v-4a346623]{background-color:#1da1f2;color:#fff;padding:20px;position:relative;text-align:center}.tweet-profile-header h1[data-v-4a346623]{margin:0;font-size:24px}.tweet-back-link[data-v-4a346623]{position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:24px;text-decoration:none;color:#fff}.tweet[data-v-4a346623]{padding:20px}.tweet-header[data-v-4a346623]{margin-bottom:15px}.index[data-v-4a346623]{font-weight:700;margin-right:10px}.document-title[data-v-4a346623]{color:#657786}.tweet-content[data-v-4a346623]{font-size:16px;line-height:1.5;margin-bottom:20px;white-space:pre-wrap}.tweet-actions[data-v-4a346623]{margin:15px 0;display:flex;gap:10px}.copy-url-btn[data-v-4a346623],.add-revision-link-btn[data-v-4a346623]{background-color:#1da1f2;color:#fff;border:none;padding:8px 16px;border-radius:20px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:14px}.add-revision-link-btn[data-v-4a346623]{background-color:#17bf63}.tweet-links[data-v-4a346623],.revision-links[data-v-4a346623]{margin-top:20px;border-top:1px solid #e1e8ed;padding-top:20px}.revision-item[data-v-4a346623]{background-color:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:15px;padding:15px}.revision-details h4[data-v-4a346623]{margin:0 0 10px;color:#14171a}.revision-description[data-v-4a346623]{color:#657786;margin-bottom:10px}.revision-source[data-v-4a346623]{margin-bottom:15px}.revision-source a[data-v-4a346623]{color:#1da1f2;text-decoration:none}.article-container[data-v-4a346623]{margin-top:15px}.article-status[data-v-4a346623]{display:inline-block;padding:4px 8px;border-radius:4px;margin-bottom:10px;font-size:.9em}.article-status.改正[data-v-4a346623]{background-color:#e8f5fd;color:#1da1f2}.article-status.新設[data-v-4a346623]{background-color:#e6ffed;color:#28a745}.article-status.削除[data-v-4a346623]{background-color:#ffeef0;color:#d73a49}.comparison-container[data-v-4a346623]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison-column[data-v-4a346623]{background-color:#fff;padding:15px;border:1px solid #e1e8ed;border-radius:4px}.comparison-column h4[data-v-4a346623]{margin:0 0 10px;font-size:1em;color:#657786}.content[data-v-4a346623]{white-space:pre-wrap;word-break:break-word;line-height:1.6}.no-content[data-v-4a346623]{color:#657786;font-style:italic;padding:10px;background-color:#f8f9fa;border-radius:4px}.error-message[data-v-4a346623]{text-align:center;padding:40px;color:#e0245e;font-weight:700}.highlight[data-v-4a346623]{color:#1da1f2;font-weight:700}.diff-added[data-v-4a346623]{background-color:#e6ffed;text-decoration:underline;text-decoration-color:#28a745;text-decoration-thickness:2px}.qa-content[data-v-4a346623]{background-color:#fff;border-radius:8px;overflow:hidden}.question[data-v-4a346623]{background-color:#f8f9fa;border-bottom:1px solid #e1e8ed;padding:20px}.answer[data-v-4a346623]{background-color:#fff;padding:20px}.qa-label[data-v-4a346623]{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;padding:4px 12px;border-radius:16px;margin-bottom:12px}.question .qa-label[data-v-4a346623]{background-color:#e8f5fd;color:#1da1f2}.answer .qa-label[data-v-4a346623]{background-color:#f3f4f6;color:#4b5563}.qa-label i[data-v-4a346623]{font-size:16px}@media (max-width: 768px){.tweet-page[data-v-4a346623]{padding:10px}.tweet-profile-header[data-v-4a346623]{padding:15px}.tweet-profile-header h1[data-v-4a346623]{font-size:20px;margin:0 30px}.tweet[data-v-4a346623]{padding:15px}.comparison-container[data-v-4a346623]{grid-template-columns:1fr;gap:10px}.tweet-actions[data-v-4a346623]{flex-wrap:wrap}.copy-url-btn[data-v-4a346623],.add-revision-link-btn[data-v-4a346623]{flex:1;justify-content:center}.question[data-v-4a346623],.answer[data-v-4a346623]{padding:15px}}.revision-page[data-v-bdf9f51b]{min-height:100vh;background-color:#f7f9fa}.page-header[data-v-bdf9f51b]{background-color:#fff;padding:20px;border-bottom:1px solid #e1e8ed;display:flex;align-items:center;gap:20px}.back-link[data-v-bdf9f51b]{display:flex;align-items:center;gap:8px;color:#1da1f2;text-decoration:none;font-size:16px}.back-link[data-v-bdf9f51b]:hover{color:#1991db}h1[data-v-bdf9f51b]{margin:0;font-size:24px;color:#14171a}.page-content[data-v-bdf9f51b]{max-width:1200px;margin:0 auto;padding:40px 20px}.revisions-header[data-v-bdf9f51b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.revisions-header h2[data-v-bdf9f51b]{margin:0;font-size:20px;color:#14171a}.add-revision-button[data-v-bdf9f51b]{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#1da1f2;color:#fff;border:none;border-radius:20px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.add-revision-button[data-v-bdf9f51b]:hover{background-color:#1991db}.no-revisions[data-v-bdf9f51b]{text-align:center;padding:40px;background-color:#fff;border-radius:8px;color:#657786;font-style:italic}.revision-item[data-v-bdf9f51b]{background:white;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:20px;overflow:hidden}.revision-header[data-v-bdf9f51b]{padding:16px;background-color:#f8f9fa;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center}.revision-header h3[data-v-bdf9f51b]{margin:0;font-size:18px;color:#14171a}.revision-actions[data-v-bdf9f51b]{display:flex;gap:12px}.view-button[data-v-bdf9f51b],.edit-button[data-v-bdf9f51b],.delete-button[data-v-bdf9f51b]{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:16px;font-size:14px;cursor:pointer;transition:all .2s ease;text-decoration:none}.view-button[data-v-bdf9f51b]{background-color:#e8f5fd;color:#1da1f2}.view-button[data-v-bdf9f51b]:hover{background-color:#d8effd}.edit-button[data-v-bdf9f51b]{background-color:#f3f4f6;color:#4b5563}.edit-button[data-v-bdf9f51b]:hover{background-color:#e5e7eb}.delete-button[data-v-bdf9f51b]{background-color:#fee2e2;color:#ef4444}.delete-button[data-v-bdf9f51b]:hover{background-color:#fecaca}.revision-info[data-v-bdf9f51b]{padding:16px}.info-row[data-v-bdf9f51b]{display:flex;gap:12px;margin-bottom:8px}.info-row[data-v-bdf9f51b]:last-child{margin-bottom:0}.label[data-v-bdf9f51b]{font-weight:700;color:#657786;min-width:120px}.info-row a[data-v-bdf9f51b]{color:#1da1f2;text-decoration:none}.info-row a[data-v-bdf9f51b]:hover{text-decoration:underline}.public-comments-list[data-v-bdf9f51b]{display:flex;flex-wrap:wrap;gap:8px}.public-comment-link[data-v-bdf9f51b]{display:inline-flex;align-items:center;padding:4px 12px;background-color:#e8f5fd;color:#1da1f2;border-radius:16px;text-decoration:none;font-size:14px;transition:background-color .2s ease}.public-comment-link[data-v-bdf9f51b]:hover{background-color:#d8effd}@media (max-width: 768px){.page-header[data-v-bdf9f51b]{padding:16px;flex-wrap:wrap}h1[data-v-bdf9f51b]{font-size:20px;width:100%;order:-1;margin-bottom:12px}.page-content[data-v-bdf9f51b]{padding:20px 16px}.revision-header[data-v-bdf9f51b]{flex-direction:column;gap:12px}.revision-actions[data-v-bdf9f51b]{width:100%;justify-content:flex-end;gap:8px}.info-row[data-v-bdf9f51b]{flex-direction:column;gap:4px}.label[data-v-bdf9f51b]{min-width:auto}.public-comments-list[data-v-bdf9f51b]{width:100%}.public-comment-link[data-v-bdf9f51b]{width:100%;justify-content:center}}.revision-page[data-v-cba56555]{min-height:100vh;background-color:#f7f9fa}.page-header[data-v-cba56555]{background-color:#fff;padding:20px;border-bottom:1px solid #e1e8ed;display:flex;align-items:center;gap:20px}.back-link[data-v-cba56555]{display:flex;align-items:center;gap:8px;color:#1da1f2;text-decoration:none;font-size:16px}.back-link[data-v-cba56555]:hover{color:#1991db}h1[data-v-cba56555]{margin:0;font-size:24px;color:#14171a}.page-content[data-v-cba56555]{max-width:1200px;margin:0 auto;padding:40px 20px}.revision-content[data-v-cba56555]{background:white;border:1px solid #e1e8ed;border-radius:8px;overflow:hidden}.revision-header[data-v-cba56555]{padding:20px;background-color:#f8f9fa;border-bottom:1px solid #e1e8ed}.revision-title[data-v-cba56555]{font-size:20px;font-weight:700;color:#14171a;margin-bottom:8px}.revision-date[data-v-cba56555]{color:#657786;font-size:14px}.revision-description[data-v-cba56555]{padding:20px;color:#4b5563;border-bottom:1px solid #e1e8ed;line-height:1.6}.revision-source[data-v-cba56555]{padding:20px;border-bottom:1px solid #e1e8ed}.revision-source a[data-v-cba56555]{color:#1da1f2;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.revision-source a[data-v-cba56555]:hover{text-decoration:underline}.public-comments[data-v-cba56555]{padding:20px;border-bottom:1px solid #e1e8ed}.public-comments h2[data-v-cba56555]{font-size:16px;margin:0 0 16px;color:#14171a}.public-comments-list[data-v-cba56555]{display:flex;flex-wrap:wrap;gap:8px}.public-comment-link[data-v-cba56555]{display:inline-flex;align-items:center;padding:4px 12px;background-color:#e8f5fd;color:#1da1f2;border-radius:16px;text-decoration:none;font-size:14px;transition:background-color .2s ease}.public-comment-link[data-v-cba56555]:hover{background-color:#d8effd}.articles-list[data-v-cba56555]{padding:20px}.article-container[data-v-cba56555]{margin-bottom:24px}.article-container[data-v-cba56555]:last-child{margin-bottom:0}.article-status[data-v-cba56555]{display:inline-block;padding:4px 12px;border-radius:16px;font-size:14px;font-weight:700;margin-bottom:12px}.article-status.改正[data-v-cba56555]{background-color:#e8f5fd;color:#1da1f2}.article-status.新設[data-v-cba56555]{background-color:#dcfce7;color:#16a34a}.article-status.削除[data-v-cba56555]{background-color:#fee2e2;color:#ef4444}.comparison-container[data-v-cba56555]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison-column[data-v-cba56555]{background-color:#f8f9fa;border-radius:8px;padding:16px}.comparison-column h4[data-v-cba56555]{margin:0 0 12px;font-size:14px;color:#657786}.content[data-v-cba56555]{white-space:pre-wrap;word-break:break-word;line-height:1.6;font-size:14px}.content.deleted[data-v-cba56555]{color:#ef4444;font-weight:700;font-style:italic}.no-content[data-v-cba56555]{color:#657786;font-style:italic;padding:12px;background-color:#fff;border-radius:4px;font-size:14px}.no-revision[data-v-cba56555]{text-align:center;padding:40px;background-color:#fff;border-radius:8px;color:#657786;font-style:italic}@media (max-width: 768px){.page-header[data-v-cba56555]{padding:16px;flex-wrap:wrap}h1[data-v-cba56555]{font-size:20px;width:100%;order:-1;margin-bottom:12px}.page-content[data-v-cba56555]{padding:20px 16px}.revision-header[data-v-cba56555],.revision-description[data-v-cba56555],.revision-source[data-v-cba56555],.public-comments[data-v-cba56555],.articles-list[data-v-cba56555]{padding:16px}.comparison-container[data-v-cba56555]{grid-template-columns:1fr;gap:12px}.public-comments-list[data-v-cba56555]{width:100%}.public-comment-link[data-v-cba56555]{width:100%;justify-content:center}}.editor-page[data-v-16b1000e]{min-height:100vh;background-color:#f7f9fa}.page-header[data-v-16b1000e]{background-color:#fff;padding:20px;border-bottom:1px solid #e1e8ed;display:flex;align-items:center;gap:20px}.back-link[data-v-16b1000e]{display:flex;align-items:center;gap:8px;color:#1da1f2;text-decoration:none;font-size:16px}.back-link[data-v-16b1000e]:hover{color:#1991db}h1[data-v-16b1000e]{margin:0;font-size:24px;color:#14171a}.page-content[data-v-16b1000e]{max-width:800px;margin:0 auto;padding:40px 20px}.editor-form[data-v-16b1000e]{background-color:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.form-group[data-v-16b1000e]{margin-bottom:24px}.form-group label[data-v-16b1000e]{display:block;margin-bottom:8px;font-weight:700;color:#14171a}.form-control[data-v-16b1000e]{width:100%;padding:12px;border:1px solid #e1e8ed;border-radius:8px;font-size:16px;background-color:#fff}.form-control[data-v-16b1000e]:focus{outline:none;border-color:#1da1f2;box-shadow:0 0 0 2px #1da1f21a}textarea.form-control[data-v-16b1000e]{resize:vertical;min-height:100px}.public-comments-section[data-v-16b1000e],.articles-section[data-v-16b1000e]{margin-top:40px}.section-header[data-v-16b1000e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-header h2[data-v-16b1000e]{margin:0;font-size:20px;color:#14171a}.add-button[data-v-16b1000e]{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#1da1f2;color:#fff;border:none;border-radius:20px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.add-button[data-v-16b1000e]:hover{background-color:#1991db}.no-items[data-v-16b1000e],.no-comments[data-v-16b1000e]{text-align:center;padding:40px;background-color:#f8f9fa;border-radius:8px;color:#657786;font-style:italic}.comment-item[data-v-16b1000e]{background:white;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:12px}.comment-checkbox[data-v-16b1000e]{display:flex;align-items:flex-start;gap:12px;padding:16px;cursor:pointer;width:100%}.comment-checkbox input[data-v-16b1000e]{margin-top:4px}.comment-preview[data-v-16b1000e]{flex-grow:1}.comment-header[data-v-16b1000e]{display:flex;justify-content:space-between;align-items:center}.document-name[data-v-16b1000e]{font-size:16px;font-weight:700;color:#14171a}.view-link[data-v-16b1000e]{color:#1da1f2;text-decoration:none;font-size:14px;display:flex;align-items:center;gap:4px}.view-link[data-v-16b1000e]:hover{text-decoration:underline}.article-item[data-v-16b1000e]{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:20px;overflow:hidden}.article-header[data-v-16b1000e]{padding:16px;background-color:#fff;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center}.article-header h3[data-v-16b1000e]{margin:0;font-size:18px;color:#14171a}.remove-button[data-v-16b1000e]{background:none;border:none;color:#e0245e;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s ease}.remove-button[data-v-16b1000e]:hover{background-color:#e0245e1a}.article-content[data-v-16b1000e]{padding:16px}.no-content[data-v-16b1000e]{padding:12px;background-color:#fff;border:1px solid #e1e8ed;border-radius:8px;color:#657786;font-style:italic}.no-content.deleted[data-v-16b1000e]{color:#e0245e;font-weight:700}.form-actions[data-v-16b1000e]{margin-top:40px;display:flex;justify-content:flex-end;gap:16px}.save-button[data-v-16b1000e],.cancel-button[data-v-16b1000e]{padding:12px 24px;border-radius:24px;font-size:16px;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.save-button[data-v-16b1000e]{background-color:#1da1f2;color:#fff;border:none}.save-button[data-v-16b1000e]:hover:not(:disabled){background-color:#1991db}.save-button[data-v-16b1000e]:disabled{background-color:#a5d0f5;cursor:not-allowed}.cancel-button[data-v-16b1000e]{background-color:#fff;color:#1da1f2;border:1px solid #1da1f2}.cancel-button[data-v-16b1000e]:hover{background-color:#1da1f21a}@media (max-width: 768px){.page-header[data-v-16b1000e]{padding:16px}.page-content[data-v-16b1000e]{padding:20px}.editor-form[data-v-16b1000e]{padding:16px}.article-header[data-v-16b1000e]{flex-direction:column;gap:12px}.article-actions[data-v-16b1000e]{width:100%;justify-content:flex-end}.form-actions[data-v-16b1000e]{flex-direction:column-reverse;gap:12px}.save-button[data-v-16b1000e],.cancel-button[data-v-16b1000e]{width:100%}}.scroll-to-top[data-v-57de1376]{position:fixed;bottom:20px;right:20px;width:48px;height:48px;background-color:#1da1f2;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 10px #0003;transition:all .3s ease;z-index:1000}.scroll-to-top[data-v-57de1376]:hover{background-color:#1991db;transform:translateY(-2px);box-shadow:0 4px 15px #0000004d}@media (max-width: 768px){.scroll-to-top[data-v-57de1376]{bottom:16px;right:16px;width:40px;height:40px;font-size:16px}}.editor-page[data-v-eaa13145]{min-height:100vh;background-color:#f7f9fa}.page-header[data-v-eaa13145]{background-color:#fff;padding:20px;border-bottom:1px solid #e1e8ed;display:flex;align-items:center;gap:20px}.back-link[data-v-eaa13145]{display:flex;align-items:center;gap:8px;color:#1da1f2;text-decoration:none;font-size:16px}.back-link[data-v-eaa13145]:hover{color:#1991db}h1[data-v-eaa13145]{margin:0;font-size:24px;color:#14171a}.page-content[data-v-eaa13145]{max-width:800px;margin:0 auto;padding:40px 20px}.editor-form[data-v-eaa13145]{background-color:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.form-group[data-v-eaa13145]{margin-bottom:24px}.form-group label[data-v-eaa13145]{display:block;margin-bottom:8px;font-weight:700;color:#14171a}.input-group[data-v-eaa13145]{position:relative;display:flex;flex-direction:column;gap:8px}.form-control[data-v-eaa13145]{width:100%;padding:12px;border:1px solid #e1e8ed;border-radius:8px;font-size:16px;background-color:#fff}.form-control[data-v-eaa13145]:focus{outline:none;border-color:#1da1f2;box-shadow:0 0 0 2px #1da1f21a}textarea.form-control[data-v-eaa13145]{resize:vertical;min-height:100px}.format-button[data-v-eaa13145]{align-self:flex-end;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background-color:#e8f5fd;color:#1da1f2;border:none;border-radius:16px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.format-button[data-v-eaa13145]:hover{background-color:#d8effd}.format-button i[data-v-eaa13145]{font-size:12px}.questions-section[data-v-eaa13145]{margin-top:40px}.section-header[data-v-eaa13145]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2[data-v-eaa13145]{margin:0;font-size:20px;color:#14171a}.add-button[data-v-eaa13145]{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#1da1f2;color:#fff;border:none;border-radius:20px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.add-button[data-v-eaa13145]:hover{background-color:#1991db}.no-items[data-v-eaa13145]{text-align:center;padding:40px;background-color:#f8f9fa;border-radius:8px;color:#657786;font-style:italic}.question-item[data-v-eaa13145]{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:20px;overflow:hidden}.question-header[data-v-eaa13145]{padding:16px;background-color:#fff;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center}.question-header h3[data-v-eaa13145]{margin:0;font-size:18px;color:#14171a}.remove-button[data-v-eaa13145]{background:none;border:none;color:#e0245e;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s ease}.remove-button[data-v-eaa13145]:hover{background-color:#e0245e1a}.question-content[data-v-eaa13145]{padding:16px}.pre-action-buttons[data-v-eaa13145]{margin:32px 0;display:flex;justify-content:center}.add-question-button[data-v-eaa13145]{display:flex;align-items:center;gap:8px;padding:12px 24px;background-color:#1da1f2;color:#fff;border:none;border-radius:24px;font-size:16px;cursor:pointer;transition:background-color .2s ease;box-shadow:0 2px 4px #1da1f233}.add-question-button[data-v-eaa13145]:hover{background-color:#1991db;box-shadow:0 4px 8px #1da1f24d}.form-actions[data-v-eaa13145]{margin-top:40px;display:flex;justify-content:flex-end;gap:16px}.save-button[data-v-eaa13145],.cancel-button[data-v-eaa13145]{padding:12px 24px;border-radius:24px;font-size:16px;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.save-button[data-v-eaa13145]{background-color:#1da1f2;color:#fff;border:none}.save-button[data-v-eaa13145]:hover:not(:disabled){background-color:#1991db}.save-button[data-v-eaa13145]:disabled{background-color:#a5d0f5;cursor:not-allowed}.cancel-button[data-v-eaa13145]{background-color:#fff;color:#1da1f2;border:1px solid #1da1f2}.cancel-button[data-v-eaa13145]:hover{background-color:#1da1f21a}@media (max-width: 768px){.page-header[data-v-eaa13145]{padding:16px}.page-content[data-v-eaa13145]{padding:20px}.editor-form[data-v-eaa13145]{padding:16px}.article-header[data-v-eaa13145]{flex-direction:column;gap:12px}.article-actions[data-v-eaa13145]{width:100%;justify-content:flex-end}.form-actions[data-v-eaa13145]{flex-direction:column-reverse;gap:12px}.save-button[data-v-eaa13145],.cancel-button[data-v-eaa13145]{width:100%}.add-question-button[data-v-eaa13145]{width:100%;justify-content:center}} +.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;width:95%;max-width:1200px;max-height:90vh;overflow-y:auto}.modal-header{padding:20px;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:white;z-index:1}.modal-header h2{margin:0;font-size:1.5em}.close-button{background:none;border:none;font-size:1.5em;cursor:pointer;color:#657786}.modal-body{padding:20px}.diff-container{border:1px solid #e1e8ed;border-radius:8px}.diff-header{display:grid;grid-template-columns:1fr 1fr;gap:1px;background-color:#f7f9fa;border-bottom:1px solid #e1e8ed;position:sticky;top:69px;z-index:1}.diff-title{padding:12px;font-weight:700;text-align:center;background:white}.diff-content{padding:20px}.diff-section{margin-bottom:30px}.diff-path{font-weight:700;margin-bottom:10px;padding:8px;background-color:#f8f9fa;border-radius:4px;position:sticky;top:110px;z-index:1;background:white;border:1px solid #e1e8ed}.diff-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px}.diff-side{padding:15px;background-color:#fff;border-radius:4px;overflow-x:auto;border:1px solid #e1e8ed}.diff-side pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:monospace;font-size:14px;line-height:1.4}.diff-removed{background-color:#ffeef0;color:#d73a49}.diff-added{background-color:#e6ffed;color:#28a745}.no-content{color:#657786;font-style:italic;padding:10px}.no-diff{text-align:center;padding:40px;color:#657786;font-size:1.2em}@media (max-width: 768px){.diff-comparison{grid-template-columns:1fr;gap:10px}.diff-header{grid-template-columns:1fr;top:64px}.diff-path{top:105px}.modal-content{width:100%;height:100%;max-height:100vh;border-radius:0}.diff-side{max-height:300px;overflow-y:auto}}.layout[data-v-8ff61192]{display:flex;flex-direction:column;min-height:100vh}.main-content[data-v-8ff61192]{flex:1;background-color:#f7f9fa;padding:20px}.container[data-v-8ff61192]{max-width:1400px;margin:0 auto;width:100%}h1[data-v-8ff61192]{text-align:center;margin:0 0 20px;color:#14171a;font-size:28px}.search-container[data-v-8ff61192]{margin:20px 0;display:flex;justify-content:center}.search-input[data-v-8ff61192]{width:100%;max-width:800px;padding:12px 20px;border:2px solid #e1e8ed;border-radius:30px;font-size:16px;transition:all .3s ease}.search-input[data-v-8ff61192]:focus{outline:none;border-color:#1da1f2;box-shadow:0 0 0 2px #1da1f21a}.document-list[data-v-8ff61192]{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;margin-top:20px}.document-item[data-v-8ff61192]{background:white;border:1px solid #e1e8ed;border-radius:12px;overflow:hidden}.document-header[data-v-8ff61192]{display:flex;align-items:center;padding:16px;text-decoration:none;color:inherit;background:#f7f9fa;border-bottom:1px solid #e1e8ed;transition:background-color .2s ease}.document-header[data-v-8ff61192]:hover{background:#f0f3f5}.document-icon[data-v-8ff61192]{width:48px;height:48px;border-radius:50%;background-color:#1da1f2;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;flex-shrink:0;margin-right:16px}.document-info[data-v-8ff61192]{flex:1;min-width:0}.document-name[data-v-8ff61192]{font-size:18px;font-weight:700;color:#14171a;margin-bottom:4px;word-wrap:break-word}.revision-badge[data-v-8ff61192]{display:inline-block;padding:4px 8px;background-color:#e8f5fd;color:#1da1f2;border-radius:12px;font-size:12px;font-weight:500}.document-actions[data-v-8ff61192]{padding:12px 16px;display:flex;gap:12px}.action-button[data-v-8ff61192]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:14px;text-decoration:none;transition:all .2s ease}.revision-button[data-v-8ff61192]{background-color:#e8f5fd;color:#1da1f2;border:none}.revision-button[data-v-8ff61192]:hover{background-color:#d8effd}.original-button[data-v-8ff61192]{background-color:#f3f4f6;color:#4b5563;border:none}.original-button[data-v-8ff61192]:hover{background-color:#e5e7eb}.search-matches[data-v-8ff61192]{padding:8px 16px}.match-item[data-v-8ff61192]{margin:12px 0;background:#f8f9fa;border-radius:8px;overflow:hidden}.match-link[data-v-8ff61192]{display:block;padding:12px;text-decoration:none;color:inherit;transition:background-color .2s ease}.match-link[data-v-8ff61192]:hover{background:#f0f3f5}.match-header[data-v-8ff61192]{margin-bottom:8px}.match-index[data-v-8ff61192]{display:inline-block;padding:4px 8px;background:#e8f5fd;color:#1da1f2;border-radius:12px;font-size:12px;font-weight:500}.match-content[data-v-8ff61192]{font-size:14px;line-height:1.5;color:#14171a}[data-v-8ff61192] .highlight{background-color:#fff3cd;padding:2px 0;border-radius:2px;font-weight:500}.footer[data-v-8ff61192]{background-color:#fff;border-top:1px solid #e1e8ed;padding:16px;position:sticky;bottom:0;z-index:100}.footer-content[data-v-8ff61192]{max-width:1400px;margin:0 auto}.footer-buttons[data-v-8ff61192]{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.footer-button[data-v-8ff61192]{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid #1da1f2;border-radius:20px;background:none;color:#1da1f2;font-size:14px;cursor:pointer;text-decoration:none;transition:all .2s ease}.footer-button[data-v-8ff61192]:hover{background-color:#1da1f21a}.footer-button.warning[data-v-8ff61192]{border-color:#e0245e;color:#e0245e}.footer-button.warning[data-v-8ff61192]:hover{background-color:#e0245e1a}@media (max-width: 768px){.main-content[data-v-8ff61192]{padding:16px}.container[data-v-8ff61192]{padding:0}.document-list[data-v-8ff61192]{grid-template-columns:1fr}.document-header[data-v-8ff61192]{padding:12px}.document-icon[data-v-8ff61192]{width:40px;height:40px;font-size:16px;margin-right:12px}.document-name[data-v-8ff61192]{font-size:16px}.search-matches[data-v-8ff61192]{padding:8px 12px}.footer[data-v-8ff61192]{padding:12px}.footer-buttons[data-v-8ff61192]{gap:8px}.footer-button[data-v-8ff61192]{padding:6px 12px;font-size:12px}}@media (min-width: 1920px){.container[data-v-8ff61192]{max-width:1800px}.document-list[data-v-8ff61192]{grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}}.profile-header[data-v-804b1857]{background-color:#fff;padding:20px;margin-bottom:20px;position:relative;display:flex;flex-direction:column;align-items:center;min-height:80px;border:1px solid #e1e8ed;border-radius:12px}.back-link[data-v-804b1857]{position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:24px;text-decoration:none;color:#1da1f2;z-index:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center}h1[data-v-804b1857]{margin:0;padding:0 60px;text-align:center;font-size:1.5em;max-width:100%;word-break:break-word;box-sizing:border-box}.document-actions[data-v-804b1857]{margin-top:16px;display:flex;gap:12px;justify-content:center}.revision-link[data-v-804b1857],.edit-button[data-v-804b1857],.original-doc-btn[data-v-804b1857]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:14px;text-decoration:none;transition:background-color .2s ease}.revision-link[data-v-804b1857]{background-color:#e8f5fd;color:#1da1f2}.revision-link[data-v-804b1857]:hover{background-color:#d8effd}.edit-button[data-v-804b1857]{background-color:#dcfce7;color:#16a34a}.edit-button[data-v-804b1857]:hover{background-color:#bbf7d0}.revision-count[data-v-804b1857]{color:#1a91da}.original-doc-btn[data-v-804b1857]{background-color:#f3f4f6;color:#4b5563}.original-doc-btn[data-v-804b1857]:hover{background-color:#e5e7eb}.linked-revisions[data-v-804b1857]{background-color:#fff;border:1px solid #e1e8ed;border-radius:12px;padding:20px;margin:0 20px 20px}.linked-revisions h2[data-v-804b1857]{font-size:18px;margin:0 0 16px;color:#14171a}.revision-links[data-v-804b1857]{display:flex;flex-direction:column;gap:12px}.revision-link-item[data-v-804b1857]{display:block;padding:16px;background-color:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;text-decoration:none;color:inherit;transition:background-color .2s ease}.revision-link-item[data-v-804b1857]:hover{background-color:#f3f4f6}.revision-link-header[data-v-804b1857]{display:flex;justify-content:space-between;margin-bottom:8px}.document-name[data-v-804b1857]{font-weight:700;color:#14171a}.revision-title[data-v-804b1857]{color:#1da1f2}.revision-description[data-v-804b1857]{color:#4b5563;font-size:14px;margin-bottom:8px}.revision-date[data-v-804b1857]{color:#657786;font-size:12px}.search-container[data-v-804b1857]{margin:20px;display:flex;justify-content:center}.search-input[data-v-804b1857]{width:100%;max-width:600px;padding:12px 20px;border:2px solid #e1e8ed;border-radius:30px;font-size:16px;transition:all .3s ease}.search-input[data-v-804b1857]:focus{outline:none;border-color:#1da1f2;box-shadow:0 0 0 2px #1da1f21a}.tweets[data-v-804b1857]{max-width:800px;margin:0 auto;padding:0 20px}.tweet[data-v-804b1857]{background-color:#fff;border:1px solid #e1e8ed;cursor:pointer;transition:background-color .2s ease}.tweet+.tweet[data-v-804b1857]{border-top:none}.tweet[data-v-804b1857]:first-child{border-radius:12px 12px 0 0}.tweet[data-v-804b1857]:last-child{border-radius:0 0 12px 12px}.tweet[data-v-804b1857]:hover{background-color:#f8f9fa}.tweet-header[data-v-804b1857]{padding:12px 16px;border-bottom:1px solid #e1e8ed}.index[data-v-804b1857]{font-weight:700;color:#14171a}.tweet-content[data-v-804b1857]{font-size:16px;line-height:1.6;color:#2d3748;white-space:pre-wrap;word-break:break-word;margin:0;padding:12px 16px}.qa-content[data-v-804b1857]{background-color:#fff}.question[data-v-804b1857]{background-color:#f8f9fa;border-bottom:1px solid #e1e8ed;padding:20px}.answer[data-v-804b1857]{background-color:#fff;padding:20px}.qa-label[data-v-804b1857]{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;padding:4px 12px;border-radius:16px;margin-bottom:12px}.question .qa-label[data-v-804b1857]{background-color:#e8f5fd;color:#1da1f2}.answer .qa-label[data-v-804b1857]{background-color:#f3f4f6;color:#4b5563}.qa-label i[data-v-804b1857]{font-size:16px}.meta-info[data-v-804b1857]{padding:12px 16px;border-top:1px solid #e1e8ed;background-color:#f8f9fa;display:flex;gap:12px}.link-count[data-v-804b1857],.public-comment-count[data-v-804b1857]{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background-color:#fff;border:1px solid #e1e8ed;border-radius:16px;font-size:12px;color:#657786;transition:background-color .2s ease}.link-count[data-v-804b1857]:hover,.public-comment-count[data-v-804b1857]:hover{background-color:#f3f4f6}.link-count i[data-v-804b1857]{color:#1da1f2}[data-v-804b1857] .highlight{background-color:#fff3cd;padding:2px;border-radius:2px}@media (max-width: 768px){.linked-revisions[data-v-804b1857]{margin:0 8px 16px}.search-container[data-v-804b1857]{margin:16px 8px}.tweets[data-v-804b1857]{padding:0 8px}.tweet[data-v-804b1857]{margin-bottom:0;border-radius:0;border-left:none;border-right:none}.tweet[data-v-804b1857]:first-child{border-top:none}.qa-content[data-v-804b1857]{border-radius:0}.question[data-v-804b1857],.answer[data-v-804b1857]{padding:16px}.tweet-content[data-v-804b1857]{font-size:15px;padding:0 8px}.meta-info[data-v-804b1857]{padding:12px 16px}.document-actions[data-v-804b1857]{flex-direction:column;width:100%;padding:0 16px}.revision-link[data-v-804b1857],.edit-button[data-v-804b1857],.original-doc-btn[data-v-804b1857]{width:100%;justify-content:center}}.tweet-links-list[data-v-7a618d33]{list-style-type:none;padding-left:0}.tweet-link-item[data-v-7a618d33]{margin-bottom:20px}.link-title[data-v-7a618d33]{font-weight:700;color:#1da1f2;text-decoration:none}.linked-content[data-v-7a618d33]{margin-top:10px;padding:10px;border-left:2px solid #e1e8ed;background-color:#f8f9fa}.highlight[data-v-7a618d33]{background-color:#caddf2;font-weight:700}.modal-overlay[data-v-150e8811]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-150e8811]{background-color:#fff;border-radius:8px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column}.modal-header[data-v-150e8811]{padding:20px;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-150e8811]{margin:0;font-size:1.5em}.close-button[data-v-150e8811]{background:none;border:none;font-size:1.5em;cursor:pointer;color:#657786}.search-container[data-v-150e8811]{padding:16px 20px;border-bottom:1px solid #e1e8ed;background-color:#fff}.search-input-wrapper[data-v-150e8811]{position:relative;display:flex;align-items:center}.search-icon[data-v-150e8811]{position:absolute;left:12px;color:#657786}.search-input[data-v-150e8811]{width:100%;padding:8px 36px;border:1px solid #e1e8ed;border-radius:20px;font-size:14px;transition:all .2s ease}.search-input[data-v-150e8811]:focus{outline:none;border-color:#1da1f2;box-shadow:0 0 0 2px #1da1f21a}.clear-button[data-v-150e8811]{position:absolute;right:12px;background:none;border:none;color:#657786;cursor:pointer;padding:4px;border-radius:50%;transition:background-color .2s ease}.clear-button[data-v-150e8811]:hover{background-color:#0000001a}.modal-body[data-v-150e8811]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-150e8811]{padding:20px;border-top:1px solid #e1e8ed;display:flex;justify-content:flex-end;gap:12px}.revision-item[data-v-150e8811]{margin-bottom:24px}.revision-header[data-v-150e8811]{margin-bottom:12px}.revision-date[data-v-150e8811]{color:#657786;font-size:14px}.article-item[data-v-150e8811]{background:white;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:12px}.article-checkbox[data-v-150e8811]{display:flex;align-items:flex-start;gap:12px;padding:16px;cursor:pointer;width:100%}.article-checkbox input[data-v-150e8811]{margin-top:4px}.article-preview[data-v-150e8811]{flex-grow:1}.article-header[data-v-150e8811]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.revision-title[data-v-150e8811]{font-weight:700;color:#14171a}.article-status[data-v-150e8811]{padding:4px 8px;border-radius:12px;font-size:12px}.article-status.改正[data-v-150e8811]{background-color:#e8f5fd;color:#1da1f2}.article-status.新設[data-v-150e8811]{background-color:#dcfce7;color:#16a34a}.article-status.削除[data-v-150e8811]{background-color:#fee2e2;color:#ef4444}.article-content[data-v-150e8811]{font-size:14px;color:#4b5563}.before-content[data-v-150e8811],.after-content[data-v-150e8811]{margin-bottom:8px}.after-content[data-v-150e8811]{margin-bottom:0}.no-revisions[data-v-150e8811]{text-align:center;padding:40px;color:#657786;font-style:italic}.save-button[data-v-150e8811],.cancel-button[data-v-150e8811]{padding:8px 24px;border-radius:20px;font-size:14px;cursor:pointer;transition:all .2s ease}.save-button[data-v-150e8811]{background-color:#1da1f2;color:#fff;border:none}.save-button[data-v-150e8811]:hover{background-color:#1991db}.cancel-button[data-v-150e8811]{background-color:#fff;color:#1da1f2;border:1px solid #1da1f2}.cancel-button[data-v-150e8811]:hover{background-color:#1da1f21a}.highlight[data-v-150e8811]{background-color:#fff3cd;padding:2px;border-radius:2px}@media (max-width: 768px){.modal-content[data-v-150e8811]{width:95%;max-height:95vh}.article-header[data-v-150e8811]{flex-direction:column;gap:8px;align-items:flex-start}.article-checkbox[data-v-150e8811]{padding:12px}.search-container[data-v-150e8811]{padding:12px 16px}.search-input[data-v-150e8811]{font-size:16px}}.tweet-page[data-v-4a346623]{min-height:100vh;background-color:#f7f9fa;padding:20px}.tweet-container[data-v-4a346623]{background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.tweet-profile-header[data-v-4a346623]{background-color:#1da1f2;color:#fff;padding:20px;position:relative;text-align:center}.tweet-profile-header h1[data-v-4a346623]{margin:0;font-size:24px}.tweet-back-link[data-v-4a346623]{position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:24px;text-decoration:none;color:#fff}.tweet[data-v-4a346623]{padding:20px}.tweet-header[data-v-4a346623]{margin-bottom:15px}.index[data-v-4a346623]{font-weight:700;margin-right:10px}.document-title[data-v-4a346623]{color:#657786}.tweet-content[data-v-4a346623]{font-size:16px;line-height:1.5;margin-bottom:20px;white-space:pre-wrap}.tweet-actions[data-v-4a346623]{margin:15px 0;display:flex;gap:10px}.copy-url-btn[data-v-4a346623],.add-revision-link-btn[data-v-4a346623]{background-color:#1da1f2;color:#fff;border:none;padding:8px 16px;border-radius:20px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:14px}.add-revision-link-btn[data-v-4a346623]{background-color:#17bf63}.tweet-links[data-v-4a346623],.revision-links[data-v-4a346623]{margin-top:20px;border-top:1px solid #e1e8ed;padding-top:20px}.revision-item[data-v-4a346623]{background-color:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:15px;padding:15px}.revision-details h4[data-v-4a346623]{margin:0 0 10px;color:#14171a}.revision-description[data-v-4a346623]{color:#657786;margin-bottom:10px}.revision-source[data-v-4a346623]{margin-bottom:15px}.revision-source a[data-v-4a346623]{color:#1da1f2;text-decoration:none}.article-container[data-v-4a346623]{margin-top:15px}.article-status[data-v-4a346623]{display:inline-block;padding:4px 8px;border-radius:4px;margin-bottom:10px;font-size:.9em}.article-status.改正[data-v-4a346623]{background-color:#e8f5fd;color:#1da1f2}.article-status.新設[data-v-4a346623]{background-color:#e6ffed;color:#28a745}.article-status.削除[data-v-4a346623]{background-color:#ffeef0;color:#d73a49}.comparison-container[data-v-4a346623]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison-column[data-v-4a346623]{background-color:#fff;padding:15px;border:1px solid #e1e8ed;border-radius:4px}.comparison-column h4[data-v-4a346623]{margin:0 0 10px;font-size:1em;color:#657786}.content[data-v-4a346623]{white-space:pre-wrap;word-break:break-word;line-height:1.6}.no-content[data-v-4a346623]{color:#657786;font-style:italic;padding:10px;background-color:#f8f9fa;border-radius:4px}.error-message[data-v-4a346623]{text-align:center;padding:40px;color:#e0245e;font-weight:700}.highlight[data-v-4a346623]{color:#1da1f2;font-weight:700}.diff-added[data-v-4a346623]{background-color:#e6ffed;text-decoration:underline;text-decoration-color:#28a745;text-decoration-thickness:2px}.qa-content[data-v-4a346623]{background-color:#fff;border-radius:8px;overflow:hidden}.question[data-v-4a346623]{background-color:#f8f9fa;border-bottom:1px solid #e1e8ed;padding:20px}.answer[data-v-4a346623]{background-color:#fff;padding:20px}.qa-label[data-v-4a346623]{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;padding:4px 12px;border-radius:16px;margin-bottom:12px}.question .qa-label[data-v-4a346623]{background-color:#e8f5fd;color:#1da1f2}.answer .qa-label[data-v-4a346623]{background-color:#f3f4f6;color:#4b5563}.qa-label i[data-v-4a346623]{font-size:16px}@media (max-width: 768px){.tweet-page[data-v-4a346623]{padding:10px}.tweet-profile-header[data-v-4a346623]{padding:15px}.tweet-profile-header h1[data-v-4a346623]{font-size:20px;margin:0 30px}.tweet[data-v-4a346623]{padding:15px}.comparison-container[data-v-4a346623]{grid-template-columns:1fr;gap:10px}.tweet-actions[data-v-4a346623]{flex-wrap:wrap}.copy-url-btn[data-v-4a346623],.add-revision-link-btn[data-v-4a346623]{flex:1;justify-content:center}.question[data-v-4a346623],.answer[data-v-4a346623]{padding:15px}}.revision-page[data-v-bdf9f51b]{min-height:100vh;background-color:#f7f9fa}.page-header[data-v-bdf9f51b]{background-color:#fff;padding:20px;border-bottom:1px solid #e1e8ed;display:flex;align-items:center;gap:20px}.back-link[data-v-bdf9f51b]{display:flex;align-items:center;gap:8px;color:#1da1f2;text-decoration:none;font-size:16px}.back-link[data-v-bdf9f51b]:hover{color:#1991db}h1[data-v-bdf9f51b]{margin:0;font-size:24px;color:#14171a}.page-content[data-v-bdf9f51b]{max-width:1200px;margin:0 auto;padding:40px 20px}.revisions-header[data-v-bdf9f51b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.revisions-header h2[data-v-bdf9f51b]{margin:0;font-size:20px;color:#14171a}.add-revision-button[data-v-bdf9f51b]{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#1da1f2;color:#fff;border:none;border-radius:20px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.add-revision-button[data-v-bdf9f51b]:hover{background-color:#1991db}.no-revisions[data-v-bdf9f51b]{text-align:center;padding:40px;background-color:#fff;border-radius:8px;color:#657786;font-style:italic}.revision-item[data-v-bdf9f51b]{background:white;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:20px;overflow:hidden}.revision-header[data-v-bdf9f51b]{padding:16px;background-color:#f8f9fa;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center}.revision-header h3[data-v-bdf9f51b]{margin:0;font-size:18px;color:#14171a}.revision-actions[data-v-bdf9f51b]{display:flex;gap:12px}.view-button[data-v-bdf9f51b],.edit-button[data-v-bdf9f51b],.delete-button[data-v-bdf9f51b]{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:16px;font-size:14px;cursor:pointer;transition:all .2s ease;text-decoration:none}.view-button[data-v-bdf9f51b]{background-color:#e8f5fd;color:#1da1f2}.view-button[data-v-bdf9f51b]:hover{background-color:#d8effd}.edit-button[data-v-bdf9f51b]{background-color:#f3f4f6;color:#4b5563}.edit-button[data-v-bdf9f51b]:hover{background-color:#e5e7eb}.delete-button[data-v-bdf9f51b]{background-color:#fee2e2;color:#ef4444}.delete-button[data-v-bdf9f51b]:hover{background-color:#fecaca}.revision-info[data-v-bdf9f51b]{padding:16px}.info-row[data-v-bdf9f51b]{display:flex;gap:12px;margin-bottom:8px}.info-row[data-v-bdf9f51b]:last-child{margin-bottom:0}.label[data-v-bdf9f51b]{font-weight:700;color:#657786;min-width:120px}.info-row a[data-v-bdf9f51b]{color:#1da1f2;text-decoration:none}.info-row a[data-v-bdf9f51b]:hover{text-decoration:underline}.public-comments-list[data-v-bdf9f51b]{display:flex;flex-wrap:wrap;gap:8px}.public-comment-link[data-v-bdf9f51b]{display:inline-flex;align-items:center;padding:4px 12px;background-color:#e8f5fd;color:#1da1f2;border-radius:16px;text-decoration:none;font-size:14px;transition:background-color .2s ease}.public-comment-link[data-v-bdf9f51b]:hover{background-color:#d8effd}@media (max-width: 768px){.page-header[data-v-bdf9f51b]{padding:16px;flex-wrap:wrap}h1[data-v-bdf9f51b]{font-size:20px;width:100%;order:-1;margin-bottom:12px}.page-content[data-v-bdf9f51b]{padding:20px 16px}.revision-header[data-v-bdf9f51b]{flex-direction:column;gap:12px}.revision-actions[data-v-bdf9f51b]{width:100%;justify-content:flex-end;gap:8px}.info-row[data-v-bdf9f51b]{flex-direction:column;gap:4px}.label[data-v-bdf9f51b]{min-width:auto}.public-comments-list[data-v-bdf9f51b]{width:100%}.public-comment-link[data-v-bdf9f51b]{width:100%;justify-content:center}}.revision-page[data-v-99033245]{min-height:100vh;background-color:#f7f9fa}.page-header[data-v-99033245]{background-color:#fff;padding:20px;border-bottom:1px solid #e1e8ed;display:flex;align-items:center;gap:20px}.back-link[data-v-99033245]{display:flex;align-items:center;gap:8px;color:#1da1f2;text-decoration:none;font-size:16px}.back-link[data-v-99033245]:hover{color:#1991db}h1[data-v-99033245]{margin:0;font-size:24px;color:#14171a}.page-content[data-v-99033245]{max-width:1200px;margin:0 auto;padding:40px 20px}.revision-content[data-v-99033245]{background:white;border:1px solid #e1e8ed;border-radius:8px;overflow:hidden}.revision-header[data-v-99033245]{padding:20px;background-color:#f8f9fa;border-bottom:1px solid #e1e8ed}.revision-title[data-v-99033245]{font-size:20px;font-weight:700;color:#14171a;margin-bottom:8px}.revision-date[data-v-99033245]{color:#657786;font-size:14px}.revision-description[data-v-99033245]{padding:20px;color:#4b5563;border-bottom:1px solid #e1e8ed;line-height:1.6}.revision-source[data-v-99033245]{padding:20px;border-bottom:1px solid #e1e8ed}.revision-source a[data-v-99033245]{color:#1da1f2;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.revision-source a[data-v-99033245]:hover{text-decoration:underline}.public-comments[data-v-99033245]{padding:20px;border-bottom:1px solid #e1e8ed}.public-comments h2[data-v-99033245]{font-size:16px;margin:0 0 16px;color:#14171a}.public-comments-list[data-v-99033245]{display:flex;flex-wrap:wrap;gap:8px}.public-comment-link[data-v-99033245]{display:inline-flex;align-items:center;padding:4px 12px;background-color:#e8f5fd;color:#1da1f2;border-radius:16px;text-decoration:none;font-size:14px;transition:background-color .2s ease}.public-comment-link[data-v-99033245]:hover{background-color:#d8effd}.articles-list[data-v-99033245]{padding:20px}.article-container[data-v-99033245]{margin-bottom:24px}.article-container[data-v-99033245]:last-child{margin-bottom:0}.article-status[data-v-99033245]{display:inline-block;padding:4px 12px;border-radius:16px;font-size:14px;font-weight:700;margin-bottom:12px}.article-status.改正[data-v-99033245]{background-color:#e8f5fd;color:#1da1f2}.article-status.新設[data-v-99033245]{background-color:#dcfce7;color:#16a34a}.article-status.削除[data-v-99033245]{background-color:#fee2e2;color:#ef4444}.comparison-container[data-v-99033245]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison-column[data-v-99033245]{background-color:#f8f9fa;border-radius:8px;padding:16px}.comparison-column h4[data-v-99033245]{margin:0 0 12px;font-size:14px;color:#657786}.content[data-v-99033245]{white-space:pre-wrap;word-break:break-word;line-height:1.6;font-size:14px}.content.deleted[data-v-99033245]{color:#ef4444;font-weight:700;font-style:italic}.no-content[data-v-99033245]{color:#657786;font-style:italic;padding:12px;background-color:#fff;border-radius:4px;font-size:14px}.diff-view[data-v-99033245]{margin-top:20px;background-color:#fff;border:1px solid #e1e8ed;border-radius:8px;padding:16px}.diff-view h4[data-v-99033245]{margin:0 0 12px;font-size:14px;color:#657786}.diff-content[data-v-99033245]{white-space:pre-wrap;word-break:break-word;line-height:1.6;font-size:14px;background-color:#f8f9fa;padding:12px;border-radius:4px}[data-v-99033245] .diff-added{background-color:#e6ffed;color:#28a745;text-decoration:underline;text-decoration-color:#28a745;text-decoration-thickness:2px}[data-v-99033245] .diff-removed{background-color:#ffeef0;color:#d73a49;text-decoration:line-through;text-decoration-color:#d73a49;text-decoration-thickness:2px}.no-revision[data-v-99033245]{text-align:center;padding:40px;background-color:#fff;border-radius:8px;color:#657786;font-style:italic}@media (max-width: 768px){.page-header[data-v-99033245]{padding:16px;flex-wrap:wrap}h1[data-v-99033245]{font-size:20px;width:100%;order:-1;margin-bottom:12px}.page-content[data-v-99033245]{padding:20px 16px}.revision-header[data-v-99033245],.revision-description[data-v-99033245],.revision-source[data-v-99033245],.public-comments[data-v-99033245],.articles-list[data-v-99033245]{padding:16px}.comparison-container[data-v-99033245]{grid-template-columns:1fr;gap:12px}.public-comments-list[data-v-99033245]{width:100%}.public-comment-link[data-v-99033245]{width:100%;justify-content:center}}.editor-page[data-v-16b1000e]{min-height:100vh;background-color:#f7f9fa}.page-header[data-v-16b1000e]{background-color:#fff;padding:20px;border-bottom:1px solid #e1e8ed;display:flex;align-items:center;gap:20px}.back-link[data-v-16b1000e]{display:flex;align-items:center;gap:8px;color:#1da1f2;text-decoration:none;font-size:16px}.back-link[data-v-16b1000e]:hover{color:#1991db}h1[data-v-16b1000e]{margin:0;font-size:24px;color:#14171a}.page-content[data-v-16b1000e]{max-width:800px;margin:0 auto;padding:40px 20px}.editor-form[data-v-16b1000e]{background-color:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.form-group[data-v-16b1000e]{margin-bottom:24px}.form-group label[data-v-16b1000e]{display:block;margin-bottom:8px;font-weight:700;color:#14171a}.form-control[data-v-16b1000e]{width:100%;padding:12px;border:1px solid #e1e8ed;border-radius:8px;font-size:16px;background-color:#fff}.form-control[data-v-16b1000e]:focus{outline:none;border-color:#1da1f2;box-shadow:0 0 0 2px #1da1f21a}textarea.form-control[data-v-16b1000e]{resize:vertical;min-height:100px}.public-comments-section[data-v-16b1000e],.articles-section[data-v-16b1000e]{margin-top:40px}.section-header[data-v-16b1000e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-header h2[data-v-16b1000e]{margin:0;font-size:20px;color:#14171a}.add-button[data-v-16b1000e]{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#1da1f2;color:#fff;border:none;border-radius:20px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.add-button[data-v-16b1000e]:hover{background-color:#1991db}.no-items[data-v-16b1000e],.no-comments[data-v-16b1000e]{text-align:center;padding:40px;background-color:#f8f9fa;border-radius:8px;color:#657786;font-style:italic}.comment-item[data-v-16b1000e]{background:white;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:12px}.comment-checkbox[data-v-16b1000e]{display:flex;align-items:flex-start;gap:12px;padding:16px;cursor:pointer;width:100%}.comment-checkbox input[data-v-16b1000e]{margin-top:4px}.comment-preview[data-v-16b1000e]{flex-grow:1}.comment-header[data-v-16b1000e]{display:flex;justify-content:space-between;align-items:center}.document-name[data-v-16b1000e]{font-size:16px;font-weight:700;color:#14171a}.view-link[data-v-16b1000e]{color:#1da1f2;text-decoration:none;font-size:14px;display:flex;align-items:center;gap:4px}.view-link[data-v-16b1000e]:hover{text-decoration:underline}.article-item[data-v-16b1000e]{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:20px;overflow:hidden}.article-header[data-v-16b1000e]{padding:16px;background-color:#fff;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center}.article-header h3[data-v-16b1000e]{margin:0;font-size:18px;color:#14171a}.remove-button[data-v-16b1000e]{background:none;border:none;color:#e0245e;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s ease}.remove-button[data-v-16b1000e]:hover{background-color:#e0245e1a}.article-content[data-v-16b1000e]{padding:16px}.no-content[data-v-16b1000e]{padding:12px;background-color:#fff;border:1px solid #e1e8ed;border-radius:8px;color:#657786;font-style:italic}.no-content.deleted[data-v-16b1000e]{color:#e0245e;font-weight:700}.form-actions[data-v-16b1000e]{margin-top:40px;display:flex;justify-content:flex-end;gap:16px}.save-button[data-v-16b1000e],.cancel-button[data-v-16b1000e]{padding:12px 24px;border-radius:24px;font-size:16px;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.save-button[data-v-16b1000e]{background-color:#1da1f2;color:#fff;border:none}.save-button[data-v-16b1000e]:hover:not(:disabled){background-color:#1991db}.save-button[data-v-16b1000e]:disabled{background-color:#a5d0f5;cursor:not-allowed}.cancel-button[data-v-16b1000e]{background-color:#fff;color:#1da1f2;border:1px solid #1da1f2}.cancel-button[data-v-16b1000e]:hover{background-color:#1da1f21a}@media (max-width: 768px){.page-header[data-v-16b1000e]{padding:16px}.page-content[data-v-16b1000e]{padding:20px}.editor-form[data-v-16b1000e]{padding:16px}.article-header[data-v-16b1000e]{flex-direction:column;gap:12px}.article-actions[data-v-16b1000e]{width:100%;justify-content:flex-end}.form-actions[data-v-16b1000e]{flex-direction:column-reverse;gap:12px}.save-button[data-v-16b1000e],.cancel-button[data-v-16b1000e]{width:100%}}.scroll-to-top[data-v-57de1376]{position:fixed;bottom:20px;right:20px;width:48px;height:48px;background-color:#1da1f2;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 10px #0003;transition:all .3s ease;z-index:1000}.scroll-to-top[data-v-57de1376]:hover{background-color:#1991db;transform:translateY(-2px);box-shadow:0 4px 15px #0000004d}@media (max-width: 768px){.scroll-to-top[data-v-57de1376]{bottom:16px;right:16px;width:40px;height:40px;font-size:16px}}.editor-page[data-v-eaa13145]{min-height:100vh;background-color:#f7f9fa}.page-header[data-v-eaa13145]{background-color:#fff;padding:20px;border-bottom:1px solid #e1e8ed;display:flex;align-items:center;gap:20px}.back-link[data-v-eaa13145]{display:flex;align-items:center;gap:8px;color:#1da1f2;text-decoration:none;font-size:16px}.back-link[data-v-eaa13145]:hover{color:#1991db}h1[data-v-eaa13145]{margin:0;font-size:24px;color:#14171a}.page-content[data-v-eaa13145]{max-width:800px;margin:0 auto;padding:40px 20px}.editor-form[data-v-eaa13145]{background-color:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.form-group[data-v-eaa13145]{margin-bottom:24px}.form-group label[data-v-eaa13145]{display:block;margin-bottom:8px;font-weight:700;color:#14171a}.input-group[data-v-eaa13145]{position:relative;display:flex;flex-direction:column;gap:8px}.form-control[data-v-eaa13145]{width:100%;padding:12px;border:1px solid #e1e8ed;border-radius:8px;font-size:16px;background-color:#fff}.form-control[data-v-eaa13145]:focus{outline:none;border-color:#1da1f2;box-shadow:0 0 0 2px #1da1f21a}textarea.form-control[data-v-eaa13145]{resize:vertical;min-height:100px}.format-button[data-v-eaa13145]{align-self:flex-end;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background-color:#e8f5fd;color:#1da1f2;border:none;border-radius:16px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.format-button[data-v-eaa13145]:hover{background-color:#d8effd}.format-button i[data-v-eaa13145]{font-size:12px}.questions-section[data-v-eaa13145]{margin-top:40px}.section-header[data-v-eaa13145]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2[data-v-eaa13145]{margin:0;font-size:20px;color:#14171a}.add-button[data-v-eaa13145]{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#1da1f2;color:#fff;border:none;border-radius:20px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.add-button[data-v-eaa13145]:hover{background-color:#1991db}.no-items[data-v-eaa13145]{text-align:center;padding:40px;background-color:#f8f9fa;border-radius:8px;color:#657786;font-style:italic}.question-item[data-v-eaa13145]{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:20px;overflow:hidden}.question-header[data-v-eaa13145]{padding:16px;background-color:#fff;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;align-items:center}.question-header h3[data-v-eaa13145]{margin:0;font-size:18px;color:#14171a}.remove-button[data-v-eaa13145]{background:none;border:none;color:#e0245e;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s ease}.remove-button[data-v-eaa13145]:hover{background-color:#e0245e1a}.question-content[data-v-eaa13145]{padding:16px}.pre-action-buttons[data-v-eaa13145]{margin:32px 0;display:flex;justify-content:center}.add-question-button[data-v-eaa13145]{display:flex;align-items:center;gap:8px;padding:12px 24px;background-color:#1da1f2;color:#fff;border:none;border-radius:24px;font-size:16px;cursor:pointer;transition:background-color .2s ease;box-shadow:0 2px 4px #1da1f233}.add-question-button[data-v-eaa13145]:hover{background-color:#1991db;box-shadow:0 4px 8px #1da1f24d}.form-actions[data-v-eaa13145]{margin-top:40px;display:flex;justify-content:flex-end;gap:16px}.save-button[data-v-eaa13145],.cancel-button[data-v-eaa13145]{padding:12px 24px;border-radius:24px;font-size:16px;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.save-button[data-v-eaa13145]{background-color:#1da1f2;color:#fff;border:none}.save-button[data-v-eaa13145]:hover:not(:disabled){background-color:#1991db}.save-button[data-v-eaa13145]:disabled{background-color:#a5d0f5;cursor:not-allowed}.cancel-button[data-v-eaa13145]{background-color:#fff;color:#1da1f2;border:1px solid #1da1f2}.cancel-button[data-v-eaa13145]:hover{background-color:#1da1f21a}@media (max-width: 768px){.page-header[data-v-eaa13145]{padding:16px}.page-content[data-v-eaa13145]{padding:20px}.editor-form[data-v-eaa13145]{padding:16px}.article-header[data-v-eaa13145]{flex-direction:column;gap:12px}.article-actions[data-v-eaa13145]{width:100%;justify-content:flex-end}.form-actions[data-v-eaa13145]{flex-direction:column-reverse;gap:12px}.save-button[data-v-eaa13145],.cancel-button[data-v-eaa13145]{width:100%}.add-question-button[data-v-eaa13145]{width:100%;justify-content:center}} diff --git a/assets/index-8fa636f7.js b/assets/index-50fd1708.js similarity index 90% rename from assets/index-8fa636f7.js rename to assets/index-50fd1708.js index 66032f7..4a9b507 100644 --- a/assets/index-8fa636f7.js +++ b/assets/index-50fd1708.js @@ -2,23 +2,23 @@ * @vue/shared v3.5.12 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function Vi(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ce={},Ht=[],We=()=>{},jr=()=>!1,Qn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Bi=e=>e.startsWith("onUpdate:"),ve=Object.assign,Ki=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Vr=Object.prototype.hasOwnProperty,ie=(e,t)=>Vr.call(e,t),j=Array.isArray,jt=e=>kn(e)==="[object Map]",Zt=e=>kn(e)==="[object Set]",ho=e=>kn(e)==="[object Date]",W=e=>typeof e=="function",be=e=>typeof e=="string",nt=e=>typeof e=="symbol",fe=e=>e!==null&&typeof e=="object",bs=e=>(fe(e)||W(e))&&W(e.then)&&W(e.catch),ms=Object.prototype.toString,kn=e=>ms.call(e),Br=e=>kn(e).slice(8,-1),vs=e=>kn(e)==="[object Object]",Wi=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ln=Vi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Yn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Kr=/-(\w)/g,Ve=Yn(e=>e.replace(Kr,(t,n)=>n?n.toUpperCase():"")),Wr=/\B([A-Z])/g,Lt=Yn(e=>e.replace(Wr,"-$1").toLowerCase()),Xn=Yn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ai=Yn(e=>e?`on${Xn(e)}`:""),gt=(e,t)=>!Object.is(e,t),Pn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:n})},Un=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let xo;const Zn=()=>xo||(xo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function zi(e){if(j(e)){const t={};for(let n=0;n{if(n){const i=n.split(Jr);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function en(e){let t="";if(be(e))t=e;else if(j(e))for(let n=0;nSn(n,t))}const ys=e=>!!(e&&e.__v_isRef===!0),K=e=>be(e)?e:e==null?"":j(e)||fe(e)&&(e.toString===ms||!W(e.toString))?ys(e)?K(e.value):JSON.stringify(e,ws,2):String(e),ws=(e,t)=>ys(t)?ws(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[i,o],s)=>(n[ui(i,s)+" =>"]=o,n),{})}:Zt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ui(n))}:nt(t)?ui(t):fe(t)&&!j(t)&&!vs(t)?String(t):t,ui=(e,t="")=>{var n;return nt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**//*! #__NO_SIDE_EFFECTS__ */function Ki(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ce={},Ht=[],We=()=>{},Vr=()=>!1,Qn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Wi=e=>e.startsWith("onUpdate:"),ve=Object.assign,zi=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Br=Object.prototype.hasOwnProperty,ie=(e,t)=>Br.call(e,t),j=Array.isArray,jt=e=>kn(e)==="[object Map]",Zt=e=>kn(e)==="[object Set]",xo=e=>kn(e)==="[object Date]",W=e=>typeof e=="function",be=e=>typeof e=="string",nt=e=>typeof e=="symbol",fe=e=>e!==null&&typeof e=="object",ms=e=>(fe(e)||W(e))&&W(e.then)&&W(e.catch),vs=Object.prototype.toString,kn=e=>vs.call(e),Kr=e=>kn(e).slice(8,-1),gs=e=>kn(e)==="[object Object]",Ji=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ln=Ki(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Yn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Wr=/-(\w)/g,Ve=Yn(e=>e.replace(Wr,(t,n)=>n?n.toUpperCase():"")),zr=/\B([A-Z])/g,Lt=Yn(e=>e.replace(zr,"-$1").toLowerCase()),Xn=Yn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ui=Yn(e=>e?`on${Xn(e)}`:""),gt=(e,t)=>!Object.is(e,t),Pn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:n})},Un=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let bo;const Zn=()=>bo||(bo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Gi(e){if(j(e)){const t={};for(let n=0;n{if(n){const i=n.split(Gr);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function en(e){let t="";if(be(e))t=e;else if(j(e))for(let n=0;nSn(n,t))}const ws=e=>!!(e&&e.__v_isRef===!0),K=e=>be(e)?e:e==null?"":j(e)||fe(e)&&(e.toString===vs||!W(e.toString))?ws(e)?K(e.value):JSON.stringify(e,Ts,2):String(e),Ts=(e,t)=>ws(t)?Ts(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[i,o],s)=>(n[fi(i,s)+" =>"]=o,n),{})}:Zt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>fi(n))}:nt(t)?fi(t):fe(t)&&!j(t)&&!gs(t)?String(t):t,fi=(e,t="")=>{var n;return nt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.12 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Me;class ec{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Me,!t&&Me&&(this.index=(Me.scopes||(Me.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(un){let t=un;for(un=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;an;){let t=an;for(an=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(i){e||(e=i)}t=n}}if(e)throw e}function Ss(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Es(e){let t,n=e.depsTail,i=n;for(;i;){const o=i.prevDep;i.version===-1?(i===n&&(n=o),Yi(i),nc(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=o}e.deps=t,e.depsTail=n}function ki(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Rs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Rs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===bn))return;e.globalVersion=bn;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!ki(e)){e.flags&=-3;return}const n=ae,i=ze;ae=e,ze=!0;try{Ss(e);const o=e.fn(e._value);(t.version===0||gt(o,e._value))&&(e._value=o,t.version++)}catch(o){throw t.version++,o}finally{ae=n,ze=i,Es(e),e.flags&=-3}}function Yi(e,t=!1){const{dep:n,prevSub:i,nextSub:o}=e;if(i&&(i.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=i,e.nextSub=void 0),n.subs===e&&(n.subs=i,!i&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)Yi(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function nc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ze=!0;const Ns=[];function _t(){Ns.push(ze),ze=!1}function yt(){const e=Ns.pop();ze=e===void 0?!0:e}function bo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ae;ae=void 0;try{t()}finally{ae=n}}}let bn=0;class ic{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Xi{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!ae||!ze||ae===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ae)n=this.activeLink=new ic(ae,this),ae.deps?(n.prevDep=ae.depsTail,ae.depsTail.nextDep=n,ae.depsTail=n):ae.deps=ae.depsTail=n,Ls(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const i=n.nextDep;i.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=i),n.prevDep=ae.depsTail,n.nextDep=void 0,ae.depsTail.nextDep=n,ae.depsTail=n,ae.deps===n&&(ae.deps=i)}return n}trigger(t){this.version++,bn++,this.notify(t)}notify(t){Gi();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Qi()}}}function Ls(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let i=t.deps;i;i=i.nextDep)Ls(i)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Si=new WeakMap,Et=Symbol(""),Ei=Symbol(""),mn=Symbol("");function Te(e,t,n){if(ze&&ae){let i=Si.get(e);i||Si.set(e,i=new Map);let o=i.get(n);o||(i.set(n,o=new Xi),o.map=i,o.key=n),o.track()}}function dt(e,t,n,i,o,s){const r=Si.get(e);if(!r){bn++;return}const c=d=>{d&&d.trigger()};if(Gi(),t==="clear")r.forEach(c);else{const d=j(e),l=d&&Wi(n);if(d&&n==="length"){const a=Number(i);r.forEach((I,h)=>{(h==="length"||h===mn||!nt(h)&&h>=a)&&c(I)})}else switch((n!==void 0||r.has(void 0))&&c(r.get(n)),l&&c(r.get(mn)),t){case"add":d?l&&c(r.get("length")):(c(r.get(Et)),jt(e)&&c(r.get(Ei)));break;case"delete":d||(c(r.get(Et)),jt(e)&&c(r.get(Ei)));break;case"set":jt(e)&&c(r.get(Et));break}}Qi()}function Mt(e){const t=ne(e);return t===e?t:(Te(t,"iterate",mn),je(e)?t:t.map(Ce))}function ei(e){return Te(e=ne(e),"iterate",mn),e}const oc={__proto__:null,[Symbol.iterator](){return Ii(this,Symbol.iterator,Ce)},concat(...e){return Mt(this).concat(...e.map(t=>j(t)?Mt(t):t))},entries(){return Ii(this,"entries",e=>(e[1]=Ce(e[1]),e))},every(e,t){return st(this,"every",e,t,void 0,arguments)},filter(e,t){return st(this,"filter",e,t,n=>n.map(Ce),arguments)},find(e,t){return st(this,"find",e,t,Ce,arguments)},findIndex(e,t){return st(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return st(this,"findLast",e,t,Ce,arguments)},findLastIndex(e,t){return st(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return st(this,"forEach",e,t,void 0,arguments)},includes(...e){return pi(this,"includes",e)},indexOf(...e){return pi(this,"indexOf",e)},join(e){return Mt(this).join(e)},lastIndexOf(...e){return pi(this,"lastIndexOf",e)},map(e,t){return st(this,"map",e,t,void 0,arguments)},pop(){return on(this,"pop")},push(...e){return on(this,"push",e)},reduce(e,...t){return mo(this,"reduce",e,t)},reduceRight(e,...t){return mo(this,"reduceRight",e,t)},shift(){return on(this,"shift")},some(e,t){return st(this,"some",e,t,void 0,arguments)},splice(...e){return on(this,"splice",e)},toReversed(){return Mt(this).toReversed()},toSorted(e){return Mt(this).toSorted(e)},toSpliced(...e){return Mt(this).toSpliced(...e)},unshift(...e){return on(this,"unshift",e)},values(){return Ii(this,"values",Ce)}};function Ii(e,t,n){const i=ei(e),o=i[t]();return i!==e&&!je(e)&&(o._next=o.next,o.next=()=>{const s=o._next();return s.value&&(s.value=n(s.value)),s}),o}const sc=Array.prototype;function st(e,t,n,i,o,s){const r=ei(e),c=r!==e&&!je(e),d=r[t];if(d!==sc[t]){const I=d.apply(e,s);return c?Ce(I):I}let l=n;r!==e&&(c?l=function(I,h){return n.call(this,Ce(I),h,e)}:n.length>2&&(l=function(I,h){return n.call(this,I,h,e)}));const a=d.call(r,l,i);return c&&o?o(a):a}function mo(e,t,n,i){const o=ei(e);let s=n;return o!==e&&(je(e)?n.length>3&&(s=function(r,c,d){return n.call(this,r,c,d,e)}):s=function(r,c,d){return n.call(this,r,Ce(c),d,e)}),o[t](s,...i)}function pi(e,t,n){const i=ne(e);Te(i,"iterate",mn);const o=i[t](...n);return(o===-1||o===!1)&&to(n[0])?(n[0]=ne(n[0]),i[t](...n)):o}function on(e,t,n=[]){_t(),Gi();const i=ne(e)[t].apply(e,n);return Qi(),yt(),i}const rc=Vi("__proto__,__v_isRef,__isVue"),As=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(nt));function cc(e){nt(e)||(e=String(e));const t=ne(this);return Te(t,"has",e),t.hasOwnProperty(e)}class Os{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,i){const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return i===(o?s?bc:Ms:s?Fs:Ps).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(i)?t:void 0;const r=j(t);if(!o){let d;if(r&&(d=oc[n]))return d;if(n==="hasOwnProperty")return cc}const c=Reflect.get(t,n,Se(t)?t:i);return(nt(n)?As.has(n):rc(n))||(o||Te(t,"get",n),s)?c:Se(c)?r&&Wi(n)?c:c.value:fe(c)?o?$s(c):ti(c):c}}class Ds extends Os{constructor(t=!1){super(!1,t)}set(t,n,i,o){let s=t[n];if(!this._isShallow){const d=Rt(s);if(!je(i)&&!Rt(i)&&(s=ne(s),i=ne(i)),!j(t)&&Se(s)&&!Se(i))return d?!1:(s.value=i,!0)}const r=j(t)&&Wi(n)?Number(n)e,Ln=e=>Reflect.getPrototypeOf(e);function fc(e,t,n){return function(...i){const o=this.__v_raw,s=ne(o),r=jt(s),c=e==="entries"||e===Symbol.iterator&&r,d=e==="keys"&&r,l=o[e](...i),a=n?Ri:t?Ni:Ce;return!t&&Te(s,"iterate",d?Ei:Et),{next(){const{value:I,done:h}=l.next();return h?{value:I,done:h}:{value:c?[a(I[0]),a(I[1])]:a(I),done:h}},[Symbol.iterator](){return this}}}}function An(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ic(e,t){const n={get(o){const s=this.__v_raw,r=ne(s),c=ne(o);e||(gt(o,c)&&Te(r,"get",o),Te(r,"get",c));const{has:d}=Ln(r),l=t?Ri:e?Ni:Ce;if(d.call(r,o))return l(s.get(o));if(d.call(r,c))return l(s.get(c));s!==r&&s.get(o)},get size(){const o=this.__v_raw;return!e&&Te(ne(o),"iterate",Et),Reflect.get(o,"size",o)},has(o){const s=this.__v_raw,r=ne(s),c=ne(o);return e||(gt(o,c)&&Te(r,"has",o),Te(r,"has",c)),o===c?s.has(o):s.has(o)||s.has(c)},forEach(o,s){const r=this,c=r.__v_raw,d=ne(c),l=t?Ri:e?Ni:Ce;return!e&&Te(d,"iterate",Et),c.forEach((a,I)=>o.call(s,l(a),l(I),r))}};return ve(n,e?{add:An("add"),set:An("set"),delete:An("delete"),clear:An("clear")}:{add(o){!t&&!je(o)&&!Rt(o)&&(o=ne(o));const s=ne(this);return Ln(s).has.call(s,o)||(s.add(o),dt(s,"add",o,o)),this},set(o,s){!t&&!je(s)&&!Rt(s)&&(s=ne(s));const r=ne(this),{has:c,get:d}=Ln(r);let l=c.call(r,o);l||(o=ne(o),l=c.call(r,o));const a=d.call(r,o);return r.set(o,s),l?gt(s,a)&&dt(r,"set",o,s):dt(r,"add",o,s),this},delete(o){const s=ne(this),{has:r,get:c}=Ln(s);let d=r.call(s,o);d||(o=ne(o),d=r.call(s,o)),c&&c.call(s,o);const l=s.delete(o);return d&&dt(s,"delete",o,void 0),l},clear(){const o=ne(this),s=o.size!==0,r=o.clear();return s&&dt(o,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=fc(o,e,t)}),n}function Zi(e,t){const n=Ic(e,t);return(i,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?i:Reflect.get(ie(n,o)&&o in i?n:i,o,s)}const pc={get:Zi(!1,!1)},hc={get:Zi(!1,!0)},xc={get:Zi(!0,!1)};const Ps=new WeakMap,Fs=new WeakMap,Ms=new WeakMap,bc=new WeakMap;function mc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function vc(e){return e.__v_skip||!Object.isExtensible(e)?0:mc(Br(e))}function ti(e){return Rt(e)?e:eo(e,!1,lc,pc,Ps)}function qs(e){return eo(e,!1,uc,hc,Fs)}function $s(e){return eo(e,!0,ac,xc,Ms)}function eo(e,t,n,i,o){if(!fe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const r=vc(e);if(r===0)return e;const c=new Proxy(e,r===2?i:n);return o.set(e,c),c}function Vt(e){return Rt(e)?Vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Rt(e){return!!(e&&e.__v_isReadonly)}function je(e){return!!(e&&e.__v_isShallow)}function to(e){return e?!!e.__v_raw:!1}function ne(e){const t=e&&e.__v_raw;return t?ne(t):e}function gc(e){return!ie(e,"__v_skip")&&Object.isExtensible(e)&&gs(e,"__v_skip",!0),e}const Ce=e=>fe(e)?ti(e):e,Ni=e=>fe(e)?$s(e):e;function Se(e){return e?e.__v_isRef===!0:!1}function ue(e){return Us(e,!1)}function _c(e){return Us(e,!0)}function Us(e,t){return Se(e)?e:new yc(e,t)}class yc{constructor(t,n){this.dep=new Xi,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ne(t),this._value=n?t:Ce(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,i=this.__v_isShallow||je(t)||Rt(t);t=i?t:ne(t),gt(t,n)&&(this._rawValue=t,this._value=i?t:Ce(t),this.dep.trigger())}}function Bt(e){return Se(e)?e.value:e}const wc={get:(e,t,n)=>t==="__v_raw"?e:Bt(Reflect.get(e,t,n)),set:(e,t,n,i)=>{const o=e[t];return Se(o)&&!Se(n)?(o.value=n,!0):Reflect.set(e,t,n,i)}};function Hs(e){return Vt(e)?e:new Proxy(e,wc)}class Tc{constructor(t,n,i){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Xi(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=bn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=i}notify(){if(this.flags|=16,!(this.flags&8)&&ae!==this)return ks(this,!0),!0}get value(){const t=this.dep.track();return Rs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Cc(e,t,n=!1){let i,o;return W(e)?i=e:(i=e.get,o=e.set),new Tc(i,o,n)}const On={},Hn=new WeakMap;let St;function kc(e,t=!1,n=St){if(n){let i=Hn.get(n);i||Hn.set(n,i=[]),i.push(e)}}function Sc(e,t,n=ce){const{immediate:i,deep:o,once:s,scheduler:r,augmentJob:c,call:d}=n,l=_=>o?_:je(_)||o===!1||o===0?lt(_,1):lt(_);let a,I,h,x,g=!1,m=!1;if(Se(e)?(I=()=>e.value,g=je(e)):Vt(e)?(I=()=>l(e),g=!0):j(e)?(m=!0,g=e.some(_=>Vt(_)||je(_)),I=()=>e.map(_=>{if(Se(_))return _.value;if(Vt(_))return l(_);if(W(_))return d?d(_,2):_()})):W(e)?t?I=d?()=>d(e,2):e:I=()=>{if(h){_t();try{h()}finally{yt()}}const _=St;St=a;try{return d?d(e,3,[x]):e(x)}finally{St=_}}:I=We,t&&o){const _=I,O=o===!0?1/0:o;I=()=>lt(_(),O)}const S=tc(),N=()=>{a.stop(),S&&Ki(S.effects,a)};if(s&&t){const _=t;t=(...O)=>{_(...O),N()}}let v=m?new Array(e.length).fill(On):On;const E=_=>{if(!(!(a.flags&1)||!a.dirty&&!_))if(t){const O=a.run();if(o||g||(m?O.some((M,J)=>gt(M,v[J])):gt(O,v))){h&&h();const M=St;St=a;try{const J=[O,v===On?void 0:m&&v[0]===On?[]:v,x];d?d(t,3,J):t(...J),v=O}finally{St=M}}}else a.run()};return c&&c(E),a=new Ts(I),a.scheduler=r?()=>r(E,!1):E,x=_=>kc(_,!1,a),h=a.onStop=()=>{const _=Hn.get(a);if(_){if(d)d(_,4);else for(const O of _)O();Hn.delete(a)}},t?i?E(!0):v=a.run():r?r(E.bind(null,!0),!0):a.run(),N.pause=a.pause.bind(a),N.resume=a.resume.bind(a),N.stop=N,N}function lt(e,t=1/0,n){if(t<=0||!fe(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Se(e))lt(e.value,t,n);else if(j(e))for(let i=0;i{lt(i,t,n)});else if(vs(e)){for(const i in e)lt(e[i],t,n);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&<(e[i],t,n)}return e}/** +**/let Me;class tc{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Me,!t&&Me&&(this.index=(Me.scopes||(Me.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(un){let t=un;for(un=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;an;){let t=an;for(an=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(i){e||(e=i)}t=n}}if(e)throw e}function Es(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Rs(e){let t,n=e.depsTail,i=n;for(;i;){const o=i.prevDep;i.version===-1?(i===n&&(n=o),Zi(i),ic(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=o}e.deps=t,e.depsTail=n}function Ei(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ns(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ns(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===bn))return;e.globalVersion=bn;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Ei(e)){e.flags&=-3;return}const n=ae,i=ze;ae=e,ze=!0;try{Es(e);const o=e.fn(e._value);(t.version===0||gt(o,e._value))&&(e._value=o,t.version++)}catch(o){throw t.version++,o}finally{ae=n,ze=i,Rs(e),e.flags&=-3}}function Zi(e,t=!1){const{dep:n,prevSub:i,nextSub:o}=e;if(i&&(i.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=i,e.nextSub=void 0),n.subs===e&&(n.subs=i,!i&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)Zi(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ic(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ze=!0;const Ls=[];function _t(){Ls.push(ze),ze=!1}function yt(){const e=Ls.pop();ze=e===void 0?!0:e}function mo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ae;ae=void 0;try{t()}finally{ae=n}}}let bn=0;class oc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class eo{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!ae||!ze||ae===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ae)n=this.activeLink=new oc(ae,this),ae.deps?(n.prevDep=ae.depsTail,ae.depsTail.nextDep=n,ae.depsTail=n):ae.deps=ae.depsTail=n,As(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const i=n.nextDep;i.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=i),n.prevDep=ae.depsTail,n.nextDep=void 0,ae.depsTail.nextDep=n,ae.depsTail=n,ae.deps===n&&(ae.deps=i)}return n}trigger(t){this.version++,bn++,this.notify(t)}notify(t){Yi();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Xi()}}}function As(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let i=t.deps;i;i=i.nextDep)As(i)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ri=new WeakMap,Et=Symbol(""),Ni=Symbol(""),mn=Symbol("");function Te(e,t,n){if(ze&&ae){let i=Ri.get(e);i||Ri.set(e,i=new Map);let o=i.get(n);o||(i.set(n,o=new eo),o.map=i,o.key=n),o.track()}}function dt(e,t,n,i,o,s){const r=Ri.get(e);if(!r){bn++;return}const c=d=>{d&&d.trigger()};if(Yi(),t==="clear")r.forEach(c);else{const d=j(e),l=d&&Ji(n);if(d&&n==="length"){const a=Number(i);r.forEach((I,h)=>{(h==="length"||h===mn||!nt(h)&&h>=a)&&c(I)})}else switch((n!==void 0||r.has(void 0))&&c(r.get(n)),l&&c(r.get(mn)),t){case"add":d?l&&c(r.get("length")):(c(r.get(Et)),jt(e)&&c(r.get(Ni)));break;case"delete":d||(c(r.get(Et)),jt(e)&&c(r.get(Ni)));break;case"set":jt(e)&&c(r.get(Et));break}}Xi()}function Mt(e){const t=ne(e);return t===e?t:(Te(t,"iterate",mn),je(e)?t:t.map(Ce))}function ei(e){return Te(e=ne(e),"iterate",mn),e}const sc={__proto__:null,[Symbol.iterator](){return pi(this,Symbol.iterator,Ce)},concat(...e){return Mt(this).concat(...e.map(t=>j(t)?Mt(t):t))},entries(){return pi(this,"entries",e=>(e[1]=Ce(e[1]),e))},every(e,t){return st(this,"every",e,t,void 0,arguments)},filter(e,t){return st(this,"filter",e,t,n=>n.map(Ce),arguments)},find(e,t){return st(this,"find",e,t,Ce,arguments)},findIndex(e,t){return st(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return st(this,"findLast",e,t,Ce,arguments)},findLastIndex(e,t){return st(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return st(this,"forEach",e,t,void 0,arguments)},includes(...e){return hi(this,"includes",e)},indexOf(...e){return hi(this,"indexOf",e)},join(e){return Mt(this).join(e)},lastIndexOf(...e){return hi(this,"lastIndexOf",e)},map(e,t){return st(this,"map",e,t,void 0,arguments)},pop(){return on(this,"pop")},push(...e){return on(this,"push",e)},reduce(e,...t){return vo(this,"reduce",e,t)},reduceRight(e,...t){return vo(this,"reduceRight",e,t)},shift(){return on(this,"shift")},some(e,t){return st(this,"some",e,t,void 0,arguments)},splice(...e){return on(this,"splice",e)},toReversed(){return Mt(this).toReversed()},toSorted(e){return Mt(this).toSorted(e)},toSpliced(...e){return Mt(this).toSpliced(...e)},unshift(...e){return on(this,"unshift",e)},values(){return pi(this,"values",Ce)}};function pi(e,t,n){const i=ei(e),o=i[t]();return i!==e&&!je(e)&&(o._next=o.next,o.next=()=>{const s=o._next();return s.value&&(s.value=n(s.value)),s}),o}const rc=Array.prototype;function st(e,t,n,i,o,s){const r=ei(e),c=r!==e&&!je(e),d=r[t];if(d!==rc[t]){const I=d.apply(e,s);return c?Ce(I):I}let l=n;r!==e&&(c?l=function(I,h){return n.call(this,Ce(I),h,e)}:n.length>2&&(l=function(I,h){return n.call(this,I,h,e)}));const a=d.call(r,l,i);return c&&o?o(a):a}function vo(e,t,n,i){const o=ei(e);let s=n;return o!==e&&(je(e)?n.length>3&&(s=function(r,c,d){return n.call(this,r,c,d,e)}):s=function(r,c,d){return n.call(this,r,Ce(c),d,e)}),o[t](s,...i)}function hi(e,t,n){const i=ne(e);Te(i,"iterate",mn);const o=i[t](...n);return(o===-1||o===!1)&&io(n[0])?(n[0]=ne(n[0]),i[t](...n)):o}function on(e,t,n=[]){_t(),Yi();const i=ne(e)[t].apply(e,n);return Xi(),yt(),i}const cc=Ki("__proto__,__v_isRef,__isVue"),Os=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(nt));function dc(e){nt(e)||(e=String(e));const t=ne(this);return Te(t,"has",e),t.hasOwnProperty(e)}class Ds{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,i){const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return i===(o?s?mc:qs:s?Ms:Fs).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(i)?t:void 0;const r=j(t);if(!o){let d;if(r&&(d=sc[n]))return d;if(n==="hasOwnProperty")return dc}const c=Reflect.get(t,n,Se(t)?t:i);return(nt(n)?Os.has(n):cc(n))||(o||Te(t,"get",n),s)?c:Se(c)?r&&Ji(n)?c:c.value:fe(c)?o?Us(c):ti(c):c}}class Ps extends Ds{constructor(t=!1){super(!1,t)}set(t,n,i,o){let s=t[n];if(!this._isShallow){const d=Rt(s);if(!je(i)&&!Rt(i)&&(s=ne(s),i=ne(i)),!j(t)&&Se(s)&&!Se(i))return d?!1:(s.value=i,!0)}const r=j(t)&&Ji(n)?Number(n)e,Ln=e=>Reflect.getPrototypeOf(e);function Ic(e,t,n){return function(...i){const o=this.__v_raw,s=ne(o),r=jt(s),c=e==="entries"||e===Symbol.iterator&&r,d=e==="keys"&&r,l=o[e](...i),a=n?Li:t?Ai:Ce;return!t&&Te(s,"iterate",d?Ni:Et),{next(){const{value:I,done:h}=l.next();return h?{value:I,done:h}:{value:c?[a(I[0]),a(I[1])]:a(I),done:h}},[Symbol.iterator](){return this}}}}function An(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function pc(e,t){const n={get(o){const s=this.__v_raw,r=ne(s),c=ne(o);e||(gt(o,c)&&Te(r,"get",o),Te(r,"get",c));const{has:d}=Ln(r),l=t?Li:e?Ai:Ce;if(d.call(r,o))return l(s.get(o));if(d.call(r,c))return l(s.get(c));s!==r&&s.get(o)},get size(){const o=this.__v_raw;return!e&&Te(ne(o),"iterate",Et),Reflect.get(o,"size",o)},has(o){const s=this.__v_raw,r=ne(s),c=ne(o);return e||(gt(o,c)&&Te(r,"has",o),Te(r,"has",c)),o===c?s.has(o):s.has(o)||s.has(c)},forEach(o,s){const r=this,c=r.__v_raw,d=ne(c),l=t?Li:e?Ai:Ce;return!e&&Te(d,"iterate",Et),c.forEach((a,I)=>o.call(s,l(a),l(I),r))}};return ve(n,e?{add:An("add"),set:An("set"),delete:An("delete"),clear:An("clear")}:{add(o){!t&&!je(o)&&!Rt(o)&&(o=ne(o));const s=ne(this);return Ln(s).has.call(s,o)||(s.add(o),dt(s,"add",o,o)),this},set(o,s){!t&&!je(s)&&!Rt(s)&&(s=ne(s));const r=ne(this),{has:c,get:d}=Ln(r);let l=c.call(r,o);l||(o=ne(o),l=c.call(r,o));const a=d.call(r,o);return r.set(o,s),l?gt(s,a)&&dt(r,"set",o,s):dt(r,"add",o,s),this},delete(o){const s=ne(this),{has:r,get:c}=Ln(s);let d=r.call(s,o);d||(o=ne(o),d=r.call(s,o)),c&&c.call(s,o);const l=s.delete(o);return d&&dt(s,"delete",o,void 0),l},clear(){const o=ne(this),s=o.size!==0,r=o.clear();return s&&dt(o,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=Ic(o,e,t)}),n}function to(e,t){const n=pc(e,t);return(i,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?i:Reflect.get(ie(n,o)&&o in i?n:i,o,s)}const hc={get:to(!1,!1)},xc={get:to(!1,!0)},bc={get:to(!0,!1)};const Fs=new WeakMap,Ms=new WeakMap,qs=new WeakMap,mc=new WeakMap;function vc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function gc(e){return e.__v_skip||!Object.isExtensible(e)?0:vc(Kr(e))}function ti(e){return Rt(e)?e:no(e,!1,ac,hc,Fs)}function $s(e){return no(e,!1,fc,xc,Ms)}function Us(e){return no(e,!0,uc,bc,qs)}function no(e,t,n,i,o){if(!fe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const r=gc(e);if(r===0)return e;const c=new Proxy(e,r===2?i:n);return o.set(e,c),c}function Vt(e){return Rt(e)?Vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Rt(e){return!!(e&&e.__v_isReadonly)}function je(e){return!!(e&&e.__v_isShallow)}function io(e){return e?!!e.__v_raw:!1}function ne(e){const t=e&&e.__v_raw;return t?ne(t):e}function _c(e){return!ie(e,"__v_skip")&&Object.isExtensible(e)&&_s(e,"__v_skip",!0),e}const Ce=e=>fe(e)?ti(e):e,Ai=e=>fe(e)?Us(e):e;function Se(e){return e?e.__v_isRef===!0:!1}function ue(e){return Hs(e,!1)}function yc(e){return Hs(e,!0)}function Hs(e,t){return Se(e)?e:new wc(e,t)}class wc{constructor(t,n){this.dep=new eo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ne(t),this._value=n?t:Ce(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,i=this.__v_isShallow||je(t)||Rt(t);t=i?t:ne(t),gt(t,n)&&(this._rawValue=t,this._value=i?t:Ce(t),this.dep.trigger())}}function Bt(e){return Se(e)?e.value:e}const Tc={get:(e,t,n)=>t==="__v_raw"?e:Bt(Reflect.get(e,t,n)),set:(e,t,n,i)=>{const o=e[t];return Se(o)&&!Se(n)?(o.value=n,!0):Reflect.set(e,t,n,i)}};function js(e){return Vt(e)?e:new Proxy(e,Tc)}class Cc{constructor(t,n,i){this.fn=t,this.setter=n,this._value=void 0,this.dep=new eo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=bn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=i}notify(){if(this.flags|=16,!(this.flags&8)&&ae!==this)return Ss(this,!0),!0}get value(){const t=this.dep.track();return Ns(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function kc(e,t,n=!1){let i,o;return W(e)?i=e:(i=e.get,o=e.set),new Cc(i,o,n)}const On={},Hn=new WeakMap;let St;function Sc(e,t=!1,n=St){if(n){let i=Hn.get(n);i||Hn.set(n,i=[]),i.push(e)}}function Ec(e,t,n=ce){const{immediate:i,deep:o,once:s,scheduler:r,augmentJob:c,call:d}=n,l=_=>o?_:je(_)||o===!1||o===0?lt(_,1):lt(_);let a,I,h,x,g=!1,m=!1;if(Se(e)?(I=()=>e.value,g=je(e)):Vt(e)?(I=()=>l(e),g=!0):j(e)?(m=!0,g=e.some(_=>Vt(_)||je(_)),I=()=>e.map(_=>{if(Se(_))return _.value;if(Vt(_))return l(_);if(W(_))return d?d(_,2):_()})):W(e)?t?I=d?()=>d(e,2):e:I=()=>{if(h){_t();try{h()}finally{yt()}}const _=St;St=a;try{return d?d(e,3,[x]):e(x)}finally{St=_}}:I=We,t&&o){const _=I,O=o===!0?1/0:o;I=()=>lt(_(),O)}const S=nc(),N=()=>{a.stop(),S&&zi(S.effects,a)};if(s&&t){const _=t;t=(...O)=>{_(...O),N()}}let v=m?new Array(e.length).fill(On):On;const E=_=>{if(!(!(a.flags&1)||!a.dirty&&!_))if(t){const O=a.run();if(o||g||(m?O.some((M,J)=>gt(M,v[J])):gt(O,v))){h&&h();const M=St;St=a;try{const J=[O,v===On?void 0:m&&v[0]===On?[]:v,x];d?d(t,3,J):t(...J),v=O}finally{St=M}}}else a.run()};return c&&c(E),a=new Cs(I),a.scheduler=r?()=>r(E,!1):E,x=_=>Sc(_,!1,a),h=a.onStop=()=>{const _=Hn.get(a);if(_){if(d)d(_,4);else for(const O of _)O();Hn.delete(a)}},t?i?E(!0):v=a.run():r?r(E.bind(null,!0),!0):a.run(),N.pause=a.pause.bind(a),N.resume=a.resume.bind(a),N.stop=N,N}function lt(e,t=1/0,n){if(t<=0||!fe(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Se(e))lt(e.value,t,n);else if(j(e))for(let i=0;i{lt(i,t,n)});else if(gs(e)){for(const i in e)lt(e[i],t,n);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&<(e[i],t,n)}return e}/** * @vue/runtime-core v3.5.12 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function En(e,t,n,i){try{return i?e(...i):e()}catch(o){ni(o,t,n)}}function it(e,t,n,i){if(W(e)){const o=En(e,t,n,i);return o&&bs(o)&&o.catch(s=>{ni(s,t,n)}),o}if(j(e)){const o=[];for(let s=0;s>>1,o=Re[i],s=vn(o);s=vn(n)?Re.push(e):Re.splice(Rc(t),0,e),e.flags|=1,Vs()}}function Vs(){jn||(jn=js.then(Ks))}function Nc(e){j(e)?Kt.push(...e):xt&&e.id===-1?xt.splice(qt+1,0,e):e.flags&1||(Kt.push(e),e.flags|=1),Vs()}function vo(e,t,n=et+1){for(;nvn(n)-vn(i));if(Kt.length=0,xt){xt.push(...t);return}for(xt=t,qt=0;qte.id==null?e.flags&2?-1:1/0:e.id;function Ks(e){const t=We;try{for(et=0;et{i._d&&Eo(-1);const s=Vn(t);let r;try{r=e(...o)}finally{Vn(s),i._d&&Eo(1)}return r};return i._n=!0,i._c=!0,i._d=!0,i}function _e(e,t){if($e===null)return e;const n=ri($e),i=e.dirs||(e.dirs=[]);for(let o=0;oe.__isTeleport;function oo(e,t){e.shapeFlag&6&&e.component?(e.transition=t,oo(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}/*! #__NO_SIDE_EFFECTS__ */function zs(e,t){return W(e)?(()=>ve({name:e.name},t,{setup:e}))():e}function Js(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Li(e,t,n,i,o=!1){if(j(e)){e.forEach((g,m)=>Li(g,t&&(j(t)?t[m]:t),n,i,o));return}if(fn(i)&&!o)return;const s=i.shapeFlag&4?ri(i.component):i.el,r=o?null:s,{i:c,r:d}=e,l=t&&t.r,a=c.refs===ce?c.refs={}:c.refs,I=c.setupState,h=ne(I),x=I===ce?()=>!1:g=>ie(h,g);if(l!=null&&l!==d&&(be(l)?(a[l]=null,x(l)&&(I[l]=null)):Se(l)&&(l.value=null)),W(d))En(d,c,12,[r,a]);else{const g=be(d),m=Se(d);if(g||m){const S=()=>{if(e.f){const N=g?x(d)?I[d]:a[d]:d.value;o?j(N)&&Ki(N,s):j(N)?N.includes(s)||N.push(s):g?(a[d]=[s],x(d)&&(I[d]=a[d])):(d.value=[s],e.k&&(a[e.k]=d.value))}else g?(a[d]=r,x(d)&&(I[d]=r)):m&&(d.value=r,e.k&&(a[e.k]=r))};r?(S.id=-1,Fe(S,n)):S()}}}Zn().requestIdleCallback;Zn().cancelIdleCallback;const fn=e=>!!e.type.__asyncLoader,Gs=e=>e.type.__isKeepAlive;function Oc(e,t){Qs(e,"a",t)}function Dc(e,t){Qs(e,"da",t)}function Qs(e,t,n=ke){const i=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(ii(t,i,n),n){let o=n.parent;for(;o&&o.parent;)Gs(o.parent.vnode)&&Pc(i,t,n,o),o=o.parent}}function Pc(e,t,n,i){const o=ii(t,e,i,!0);so(()=>{Ki(i[t],o)},n)}function ii(e,t,n=ke,i=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...r)=>{_t();const c=Rn(n),d=it(t,n,e,r);return c(),yt(),d});return i?o.unshift(s):o.push(s),s}}const ft=e=>(t,n=ke)=>{(!_n||e==="sp")&&ii(e,(...i)=>t(...i),n)},Fc=ft("bm"),wt=ft("m"),Mc=ft("bu"),qc=ft("u"),$c=ft("bum"),so=ft("um"),Uc=ft("sp"),Hc=ft("rtg"),jc=ft("rtc");function Vc(e,t=ke){ii("ec",e,t)}const Ys="components";function Ae(e,t){return Kc(Ys,e,!0,t)||e}const Bc=Symbol.for("v-ndc");function Kc(e,t,n=!0,i=!1){const o=$e||ke;if(o){const s=o.type;if(e===Ys){const c=Ld(s,!1);if(c&&(c===t||c===Ve(t)||c===Xn(Ve(t))))return s}const r=go(o[e]||s[e],t)||go(o.appContext[e],t);return!r&&i?s:r}}function go(e,t){return e&&(e[t]||e[Ve(t)]||e[Xn(Ve(t))])}function ye(e,t,n,i){let o;const s=n&&n[i],r=j(e);if(r||be(e)){const c=r&&Vt(e);let d=!1;c&&(d=!je(e),e=ei(e)),o=new Array(e.length);for(let l=0,a=e.length;lt(c,d,void 0,s&&s[d]));else{const c=Object.keys(e);o=new Array(c.length);for(let d=0,l=c.length;de?br(e)?ri(e):Ai(e.parent):null,In=ve(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ai(e.parent),$root:e=>Ai(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ro(e),$forceUpdate:e=>e.f||(e.f=()=>{io(e.update)}),$nextTick:e=>e.n||(e.n=no.bind(e.proxy)),$watch:e=>fd.bind(e)}),hi=(e,t)=>e!==ce&&!e.__isScriptSetup&&ie(e,t),Wc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:i,data:o,props:s,accessCache:r,type:c,appContext:d}=e;let l;if(t[0]!=="$"){const x=r[t];if(x!==void 0)switch(x){case 1:return i[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(hi(i,t))return r[t]=1,i[t];if(o!==ce&&ie(o,t))return r[t]=2,o[t];if((l=e.propsOptions[0])&&ie(l,t))return r[t]=3,s[t];if(n!==ce&&ie(n,t))return r[t]=4,n[t];Oi&&(r[t]=0)}}const a=In[t];let I,h;if(a)return t==="$attrs"&&Te(e.attrs,"get",""),a(e);if((I=c.__cssModules)&&(I=I[t]))return I;if(n!==ce&&ie(n,t))return r[t]=4,n[t];if(h=d.config.globalProperties,ie(h,t))return h[t]},set({_:e},t,n){const{data:i,setupState:o,ctx:s}=e;return hi(o,t)?(o[t]=n,!0):i!==ce&&ie(i,t)?(i[t]=n,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:o,propsOptions:s}},r){let c;return!!n[r]||e!==ce&&ie(e,r)||hi(t,r)||(c=s[0])&&ie(c,r)||ie(i,r)||ie(In,r)||ie(o.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ie(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function _o(e){return j(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Oi=!0;function zc(e){const t=ro(e),n=e.proxy,i=e.ctx;Oi=!1,t.beforeCreate&&yo(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:r,watch:c,provide:d,inject:l,created:a,beforeMount:I,mounted:h,beforeUpdate:x,updated:g,activated:m,deactivated:S,beforeDestroy:N,beforeUnmount:v,destroyed:E,unmounted:_,render:O,renderTracked:M,renderTriggered:J,errorCaptured:G,serverPrefetch:he,expose:pe,inheritAttrs:Ne,components:Tt,directives:Qe,filters:tn}=t;if(l&&Jc(l,i,null),r)for(const re in r){const ee=r[re];W(ee)&&(i[re]=ee.bind(n))}if(o){const re=o.call(n,n);fe(re)&&(e.data=ti(re))}if(Oi=!0,s)for(const re in s){const ee=s[re],ot=W(ee)?ee.bind(n,n):W(ee.get)?ee.get.bind(n,n):We,pt=!W(ee)&&W(ee.set)?ee.set.bind(n):We,Ye=z({get:ot,set:pt});Object.defineProperty(i,re,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Le=>Ye.value=Le})}if(c)for(const re in c)Xs(c[re],i,n,re);if(d){const re=W(d)?d.call(n):d;Reflect.ownKeys(re).forEach(ee=>{Fn(ee,re[ee])})}a&&yo(a,e,"c");function me(re,ee){j(ee)?ee.forEach(ot=>re(ot.bind(n))):ee&&re(ee.bind(n))}if(me(Fc,I),me(wt,h),me(Mc,x),me(qc,g),me(Oc,m),me(Dc,S),me(Vc,G),me(jc,M),me(Hc,J),me($c,v),me(so,_),me(Uc,he),j(pe))if(pe.length){const re=e.exposed||(e.exposed={});pe.forEach(ee=>{Object.defineProperty(re,ee,{get:()=>n[ee],set:ot=>n[ee]=ot})})}else e.exposed||(e.exposed={});O&&e.render===We&&(e.render=O),Ne!=null&&(e.inheritAttrs=Ne),Tt&&(e.components=Tt),Qe&&(e.directives=Qe),he&&Js(e)}function Jc(e,t,n=We){j(e)&&(e=Di(e));for(const i in e){const o=e[i];let s;fe(o)?"default"in o?s=Je(o.from||i,o.default,!0):s=Je(o.from||i):s=Je(o),Se(s)?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[i]=s}}function yo(e,t,n){it(j(e)?e.map(i=>i.bind(t.proxy)):e.bind(t.proxy),t,n)}function Xs(e,t,n,i){let o=i.includes(".")?fr(n,i):()=>n[i];if(be(e)){const s=t[e];W(s)&&zt(o,s)}else if(W(e))zt(o,e.bind(n));else if(fe(e))if(j(e))e.forEach(s=>Xs(s,t,n,i));else{const s=W(e.handler)?e.handler.bind(n):t[e.handler];W(s)&&zt(o,s,e)}}function ro(e){const t=e.type,{mixins:n,extends:i}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,c=s.get(t);let d;return c?d=c:!o.length&&!n&&!i?d=t:(d={},o.length&&o.forEach(l=>Bn(d,l,r,!0)),Bn(d,t,r)),fe(t)&&s.set(t,d),d}function Bn(e,t,n,i=!1){const{mixins:o,extends:s}=t;s&&Bn(e,s,n,!0),o&&o.forEach(r=>Bn(e,r,n,!0));for(const r in t)if(!(i&&r==="expose")){const c=Gc[r]||n&&n[r];e[r]=c?c(e[r],t[r]):t[r]}return e}const Gc={data:wo,props:To,emits:To,methods:dn,computed:dn,beforeCreate:Ee,created:Ee,beforeMount:Ee,mounted:Ee,beforeUpdate:Ee,updated:Ee,beforeDestroy:Ee,beforeUnmount:Ee,destroyed:Ee,unmounted:Ee,activated:Ee,deactivated:Ee,errorCaptured:Ee,serverPrefetch:Ee,components:dn,directives:dn,watch:Yc,provide:wo,inject:Qc};function wo(e,t){return t?e?function(){return ve(W(e)?e.call(this,this):e,W(t)?t.call(this,this):t)}:t:e}function Qc(e,t){return dn(Di(e),Di(t))}function Di(e){if(j(e)){const t={};for(let n=0;n1)return n&&W(t)?t.call(i&&i.proxy):t}}const er={},tr=()=>Object.create(er),nr=e=>Object.getPrototypeOf(e)===er;function ed(e,t,n,i=!1){const o={},s=tr();e.propsDefaults=Object.create(null),ir(e,t,o,s);for(const r in e.propsOptions[0])r in o||(o[r]=void 0);n?e.props=i?o:qs(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function td(e,t,n,i){const{props:o,attrs:s,vnode:{patchFlag:r}}=e,c=ne(o),[d]=e.propsOptions;let l=!1;if((i||r>0)&&!(r&16)){if(r&8){const a=e.vnode.dynamicProps;for(let I=0;I{d=!0;const[h,x]=or(I,t,!0);ve(r,h),x&&c.push(...x)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!s&&!d)return fe(e)&&i.set(e,Ht),Ht;if(j(s))for(let a=0;ae[0]==="_"||e==="$stable",co=e=>j(e)?e.map(tt):[tt(e)],id=(e,t,n)=>{if(t._n)return t;const i=xe((...o)=>co(t(...o)),n);return i._c=!1,i},rr=(e,t,n)=>{const i=e._ctx;for(const o in e){if(sr(o))continue;const s=e[o];if(W(s))t[o]=id(o,s,i);else if(s!=null){const r=co(s);t[o]=()=>r}}},cr=(e,t)=>{const n=co(t);e.slots.default=()=>n},dr=(e,t,n)=>{for(const i in t)(n||i!=="_")&&(e[i]=t[i])},od=(e,t,n)=>{const i=e.slots=tr();if(e.vnode.shapeFlag&32){const o=t._;o?(dr(i,t,n),n&&gs(i,"_",o,!0)):rr(t,i)}else t&&cr(e,t)},sd=(e,t,n)=>{const{vnode:i,slots:o}=e;let s=!0,r=ce;if(i.shapeFlag&32){const c=t._;c?n&&c===1?s=!1:dr(o,t,n):(s=!t.$stable,rr(t,o)),r=t}else t&&(cr(e,t),r={default:1});if(s)for(const c in o)!sr(c)&&r[c]==null&&delete o[c]},Fe=vd;function rd(e){return cd(e)}function cd(e,t){const n=Zn();n.__VUE__=!0;const{insert:i,remove:o,patchProp:s,createElement:r,createText:c,createComment:d,setText:l,setElementText:a,parentNode:I,nextSibling:h,setScopeId:x=We,insertStaticContent:g}=e,m=(f,p,b,k=null,w=null,R=null,P=void 0,D=null,A=!!p.dynamicChildren)=>{if(f===p)return;f&&!sn(f,p)&&(k=T(f),Le(f,w,R,!0),f=null),p.patchFlag===-2&&(A=!1,p.dynamicChildren=null);const{type:L,ref:V,shapeFlag:q}=p;switch(L){case si:S(f,p,b,k);break;case Nt:N(f,p,b,k);break;case mi:f==null&&v(p,b,k,P);break;case de:Tt(f,p,b,k,w,R,P,D,A);break;default:q&1?O(f,p,b,k,w,R,P,D,A):q&6?Qe(f,p,b,k,w,R,P,D,A):(q&64||q&128)&&L.process(f,p,b,k,w,R,P,D,A,U)}V!=null&&w&&Li(V,f&&f.ref,R,p||f,!p)},S=(f,p,b,k)=>{if(f==null)i(p.el=c(p.children),b,k);else{const w=p.el=f.el;p.children!==f.children&&l(w,p.children)}},N=(f,p,b,k)=>{f==null?i(p.el=d(p.children||""),b,k):p.el=f.el},v=(f,p,b,k)=>{[f.el,f.anchor]=g(f.children,p,b,k,f.el,f.anchor)},E=({el:f,anchor:p},b,k)=>{let w;for(;f&&f!==p;)w=h(f),i(f,b,k),f=w;i(p,b,k)},_=({el:f,anchor:p})=>{let b;for(;f&&f!==p;)b=h(f),o(f),f=b;o(p)},O=(f,p,b,k,w,R,P,D,A)=>{p.type==="svg"?P="svg":p.type==="math"&&(P="mathml"),f==null?M(p,b,k,w,R,P,D,A):he(f,p,w,R,P,D,A)},M=(f,p,b,k,w,R,P,D)=>{let A,L;const{props:V,shapeFlag:q,transition:H,dirs:B}=f;if(A=f.el=r(f.type,R,V&&V.is,V),q&8?a(A,f.children):q&16&&G(f.children,A,null,k,w,xi(f,R),P,D),B&&Ct(f,null,k,"created"),J(A,f,f.scopeId,P,k),V){for(const le in V)le!=="value"&&!ln(le)&&s(A,le,null,V[le],R,k);"value"in V&&s(A,"value",null,V.value,R),(L=V.onVnodeBeforeMount)&&Ze(L,k,f)}B&&Ct(f,null,k,"beforeMount");const Q=dd(w,H);Q&&H.beforeEnter(A),i(A,p,b),((L=V&&V.onVnodeMounted)||Q||B)&&Fe(()=>{L&&Ze(L,k,f),Q&&H.enter(A),B&&Ct(f,null,k,"mounted")},w)},J=(f,p,b,k,w)=>{if(b&&x(f,b),k)for(let R=0;R{for(let L=A;L{const D=p.el=f.el;let{patchFlag:A,dynamicChildren:L,dirs:V}=p;A|=f.patchFlag&16;const q=f.props||ce,H=p.props||ce;let B;if(b&&kt(b,!1),(B=H.onVnodeBeforeUpdate)&&Ze(B,b,p,f),V&&Ct(p,f,b,"beforeUpdate"),b&&kt(b,!0),(q.innerHTML&&H.innerHTML==null||q.textContent&&H.textContent==null)&&a(D,""),L?pe(f.dynamicChildren,L,D,b,k,xi(p,w),R):P||ee(f,p,D,null,b,k,xi(p,w),R,!1),A>0){if(A&16)Ne(D,q,H,b,w);else if(A&2&&q.class!==H.class&&s(D,"class",null,H.class,w),A&4&&s(D,"style",q.style,H.style,w),A&8){const Q=p.dynamicProps;for(let le=0;le{B&&Ze(B,b,p,f),V&&Ct(p,f,b,"updated")},k)},pe=(f,p,b,k,w,R,P)=>{for(let D=0;D{if(p!==b){if(p!==ce)for(const R in p)!ln(R)&&!(R in b)&&s(f,R,p[R],null,w,k);for(const R in b){if(ln(R))continue;const P=b[R],D=p[R];P!==D&&R!=="value"&&s(f,R,D,P,w,k)}"value"in b&&s(f,"value",p.value,b.value,w)}},Tt=(f,p,b,k,w,R,P,D,A)=>{const L=p.el=f?f.el:c(""),V=p.anchor=f?f.anchor:c("");let{patchFlag:q,dynamicChildren:H,slotScopeIds:B}=p;B&&(D=D?D.concat(B):B),f==null?(i(L,b,k),i(V,b,k),G(p.children||[],b,V,w,R,P,D,A)):q>0&&q&64&&H&&f.dynamicChildren?(pe(f.dynamicChildren,H,b,w,R,P,D),(p.key!=null||w&&p===w.subTree)&&lr(f,p,!0)):ee(f,p,b,V,w,R,P,D,A)},Qe=(f,p,b,k,w,R,P,D,A)=>{p.slotScopeIds=D,f==null?p.shapeFlag&512?w.ctx.activate(p,b,k,P,A):tn(p,b,k,w,R,P,A):Dt(f,p,A)},tn=(f,p,b,k,w,R,P)=>{const D=f.component=kd(f,k,w);if(Gs(f)&&(D.ctx.renderer=U),Sd(D,!1,P),D.asyncDep){if(w&&w.registerDep(D,me,P),!f.el){const A=D.subTree=Z(Nt);N(null,A,p,b)}}else me(D,f,p,b,w,R,P)},Dt=(f,p,b)=>{const k=p.component=f.component;if(bd(f,p,b))if(k.asyncDep&&!k.asyncResolved){re(k,p,b);return}else k.next=p,k.update();else p.el=f.el,k.vnode=p},me=(f,p,b,k,w,R,P)=>{const D=()=>{if(f.isMounted){let{next:q,bu:H,u:B,parent:Q,vnode:le}=f;{const De=ar(f);if(De){q&&(q.el=le.el,re(f,q,P)),De.asyncDep.then(()=>{f.isUnmounted||D()});return}}let oe=q,Oe;kt(f,!1),q?(q.el=le.el,re(f,q,P)):q=le,H&&Pn(H),(Oe=q.props&&q.props.onVnodeBeforeUpdate)&&Ze(Oe,Q,q,le),kt(f,!0);const we=bi(f),Ke=f.subTree;f.subTree=we,m(Ke,we,I(Ke.el),T(Ke),f,w,R),q.el=we.el,oe===null&&md(f,we.el),B&&Fe(B,w),(Oe=q.props&&q.props.onVnodeUpdated)&&Fe(()=>Ze(Oe,Q,q,le),w)}else{let q;const{el:H,props:B}=p,{bm:Q,m:le,parent:oe,root:Oe,type:we}=f,Ke=fn(p);if(kt(f,!1),Q&&Pn(Q),!Ke&&(q=B&&B.onVnodeBeforeMount)&&Ze(q,oe,p),kt(f,!0),H&&Ie){const De=()=>{f.subTree=bi(f),Ie(H,f.subTree,f,w,null)};Ke&&we.__asyncHydrate?we.__asyncHydrate(H,f,De):De()}else{Oe.ce&&Oe.ce._injectChildStyle(we);const De=f.subTree=bi(f);m(null,De,b,k,f,w,R),p.el=De.el}if(le&&Fe(le,w),!Ke&&(q=B&&B.onVnodeMounted)){const De=p;Fe(()=>Ze(q,oe,De),w)}(p.shapeFlag&256||oe&&fn(oe.vnode)&&oe.vnode.shapeFlag&256)&&f.a&&Fe(f.a,w),f.isMounted=!0,p=b=k=null}};f.scope.on();const A=f.effect=new Ts(D);f.scope.off();const L=f.update=A.run.bind(A),V=f.job=A.runIfDirty.bind(A);V.i=f,V.id=f.uid,A.scheduler=()=>io(V),kt(f,!0),L()},re=(f,p,b)=>{p.component=f;const k=f.vnode.props;f.vnode=p,f.next=null,td(f,p.props,k,b),sd(f,p.children,b),_t(),vo(f),yt()},ee=(f,p,b,k,w,R,P,D,A=!1)=>{const L=f&&f.children,V=f?f.shapeFlag:0,q=p.children,{patchFlag:H,shapeFlag:B}=p;if(H>0){if(H&128){pt(L,q,b,k,w,R,P,D,A);return}else if(H&256){ot(L,q,b,k,w,R,P,D,A);return}}B&8?(V&16&&He(L,w,R),q!==L&&a(b,q)):V&16?B&16?pt(L,q,b,k,w,R,P,D,A):He(L,w,R,!0):(V&8&&a(b,""),B&16&&G(q,b,k,w,R,P,D,A))},ot=(f,p,b,k,w,R,P,D,A)=>{f=f||Ht,p=p||Ht;const L=f.length,V=p.length,q=Math.min(L,V);let H;for(H=0;HV?He(f,w,R,!0,!1,q):G(p,b,k,w,R,P,D,A,q)},pt=(f,p,b,k,w,R,P,D,A)=>{let L=0;const V=p.length;let q=f.length-1,H=V-1;for(;L<=q&&L<=H;){const B=f[L],Q=p[L]=A?bt(p[L]):tt(p[L]);if(sn(B,Q))m(B,Q,b,null,w,R,P,D,A);else break;L++}for(;L<=q&&L<=H;){const B=f[q],Q=p[H]=A?bt(p[H]):tt(p[H]);if(sn(B,Q))m(B,Q,b,null,w,R,P,D,A);else break;q--,H--}if(L>q){if(L<=H){const B=H+1,Q=BH)for(;L<=q;)Le(f[L],w,R,!0),L++;else{const B=L,Q=L,le=new Map;for(L=Q;L<=H;L++){const Pe=p[L]=A?bt(p[L]):tt(p[L]);Pe.key!=null&&le.set(Pe.key,L)}let oe,Oe=0;const we=H-Q+1;let Ke=!1,De=0;const nn=new Array(we);for(L=0;L=we){Le(Pe,w,R,!0);continue}let Xe;if(Pe.key!=null)Xe=le.get(Pe.key);else for(oe=Q;oe<=H;oe++)if(nn[oe-Q]===0&&sn(Pe,p[oe])){Xe=oe;break}Xe===void 0?Le(Pe,w,R,!0):(nn[Xe-Q]=L+1,Xe>=De?De=Xe:Ke=!0,m(Pe,p[Xe],b,null,w,R,P,D,A),Oe++)}const Io=Ke?ld(nn):Ht;for(oe=Io.length-1,L=we-1;L>=0;L--){const Pe=Q+L,Xe=p[Pe],po=Pe+1{const{el:R,type:P,transition:D,children:A,shapeFlag:L}=f;if(L&6){Ye(f.component.subTree,p,b,k);return}if(L&128){f.suspense.move(p,b,k);return}if(L&64){P.move(f,p,b,U);return}if(P===de){i(R,p,b);for(let q=0;qD.enter(R),w);else{const{leave:q,delayLeave:H,afterLeave:B}=D,Q=()=>i(R,p,b),le=()=>{q(R,()=>{Q(),B&&B()})};H?H(R,Q,le):le()}else i(R,p,b)},Le=(f,p,b,k=!1,w=!1)=>{const{type:R,props:P,ref:D,children:A,dynamicChildren:L,shapeFlag:V,patchFlag:q,dirs:H,cacheIndex:B}=f;if(q===-2&&(w=!1),D!=null&&Li(D,null,b,f,!0),B!=null&&(p.renderCache[B]=void 0),V&256){p.ctx.deactivate(f);return}const Q=V&1&&H,le=!fn(f);let oe;if(le&&(oe=P&&P.onVnodeBeforeUnmount)&&Ze(oe,p,f),V&6)Nn(f.component,b,k);else{if(V&128){f.suspense.unmount(b,k);return}Q&&Ct(f,null,p,"beforeUnmount"),V&64?f.type.remove(f,p,b,U,k):L&&!L.hasOnce&&(R!==de||q>0&&q&64)?He(L,p,b,!1,!0):(R===de&&q&384||!w&&V&16)&&He(A,p,b),k&&Pt(f)}(le&&(oe=P&&P.onVnodeUnmounted)||Q)&&Fe(()=>{oe&&Ze(oe,p,f),Q&&Ct(f,null,p,"unmounted")},b)},Pt=f=>{const{type:p,el:b,anchor:k,transition:w}=f;if(p===de){Ft(b,k);return}if(p===mi){_(f);return}const R=()=>{o(b),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(f.shapeFlag&1&&w&&!w.persisted){const{leave:P,delayLeave:D}=w,A=()=>P(b,R);D?D(f.el,R,A):A()}else R()},Ft=(f,p)=>{let b;for(;f!==p;)b=h(f),o(f),f=b;o(p)},Nn=(f,p,b)=>{const{bum:k,scope:w,job:R,subTree:P,um:D,m:A,a:L}=f;ko(A),ko(L),k&&Pn(k),w.stop(),R&&(R.flags|=8,Le(P,f,p,b)),D&&Fe(D,p),Fe(()=>{f.isUnmounted=!0},p),p&&p.pendingBranch&&!p.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===p.pendingId&&(p.deps--,p.deps===0&&p.resolve())},He=(f,p,b,k=!1,w=!1,R=0)=>{for(let P=R;P{if(f.shapeFlag&6)return T(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const p=h(f.anchor||f.el),b=p&&p[Lc];return b?h(b):p};let $=!1;const F=(f,p,b)=>{f==null?p._vnode&&Le(p._vnode,null,null,!0):m(p._vnode||null,f,p,null,null,null,b),p._vnode=f,$||($=!0,vo(),Bs(),$=!1)},U={p:m,um:Le,m:Ye,r:Pt,mt:tn,mc:G,pc:ee,pbc:pe,n:T,o:e};let te,Ie;return t&&([te,Ie]=t(U)),{render:F,hydrate:te,createApp:Zc(F,te)}}function xi({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function kt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function dd(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function lr(e,t,n=!1){const i=e.children,o=t.children;if(j(i)&&j(o))for(let s=0;s>1,e[n[c]]0&&(t[i]=n[s-1]),n[s]=i)}}for(s=n.length,r=n[s-1];s-- >0;)n[s]=r,r=t[r];return n}function ar(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ar(t)}function ko(e){if(e)for(let t=0;tJe(ad);function zt(e,t,n){return ur(e,t,n)}function ur(e,t,n=ce){const{immediate:i,deep:o,flush:s,once:r}=n,c=ve({},n),d=t&&i||!t&&s!=="post";let l;if(_n){if(s==="sync"){const x=ud();l=x.__watcherHandles||(x.__watcherHandles=[])}else if(!d){const x=()=>{};return x.stop=We,x.resume=We,x.pause=We,x}}const a=ke;c.call=(x,g,m)=>it(x,a,g,m);let I=!1;s==="post"?c.scheduler=x=>{Fe(x,a&&a.suspense)}:s!=="sync"&&(I=!0,c.scheduler=(x,g)=>{g?x():io(x)}),c.augmentJob=x=>{t&&(x.flags|=4),I&&(x.flags|=2,a&&(x.id=a.uid,x.i=a))};const h=Sc(e,t,c);return _n&&(l?l.push(h):d&&h()),h}function fd(e,t,n){const i=this.proxy,o=be(e)?e.includes(".")?fr(i,e):()=>i[e]:e.bind(i,i);let s;W(t)?s=t:(s=t.handler,n=t);const r=Rn(this),c=ur(o,s.bind(i),n);return r(),c}function fr(e,t){const n=t.split(".");return()=>{let i=e;for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ve(t)}Modifiers`]||e[`${Lt(t)}Modifiers`];function pd(e,t,...n){if(e.isUnmounted)return;const i=e.vnode.props||ce;let o=n;const s=t.startsWith("update:"),r=s&&Id(i,t.slice(7));r&&(r.trim&&(o=n.map(a=>be(a)?a.trim():a)),r.number&&(o=n.map(Un)));let c,d=i[c=ai(t)]||i[c=ai(Ve(t))];!d&&s&&(d=i[c=ai(Lt(t))]),d&&it(d,e,6,o);const l=i[c+"Once"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,it(l,e,6,o)}}function Ir(e,t,n=!1){const i=t.emitsCache,o=i.get(e);if(o!==void 0)return o;const s=e.emits;let r={},c=!1;if(!W(e)){const d=l=>{const a=Ir(l,t,!0);a&&(c=!0,ve(r,a))};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}return!s&&!c?(fe(e)&&i.set(e,null),null):(j(s)?s.forEach(d=>r[d]=null):ve(r,s),fe(e)&&i.set(e,r),r)}function oi(e,t){return!e||!Qn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,Lt(t))||ie(e,t))}function bi(e){const{type:t,vnode:n,proxy:i,withProxy:o,propsOptions:[s],slots:r,attrs:c,emit:d,render:l,renderCache:a,props:I,data:h,setupState:x,ctx:g,inheritAttrs:m}=e,S=Vn(e);let N,v;try{if(n.shapeFlag&4){const _=o||i,O=_;N=tt(l.call(O,_,a,I,x,h,g)),v=c}else{const _=t;N=tt(_.length>1?_(I,{attrs:c,slots:r,emit:d}):_(I,null)),v=t.props?c:hd(c)}}catch(_){pn.length=0,ni(_,e,1),N=Z(Nt)}let E=N;if(v&&m!==!1){const _=Object.keys(v),{shapeFlag:O}=E;_.length&&O&7&&(s&&_.some(Bi)&&(v=xd(v,s)),E=Gt(E,v,!1,!0))}return n.dirs&&(E=Gt(E,null,!1,!0),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&oo(E,n.transition),N=E,Vn(S),N}const hd=e=>{let t;for(const n in e)(n==="class"||n==="style"||Qn(n))&&((t||(t={}))[n]=e[n]);return t},xd=(e,t)=>{const n={};for(const i in e)(!Bi(i)||!(i.slice(9)in t))&&(n[i]=e[i]);return n};function bd(e,t,n){const{props:i,children:o,component:s}=e,{props:r,children:c,patchFlag:d}=t,l=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&d>=0){if(d&1024)return!0;if(d&16)return i?So(i,r,l):!!r;if(d&8){const a=t.dynamicProps;for(let I=0;Ie.__isSuspense;function vd(e,t){t&&t.pendingBranch?j(e)?t.effects.push(...e):t.effects.push(e):Nc(e)}const de=Symbol.for("v-fgt"),si=Symbol.for("v-txt"),Nt=Symbol.for("v-cmt"),mi=Symbol.for("v-stc"),pn=[];let Ue=null;function y(e=!1){pn.push(Ue=e?null:[])}function gd(){pn.pop(),Ue=pn[pn.length-1]||null}let gn=1;function Eo(e){gn+=e,e<0&&Ue&&(Ue.hasOnce=!0)}function hr(e){return e.dynamicChildren=gn>0?Ue||Ht:null,gd(),gn>0&&Ue&&Ue.push(e),e}function C(e,t,n,i,o,s){return hr(u(e,t,n,i,o,s,!0))}function ut(e,t,n,i,o){return hr(Z(e,t,n,i,o,!0))}function Kn(e){return e?e.__v_isVNode===!0:!1}function sn(e,t){return e.type===t.type&&e.key===t.key}const xr=({key:e})=>e??null,Mn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?be(e)||Se(e)||W(e)?{i:$e,r:e,k:t,f:!!n}:e:null);function u(e,t=null,n=null,i=0,o=null,s=e===de?0:1,r=!1,c=!1){const d={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&xr(t),ref:t&&Mn(t),scopeId:Ws,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:i,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:$e};return c?(lo(d,n),s&128&&e.normalize(d)):n&&(d.shapeFlag|=be(n)?8:16),gn>0&&!r&&Ue&&(d.patchFlag>0||s&6)&&d.patchFlag!==32&&Ue.push(d),d}const Z=_d;function _d(e,t=null,n=null,i=0,o=null,s=!1){if((!e||e===Bc)&&(e=Nt),Kn(e)){const c=Gt(e,t,!0);return n&&lo(c,n),gn>0&&!s&&Ue&&(c.shapeFlag&6?Ue[Ue.indexOf(e)]=c:Ue.push(c)),c.patchFlag=-2,c}if(Ad(e)&&(e=e.__vccOpts),t){t=yd(t);let{class:c,style:d}=t;c&&!be(c)&&(t.class=en(c)),fe(d)&&(to(d)&&!j(d)&&(d=ve({},d)),t.style=zi(d))}const r=be(e)?1:pr(e)?128:Ac(e)?64:fe(e)?4:W(e)?2:0;return u(e,t,n,i,o,r,s,!0)}function yd(e){return e?to(e)||nr(e)?ve({},e):e:null}function Gt(e,t,n=!1,i=!1){const{props:o,ref:s,patchFlag:r,children:c,transition:d}=e,l=t?wd(o||{},t):o,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&xr(l),ref:t&&t.ref?n&&s?j(s)?s.concat(Mn(t)):[s,Mn(t)]:Mn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==de?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:d,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Gt(e.ssContent),ssFallback:e.ssFallback&&Gt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return d&&i&&oo(a,d.clone(a)),a}function X(e=" ",t=0){return Z(si,null,e,t)}function Y(e="",t=!1){return t?(y(),ut(Nt,null,e)):Z(Nt,null,e)}function tt(e){return e==null||typeof e=="boolean"?Z(Nt):j(e)?Z(de,null,e.slice()):Kn(e)?bt(e):Z(si,null,String(e))}function bt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Gt(e)}function lo(e,t){let n=0;const{shapeFlag:i}=e;if(t==null)t=null;else if(j(t))n=16;else if(typeof t=="object")if(i&65){const o=t.default;o&&(o._c&&(o._d=!1),lo(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!nr(t)?t._ctx=$e:o===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else W(t)?(t={default:t,_ctx:$e},n=32):(t=String(t),i&64?(n=16,t=[X(t)]):n=8);e.children=t,e.shapeFlag|=n}function wd(...e){const t={};for(let n=0;n{let o;return(o=e[n])||(o=e[n]=[]),o.push(i),s=>{o.length>1?o.forEach(r=>r(s)):o[0](s)}};Wn=t("__VUE_INSTANCE_SETTERS__",n=>ke=n),Fi=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Rn=e=>{const t=ke;return Wn(e),e.scope.on(),()=>{e.scope.off(),Wn(t)}},Ro=()=>{ke&&ke.scope.off(),Wn(null)};function br(e){return e.vnode.shapeFlag&4}let _n=!1;function Sd(e,t=!1,n=!1){t&&Fi(t);const{props:i,children:o}=e.vnode,s=br(e);ed(e,i,s,t),od(e,o,n);const r=s?Ed(e,t):void 0;return t&&Fi(!1),r}function Ed(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Wc);const{setup:i}=n;if(i){_t();const o=e.setupContext=i.length>1?Nd(e):null,s=Rn(e),r=En(i,e,0,[e.props,o]),c=bs(r);if(yt(),s(),(c||e.sp)&&!fn(e)&&Js(e),c){if(r.then(Ro,Ro),t)return r.then(d=>{No(e,d,t)}).catch(d=>{ni(d,e,0)});e.asyncDep=r}else No(e,r,t)}else mr(e,t)}function No(e,t,n){W(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:fe(t)&&(e.setupState=Hs(t)),mr(e,n)}let Lo;function mr(e,t,n){const i=e.type;if(!e.render){if(!t&&Lo&&!i.render){const o=i.template||ro(e).template;if(o){const{isCustomElement:s,compilerOptions:r}=e.appContext.config,{delimiters:c,compilerOptions:d}=i,l=ve(ve({isCustomElement:s,delimiters:c},r),d);i.render=Lo(o,l)}}e.render=i.render||We}{const o=Rn(e);_t();try{zc(e)}finally{yt(),o()}}}const Rd={get(e,t){return Te(e,"get",""),e[t]}};function Nd(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Rd),slots:e.slots,emit:e.emit,expose:t}}function ri(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Hs(gc(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in In)return In[n](e)},has(t,n){return n in t||n in In}})):e.proxy}function Ld(e,t=!0){return W(e)?e.displayName||e.name:e.name||t&&e.__name}function Ad(e){return W(e)&&"__vccOpts"in e}const z=(e,t)=>Cc(e,t,_n);function vr(e,t,n){const i=arguments.length;return i===2?fe(t)&&!j(t)?Kn(t)?Z(e,null,[t]):Z(e,t):Z(e,null,t):(i>3?n=Array.prototype.slice.call(arguments,2):i===3&&Kn(n)&&(n=[n]),Z(e,t,n))}const Od="3.5.12";/** +**/function En(e,t,n,i){try{return i?e(...i):e()}catch(o){ni(o,t,n)}}function it(e,t,n,i){if(W(e)){const o=En(e,t,n,i);return o&&ms(o)&&o.catch(s=>{ni(s,t,n)}),o}if(j(e)){const o=[];for(let s=0;s>>1,o=Re[i],s=vn(o);s=vn(n)?Re.push(e):Re.splice(Nc(t),0,e),e.flags|=1,Bs()}}function Bs(){jn||(jn=Vs.then(Ws))}function Lc(e){j(e)?Kt.push(...e):xt&&e.id===-1?xt.splice(qt+1,0,e):e.flags&1||(Kt.push(e),e.flags|=1),Bs()}function go(e,t,n=et+1){for(;nvn(n)-vn(i));if(Kt.length=0,xt){xt.push(...t);return}for(xt=t,qt=0;qte.id==null?e.flags&2?-1:1/0:e.id;function Ws(e){const t=We;try{for(et=0;et{i._d&&Ro(-1);const s=Vn(t);let r;try{r=e(...o)}finally{Vn(s),i._d&&Ro(1)}return r};return i._n=!0,i._c=!0,i._d=!0,i}function _e(e,t){if($e===null)return e;const n=ri($e),i=e.dirs||(e.dirs=[]);for(let o=0;oe.__isTeleport;function ro(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ro(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}/*! #__NO_SIDE_EFFECTS__ */function Js(e,t){return W(e)?(()=>ve({name:e.name},t,{setup:e}))():e}function Gs(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Oi(e,t,n,i,o=!1){if(j(e)){e.forEach((g,m)=>Oi(g,t&&(j(t)?t[m]:t),n,i,o));return}if(fn(i)&&!o)return;const s=i.shapeFlag&4?ri(i.component):i.el,r=o?null:s,{i:c,r:d}=e,l=t&&t.r,a=c.refs===ce?c.refs={}:c.refs,I=c.setupState,h=ne(I),x=I===ce?()=>!1:g=>ie(h,g);if(l!=null&&l!==d&&(be(l)?(a[l]=null,x(l)&&(I[l]=null)):Se(l)&&(l.value=null)),W(d))En(d,c,12,[r,a]);else{const g=be(d),m=Se(d);if(g||m){const S=()=>{if(e.f){const N=g?x(d)?I[d]:a[d]:d.value;o?j(N)&&zi(N,s):j(N)?N.includes(s)||N.push(s):g?(a[d]=[s],x(d)&&(I[d]=a[d])):(d.value=[s],e.k&&(a[e.k]=d.value))}else g?(a[d]=r,x(d)&&(I[d]=r)):m&&(d.value=r,e.k&&(a[e.k]=r))};r?(S.id=-1,Fe(S,n)):S()}}}Zn().requestIdleCallback;Zn().cancelIdleCallback;const fn=e=>!!e.type.__asyncLoader,Qs=e=>e.type.__isKeepAlive;function Dc(e,t){Ys(e,"a",t)}function Pc(e,t){Ys(e,"da",t)}function Ys(e,t,n=ke){const i=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(ii(t,i,n),n){let o=n.parent;for(;o&&o.parent;)Qs(o.parent.vnode)&&Fc(i,t,n,o),o=o.parent}}function Fc(e,t,n,i){const o=ii(t,e,i,!0);co(()=>{zi(i[t],o)},n)}function ii(e,t,n=ke,i=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...r)=>{_t();const c=Rn(n),d=it(t,n,e,r);return c(),yt(),d});return i?o.unshift(s):o.push(s),s}}const ft=e=>(t,n=ke)=>{(!_n||e==="sp")&&ii(e,(...i)=>t(...i),n)},Mc=ft("bm"),wt=ft("m"),qc=ft("bu"),$c=ft("u"),Uc=ft("bum"),co=ft("um"),Hc=ft("sp"),jc=ft("rtg"),Vc=ft("rtc");function Bc(e,t=ke){ii("ec",e,t)}const Xs="components";function Ae(e,t){return Wc(Xs,e,!0,t)||e}const Kc=Symbol.for("v-ndc");function Wc(e,t,n=!0,i=!1){const o=$e||ke;if(o){const s=o.type;if(e===Xs){const c=Ad(s,!1);if(c&&(c===t||c===Ve(t)||c===Xn(Ve(t))))return s}const r=_o(o[e]||s[e],t)||_o(o.appContext[e],t);return!r&&i?s:r}}function _o(e,t){return e&&(e[t]||e[Ve(t)]||e[Xn(Ve(t))])}function ye(e,t,n,i){let o;const s=n&&n[i],r=j(e);if(r||be(e)){const c=r&&Vt(e);let d=!1;c&&(d=!je(e),e=ei(e)),o=new Array(e.length);for(let l=0,a=e.length;lt(c,d,void 0,s&&s[d]));else{const c=Object.keys(e);o=new Array(c.length);for(let d=0,l=c.length;de?mr(e)?ri(e):Di(e.parent):null,In=ve(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Di(e.parent),$root:e=>Di(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>lo(e),$forceUpdate:e=>e.f||(e.f=()=>{so(e.update)}),$nextTick:e=>e.n||(e.n=oo.bind(e.proxy)),$watch:e=>Id.bind(e)}),xi=(e,t)=>e!==ce&&!e.__isScriptSetup&&ie(e,t),zc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:i,data:o,props:s,accessCache:r,type:c,appContext:d}=e;let l;if(t[0]!=="$"){const x=r[t];if(x!==void 0)switch(x){case 1:return i[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(xi(i,t))return r[t]=1,i[t];if(o!==ce&&ie(o,t))return r[t]=2,o[t];if((l=e.propsOptions[0])&&ie(l,t))return r[t]=3,s[t];if(n!==ce&&ie(n,t))return r[t]=4,n[t];Pi&&(r[t]=0)}}const a=In[t];let I,h;if(a)return t==="$attrs"&&Te(e.attrs,"get",""),a(e);if((I=c.__cssModules)&&(I=I[t]))return I;if(n!==ce&&ie(n,t))return r[t]=4,n[t];if(h=d.config.globalProperties,ie(h,t))return h[t]},set({_:e},t,n){const{data:i,setupState:o,ctx:s}=e;return xi(o,t)?(o[t]=n,!0):i!==ce&&ie(i,t)?(i[t]=n,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:o,propsOptions:s}},r){let c;return!!n[r]||e!==ce&&ie(e,r)||xi(t,r)||(c=s[0])&&ie(c,r)||ie(i,r)||ie(In,r)||ie(o.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ie(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function yo(e){return j(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Pi=!0;function Jc(e){const t=lo(e),n=e.proxy,i=e.ctx;Pi=!1,t.beforeCreate&&wo(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:r,watch:c,provide:d,inject:l,created:a,beforeMount:I,mounted:h,beforeUpdate:x,updated:g,activated:m,deactivated:S,beforeDestroy:N,beforeUnmount:v,destroyed:E,unmounted:_,render:O,renderTracked:M,renderTriggered:J,errorCaptured:G,serverPrefetch:he,expose:pe,inheritAttrs:Ne,components:Tt,directives:Qe,filters:tn}=t;if(l&&Gc(l,i,null),r)for(const re in r){const ee=r[re];W(ee)&&(i[re]=ee.bind(n))}if(o){const re=o.call(n,n);fe(re)&&(e.data=ti(re))}if(Pi=!0,s)for(const re in s){const ee=s[re],ot=W(ee)?ee.bind(n,n):W(ee.get)?ee.get.bind(n,n):We,pt=!W(ee)&&W(ee.set)?ee.set.bind(n):We,Ye=z({get:ot,set:pt});Object.defineProperty(i,re,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Le=>Ye.value=Le})}if(c)for(const re in c)Zs(c[re],i,n,re);if(d){const re=W(d)?d.call(n):d;Reflect.ownKeys(re).forEach(ee=>{Fn(ee,re[ee])})}a&&wo(a,e,"c");function me(re,ee){j(ee)?ee.forEach(ot=>re(ot.bind(n))):ee&&re(ee.bind(n))}if(me(Mc,I),me(wt,h),me(qc,x),me($c,g),me(Dc,m),me(Pc,S),me(Bc,G),me(Vc,M),me(jc,J),me(Uc,v),me(co,_),me(Hc,he),j(pe))if(pe.length){const re=e.exposed||(e.exposed={});pe.forEach(ee=>{Object.defineProperty(re,ee,{get:()=>n[ee],set:ot=>n[ee]=ot})})}else e.exposed||(e.exposed={});O&&e.render===We&&(e.render=O),Ne!=null&&(e.inheritAttrs=Ne),Tt&&(e.components=Tt),Qe&&(e.directives=Qe),he&&Gs(e)}function Gc(e,t,n=We){j(e)&&(e=Fi(e));for(const i in e){const o=e[i];let s;fe(o)?"default"in o?s=Je(o.from||i,o.default,!0):s=Je(o.from||i):s=Je(o),Se(s)?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[i]=s}}function wo(e,t,n){it(j(e)?e.map(i=>i.bind(t.proxy)):e.bind(t.proxy),t,n)}function Zs(e,t,n,i){let o=i.includes(".")?Ir(n,i):()=>n[i];if(be(e)){const s=t[e];W(s)&&zt(o,s)}else if(W(e))zt(o,e.bind(n));else if(fe(e))if(j(e))e.forEach(s=>Zs(s,t,n,i));else{const s=W(e.handler)?e.handler.bind(n):t[e.handler];W(s)&&zt(o,s,e)}}function lo(e){const t=e.type,{mixins:n,extends:i}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,c=s.get(t);let d;return c?d=c:!o.length&&!n&&!i?d=t:(d={},o.length&&o.forEach(l=>Bn(d,l,r,!0)),Bn(d,t,r)),fe(t)&&s.set(t,d),d}function Bn(e,t,n,i=!1){const{mixins:o,extends:s}=t;s&&Bn(e,s,n,!0),o&&o.forEach(r=>Bn(e,r,n,!0));for(const r in t)if(!(i&&r==="expose")){const c=Qc[r]||n&&n[r];e[r]=c?c(e[r],t[r]):t[r]}return e}const Qc={data:To,props:Co,emits:Co,methods:dn,computed:dn,beforeCreate:Ee,created:Ee,beforeMount:Ee,mounted:Ee,beforeUpdate:Ee,updated:Ee,beforeDestroy:Ee,beforeUnmount:Ee,destroyed:Ee,unmounted:Ee,activated:Ee,deactivated:Ee,errorCaptured:Ee,serverPrefetch:Ee,components:dn,directives:dn,watch:Xc,provide:To,inject:Yc};function To(e,t){return t?e?function(){return ve(W(e)?e.call(this,this):e,W(t)?t.call(this,this):t)}:t:e}function Yc(e,t){return dn(Fi(e),Fi(t))}function Fi(e){if(j(e)){const t={};for(let n=0;n1)return n&&W(t)?t.call(i&&i.proxy):t}}const tr={},nr=()=>Object.create(tr),ir=e=>Object.getPrototypeOf(e)===tr;function td(e,t,n,i=!1){const o={},s=nr();e.propsDefaults=Object.create(null),or(e,t,o,s);for(const r in e.propsOptions[0])r in o||(o[r]=void 0);n?e.props=i?o:$s(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function nd(e,t,n,i){const{props:o,attrs:s,vnode:{patchFlag:r}}=e,c=ne(o),[d]=e.propsOptions;let l=!1;if((i||r>0)&&!(r&16)){if(r&8){const a=e.vnode.dynamicProps;for(let I=0;I{d=!0;const[h,x]=sr(I,t,!0);ve(r,h),x&&c.push(...x)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!s&&!d)return fe(e)&&i.set(e,Ht),Ht;if(j(s))for(let a=0;ae[0]==="_"||e==="$stable",ao=e=>j(e)?e.map(tt):[tt(e)],od=(e,t,n)=>{if(t._n)return t;const i=xe((...o)=>ao(t(...o)),n);return i._c=!1,i},cr=(e,t,n)=>{const i=e._ctx;for(const o in e){if(rr(o))continue;const s=e[o];if(W(s))t[o]=od(o,s,i);else if(s!=null){const r=ao(s);t[o]=()=>r}}},dr=(e,t)=>{const n=ao(t);e.slots.default=()=>n},lr=(e,t,n)=>{for(const i in t)(n||i!=="_")&&(e[i]=t[i])},sd=(e,t,n)=>{const i=e.slots=nr();if(e.vnode.shapeFlag&32){const o=t._;o?(lr(i,t,n),n&&_s(i,"_",o,!0)):cr(t,i)}else t&&dr(e,t)},rd=(e,t,n)=>{const{vnode:i,slots:o}=e;let s=!0,r=ce;if(i.shapeFlag&32){const c=t._;c?n&&c===1?s=!1:lr(o,t,n):(s=!t.$stable,cr(t,o)),r=t}else t&&(dr(e,t),r={default:1});if(s)for(const c in o)!rr(c)&&r[c]==null&&delete o[c]},Fe=gd;function cd(e){return dd(e)}function dd(e,t){const n=Zn();n.__VUE__=!0;const{insert:i,remove:o,patchProp:s,createElement:r,createText:c,createComment:d,setText:l,setElementText:a,parentNode:I,nextSibling:h,setScopeId:x=We,insertStaticContent:g}=e,m=(f,p,b,k=null,w=null,R=null,P=void 0,D=null,A=!!p.dynamicChildren)=>{if(f===p)return;f&&!sn(f,p)&&(k=T(f),Le(f,w,R,!0),f=null),p.patchFlag===-2&&(A=!1,p.dynamicChildren=null);const{type:L,ref:V,shapeFlag:q}=p;switch(L){case si:S(f,p,b,k);break;case Nt:N(f,p,b,k);break;case vi:f==null&&v(p,b,k,P);break;case de:Tt(f,p,b,k,w,R,P,D,A);break;default:q&1?O(f,p,b,k,w,R,P,D,A):q&6?Qe(f,p,b,k,w,R,P,D,A):(q&64||q&128)&&L.process(f,p,b,k,w,R,P,D,A,U)}V!=null&&w&&Oi(V,f&&f.ref,R,p||f,!p)},S=(f,p,b,k)=>{if(f==null)i(p.el=c(p.children),b,k);else{const w=p.el=f.el;p.children!==f.children&&l(w,p.children)}},N=(f,p,b,k)=>{f==null?i(p.el=d(p.children||""),b,k):p.el=f.el},v=(f,p,b,k)=>{[f.el,f.anchor]=g(f.children,p,b,k,f.el,f.anchor)},E=({el:f,anchor:p},b,k)=>{let w;for(;f&&f!==p;)w=h(f),i(f,b,k),f=w;i(p,b,k)},_=({el:f,anchor:p})=>{let b;for(;f&&f!==p;)b=h(f),o(f),f=b;o(p)},O=(f,p,b,k,w,R,P,D,A)=>{p.type==="svg"?P="svg":p.type==="math"&&(P="mathml"),f==null?M(p,b,k,w,R,P,D,A):he(f,p,w,R,P,D,A)},M=(f,p,b,k,w,R,P,D)=>{let A,L;const{props:V,shapeFlag:q,transition:H,dirs:B}=f;if(A=f.el=r(f.type,R,V&&V.is,V),q&8?a(A,f.children):q&16&&G(f.children,A,null,k,w,bi(f,R),P,D),B&&Ct(f,null,k,"created"),J(A,f,f.scopeId,P,k),V){for(const le in V)le!=="value"&&!ln(le)&&s(A,le,null,V[le],R,k);"value"in V&&s(A,"value",null,V.value,R),(L=V.onVnodeBeforeMount)&&Ze(L,k,f)}B&&Ct(f,null,k,"beforeMount");const Q=ld(w,H);Q&&H.beforeEnter(A),i(A,p,b),((L=V&&V.onVnodeMounted)||Q||B)&&Fe(()=>{L&&Ze(L,k,f),Q&&H.enter(A),B&&Ct(f,null,k,"mounted")},w)},J=(f,p,b,k,w)=>{if(b&&x(f,b),k)for(let R=0;R{for(let L=A;L{const D=p.el=f.el;let{patchFlag:A,dynamicChildren:L,dirs:V}=p;A|=f.patchFlag&16;const q=f.props||ce,H=p.props||ce;let B;if(b&&kt(b,!1),(B=H.onVnodeBeforeUpdate)&&Ze(B,b,p,f),V&&Ct(p,f,b,"beforeUpdate"),b&&kt(b,!0),(q.innerHTML&&H.innerHTML==null||q.textContent&&H.textContent==null)&&a(D,""),L?pe(f.dynamicChildren,L,D,b,k,bi(p,w),R):P||ee(f,p,D,null,b,k,bi(p,w),R,!1),A>0){if(A&16)Ne(D,q,H,b,w);else if(A&2&&q.class!==H.class&&s(D,"class",null,H.class,w),A&4&&s(D,"style",q.style,H.style,w),A&8){const Q=p.dynamicProps;for(let le=0;le{B&&Ze(B,b,p,f),V&&Ct(p,f,b,"updated")},k)},pe=(f,p,b,k,w,R,P)=>{for(let D=0;D{if(p!==b){if(p!==ce)for(const R in p)!ln(R)&&!(R in b)&&s(f,R,p[R],null,w,k);for(const R in b){if(ln(R))continue;const P=b[R],D=p[R];P!==D&&R!=="value"&&s(f,R,D,P,w,k)}"value"in b&&s(f,"value",p.value,b.value,w)}},Tt=(f,p,b,k,w,R,P,D,A)=>{const L=p.el=f?f.el:c(""),V=p.anchor=f?f.anchor:c("");let{patchFlag:q,dynamicChildren:H,slotScopeIds:B}=p;B&&(D=D?D.concat(B):B),f==null?(i(L,b,k),i(V,b,k),G(p.children||[],b,V,w,R,P,D,A)):q>0&&q&64&&H&&f.dynamicChildren?(pe(f.dynamicChildren,H,b,w,R,P,D),(p.key!=null||w&&p===w.subTree)&&ar(f,p,!0)):ee(f,p,b,V,w,R,P,D,A)},Qe=(f,p,b,k,w,R,P,D,A)=>{p.slotScopeIds=D,f==null?p.shapeFlag&512?w.ctx.activate(p,b,k,P,A):tn(p,b,k,w,R,P,A):Dt(f,p,A)},tn=(f,p,b,k,w,R,P)=>{const D=f.component=Sd(f,k,w);if(Qs(f)&&(D.ctx.renderer=U),Ed(D,!1,P),D.asyncDep){if(w&&w.registerDep(D,me,P),!f.el){const A=D.subTree=Z(Nt);N(null,A,p,b)}}else me(D,f,p,b,w,R,P)},Dt=(f,p,b)=>{const k=p.component=f.component;if(md(f,p,b))if(k.asyncDep&&!k.asyncResolved){re(k,p,b);return}else k.next=p,k.update();else p.el=f.el,k.vnode=p},me=(f,p,b,k,w,R,P)=>{const D=()=>{if(f.isMounted){let{next:q,bu:H,u:B,parent:Q,vnode:le}=f;{const De=ur(f);if(De){q&&(q.el=le.el,re(f,q,P)),De.asyncDep.then(()=>{f.isUnmounted||D()});return}}let oe=q,Oe;kt(f,!1),q?(q.el=le.el,re(f,q,P)):q=le,H&&Pn(H),(Oe=q.props&&q.props.onVnodeBeforeUpdate)&&Ze(Oe,Q,q,le),kt(f,!0);const we=mi(f),Ke=f.subTree;f.subTree=we,m(Ke,we,I(Ke.el),T(Ke),f,w,R),q.el=we.el,oe===null&&vd(f,we.el),B&&Fe(B,w),(Oe=q.props&&q.props.onVnodeUpdated)&&Fe(()=>Ze(Oe,Q,q,le),w)}else{let q;const{el:H,props:B}=p,{bm:Q,m:le,parent:oe,root:Oe,type:we}=f,Ke=fn(p);if(kt(f,!1),Q&&Pn(Q),!Ke&&(q=B&&B.onVnodeBeforeMount)&&Ze(q,oe,p),kt(f,!0),H&&Ie){const De=()=>{f.subTree=mi(f),Ie(H,f.subTree,f,w,null)};Ke&&we.__asyncHydrate?we.__asyncHydrate(H,f,De):De()}else{Oe.ce&&Oe.ce._injectChildStyle(we);const De=f.subTree=mi(f);m(null,De,b,k,f,w,R),p.el=De.el}if(le&&Fe(le,w),!Ke&&(q=B&&B.onVnodeMounted)){const De=p;Fe(()=>Ze(q,oe,De),w)}(p.shapeFlag&256||oe&&fn(oe.vnode)&&oe.vnode.shapeFlag&256)&&f.a&&Fe(f.a,w),f.isMounted=!0,p=b=k=null}};f.scope.on();const A=f.effect=new Cs(D);f.scope.off();const L=f.update=A.run.bind(A),V=f.job=A.runIfDirty.bind(A);V.i=f,V.id=f.uid,A.scheduler=()=>so(V),kt(f,!0),L()},re=(f,p,b)=>{p.component=f;const k=f.vnode.props;f.vnode=p,f.next=null,nd(f,p.props,k,b),rd(f,p.children,b),_t(),go(f),yt()},ee=(f,p,b,k,w,R,P,D,A=!1)=>{const L=f&&f.children,V=f?f.shapeFlag:0,q=p.children,{patchFlag:H,shapeFlag:B}=p;if(H>0){if(H&128){pt(L,q,b,k,w,R,P,D,A);return}else if(H&256){ot(L,q,b,k,w,R,P,D,A);return}}B&8?(V&16&&He(L,w,R),q!==L&&a(b,q)):V&16?B&16?pt(L,q,b,k,w,R,P,D,A):He(L,w,R,!0):(V&8&&a(b,""),B&16&&G(q,b,k,w,R,P,D,A))},ot=(f,p,b,k,w,R,P,D,A)=>{f=f||Ht,p=p||Ht;const L=f.length,V=p.length,q=Math.min(L,V);let H;for(H=0;HV?He(f,w,R,!0,!1,q):G(p,b,k,w,R,P,D,A,q)},pt=(f,p,b,k,w,R,P,D,A)=>{let L=0;const V=p.length;let q=f.length-1,H=V-1;for(;L<=q&&L<=H;){const B=f[L],Q=p[L]=A?bt(p[L]):tt(p[L]);if(sn(B,Q))m(B,Q,b,null,w,R,P,D,A);else break;L++}for(;L<=q&&L<=H;){const B=f[q],Q=p[H]=A?bt(p[H]):tt(p[H]);if(sn(B,Q))m(B,Q,b,null,w,R,P,D,A);else break;q--,H--}if(L>q){if(L<=H){const B=H+1,Q=BH)for(;L<=q;)Le(f[L],w,R,!0),L++;else{const B=L,Q=L,le=new Map;for(L=Q;L<=H;L++){const Pe=p[L]=A?bt(p[L]):tt(p[L]);Pe.key!=null&&le.set(Pe.key,L)}let oe,Oe=0;const we=H-Q+1;let Ke=!1,De=0;const nn=new Array(we);for(L=0;L=we){Le(Pe,w,R,!0);continue}let Xe;if(Pe.key!=null)Xe=le.get(Pe.key);else for(oe=Q;oe<=H;oe++)if(nn[oe-Q]===0&&sn(Pe,p[oe])){Xe=oe;break}Xe===void 0?Le(Pe,w,R,!0):(nn[Xe-Q]=L+1,Xe>=De?De=Xe:Ke=!0,m(Pe,p[Xe],b,null,w,R,P,D,A),Oe++)}const po=Ke?ad(nn):Ht;for(oe=po.length-1,L=we-1;L>=0;L--){const Pe=Q+L,Xe=p[Pe],ho=Pe+1{const{el:R,type:P,transition:D,children:A,shapeFlag:L}=f;if(L&6){Ye(f.component.subTree,p,b,k);return}if(L&128){f.suspense.move(p,b,k);return}if(L&64){P.move(f,p,b,U);return}if(P===de){i(R,p,b);for(let q=0;qD.enter(R),w);else{const{leave:q,delayLeave:H,afterLeave:B}=D,Q=()=>i(R,p,b),le=()=>{q(R,()=>{Q(),B&&B()})};H?H(R,Q,le):le()}else i(R,p,b)},Le=(f,p,b,k=!1,w=!1)=>{const{type:R,props:P,ref:D,children:A,dynamicChildren:L,shapeFlag:V,patchFlag:q,dirs:H,cacheIndex:B}=f;if(q===-2&&(w=!1),D!=null&&Oi(D,null,b,f,!0),B!=null&&(p.renderCache[B]=void 0),V&256){p.ctx.deactivate(f);return}const Q=V&1&&H,le=!fn(f);let oe;if(le&&(oe=P&&P.onVnodeBeforeUnmount)&&Ze(oe,p,f),V&6)Nn(f.component,b,k);else{if(V&128){f.suspense.unmount(b,k);return}Q&&Ct(f,null,p,"beforeUnmount"),V&64?f.type.remove(f,p,b,U,k):L&&!L.hasOnce&&(R!==de||q>0&&q&64)?He(L,p,b,!1,!0):(R===de&&q&384||!w&&V&16)&&He(A,p,b),k&&Pt(f)}(le&&(oe=P&&P.onVnodeUnmounted)||Q)&&Fe(()=>{oe&&Ze(oe,p,f),Q&&Ct(f,null,p,"unmounted")},b)},Pt=f=>{const{type:p,el:b,anchor:k,transition:w}=f;if(p===de){Ft(b,k);return}if(p===vi){_(f);return}const R=()=>{o(b),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(f.shapeFlag&1&&w&&!w.persisted){const{leave:P,delayLeave:D}=w,A=()=>P(b,R);D?D(f.el,R,A):A()}else R()},Ft=(f,p)=>{let b;for(;f!==p;)b=h(f),o(f),f=b;o(p)},Nn=(f,p,b)=>{const{bum:k,scope:w,job:R,subTree:P,um:D,m:A,a:L}=f;So(A),So(L),k&&Pn(k),w.stop(),R&&(R.flags|=8,Le(P,f,p,b)),D&&Fe(D,p),Fe(()=>{f.isUnmounted=!0},p),p&&p.pendingBranch&&!p.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===p.pendingId&&(p.deps--,p.deps===0&&p.resolve())},He=(f,p,b,k=!1,w=!1,R=0)=>{for(let P=R;P{if(f.shapeFlag&6)return T(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const p=h(f.anchor||f.el),b=p&&p[Ac];return b?h(b):p};let $=!1;const F=(f,p,b)=>{f==null?p._vnode&&Le(p._vnode,null,null,!0):m(p._vnode||null,f,p,null,null,null,b),p._vnode=f,$||($=!0,go(),Ks(),$=!1)},U={p:m,um:Le,m:Ye,r:Pt,mt:tn,mc:G,pc:ee,pbc:pe,n:T,o:e};let te,Ie;return t&&([te,Ie]=t(U)),{render:F,hydrate:te,createApp:ed(F,te)}}function bi({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function kt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ld(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ar(e,t,n=!1){const i=e.children,o=t.children;if(j(i)&&j(o))for(let s=0;s>1,e[n[c]]0&&(t[i]=n[s-1]),n[s]=i)}}for(s=n.length,r=n[s-1];s-- >0;)n[s]=r,r=t[r];return n}function ur(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ur(t)}function So(e){if(e)for(let t=0;tJe(ud);function zt(e,t,n){return fr(e,t,n)}function fr(e,t,n=ce){const{immediate:i,deep:o,flush:s,once:r}=n,c=ve({},n),d=t&&i||!t&&s!=="post";let l;if(_n){if(s==="sync"){const x=fd();l=x.__watcherHandles||(x.__watcherHandles=[])}else if(!d){const x=()=>{};return x.stop=We,x.resume=We,x.pause=We,x}}const a=ke;c.call=(x,g,m)=>it(x,a,g,m);let I=!1;s==="post"?c.scheduler=x=>{Fe(x,a&&a.suspense)}:s!=="sync"&&(I=!0,c.scheduler=(x,g)=>{g?x():so(x)}),c.augmentJob=x=>{t&&(x.flags|=4),I&&(x.flags|=2,a&&(x.id=a.uid,x.i=a))};const h=Ec(e,t,c);return _n&&(l?l.push(h):d&&h()),h}function Id(e,t,n){const i=this.proxy,o=be(e)?e.includes(".")?Ir(i,e):()=>i[e]:e.bind(i,i);let s;W(t)?s=t:(s=t.handler,n=t);const r=Rn(this),c=fr(o,s.bind(i),n);return r(),c}function Ir(e,t){const n=t.split(".");return()=>{let i=e;for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ve(t)}Modifiers`]||e[`${Lt(t)}Modifiers`];function hd(e,t,...n){if(e.isUnmounted)return;const i=e.vnode.props||ce;let o=n;const s=t.startsWith("update:"),r=s&&pd(i,t.slice(7));r&&(r.trim&&(o=n.map(a=>be(a)?a.trim():a)),r.number&&(o=n.map(Un)));let c,d=i[c=ui(t)]||i[c=ui(Ve(t))];!d&&s&&(d=i[c=ui(Lt(t))]),d&&it(d,e,6,o);const l=i[c+"Once"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,it(l,e,6,o)}}function pr(e,t,n=!1){const i=t.emitsCache,o=i.get(e);if(o!==void 0)return o;const s=e.emits;let r={},c=!1;if(!W(e)){const d=l=>{const a=pr(l,t,!0);a&&(c=!0,ve(r,a))};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}return!s&&!c?(fe(e)&&i.set(e,null),null):(j(s)?s.forEach(d=>r[d]=null):ve(r,s),fe(e)&&i.set(e,r),r)}function oi(e,t){return!e||!Qn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,Lt(t))||ie(e,t))}function mi(e){const{type:t,vnode:n,proxy:i,withProxy:o,propsOptions:[s],slots:r,attrs:c,emit:d,render:l,renderCache:a,props:I,data:h,setupState:x,ctx:g,inheritAttrs:m}=e,S=Vn(e);let N,v;try{if(n.shapeFlag&4){const _=o||i,O=_;N=tt(l.call(O,_,a,I,x,h,g)),v=c}else{const _=t;N=tt(_.length>1?_(I,{attrs:c,slots:r,emit:d}):_(I,null)),v=t.props?c:xd(c)}}catch(_){pn.length=0,ni(_,e,1),N=Z(Nt)}let E=N;if(v&&m!==!1){const _=Object.keys(v),{shapeFlag:O}=E;_.length&&O&7&&(s&&_.some(Wi)&&(v=bd(v,s)),E=Gt(E,v,!1,!0))}return n.dirs&&(E=Gt(E,null,!1,!0),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&ro(E,n.transition),N=E,Vn(S),N}const xd=e=>{let t;for(const n in e)(n==="class"||n==="style"||Qn(n))&&((t||(t={}))[n]=e[n]);return t},bd=(e,t)=>{const n={};for(const i in e)(!Wi(i)||!(i.slice(9)in t))&&(n[i]=e[i]);return n};function md(e,t,n){const{props:i,children:o,component:s}=e,{props:r,children:c,patchFlag:d}=t,l=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&d>=0){if(d&1024)return!0;if(d&16)return i?Eo(i,r,l):!!r;if(d&8){const a=t.dynamicProps;for(let I=0;Ie.__isSuspense;function gd(e,t){t&&t.pendingBranch?j(e)?t.effects.push(...e):t.effects.push(e):Lc(e)}const de=Symbol.for("v-fgt"),si=Symbol.for("v-txt"),Nt=Symbol.for("v-cmt"),vi=Symbol.for("v-stc"),pn=[];let Ue=null;function y(e=!1){pn.push(Ue=e?null:[])}function _d(){pn.pop(),Ue=pn[pn.length-1]||null}let gn=1;function Ro(e){gn+=e,e<0&&Ue&&(Ue.hasOnce=!0)}function xr(e){return e.dynamicChildren=gn>0?Ue||Ht:null,_d(),gn>0&&Ue&&Ue.push(e),e}function C(e,t,n,i,o,s){return xr(u(e,t,n,i,o,s,!0))}function ut(e,t,n,i,o){return xr(Z(e,t,n,i,o,!0))}function Kn(e){return e?e.__v_isVNode===!0:!1}function sn(e,t){return e.type===t.type&&e.key===t.key}const br=({key:e})=>e??null,Mn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?be(e)||Se(e)||W(e)?{i:$e,r:e,k:t,f:!!n}:e:null);function u(e,t=null,n=null,i=0,o=null,s=e===de?0:1,r=!1,c=!1){const d={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&br(t),ref:t&&Mn(t),scopeId:zs,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:i,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:$e};return c?(uo(d,n),s&128&&e.normalize(d)):n&&(d.shapeFlag|=be(n)?8:16),gn>0&&!r&&Ue&&(d.patchFlag>0||s&6)&&d.patchFlag!==32&&Ue.push(d),d}const Z=yd;function yd(e,t=null,n=null,i=0,o=null,s=!1){if((!e||e===Kc)&&(e=Nt),Kn(e)){const c=Gt(e,t,!0);return n&&uo(c,n),gn>0&&!s&&Ue&&(c.shapeFlag&6?Ue[Ue.indexOf(e)]=c:Ue.push(c)),c.patchFlag=-2,c}if(Od(e)&&(e=e.__vccOpts),t){t=wd(t);let{class:c,style:d}=t;c&&!be(c)&&(t.class=en(c)),fe(d)&&(io(d)&&!j(d)&&(d=ve({},d)),t.style=Gi(d))}const r=be(e)?1:hr(e)?128:Oc(e)?64:fe(e)?4:W(e)?2:0;return u(e,t,n,i,o,r,s,!0)}function wd(e){return e?io(e)||ir(e)?ve({},e):e:null}function Gt(e,t,n=!1,i=!1){const{props:o,ref:s,patchFlag:r,children:c,transition:d}=e,l=t?Td(o||{},t):o,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&br(l),ref:t&&t.ref?n&&s?j(s)?s.concat(Mn(t)):[s,Mn(t)]:Mn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==de?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:d,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Gt(e.ssContent),ssFallback:e.ssFallback&&Gt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return d&&i&&ro(a,d.clone(a)),a}function X(e=" ",t=0){return Z(si,null,e,t)}function Y(e="",t=!1){return t?(y(),ut(Nt,null,e)):Z(Nt,null,e)}function tt(e){return e==null||typeof e=="boolean"?Z(Nt):j(e)?Z(de,null,e.slice()):Kn(e)?bt(e):Z(si,null,String(e))}function bt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Gt(e)}function uo(e,t){let n=0;const{shapeFlag:i}=e;if(t==null)t=null;else if(j(t))n=16;else if(typeof t=="object")if(i&65){const o=t.default;o&&(o._c&&(o._d=!1),uo(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!ir(t)?t._ctx=$e:o===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else W(t)?(t={default:t,_ctx:$e},n=32):(t=String(t),i&64?(n=16,t=[X(t)]):n=8);e.children=t,e.shapeFlag|=n}function Td(...e){const t={};for(let n=0;n{let o;return(o=e[n])||(o=e[n]=[]),o.push(i),s=>{o.length>1?o.forEach(r=>r(s)):o[0](s)}};Wn=t("__VUE_INSTANCE_SETTERS__",n=>ke=n),qi=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Rn=e=>{const t=ke;return Wn(e),e.scope.on(),()=>{e.scope.off(),Wn(t)}},No=()=>{ke&&ke.scope.off(),Wn(null)};function mr(e){return e.vnode.shapeFlag&4}let _n=!1;function Ed(e,t=!1,n=!1){t&&qi(t);const{props:i,children:o}=e.vnode,s=mr(e);td(e,i,s,t),sd(e,o,n);const r=s?Rd(e,t):void 0;return t&&qi(!1),r}function Rd(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,zc);const{setup:i}=n;if(i){_t();const o=e.setupContext=i.length>1?Ld(e):null,s=Rn(e),r=En(i,e,0,[e.props,o]),c=ms(r);if(yt(),s(),(c||e.sp)&&!fn(e)&&Gs(e),c){if(r.then(No,No),t)return r.then(d=>{Lo(e,d,t)}).catch(d=>{ni(d,e,0)});e.asyncDep=r}else Lo(e,r,t)}else vr(e,t)}function Lo(e,t,n){W(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:fe(t)&&(e.setupState=js(t)),vr(e,n)}let Ao;function vr(e,t,n){const i=e.type;if(!e.render){if(!t&&Ao&&!i.render){const o=i.template||lo(e).template;if(o){const{isCustomElement:s,compilerOptions:r}=e.appContext.config,{delimiters:c,compilerOptions:d}=i,l=ve(ve({isCustomElement:s,delimiters:c},r),d);i.render=Ao(o,l)}}e.render=i.render||We}{const o=Rn(e);_t();try{Jc(e)}finally{yt(),o()}}}const Nd={get(e,t){return Te(e,"get",""),e[t]}};function Ld(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Nd),slots:e.slots,emit:e.emit,expose:t}}function ri(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(js(_c(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in In)return In[n](e)},has(t,n){return n in t||n in In}})):e.proxy}function Ad(e,t=!0){return W(e)?e.displayName||e.name:e.name||t&&e.__name}function Od(e){return W(e)&&"__vccOpts"in e}const z=(e,t)=>kc(e,t,_n);function gr(e,t,n){const i=arguments.length;return i===2?fe(t)&&!j(t)?Kn(t)?Z(e,null,[t]):Z(e,t):Z(e,null,t):(i>3?n=Array.prototype.slice.call(arguments,2):i===3&&Kn(n)&&(n=[n]),Z(e,t,n))}const Dd="3.5.12";/** * @vue/runtime-dom v3.5.12 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Mi;const Ao=typeof window<"u"&&window.trustedTypes;if(Ao)try{Mi=Ao.createPolicy("vue",{createHTML:e=>e})}catch{}const gr=Mi?e=>Mi.createHTML(e):e=>e,Dd="http://www.w3.org/2000/svg",Pd="http://www.w3.org/1998/Math/MathML",ct=typeof document<"u"?document:null,Oo=ct&&ct.createElement("template"),Fd={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,i)=>{const o=t==="svg"?ct.createElementNS(Dd,e):t==="mathml"?ct.createElementNS(Pd,e):n?ct.createElement(e,{is:n}):ct.createElement(e);return e==="select"&&i&&i.multiple!=null&&o.setAttribute("multiple",i.multiple),o},createText:e=>ct.createTextNode(e),createComment:e=>ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,i,o,s){const r=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Oo.innerHTML=gr(i==="svg"?`${e}`:i==="mathml"?`${e}`:e);const c=Oo.content;if(i==="svg"||i==="mathml"){const d=c.firstChild;for(;d.firstChild;)c.appendChild(d.firstChild);c.removeChild(d)}t.insertBefore(c,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Md=Symbol("_vtc");function qd(e,t,n){const i=e[Md];i&&(t=(t?[t,...i]:[...i]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const zn=Symbol("_vod"),_r=Symbol("_vsh"),$d={beforeMount(e,{value:t},{transition:n}){e[zn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):rn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:i}){!t!=!n&&(i?t?(i.beforeEnter(e),rn(e,!0),i.enter(e)):i.leave(e,()=>{rn(e,!1)}):rn(e,t))},beforeUnmount(e,{value:t}){rn(e,t)}};function rn(e,t){e.style.display=t?e[zn]:"none",e[_r]=!t}const Ud=Symbol(""),Hd=/(^|;)\s*display\s*:/;function jd(e,t,n){const i=e.style,o=be(n);let s=!1;if(n&&!o){if(t)if(be(t))for(const r of t.split(";")){const c=r.slice(0,r.indexOf(":")).trim();n[c]==null&&qn(i,c,"")}else for(const r in t)n[r]==null&&qn(i,r,"");for(const r in n)r==="display"&&(s=!0),qn(i,r,n[r])}else if(o){if(t!==n){const r=i[Ud];r&&(n+=";"+r),i.cssText=n,s=Hd.test(n)}}else t&&e.removeAttribute("style");zn in e&&(e[zn]=s?i.display:"",e[_r]&&(i.display="none"))}const Do=/\s*!important$/;function qn(e,t,n){if(j(n))n.forEach(i=>qn(e,t,i));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const i=Vd(e,t);Do.test(n)?e.setProperty(Lt(i),n.replace(Do,""),"important"):e[i]=n}}const Po=["Webkit","Moz","ms"],vi={};function Vd(e,t){const n=vi[t];if(n)return n;let i=Ve(t);if(i!=="filter"&&i in e)return vi[t]=i;i=Xn(i);for(let o=0;ogi||(zd.then(()=>gi=0),gi=Date.now());function Gd(e,t){const n=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=n.attached)return;it(Qd(i,n.value),t,5,[i])};return n.value=e,n.attached=Jd(),n}function Qd(e,t){if(j(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(i=>o=>!o._stopped&&i&&i(o))}else return t}const Ho=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yd=(e,t,n,i,o,s)=>{const r=o==="svg";t==="class"?qd(e,i,r):t==="style"?jd(e,n,i):Qn(t)?Bi(t)||Kd(e,t,n,i,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xd(e,t,i,r))?(qo(e,t,i),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Mo(e,t,i,r,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!be(i))?qo(e,Ve(t),i,s,t):(t==="true-value"?e._trueValue=i:t==="false-value"&&(e._falseValue=i),Mo(e,t,i,r))};function Xd(e,t,n,i){if(i)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ho(t)&&W(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Ho(t)&&be(n)?!1:t in e}const Qt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return j(t)?n=>Pn(t,n):t};function Zd(e){e.target.composing=!0}function jo(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const at=Symbol("_assign"),qe={created(e,{modifiers:{lazy:t,trim:n,number:i}},o){e[at]=Qt(o);const s=i||o.props&&o.props.type==="number";vt(e,t?"change":"input",r=>{if(r.target.composing)return;let c=e.value;n&&(c=c.trim()),s&&(c=Un(c)),e[at](c)}),n&&vt(e,"change",()=>{e.value=e.value.trim()}),t||(vt(e,"compositionstart",Zd),vt(e,"compositionend",jo),vt(e,"change",jo))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:i,trim:o,number:s}},r){if(e[at]=Qt(r),e.composing)return;const c=(s||e.type==="number")&&!/^0\d/.test(e.value)?Un(e.value):e.value,d=t??"";c!==d&&(document.activeElement===e&&e.type!=="range"&&(i&&t===n||o&&e.value.trim()===d)||(e.value=d))}},yr={deep:!0,created(e,t,n){e[at]=Qt(n),vt(e,"change",()=>{const i=e._modelValue,o=yn(e),s=e.checked,r=e[at];if(j(i)){const c=Ji(i,o),d=c!==-1;if(s&&!d)r(i.concat(o));else if(!s&&d){const l=[...i];l.splice(c,1),r(l)}}else if(Zt(i)){const c=new Set(i);s?c.add(o):c.delete(o),r(c)}else r(wr(e,s))})},mounted:Vo,beforeUpdate(e,t,n){e[at]=Qt(n),Vo(e,t,n)}};function Vo(e,{value:t,oldValue:n},i){e._modelValue=t;let o;if(j(t))o=Ji(t,i.props.value)>-1;else if(Zt(t))o=t.has(i.props.value);else{if(t===n)return;o=Sn(t,wr(e,!0))}e.checked!==o&&(e.checked=o)}const el={deep:!0,created(e,{value:t,modifiers:{number:n}},i){const o=Zt(t);vt(e,"change",()=>{const s=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?Un(yn(r)):yn(r));e[at](e.multiple?o?new Set(s):s:s[0]),e._assigning=!0,no(()=>{e._assigning=!1})}),e[at]=Qt(i)},mounted(e,{value:t}){Bo(e,t)},beforeUpdate(e,t,n){e[at]=Qt(n)},updated(e,{value:t}){e._assigning||Bo(e,t)}};function Bo(e,t){const n=e.multiple,i=j(t);if(!(n&&!i&&!Zt(t))){for(let o=0,s=e.options.length;oString(l)===String(c)):r.selected=Ji(t,c)>-1}else r.selected=t.has(c);else if(Sn(yn(r),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function yn(e){return"_value"in e?e._value:e.value}function wr(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const tl=["ctrl","shift","alt","meta"],nl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>tl.some(n=>e[`${n}Key`]&&!t.includes(n))},ci=(e,t)=>{const n=e._withMods||(e._withMods={}),i=t.join(".");return n[i]||(n[i]=(o,...s)=>{for(let r=0;r{const t=ol().createApp(...e),{mount:n}=t;return t.mount=i=>{const o=cl(i);if(!o)return;const s=t._component;!W(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const r=n(o,!1,rl(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),r},t};function rl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function cl(e){return be(e)?document.querySelector(e):e}const Be=(e,t)=>{const n=e.__vccOpts||e;for(const[i,o]of t)n[i]=o;return n},dl={name:"App"};function ll(e,t,n,i,o,s){const r=Ae("router-view");return y(),ut(r)}const al=Be(dl,[["render",ll]]);/*! +**/let $i;const Oo=typeof window<"u"&&window.trustedTypes;if(Oo)try{$i=Oo.createPolicy("vue",{createHTML:e=>e})}catch{}const _r=$i?e=>$i.createHTML(e):e=>e,Pd="http://www.w3.org/2000/svg",Fd="http://www.w3.org/1998/Math/MathML",ct=typeof document<"u"?document:null,Do=ct&&ct.createElement("template"),Md={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,i)=>{const o=t==="svg"?ct.createElementNS(Pd,e):t==="mathml"?ct.createElementNS(Fd,e):n?ct.createElement(e,{is:n}):ct.createElement(e);return e==="select"&&i&&i.multiple!=null&&o.setAttribute("multiple",i.multiple),o},createText:e=>ct.createTextNode(e),createComment:e=>ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,i,o,s){const r=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Do.innerHTML=_r(i==="svg"?`${e}`:i==="mathml"?`${e}`:e);const c=Do.content;if(i==="svg"||i==="mathml"){const d=c.firstChild;for(;d.firstChild;)c.appendChild(d.firstChild);c.removeChild(d)}t.insertBefore(c,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},qd=Symbol("_vtc");function $d(e,t,n){const i=e[qd];i&&(t=(t?[t,...i]:[...i]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const zn=Symbol("_vod"),yr=Symbol("_vsh"),Ud={beforeMount(e,{value:t},{transition:n}){e[zn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):rn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:i}){!t!=!n&&(i?t?(i.beforeEnter(e),rn(e,!0),i.enter(e)):i.leave(e,()=>{rn(e,!1)}):rn(e,t))},beforeUnmount(e,{value:t}){rn(e,t)}};function rn(e,t){e.style.display=t?e[zn]:"none",e[yr]=!t}const Hd=Symbol(""),jd=/(^|;)\s*display\s*:/;function Vd(e,t,n){const i=e.style,o=be(n);let s=!1;if(n&&!o){if(t)if(be(t))for(const r of t.split(";")){const c=r.slice(0,r.indexOf(":")).trim();n[c]==null&&qn(i,c,"")}else for(const r in t)n[r]==null&&qn(i,r,"");for(const r in n)r==="display"&&(s=!0),qn(i,r,n[r])}else if(o){if(t!==n){const r=i[Hd];r&&(n+=";"+r),i.cssText=n,s=jd.test(n)}}else t&&e.removeAttribute("style");zn in e&&(e[zn]=s?i.display:"",e[yr]&&(i.display="none"))}const Po=/\s*!important$/;function qn(e,t,n){if(j(n))n.forEach(i=>qn(e,t,i));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const i=Bd(e,t);Po.test(n)?e.setProperty(Lt(i),n.replace(Po,""),"important"):e[i]=n}}const Fo=["Webkit","Moz","ms"],gi={};function Bd(e,t){const n=gi[t];if(n)return n;let i=Ve(t);if(i!=="filter"&&i in e)return gi[t]=i;i=Xn(i);for(let o=0;o_i||(Jd.then(()=>_i=0),_i=Date.now());function Qd(e,t){const n=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=n.attached)return;it(Yd(i,n.value),t,5,[i])};return n.value=e,n.attached=Gd(),n}function Yd(e,t){if(j(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(i=>o=>!o._stopped&&i&&i(o))}else return t}const jo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Xd=(e,t,n,i,o,s)=>{const r=o==="svg";t==="class"?$d(e,i,r):t==="style"?Vd(e,n,i):Qn(t)?Wi(t)||Wd(e,t,n,i,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Zd(e,t,i,r))?($o(e,t,i),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&qo(e,t,i,r,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!be(i))?$o(e,Ve(t),i,s,t):(t==="true-value"?e._trueValue=i:t==="false-value"&&(e._falseValue=i),qo(e,t,i,r))};function Zd(e,t,n,i){if(i)return!!(t==="innerHTML"||t==="textContent"||t in e&&jo(t)&&W(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return jo(t)&&be(n)?!1:t in e}const Qt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return j(t)?n=>Pn(t,n):t};function el(e){e.target.composing=!0}function Vo(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const at=Symbol("_assign"),qe={created(e,{modifiers:{lazy:t,trim:n,number:i}},o){e[at]=Qt(o);const s=i||o.props&&o.props.type==="number";vt(e,t?"change":"input",r=>{if(r.target.composing)return;let c=e.value;n&&(c=c.trim()),s&&(c=Un(c)),e[at](c)}),n&&vt(e,"change",()=>{e.value=e.value.trim()}),t||(vt(e,"compositionstart",el),vt(e,"compositionend",Vo),vt(e,"change",Vo))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:i,trim:o,number:s}},r){if(e[at]=Qt(r),e.composing)return;const c=(s||e.type==="number")&&!/^0\d/.test(e.value)?Un(e.value):e.value,d=t??"";c!==d&&(document.activeElement===e&&e.type!=="range"&&(i&&t===n||o&&e.value.trim()===d)||(e.value=d))}},wr={deep:!0,created(e,t,n){e[at]=Qt(n),vt(e,"change",()=>{const i=e._modelValue,o=yn(e),s=e.checked,r=e[at];if(j(i)){const c=Qi(i,o),d=c!==-1;if(s&&!d)r(i.concat(o));else if(!s&&d){const l=[...i];l.splice(c,1),r(l)}}else if(Zt(i)){const c=new Set(i);s?c.add(o):c.delete(o),r(c)}else r(Tr(e,s))})},mounted:Bo,beforeUpdate(e,t,n){e[at]=Qt(n),Bo(e,t,n)}};function Bo(e,{value:t,oldValue:n},i){e._modelValue=t;let o;if(j(t))o=Qi(t,i.props.value)>-1;else if(Zt(t))o=t.has(i.props.value);else{if(t===n)return;o=Sn(t,Tr(e,!0))}e.checked!==o&&(e.checked=o)}const tl={deep:!0,created(e,{value:t,modifiers:{number:n}},i){const o=Zt(t);vt(e,"change",()=>{const s=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?Un(yn(r)):yn(r));e[at](e.multiple?o?new Set(s):s:s[0]),e._assigning=!0,oo(()=>{e._assigning=!1})}),e[at]=Qt(i)},mounted(e,{value:t}){Ko(e,t)},beforeUpdate(e,t,n){e[at]=Qt(n)},updated(e,{value:t}){e._assigning||Ko(e,t)}};function Ko(e,t){const n=e.multiple,i=j(t);if(!(n&&!i&&!Zt(t))){for(let o=0,s=e.options.length;oString(l)===String(c)):r.selected=Qi(t,c)>-1}else r.selected=t.has(c);else if(Sn(yn(r),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function yn(e){return"_value"in e?e._value:e.value}function Tr(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const nl=["ctrl","shift","alt","meta"],il={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>nl.some(n=>e[`${n}Key`]&&!t.includes(n))},ci=(e,t)=>{const n=e._withMods||(e._withMods={}),i=t.join(".");return n[i]||(n[i]=(o,...s)=>{for(let r=0;r{const t=sl().createApp(...e),{mount:n}=t;return t.mount=i=>{const o=dl(i);if(!o)return;const s=t._component;!W(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const r=n(o,!1,cl(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),r},t};function cl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function dl(e){return be(e)?document.querySelector(e):e}const Be=(e,t)=>{const n=e.__vccOpts||e;for(const[i,o]of t)n[i]=o;return n},ll={name:"App"};function al(e,t,n,i,o,s){const r=Ae("router-view");return y(),ut(r)}const ul=Be(ll,[["render",al]]);/*! * vue-router v4.4.5 * (c) 2024 Eduardo San Martin Morote * @license MIT - */const $t=typeof document<"u";function Tr(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ul(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Tr(e.default)}const se=Object.assign;function _i(e,t){const n={};for(const i in t){const o=t[i];n[i]=Ge(o)?o.map(e):e(o)}return n}const hn=()=>{},Ge=Array.isArray,Cr=/#/g,fl=/&/g,Il=/\//g,pl=/=/g,hl=/\?/g,kr=/\+/g,xl=/%5B/g,bl=/%5D/g,Sr=/%5E/g,ml=/%60/g,Er=/%7B/g,vl=/%7C/g,Rr=/%7D/g,gl=/%20/g;function ao(e){return encodeURI(""+e).replace(vl,"|").replace(xl,"[").replace(bl,"]")}function _l(e){return ao(e).replace(Er,"{").replace(Rr,"}").replace(Sr,"^")}function qi(e){return ao(e).replace(kr,"%2B").replace(gl,"+").replace(Cr,"%23").replace(fl,"%26").replace(ml,"`").replace(Er,"{").replace(Rr,"}").replace(Sr,"^")}function yl(e){return qi(e).replace(pl,"%3D")}function wl(e){return ao(e).replace(Cr,"%23").replace(hl,"%3F")}function Tl(e){return e==null?"":wl(e).replace(Il,"%2F")}function wn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Cl=/\/$/,kl=e=>e.replace(Cl,"");function yi(e,t,n="/"){let i,o={},s="",r="";const c=t.indexOf("#");let d=t.indexOf("?");return c=0&&(d=-1),d>-1&&(i=t.slice(0,d),s=t.slice(d+1,c>-1?c:t.length),o=e(s)),c>-1&&(i=i||t.slice(0,c),r=t.slice(c,t.length)),i=Nl(i??t,n),{fullPath:i+(s&&"?")+s+r,path:i,query:o,hash:wn(r)}}function Sl(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Wo(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function El(e,t,n){const i=t.matched.length-1,o=n.matched.length-1;return i>-1&&i===o&&Yt(t.matched[i],n.matched[o])&&Nr(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Yt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Nr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Rl(e[n],t[n]))return!1;return!0}function Rl(e,t){return Ge(e)?zo(e,t):Ge(t)?zo(t,e):e===t}function zo(e,t){return Ge(t)?e.length===t.length&&e.every((n,i)=>n===t[i]):e.length===1&&e[0]===t}function Nl(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),i=e.split("/"),o=i[i.length-1];(o===".."||o===".")&&i.push("");let s=n.length-1,r,c;for(r=0;r1&&s--;else break;return n.slice(0,s).join("/")+"/"+i.slice(r).join("/")}const ht={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Tn;(function(e){e.pop="pop",e.push="push"})(Tn||(Tn={}));var xn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(xn||(xn={}));function Ll(e){if(!e)if($t){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),kl(e)}const Al=/^[^#]+#/;function Ol(e,t){return e.replace(Al,"#")+t}function Dl(e,t){const n=document.documentElement.getBoundingClientRect(),i=e.getBoundingClientRect();return{behavior:t.behavior,left:i.left-n.left-(t.left||0),top:i.top-n.top-(t.top||0)}}const di=()=>({left:window.scrollX,top:window.scrollY});function Pl(e){let t;if("el"in e){const n=e.el,i=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?i?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Dl(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Jo(e,t){return(history.state?history.state.position-t:-1)+e}const $i=new Map;function Fl(e,t){$i.set(e,t)}function Ml(e){const t=$i.get(e);return $i.delete(e),t}let ql=()=>location.protocol+"//"+location.host;function Lr(e,t){const{pathname:n,search:i,hash:o}=t,s=e.indexOf("#");if(s>-1){let c=o.includes(e.slice(s))?e.slice(s).length:1,d=o.slice(c);return d[0]!=="/"&&(d="/"+d),Wo(d,"")}return Wo(n,e)+i+o}function $l(e,t,n,i){let o=[],s=[],r=null;const c=({state:h})=>{const x=Lr(e,location),g=n.value,m=t.value;let S=0;if(h){if(n.value=x,t.value=h,r&&r===g){r=null;return}S=m?h.position-m.position:0}else i(x);o.forEach(N=>{N(n.value,g,{delta:S,type:Tn.pop,direction:S?S>0?xn.forward:xn.back:xn.unknown})})};function d(){r=n.value}function l(h){o.push(h);const x=()=>{const g=o.indexOf(h);g>-1&&o.splice(g,1)};return s.push(x),x}function a(){const{history:h}=window;h.state&&h.replaceState(se({},h.state,{scroll:di()}),"")}function I(){for(const h of s)h();s=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",a)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",a,{passive:!0}),{pauseListeners:d,listen:l,destroy:I}}function Go(e,t,n,i=!1,o=!1){return{back:e,current:t,forward:n,replaced:i,position:window.history.length,scroll:o?di():null}}function Ul(e){const{history:t,location:n}=window,i={value:Lr(e,n)},o={value:t.state};o.value||s(i.value,{back:null,current:i.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(d,l,a){const I=e.indexOf("#"),h=I>-1?(n.host&&document.querySelector("base")?e:e.slice(I))+d:ql()+e+d;try{t[a?"replaceState":"pushState"](l,"",h),o.value=l}catch(x){console.error(x),n[a?"replace":"assign"](h)}}function r(d,l){const a=se({},t.state,Go(o.value.back,d,o.value.forward,!0),l,{position:o.value.position});s(d,a,!0),i.value=d}function c(d,l){const a=se({},o.value,t.state,{forward:d,scroll:di()});s(a.current,a,!0);const I=se({},Go(i.value,d,null),{position:a.position+1},l);s(d,I,!1),i.value=d}return{location:i,state:o,push:c,replace:r}}function Hl(e){e=Ll(e);const t=Ul(e),n=$l(e,t.state,t.location,t.replace);function i(s,r=!0){r||n.pauseListeners(),history.go(s)}const o=se({location:"",base:e,go:i,createHref:Ol.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function jl(e){return typeof e=="string"||e&&typeof e=="object"}function Ar(e){return typeof e=="string"||typeof e=="symbol"}const Or=Symbol("");var Qo;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Qo||(Qo={}));function Xt(e,t){return se(new Error,{type:e,[Or]:!0},t)}function rt(e,t){return e instanceof Error&&Or in e&&(t==null||!!(e.type&t))}const Yo="[^/]+?",Vl={sensitive:!1,strict:!1,start:!0,end:!0},Bl=/[.+*?^${}()[\]/\\]/g;function Kl(e,t){const n=se({},Vl,t),i=[];let o=n.start?"^":"";const s=[];for(const l of e){const a=l.length?[]:[90];n.strict&&!l.length&&(o+="/");for(let I=0;It.length?t.length===1&&t[0]===40+40?1:-1:0}function Dr(e,t){let n=0;const i=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const zl={type:0,value:""},Jl=/[a-zA-Z0-9_]/;function Gl(e){if(!e)return[[]];if(e==="/")return[[zl]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(x){throw new Error(`ERR (${n})/"${l}": ${x}`)}let n=0,i=n;const o=[];let s;function r(){s&&o.push(s),s=[]}let c=0,d,l="",a="";function I(){l&&(n===0?s.push({type:0,value:l}):n===1||n===2||n===3?(s.length>1&&(d==="*"||d==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:l,regexp:a,repeatable:d==="*"||d==="+",optional:d==="*"||d==="?"})):t("Invalid state to consume buffer"),l="")}function h(){l+=d}for(;c{r(E)}:hn}function r(I){if(Ar(I)){const h=i.get(I);h&&(i.delete(I),n.splice(n.indexOf(h),1),h.children.forEach(r),h.alias.forEach(r))}else{const h=n.indexOf(I);h>-1&&(n.splice(h,1),I.record.name&&i.delete(I.record.name),I.children.forEach(r),I.alias.forEach(r))}}function c(){return n}function d(I){const h=ea(I,n);n.splice(h,0,I),I.record.name&&!ts(I)&&i.set(I.record.name,I)}function l(I,h){let x,g={},m,S;if("name"in I&&I.name){if(x=i.get(I.name),!x)throw Xt(1,{location:I});S=x.record.name,g=se(Zo(h.params,x.keys.filter(E=>!E.optional).concat(x.parent?x.parent.keys.filter(E=>E.optional):[]).map(E=>E.name)),I.params&&Zo(I.params,x.keys.map(E=>E.name))),m=x.stringify(g)}else if(I.path!=null)m=I.path,x=n.find(E=>E.re.test(m)),x&&(g=x.parse(m),S=x.record.name);else{if(x=h.name?i.get(h.name):n.find(E=>E.re.test(h.path)),!x)throw Xt(1,{location:I,currentLocation:h});S=x.record.name,g=se({},h.params,I.params),m=x.stringify(g)}const N=[];let v=x;for(;v;)N.unshift(v.record),v=v.parent;return{name:S,path:m,params:g,matched:N,meta:Zl(N)}}e.forEach(I=>s(I));function a(){n.length=0,i.clear()}return{addRoute:s,resolve:l,removeRoute:r,clearRoutes:a,getRoutes:c,getRecordMatcher:o}}function Zo(e,t){const n={};for(const i of t)i in e&&(n[i]=e[i]);return n}function es(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Xl(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Xl(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const i in e.components)t[i]=typeof n=="object"?n[i]:n;return t}function ts(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Zl(e){return e.reduce((t,n)=>se(t,n.meta),{})}function ns(e,t){const n={};for(const i in e)n[i]=i in t?t[i]:e[i];return n}function ea(e,t){let n=0,i=t.length;for(;n!==i;){const s=n+i>>1;Dr(e,t[s])<0?i=s:n=s+1}const o=ta(e);return o&&(i=t.lastIndexOf(o,i-1)),i}function ta(e){let t=e;for(;t=t.parent;)if(Pr(t)&&Dr(e,t)===0)return t}function Pr({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function na(e){const t={};if(e===""||e==="?")return t;const i=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&qi(s)):[i&&qi(i)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function ia(e){const t={};for(const n in e){const i=e[n];i!==void 0&&(t[n]=Ge(i)?i.map(o=>o==null?null:""+o):i==null?i:""+i)}return t}const oa=Symbol(""),os=Symbol(""),li=Symbol(""),uo=Symbol(""),Ui=Symbol("");function cn(){let e=[];function t(i){return e.push(i),()=>{const o=e.indexOf(i);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function mt(e,t,n,i,o,s=r=>r()){const r=i&&(i.enterCallbacks[o]=i.enterCallbacks[o]||[]);return()=>new Promise((c,d)=>{const l=h=>{h===!1?d(Xt(4,{from:n,to:t})):h instanceof Error?d(h):jl(h)?d(Xt(2,{from:t,to:h})):(r&&i.enterCallbacks[o]===r&&typeof h=="function"&&r.push(h),c())},a=s(()=>e.call(i&&i.instances[o],t,n,l));let I=Promise.resolve(a);e.length<3&&(I=I.then(l)),I.catch(h=>d(h))})}function wi(e,t,n,i,o=s=>s()){const s=[];for(const r of e)for(const c in r.components){let d=r.components[c];if(!(t!=="beforeRouteEnter"&&!r.instances[c]))if(Tr(d)){const a=(d.__vccOpts||d)[t];a&&s.push(mt(a,n,i,r,c,o))}else{let l=d();s.push(()=>l.then(a=>{if(!a)throw new Error(`Couldn't resolve component "${c}" at "${r.path}"`);const I=ul(a)?a.default:a;r.mods[c]=a,r.components[c]=I;const x=(I.__vccOpts||I)[t];return x&&mt(x,n,i,r,c,o)()}))}}return s}function ss(e){const t=Je(li),n=Je(uo),i=z(()=>{const d=Bt(e.to);return t.resolve(d)}),o=z(()=>{const{matched:d}=i.value,{length:l}=d,a=d[l-1],I=n.matched;if(!a||!I.length)return-1;const h=I.findIndex(Yt.bind(null,a));if(h>-1)return h;const x=rs(d[l-2]);return l>1&&rs(a)===x&&I[I.length-1].path!==x?I.findIndex(Yt.bind(null,d[l-2])):h}),s=z(()=>o.value>-1&&da(n.params,i.value.params)),r=z(()=>o.value>-1&&o.value===n.matched.length-1&&Nr(n.params,i.value.params));function c(d={}){return ca(d)?t[Bt(e.replace)?"replace":"push"](Bt(e.to)).catch(hn):Promise.resolve()}return{route:i,href:z(()=>i.value.href),isActive:s,isExactActive:r,navigate:c}}const sa=zs({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:ss,setup(e,{slots:t}){const n=ti(ss(e)),{options:i}=Je(li),o=z(()=>({[cs(e.activeClass,i.linkActiveClass,"router-link-active")]:n.isActive,[cs(e.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:vr("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),ra=sa;function ca(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function da(e,t){for(const n in t){const i=t[n],o=e[n];if(typeof i=="string"){if(i!==o)return!1}else if(!Ge(o)||o.length!==i.length||i.some((s,r)=>s!==o[r]))return!1}return!0}function rs(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const cs=(e,t,n)=>e??t??n,la=zs({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const i=Je(Ui),o=z(()=>e.route||i.value),s=Je(os,0),r=z(()=>{let l=Bt(s);const{matched:a}=o.value;let I;for(;(I=a[l])&&!I.components;)l++;return l}),c=z(()=>o.value.matched[r.value]);Fn(os,z(()=>r.value+1)),Fn(oa,c),Fn(Ui,o);const d=ue();return zt(()=>[d.value,c.value,e.name],([l,a,I],[h,x,g])=>{a&&(a.instances[I]=l,x&&x!==a&&l&&l===h&&(a.leaveGuards.size||(a.leaveGuards=x.leaveGuards),a.updateGuards.size||(a.updateGuards=x.updateGuards))),l&&a&&(!x||!Yt(a,x)||!h)&&(a.enterCallbacks[I]||[]).forEach(m=>m(l))},{flush:"post"}),()=>{const l=o.value,a=e.name,I=c.value,h=I&&I.components[a];if(!h)return ds(n.default,{Component:h,route:l});const x=I.props[a],g=x?x===!0?l.params:typeof x=="function"?x(l):x:null,S=vr(h,se({},g,t,{onVnodeUnmounted:N=>{N.component.isUnmounted&&(I.instances[a]=null)},ref:d}));return ds(n.default,{Component:S,route:l})||S}}});function ds(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const aa=la;function ua(e){const t=Yl(e.routes,e),n=e.parseQuery||na,i=e.stringifyQuery||is,o=e.history,s=cn(),r=cn(),c=cn(),d=_c(ht);let l=ht;$t&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const a=_i.bind(null,T=>""+T),I=_i.bind(null,Tl),h=_i.bind(null,wn);function x(T,$){let F,U;return Ar(T)?(F=t.getRecordMatcher(T),U=$):U=T,t.addRoute(U,F)}function g(T){const $=t.getRecordMatcher(T);$&&t.removeRoute($)}function m(){return t.getRoutes().map(T=>T.record)}function S(T){return!!t.getRecordMatcher(T)}function N(T,$){if($=se({},$||d.value),typeof T=="string"){const p=yi(n,T,$.path),b=t.resolve({path:p.path},$),k=o.createHref(p.fullPath);return se(p,b,{params:h(b.params),hash:wn(p.hash),redirectedFrom:void 0,href:k})}let F;if(T.path!=null)F=se({},T,{path:yi(n,T.path,$.path).path});else{const p=se({},T.params);for(const b in p)p[b]==null&&delete p[b];F=se({},T,{params:I(p)}),$.params=I($.params)}const U=t.resolve(F,$),te=T.hash||"";U.params=a(h(U.params));const Ie=Sl(i,se({},T,{hash:_l(te),path:U.path})),f=o.createHref(Ie);return se({fullPath:Ie,hash:te,query:i===is?ia(T.query):T.query||{}},U,{redirectedFrom:void 0,href:f})}function v(T){return typeof T=="string"?yi(n,T,d.value.path):se({},T)}function E(T,$){if(l!==T)return Xt(8,{from:$,to:T})}function _(T){return J(T)}function O(T){return _(se(v(T),{replace:!0}))}function M(T){const $=T.matched[T.matched.length-1];if($&&$.redirect){const{redirect:F}=$;let U=typeof F=="function"?F(T):F;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=v(U):{path:U},U.params={}),se({query:T.query,hash:T.hash,params:U.path!=null?{}:T.params},U)}}function J(T,$){const F=l=N(T),U=d.value,te=T.state,Ie=T.force,f=T.replace===!0,p=M(F);if(p)return J(se(v(p),{state:typeof p=="object"?se({},te,p.state):te,force:Ie,replace:f}),$||F);const b=F;b.redirectedFrom=$;let k;return!Ie&&El(i,U,F)&&(k=Xt(16,{to:b,from:U}),Ye(U,U,!0,!1)),(k?Promise.resolve(k):pe(b,U)).catch(w=>rt(w)?rt(w,2)?w:pt(w):ee(w,b,U)).then(w=>{if(w){if(rt(w,2))return J(se({replace:f},v(w.to),{state:typeof w.to=="object"?se({},te,w.to.state):te,force:Ie}),$||b)}else w=Tt(b,U,!0,f,te);return Ne(b,U,w),w})}function G(T,$){const F=E(T,$);return F?Promise.reject(F):Promise.resolve()}function he(T){const $=Ft.values().next().value;return $&&typeof $.runWithContext=="function"?$.runWithContext(T):T()}function pe(T,$){let F;const[U,te,Ie]=fa(T,$);F=wi(U.reverse(),"beforeRouteLeave",T,$);for(const p of U)p.leaveGuards.forEach(b=>{F.push(mt(b,T,$))});const f=G.bind(null,T,$);return F.push(f),He(F).then(()=>{F=[];for(const p of s.list())F.push(mt(p,T,$));return F.push(f),He(F)}).then(()=>{F=wi(te,"beforeRouteUpdate",T,$);for(const p of te)p.updateGuards.forEach(b=>{F.push(mt(b,T,$))});return F.push(f),He(F)}).then(()=>{F=[];for(const p of Ie)if(p.beforeEnter)if(Ge(p.beforeEnter))for(const b of p.beforeEnter)F.push(mt(b,T,$));else F.push(mt(p.beforeEnter,T,$));return F.push(f),He(F)}).then(()=>(T.matched.forEach(p=>p.enterCallbacks={}),F=wi(Ie,"beforeRouteEnter",T,$,he),F.push(f),He(F))).then(()=>{F=[];for(const p of r.list())F.push(mt(p,T,$));return F.push(f),He(F)}).catch(p=>rt(p,8)?p:Promise.reject(p))}function Ne(T,$,F){c.list().forEach(U=>he(()=>U(T,$,F)))}function Tt(T,$,F,U,te){const Ie=E(T,$);if(Ie)return Ie;const f=$===ht,p=$t?history.state:{};F&&(U||f?o.replace(T.fullPath,se({scroll:f&&p&&p.scroll},te)):o.push(T.fullPath,te)),d.value=T,Ye(T,$,F,f),pt()}let Qe;function tn(){Qe||(Qe=o.listen((T,$,F)=>{if(!Nn.listening)return;const U=N(T),te=M(U);if(te){J(se(te,{replace:!0}),U).catch(hn);return}l=U;const Ie=d.value;$t&&Fl(Jo(Ie.fullPath,F.delta),di()),pe(U,Ie).catch(f=>rt(f,12)?f:rt(f,2)?(J(f.to,U).then(p=>{rt(p,20)&&!F.delta&&F.type===Tn.pop&&o.go(-1,!1)}).catch(hn),Promise.reject()):(F.delta&&o.go(-F.delta,!1),ee(f,U,Ie))).then(f=>{f=f||Tt(U,Ie,!1),f&&(F.delta&&!rt(f,8)?o.go(-F.delta,!1):F.type===Tn.pop&&rt(f,20)&&o.go(-1,!1)),Ne(U,Ie,f)}).catch(hn)}))}let Dt=cn(),me=cn(),re;function ee(T,$,F){pt(T);const U=me.list();return U.length?U.forEach(te=>te(T,$,F)):console.error(T),Promise.reject(T)}function ot(){return re&&d.value!==ht?Promise.resolve():new Promise((T,$)=>{Dt.add([T,$])})}function pt(T){return re||(re=!T,tn(),Dt.list().forEach(([$,F])=>T?F(T):$()),Dt.reset()),T}function Ye(T,$,F,U){const{scrollBehavior:te}=e;if(!$t||!te)return Promise.resolve();const Ie=!F&&Ml(Jo(T.fullPath,0))||(U||!F)&&history.state&&history.state.scroll||null;return no().then(()=>te(T,$,Ie)).then(f=>f&&Pl(f)).catch(f=>ee(f,T,$))}const Le=T=>o.go(T);let Pt;const Ft=new Set,Nn={currentRoute:d,listening:!0,addRoute:x,removeRoute:g,clearRoutes:t.clearRoutes,hasRoute:S,getRoutes:m,resolve:N,options:e,push:_,replace:O,go:Le,back:()=>Le(-1),forward:()=>Le(1),beforeEach:s.add,beforeResolve:r.add,afterEach:c.add,onError:me.add,isReady:ot,install(T){const $=this;T.component("RouterLink",ra),T.component("RouterView",aa),T.config.globalProperties.$router=$,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>Bt(d)}),$t&&!Pt&&d.value===ht&&(Pt=!0,_(o.location).catch(te=>{}));const F={};for(const te in ht)Object.defineProperty(F,te,{get:()=>d.value[te],enumerable:!0});T.provide(li,$),T.provide(uo,qs(F)),T.provide(Ui,d);const U=T.unmount;Ft.add(T),T.unmount=function(){Ft.delete(T),Ft.size<1&&(l=ht,Qe&&Qe(),Qe=null,d.value=ht,Pt=!1,re=!1),U()}}};function He(T){return T.reduce(($,F)=>$.then(()=>he(F)),Promise.resolve())}return Nn}function fa(e,t){const n=[],i=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let r=0;rYt(l,c))?i.push(c):n.push(c));const d=e.matched[r];d&&(t.matched.find(l=>Yt(l,d))||o.push(d))}return[n,i,o]}function At(){return Je(li)}function Ot(e){return Je(uo)}const Ia={displayName:"金融庁事務ガイドライン(暗号資産)",accountId:"crypto_guidelines",title:"II-2-1-4-2 主な着眼点",tweets:[{index:"I 総則",content:"",id:"gr3258fe0"},{index:"I-1 暗号資産の範囲等",content:"",id:"xd7358de8"},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準",content:"当局は、資金決済に関する法律(平成21年法律第59号。以下「法」という。)第2条第14項に規定する暗号資産の該当性について照会等があった場合には、以下の点に留意しつつ、同項各号に規定する暗号資産の定義に照らして判断するものとする。
なお、情報通信技術は急速に進展しており、日々、変化するものであることから、暗号資産の該当性等については、その利用形態等に応じ、最終的には個別具体的に判断することに留意する。",id:"cd725df8",links:[{url:"payment_services_act/26sa66b8",text:"第2条第14項"}]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準",content:"(注)
法第2条第14項各号の内容を充足する場合であっても、金融商品取引法(昭和23年法律第25号)第2条第3項に規定する電子記録移転権利を表示するものについては、暗号資産に該当しないことに留意する。",id:"a7b9c2e1",links:[{url:"payment_services_act/26sa66b8",text:"第2条第14項"}]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準",content:"①
法第2条第14項第1号に規定する暗号資産(以下「1号暗号資産」という。)の該当性に関して、「代価の弁済のために不特定の者に対して使用することができる」ことを判断するに当たり、例えば、「ブロックチェーン等のネットワークを通じて不特定の者の間で移転可能な仕組みを有しているか」、「発行者と店舗等との間の契約等により、代価の弁済のために暗号資産を使用可能な店舗等が限定されていないか」、「発行者が使用可能な店舗等を管理していないか」等について、申請者から詳細な説明を求めることとする。",id:"f3d8e6a2",links:[{url:"payment_services_act/sa8u60cb",text:"法第2条第14項第1号"}],revision:[]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ①",content:"(注)
以下のイ及びロを充足するなど、社会通念上、法定通貨や暗号資産を用いて購入又は売却を行うことができる物品等にとどまると考えられるものについては、「代価の弁済のために不特定の者に対して使用することができる」ものという要件は満たさない。
ただし、イ及びロを充足する場合であっても、法定通貨や暗号資産を用いて購入又は売却を行うことができる物品等にとどまらず、現に小売業者の実店舗・ECサイトやアプリにおいて、物品等の購入の代価の弁済のために使用されているなど、不特定の者に対する代価の弁済として使用される実態がある場合には、同要件を満たす場合があることに留意する。",id:"b1c9d7e5",links:[{url:"crypto_guidelines/e4f2a8c6",text:"イ及びロ"},{url:"crypto_guidelines/d5g7h9j1",text:"イ及びロ"}],revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/63e6c1df-ea50-4116-97ca-9d2402b65001"]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ①(注)",content:"イ.
発行者等において不特定の者に対して物品等の代価の弁済のために使用されない意図であることを明確にしていること(例えば、発行者又は取扱事業者の規約や商品説明等において決済手段としての使用の禁止を明示している、又はシステム上決済手段として使用されない仕様となっていること)",id:"e4f2a8c6",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/79193d98-9621-43e7-bbe2-8067ddcb91ba"]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ①(注)",content:"ロ.
当該財産的価値の価格や数量、技術的特性・仕様等を総合考慮し、不特定の者に対して物品等の代価の弁済に使用し得る要素が限定的であること。
例えば、以下のいずれかの性質を有すること
・最小取引単位当たりの価格が通常の決済手段として用いるものとしては高額であること
・発行数量を最小取引単位で除した数量(分割可能性を踏まえた発行数量)が限定的であること",id:"d5g7h9j1",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/d76614e1-e68d-4bd9-9885-820c3c03467d"]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ①(注)",content:"なお、以上のイ及びロを充足しないことをもって直ちに暗号資産に該当するものではなく、個別具体的な判断の結果、暗号資産に該当しない場合もあり得ることに留意する。 ",id:"k2m4n6p8",links:[{url:"crypto_guidelines/e4f2a8c6",text:"イ及びロ"},{url:"crypto_guidelines/d5g7h9j1",text:"イ及びロ"}]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ②",content:"1
号暗号資産の該当性に関して、「不特定の者を相手方として購入及び売却を行うことができる」ことを判断するに当たり、例えば、「ブロックチェーン等のネットワークを通じて不特定の者の間で移転可能な仕組みを有しているか」、「発行者による制限なく、本邦通貨又は外国通貨との交換を行うことができるか」、「本邦通貨又は外国通貨との交換市場が存在するか」等について、申請者から詳細な説明を求めることとする。",id:"q9s1t3u5"},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ②",content:"(注)
前払式支払手段発行者が発行するいわゆる「プリペイドカード」や、ポイント・サービス(財・サービスの販売金額の一定割合に応じてポイントを発行するサービスや、来場や利用ごとに一定額のポイントを発行するサービス等)における「ポイント」は、これらの発行者と店舗等との関係では上記①又は②を満たさず、暗号資産には該当しない。 ",id:"v7w9x1y3"},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ③",content:"法第2条第14項第2号に規定する暗号資産の該当性に関して、「不特定の者を相手方として前号に掲げるものと相互に交換を行うことができる」ことを判断するに当たり、例えば、「ブロックチェーン等のネットワークを通じて不特定の者の間で移転可能な仕組みを有しているか」、「発行者による制限なく、1号暗号資産との交換を行うことができるか」、「1号暗号資産との交換市場が存在するか」、「1号暗号資産を用いて購入又は売却できる商品・権利等にとどまらず、当該暗号資産と同等の経済的機能を有するか」等について、申請者から詳細な説明を求めることとする。 ",id:"z2b4c6d8",links:[{url:"payment_services_act/87td60cb",text:"第2条第14項第2号"}],revision:[]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ③",content:"(注)
「1号暗号資産を用いて購入又は売却できる商品・権利等にとどまらず、当該暗号資産と同等の経済的機能を有するか」を判断する上では、①(注)が同様にあてはまる点に留意する。",id:"e5f7g9h1",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/110535d2-8cf7-4e7a-83db-7ffb48be3f4e"]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ④",content:"法第2条第7項に規定する通貨建資産の該当性に関して、「本邦通貨若しくは外国通貨をもって債務の履行、払戻しその他これらに準ずるもの」であることを判断するに当たり、「発行者及びその関係者(以下「発行者等」という。)と利用者との間の契約等により、発行者等が当該利用者に対してその券面額と同額の法定通貨をもって払い戻す等の義務を負っているか」等について、申請者から詳細な説明を求めることとする。 ",id:"j2k4m6n8"},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ④",content:"(注)
通貨建資産に該当する場合には、法第2条第14項に規定する暗号資産には該当しないものの、当該資産の内容やその事業者が行う取引内容によっては、前払式支払手段や為替取引その他法令上の規定に該当する可能性がある点に留意する。",id:"p9q1r3s5"},{index:"I-1-2 暗号資産交換業の該当性及び取り扱う暗号資産の適切性の判断基準",content:"",id:"t7u9v1w3"},{index:"I-1-2-1 意義",content:"情報通信技術は急速に進展しており、日々、様々な暗号資産が出現することが想定される。また、暗号資産交換業に係る取引(法第2条第15項各号に規定する行為に係る取引をいう。以下同じ。)の形態についても、様々な態様が考えられる。
このため、取り扱おうとするものが暗号資産に該当し、又は当該暗号資産の取扱いが暗号資産交換業に係る取引に形式的に該当するとしても、利用者保護ないし公益性の観点から、暗号資産交換業者が取り扱うことが必ずしも適切でないものもあり得る。かかる観点から、暗号資産交換業者に関する内閣府令(平成29年内閣府令第7号。以下「内閣府令」という。)第23条第1項第5号は、暗号資産交換業者に対し、利用者の保護又は暗号資産交換業の適正かつ確実な遂行に支障を及ぼすおそれがあると認められる暗号資産を取り扱わないために必要な措置を義務付けている。
したがって、当局は、暗号資産交換業に係る取引の適切性及び取り扱う暗号資産の適切性等について、申請者に対して詳細に説明を求めるとともに、必要に応じて、認定資金決済事業者協会(以下「協会」という。)とも連携しつつ、登録の申請の審査等を実施するものとする。",id:"x2y4z6a8",links:[{url:"payment_services_act/kDfQkHbRccSOO5qQ",text:"第2条第15項"}]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"当局は、法第2条第15項に規定する暗号資産交換業の該当性について照会等があった場合には、以下の点に留意しつつ、同項各号に規定する暗号資産交換業の定義に照らして判断するものとする。",id:"b5c7d9e1",links:[{url:"payment_services_act/kDfQkHbRccSOO5qQ",text:"第2条第15項"}]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"①
法第2条第15項に規定する「業として行うこと」とは、「対公衆性」のある行為で「反復継続性」をもって行うことをいうものと解されるが、具体的な行為が「対公衆性」や「反復継続性」を有するものであるか否かについては、個別事例ごとに実態に即して実質的に判断するべきである。
なお、「対公衆性」や「反復継続性」については、現実に「対公衆性」のある行為が反復継続して行われている場合のみならず、「対公衆性」や「反復継続性」が想定されている場合等も含まれる点に留意する。",id:"f2g4h6j8",links:[{url:"payment_services_act/kDfQkHbRccSOO5qQ",text:"第2条第15項"}]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"②
法第2条第15項第2号に規定する「前号に掲げる行為の媒介」(以下「暗号資産の売買等の媒介」という。)に該当するか否かは、暗号資産の売買又は他の暗号資産との交換を内容とする契約(以下「暗号資産の売買等を内容とする契約」という。)の成立に向けた一連の行為における当該行為の位置づけを踏まえた上で総合的に判断する必要があり、一連の行為の一部のみを取り出して、直ちに暗号資産の売買等の媒介に該当しないと判断することは適切でないことに留意する。
例えば、暗号資産の売買等を内容とする契約に係る以下の各行為を第三者のために行う場合は、原則として、特定の者に対して第三者との暗号資産の売買等を内容とする契約の締結に向けた誘引行為を行っていると評価できることから、暗号資産の売買等の媒介に該当する。",id:"k9m1n3p5",links:[{url:"payment_services_act/O66upnQIwpiBhBXx",text:"第2条第15項"}],revision:["crypto_guidelines/revisions/20240906/240901"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②",content:"イ.暗号資産の売買等を内容とする契約の締結の勧誘",id:"q7r9s1t3",revision:["crypto_guidelines/revisions/20240906/240902"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②",content:"ロ.暗号資産の売買等を内容とする契約の締結の勧誘を目的とした商品説明",id:"u5v7w9x1",revision:["crypto_guidelines/revisions/20240906/240903"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②",content:"ハ.暗号資産の売買等を内容とする契約の締結に向けた条件交渉",id:"y3z5a7b9",revision:["crypto_guidelines/revisions/20240906/240904"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②",content:"(注1)
媒介に当たるか否かは、個別事例ごとに実態に即して実質的に判断する必要があるが、例えば、インターネット上の表示等を用いる場合でも、当該表示等を用いた上で特定の者に対して第三者との暗号資産の売買等を内容とする契約の締結に向けた誘引行為を行っていると評価できる場合には、当該インターネット上の表示等を含めた一連の行為が媒介に当たり得ることに留意するものとする。",id:"c2d4e6f8"},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②",content:"(注2)
ただし、暗号資産の売買又は他の暗号資産との交換に関して以下の各行為の事務処理の一部のみを行うに過ぎない場合は、暗号資産の売買等の媒介に至らない行為といえる場合もある。",id:"g9h1j3k5",revision:["crypto_guidelines/revisions/20240906/240905"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"・商品案内チラシ・パンフレット・契約申込書等の単なる配布又は交付若しくは提供(電磁的方法によるものを含む。)。ただし、単なる配布又は交付若しくは提供を超えて、配布又は交付若しくは提供する資料の記載方法・内容等の説明まで行う場合には暗号資産の売買等の媒介に当たることがあり得る。
また、比較サイト等の商品情報の提供を主たる目的としたサービスにおいて暗号資産交換業者から提供を受けた商品案内等のコンテンツを単にウェブサイト上に転載することは差し支えないが、加工したコンテンツを掲載したり、例えば、自らが推奨する商品のコンテンツを上位に表示されるようなデザインやアルゴリズムの仕組みを設けること等をしたりする場合には、媒介に当たることがあり得ることに留意する。",id:"m7n9p1q3",public_comment_links:[{url:"crypto_guidelines_public_20240906/lHWzwPvtmmxCIBCw",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"},{url:"crypto_guidelines_public_20240906/JT0dNnfdI4wcyx1D",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"}],revision:["crypto_guidelines/revisions/20240906/240906"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"・契約申込書及びその添付書類等の受領・回収。ただし、契約申込書の単なる受領・回収又は契約申込書の誤記・記載漏れ・必要書類の添付漏れの指摘を超えて、契約申込書の記載内容の確認等まで行う場合には、暗号資産の売買等の媒介に当たることがあり得る。",id:"r5s7t9u1",public_comment_links:[{url:"crypto_guidelines_public_20240906/lHWzwPvtmmxCIBCw",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"}],revision:["crypto_guidelines/revisions/20240906/240907"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"・セミナー等における一般的な暗号資産の仕組み・活用法等についての説明。",id:"v3w5x7y9"},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"・勧誘行為をせず、単に顧客を暗号資産交換業者に紹介する業務。なお、「紹介」には、以下の行為を含む(各行為の全部又は一部を組み合わせるものであったとしても「紹介」に含まれる場合がある)。",id:"z2a4b6c8",revision:["crypto_guidelines/revisions/20240906/240908"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"a.当該業者の店舗に、暗号資産交換業者が自らを紹介する宣伝媒体を据え置くこと又は掲示すること。",id:"d9e1f3g5",revision:["crypto_guidelines/revisions/20240906/240909"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"b.対面又は当該業者のウェブサイト上等において、当該業者と暗号資産交換業者の関係又は当該暗号資産交換業者の業務内容について説明を行うこと。",id:"h7j9k1m3",revision:["crypto_guidelines/revisions/20240906/240910"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"c.当該業者のウェブサイト上等において、暗号資産交換業者のサイトへの単なるリンクの設定や暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行い、暗号資産の売買等を内容とする契約の締結に至る交渉や手続は当該暗号資産交換業者と顧客との間で行い、当該契約の締結に当たり当該業者は関与をもたないこと。
ただし、当該リンクの設定や当該コンテンツの転載とあわせて、当該業者独自の見解として当該商品等を推奨・説明する場合には、暗号資産の売買等の媒介に当たることがあり得る。",id:"n5p7q9r1",public_comment_links:[{url:"crypto_guidelines_public_20240906/lHWzwPvtmmxCIBCw",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"},{url:"crypto_guidelines_public_20240906/0X6iL8G3ASDsolI8",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"},{url:"crypto_guidelines_public_20240906/DEv4g0wQnvrnktBO",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"},{url:"crypto_guidelines_public_20240906/nENuabqvTZBFvWdA",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"}],revision:["crypto_guidelines/revisions/20240906/240911"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"③
法第2条第15項第4号に規定する「他人のために暗号資産の管理をすること」に該当するか否かについては、個別事例ごとに実態に即して実質的に判断するべきであるが、利用者の関与なく、単独又は関係事業者と共同して、利用者の暗号資産を移転でき得るだけの秘密鍵を保有する場合など、事業者が主体的に利用者の暗号資産の移転を行い得る状態にある場合には、同号に規定する暗号資産の管理に該当する。 ",id:"s3t5u7v9"},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③",content:"(注1)
内閣府令第23条第1項第8号に規定する暗号資産の借入れは、法第2条第15項第4号に規定する暗号資産の管理には該当しないが、利用者がその請求によっていつでも借り入れた暗号資産の返還を受けることができるなど、暗号資産の借入れと称して、実質的に他人のために暗号資産を管理している場合には、同号に規定する暗号資産の管理に該当する。 ",id:"w2x4y6z8"},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③",content:"(注2)
上記③の「主体的に利用者の暗号資産の移転を行い得る状態」に該当するか否かについては、個別事例ごとに実態に即して実質的に判断するべきであるが、例えば、以下のような場合は、「主体的に利用者の暗号資産の移転を行い得る状態」には該当しないものと考えられる。",id:"a9b1c3d5",links:[{url:"crypto_guidelines/s3t5u7v9",text:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③"}],revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/9f8bc1bd-ad99-43ca-8146-35feb7b80a74"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③(注2)",content:"・事業者が、単独又は関係事業者と共同しても、利用者の暗号資産を移転するために必要な秘密鍵の一部を保有するにとどまり、事業者が単独又は関係事業者と共同して保有する秘密鍵のみでは利用者の暗号資産を移転することができない場合。",id:"e7f9g1h3",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/cf205d8e-c811-4cc4-8649-498aee604528"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③(注2)",content:"・事業者が利用者の暗号資産を移転することができ得る数の秘密鍵を保有する場合であっても、その保有する秘密鍵が暗号化されており、事業者が当該暗号化された秘密鍵を復号するために必要な情報を保有していない場合。 ",id:"j5k7m9n1",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/2a7df77d-15f1-487a-8c15-2163374d398c"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③",content:"(注3)暗号資産交換業者が業務の一部を第三者に委託(二以上の段階にわたる委託を含む。)している場合において、以下に該当するような場合は、「主体的に利用者の暗号資産の移転を行い得る状態」に該当し、当該外部委託先は暗号資産交換業の登録が必要となることに留意する。",id:"p3q5r7s9",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/d1990c87-76bb-495a-8e3e-27e88da61c8b"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③(注3)",content:"・利用者や委託者である暗号資産交換業者からの統制や指示、秘密鍵を復号するための必要な情報がなくとも、当該外部委託先あるいは再委託先と共同で利用者の暗号資産の移転が可能である場合。
なお、平時には、外部委託先において、主体的に利用者の暗号資産の移転を行うことができないものの、例えば、以下のように、一時的に権限及び情報を委託者から取得する場合等には不正に移転を行い得る流出リスクがあると考えられ、外部委託先管理(II-2-3-3)の観点で、委託先及びその委託内容の適切性に留意が必要である。",id:"t2u4v6w8",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/01d23aa7-ba2e-4ddd-a5f8-4d4a2063d492"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③(注3)",content:"・外部委託先が、委託者から秘密鍵の生成に必要な情報を受け取って秘密鍵を新規に生成する場合。",id:"x9y1z3a5",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/a423c71a-da57-47d7-8044-bd7e6a90c425"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③(注3)",content:"・外部委託先が、委託者から暗号資産移転の依頼を受ける際に委託者から必要な情報を受け取って移転する場合等。 ",id:"b7c9d1e3",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/efdbe634-0374-478a-b1d7-14d4aa43df39"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"④ 暗号資産の交換等を行う者が、金銭の移動を行うことを内容とする依頼を受けて、これを引き受けること、又はこれを引き受けて遂行する場合には、為替取引を行っているとして、法第37条に基づく資金移動業者の登録が必要となり得る。",id:"f5g7h9j1"},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"⑤
暗号資産を用いた先物取引等の取引においては、決済時に取引の目的となっている暗号資産の現物の受渡しを伴う取引と、当該取引の目的となっている暗号資産の現物の受渡しを行わず、反対売買等を行うことにより、金銭又は当該取引において決済手段とされている暗号資産の授受のみによって決済することができる取引(以下「差金決済取引」という。)が存在する。いずれの取引についても、金融商品取引法第2条第20項に規定するデリバティブ取引に該当する場合には、金融商品取引法の規制対象となることから、利用者の暗号資産の管理を伴うときを除き、暗号資産交換業の登録を要しない。このため、暗号資産交換業の登録を要する取引かどうかについては、個別具体的に取引の内容を確認する必要がある。",id:"l8m1n3p5"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準",content:"当局は、登録の申請の審査や暗号資産交換業者が取り扱う暗号資産の適切性の判断に当たっては、取り扱う暗号資産の仕組み(発行者、管理者その他の関係者や当該暗号資産と密接に関連するプロジェクトの内容等を含む。)、想定される用途、流通状況及び当該暗号資産に使用される技術のほか、当該暗号資産を取り扱うにあたっての社内態勢の確保の状況等を踏まえ、テロ資金供与やマネー・ローンダリング等に利用されるリスク、システムリスク等をはじめとする、当該暗号資産の取扱いにより生じ得るリスクの内容について、申請者や暗号資産交換業者から詳細な説明を求めることとするほか、利用者からの苦情や、協会の意見等の外部情報も踏まえ、利用者保護及び業務の適正かつ確実な遂行の確保の観点から、暗号資産交換業者が取り扱うことが適切かを判断するものとする。なお、上記取り扱う暗号資産の適切性の判断に当たっては、当局は、協会と連携して行うものとする。",id:"q9r1s3t5",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/e4337793-d51e-4e0c-99f0-82a15142c398"]},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準",content:"(注1)
特に、日本暗号資産取引業協会自主規制規則「暗号資産の取扱いに関する規則」において、①法令又は公序良俗に違反する方法で利用されるおそれが高い暗号資産、 ②犯罪に利用されるおそれが高い暗号資産、③テロ資金供与やマネー・ローンダリング等に利用されるおそれが高い暗号資産については、その取扱いの適否を慎重に判断しなければならないとされていることに留意する。また、同規則において、暗号資産の特性及び暗号資産交換業者の態勢に鑑み、以下のいずれかに該当する暗号資産の取扱いを禁止するとともに、移転記録の追跡が著しく困難である暗号資産については、テロ資金供与やマネー・ローンダリング等に利用されるリスクが高く、適切な監査が実施できないおそれがあることから、これら問題が解決されない限り、取り扱ってはならないとされていることに留意する。",id:"u7v9w1x3"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準(注1)",content:"・移転・保有記録の更新・保持に重大な支障・懸念が認められるもの",id:"y5z7a9b1"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準(注1)",content:"・公認会計士又は監査法人による適切な監査が困難なもの",id:"c3d5e7f9"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準(注1)",content:"・システム上その他安全な保管及び出納が困難なもの",id:"g2h4j6k8"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準(注1)",content:"・上記のほか、資金決済法上の義務の適正かつ確実な履行が困難なもの",id:"m9n1p3q5"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準",content:"(注2)例えば、新規に発行する暗号資産の売り出しを行う場合に、発行段階で流動性に欠けるとしても、当該暗号資産を取り扱うことが適切でないと直ちに判断するのではなく、申請者からの説明や外部情報を十分考慮し、総合的に判断するものとする。",id:"r7s9t1u3"},{index:"II 暗号資産交換業者の監督上の着眼点",content:"",id:"IJfPkWQw"},{index:"II-1 経営管理等",content:"",id:"XtUUAVRH"},{index:"II-1-1",content:"意義暗号資産交換業者が、その業務の性質上、利用者の財産を管理することや、暗号資産がテロ資金供与やマネー・ローンダリング等に利用されるリスクが高いことなどに鑑み、利用者の金銭・暗号資産の分別管理等、利用者保護のための措置やテロ資金供与及びマネー・ローンダリング対策が適切に行われる必要がある。また、業務運営態勢の維持・向上に当たっては、経営に対する規律付けが有効に機能し、適切な経営管理が行われることが重要である。暗号資産交換業者の監督に当たっては、例えば、以下の点に留意するものとする。
なお、監督に当たっては、暗号資産交換業を取り巻く環境の変化を注視しつつ、暗号資産交換業者の自主性を尊重するとともに、暗号資産交換業者に対しては専業規定がなく、業態や規模等が多岐に亘っていることに留意し、当該暗号資産交換業者の業容や特性の変化を含む実態を踏まえて対応する必要がある。",id:"GU3cKet3"},{index:"II-1-2 主な着眼点 ",content:"① 経営陣は、暗号資産交換業者が目指すべき全体像等に基づいた経営方針を明確に定めているか。更に、経営方針に沿った経営計画を明確に定め、それを組織全体に周知しているか。また、その達成度合いを定期的に検証し、必要に応じ見直しを行っているか。",id:"NiElFZpJ"},{index:"II-1-2主な着眼点 ",content:"② 経営陣は、ビジネスモデル、業務内容、経営規模、海外拠点の設置状況、取り扱う暗号資産の特性等を勘案の上、業務を行うことにより生じ得る経営上のリスクを特定し、評価することとしているか。また、特定・評価した経営上のリスクへの対応方法に関して、経営計画及び経営管理に反映しているか。 ",id:"zFQFgOrf"},{index:"II-1-2主な着眼点 ②",content:"(注)
経営上のリスクの特定・評価に当たっては、各部門(営業部門・内部管理部門・内部監査部門)にて検知された各種リスクの分析(海外拠点を有する場合には、当該海外拠点との関係を踏まえること)を行う態勢が整備されている必要があることに留意する。 ",id:"CbAPxJuc"},{index:"II-1-2主な着眼点",content:"③ 取締役は、業務執行にあたる代表取締役等の独断専行を牽制・抑止し、取締役会における業務執行の意思決定及び取締役の業務執行の監督に積極的に参加しているか。",id:"D1Jak49O"},{index:"II-1-2主な着眼点",content:"④ 経営陣は、内閣府令第9条第1項に規定する財産的基礎を遵守するだけでなく、業容や特性に応じた財産的基礎を確保するよう努めているか。日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る財務管理に関する規則」を踏まえ、ビジネスモデル、業務内容、経営規模、海外拠点の設置状況、取り扱う暗号資産の特性等に照らし、例えば、市場リスク、取引先リスク、オペレーショナル・リスク(暗号資産の流出リスクを含む。)といった財務上のリスクを分析・特定した上で、当該リスクの管理手法を定めるなど、財務上のリスクの管理態勢を構築しているか。 ",id:"LZV5Vs00"},{index:"II-1-2主な着眼点 ④",content:"(注1)
財務上のリスクの管理態勢を検証するに際しては、上記自主規制規則において、当該リスクの把握や管理態勢の整備、財務の健全性を維持・向上するための経営計画の作成・実施等を求めていることに留意する。",id:"SAsFc8lC"},{index:"II-1-2主な着眼点 ④",content:"(注2)
カバー取引の相手方に対して、金銭や暗号資産を預託する場合には、財務上のリスク管理の一環として、当該相手方の与信審査・管理を行う必要があるほか、当該相手方が、預託した暗号資産が外部に流出することがないよう適切に管理しているかを確認する必要がある。 ",id:"XkzUe3QP"},{index:"II-1-2主な着眼点",content:"⑤ 経営陣は、内閣府令第23条第1項第7号及び日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る財務管理に関する規則」を踏まえ、財務情報その他企業情報を適正かつ適時に公表するための内部管理態勢を構築しているか。",id:"29mBFyz1"},{index:"II-1-2主な着眼点",content:"⑥ 暗号資産の管理を行う場合において、経営陣は、財務諸表監査及び分別管理監査を行うに当たって、業務内容、経営規模、取り扱う暗号資産の特性等を踏まえ、適切な公認会計士又は監査法人を選定しているか。",id:"Wt5VZ5oS"},{index:"II-1-2主な着眼点",content:"⑦ 経営陣は、法に基づき、利用者の保護を図り、業務の適正かつ確実な遂行を確保すること等が暗号資産交換業者に求められることを十分認識し、業務推進や利益拡大といった業績面のみならず、法令等遵守や適正な業務運営を確保するため、内部管理部門及び内部監査部門の機能強化など、内部管理態勢の確立・整備(必要な人的・物的資源の確保を含む。)に関する事項を経営上の最重要課題の一つとして位置付け、その実践のための具体的な方針の策定及び周知徹底について、誠実かつ率先して取り組んでいるか。",id:"bfLhxHjS"},{index:"II-1-2主な着眼点 ⑦",content:"(注)
本事務ガイドラインでいう「内部管理部門」とは、法令及び社内規則等を遵守した業務運営を確保するための内部事務管理部署、法務部署等をいう。また、「内部監査部門」とは、営業部門から独立した検査部署、監査部署等をいい、内部管理の一環として被監査部門等が実施する検査等を含まない。 ",id:"FUxynOe3"},{index:"II-1-2主な着眼点",content:"⑧ 経営陣は、営業所長の権限に応じた監視などについて、内部管理部門が利用者対応を行う部署に対し、適切な業務運営を確保するためのモニタリング・検証及び改善策の策定等を行う態勢を整備しているか。",id:"ag6i7zDk"},{index:"II-1-2主な着眼点",content:"⑨ 経営陣は、暗号資産交換業に係る取引に関する内部監査の重要性を認識し、内部監査の目的を適切に設定するとともに、内部監査部門の機能が十分に発揮できる態勢を構築しているか。また、被監査部門等におけるリスク管理の状況等を踏まえた上で、監査方針、重点項目等の内部監査計画の基本事項を承認しているか。さらに、内部監査の結果13について、改善策を策定・実施するなど適切な措置を講じるとともに、指摘事項の改善状況をフォローアップしているか。",id:"qC66YWdt"},{index:"II-1-2主な着眼点",content:"⑩ 経営陣は、断固たる態度で反社会的勢力との関係を遮断し排除していくことが、暗号資産交換業者に対する公共の信頼を維持し、暗号資産交換業者の業務の適切性のため不可欠であることを十分認識し、「企業が反社会的勢力による被害を防止するための指針について」(平成19年6月19日犯罪対策閣僚会議幹事会申合せ。以下II-1-2において「政府指針」という。)の内容を踏まえて決定した基本方針を社内外に宣言しているか。さらに、政府指針を踏まえた基本方針を実現するための態勢を整備するとともに、定期的にその有効性を検証するなど、法令等遵守・リスク管理事項として、反社会的勢力による被害の防止を明確に位置付けているか。",id:"mvOfOEfz"},{index:"II-1-2主な着眼点",content:"⑪ 監査役・監査役会は、制度の趣旨に則り、その独立性が確保されているか。また、監査役・監査役会は付与された広範な権限を適切に行使し、会計監査に加え業務監査を実施しているか。監査役会が組織される場合であっても、各監査役は、あくまでも独任制の機関であることを自覚し、自己の責任に基づき積極的な監査を実施しているか。さらに、監査役・監査役会は、外部監査の内容に応じてその結果の報告を受けるなどして、自らの監査の実効性の確保に努めているか。",id:"oom0Tq48"},{index:"II-1-2主な着眼点",content:"⑫ 内部管理部門において、業務運営全般に関し、法令及び社内規則等に則った適正な業務を遂行するための適切なモニタリング・検証が行われているか。また、重大な問題等を確認した場合、経営陣に対し適切に報告が行われているか。",id:"W8a2NWMq"},{index:"II-1-2主な着眼点",content:"⑬ 内部監査部門は、被監査部門に対して十分なけん制機能が働くよう、被監査部門から独立した実効性のある内部監査が実施できる態勢となっているか。また、外部監査機能及び監査役・監査役会との連係が有効に機能しているか。",id:"rY9yHvb3"},{index:"II-1-2主な着眼点",content:"⑭ 内部監査部門は、被監査部門におけるリスク管理状況等を把握した上、リスクの種類・程度に応じて、内部監査計画を立案し、状況に応じて適切に見直すとともに、内部監査計画に基づき効率的・実効性ある内部監査を実施しているか。",id:"wAitr7UV"},{index:"II-1-2主な着眼点",content:"⑮ 内部監査部門は、内部監査で指摘した重要な事項について遅滞なく経営陣に報告しているか。内部監査部門は、指摘事項の改善状況を的確に把握しているか。",id:"GjpWsJjZ"},{index:"II-2 業務の適切性等",content:"",id:"6KPWXH1R"},{index:"II-2-1 法令等遵守",content:"",id:"5A1cLrMi"},{index:"II-2-1-1 法令等遵守(コンプライアンス)態勢等",content:"",id:"THeltKEJ"},{index:"II-2-1-1-1",content:"意義暗号資産交換業者が法令や社内規則等を厳格に遵守し、適正かつ確実な業務運営に努めることは、利用者の暗号資産交換業に対する信頼を向上させることになり、ひいては暗号資産の更なる流通・発展を通じた利用者利便の向上という観点から重要である。また、暗号資産交換業者は、適正かつ確実な業務運営を確保する観点から、業務に関し、その規模・特性に応じた社内規則等を定め、不断の見直しを行うとともに、役員及び暗号14資産交換業の業務に従事する使用人その他の従業者(以下「役職員」という。)に対して社内教育を行うほか、その遵守状況を検証する必要がある。なお、本事務ガイドラインの各着眼点に記載されている字義どおりの対応が暗号資産交換業者においてなされていない場合であっても、当該暗号資産交換業者の規模や特性などからみて、利用者の利益の保護の観点から、特段の問題がないと認められれば、不適切とするものではない。暗号資産交換業者の監督に当たっては、例えば、以下の点に留意するものとする。",id:"IUgaaI9H"},{index:"II-2-1-1-2 主な着眼点",content:"",id:"Y8InwES4"},{index:"II-2-1-1-2 主な着眼点",content:"① コンプライアンスが経営の最重要課題の一つとして位置付けられ、その実践に係る基本的な方針、さらに具体的な実践計画(コンプライアンス・プログラム)や行動規範(倫理規程、コンプライアンス・マニュアル)等が策定されているか。また、これらの方針等は役職員に対して周知徹底が図られ、十分に理解されるとともに日常の業務運営において実践されているか。",id:"TzKtCsF7"},{index:"II-2-1-1-2 主な着眼点",content:"② 暗号資産交換業者及びその役職員は、法第63条の9の3及び内閣府令第20条第13号に基づき、協会の定める自主規制規則等に違反する行為であって、利用者保護に欠け、又は暗号資産交換業の適正かつ確実な遂行に支障を及ぼすおそれがあるものを行うことが禁止されることを踏まえ、法令等を遵守するために必要な業務運営体制を整備するに際して、協会の定める自主規制規則の内容を反映しているか。例えば、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る従業員等の服務に関する規則」の内容を参照しつつ、業務内容・種別に応じた服務規則その他役職員の禁止行為に係るルール等が策定されているか。",id:"HLnQcGIk"},{index:"II-2-1-1-2 主な着眼点",content:"③ 実践計画や行動規範は、定期的又は必要に応じ随時に、評価及びフォローアップが行われているか。また、内容の見直しが行われているか。",id:"ACLL43Fi"},{index:"II-2-1-1-2 主な着眼点",content:"④ コンプライアンスに関する研修・教育体制が確立・充実され、役職員のコンプライアンス意識の醸成・向上に努めているか。また、研修の評価及びフォローアップが適宜行われ、内容の見直しを行うなど、実効性の確保に努めているか。",id:"EM0IgeQ4"},{index:"II-2-1-2 広告規制",content:"",id:"Pq6ZBfpV"},{index:"II-2-1-2-1",content:"意義暗号資産交換業者が行う広告の表示は、利用者への取引勧誘の導入部分に当たるため、適切な表示による情報提供が、利用者によるリスクの誤認や投機的取引の助長を抑止する観点から重要である。そのため、暗号資産交換業者は、その行う暗号資産交換業に関して広告をするときは、法第63条の9の2及び内閣府令第18条に定める事項について、内閣府令第17条に基づいて、明瞭かつ正確に表示することが求められるとともに、法第63条の9の3第2号及び第3号並びに内閣府令第20条第1号に基づいて、不適切な表示を行うことが禁止される。15暗号資産交換業者の監督に当たっては、広告の内容及び表示の適切性が確保されているかを確認するため、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る勧誘及び広告等に関する規則」を踏まえつつ、例えば、以下の点に留意するものとする。",id:"faIpPXhw"},{index:"II-2-1-2-2 主な着眼点",content:"(1) 広告の範囲広告とは、個別事例ごとに実態に即して実質的に判断する必要があるが、ある事項を随時又は継続して広く宣伝するため、一般の人に知らせることをいい、例えば、次に掲げるものをいう。",id:"uPR6jd4J"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"イ.テレビコマーシャルロ.ラジオコマーシャル",id:"2j9TfqKX"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"ハ.新聞紙、雑誌その他の刊行物への掲載",id:"h3fQzg14"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"ニ.看板、立て看板、はり紙、はり札等への表示",id:"EXOOgnGc"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"ホ.広告塔、広告板、建物その他の工作物等への表示",id:"UYaqGgJt"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"ヘ.チラシ、カタログ、パンフレット、リーフレット等の配布",id:"wzeP6S9s"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"ト.インターネット上の表示",id:"20GBQkMw"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"(注)「広告」に該当しない行為であっても、電子メールの送信やダイレクトメールの送付のように、特定の者に対して特定の行為をするよう勧め誘う行為は勧誘に該当する。そのため、これらの方法により利用者に対して暗号資産交換契約(法第63条の9の3第1号に規定する暗号資産交換契約をいう。以下同じ。)の締結の勧誘を行う場合には、II-2-1-3を踏まえ、法令違反行為とならないよう留意する必要がある。",id:"zy13baKB"},{index:"II-2-1-2-2 主な着眼点",content:"(2) 明瞭かつ正確な表示広告において法第63条の9の2各号に規定する項目(暗号資産の管理のみを行う暗号資産交換業者にあっては同条第1号及び第2号に規定する事項に限る。)を表示する場合に、内閣府令第17条に規定する明瞭かつ正確な表示がなされているか否かの判断に当たっては、以下の点に留意することとする。 ",id:"qntEq2Wv"},{index:"II-2-1-2-2 主な着眼点 (2)",content:"① 当該広告に表示される他の事項に係る文字と比較して、使用する文字の大きさ、形状及び色彩において、不当に目立ちにくい表示を行っていないか。特に、法第63条の9の2第3号及び内閣府令第18条各号に規定する事項については、広告上の文字又は数字の中で最も大きなものと著しく異ならない大きさで表示しているか。",id:"NUxrQjd4"},{index:"II-2-1-2-2 主な着眼点 (2)",content:"② 取引の長所に係る表示のみを強調し、短所に係る表示が目立ちにくい表示を行っていないか。 ",id:"U6GF1sBp"},{index:"II-2-1-2-2 主な着眼点 (2)",content:"③ 当該広告を画面上に表示して行う場合に、表示すべき事項の全てを判読するために必要な表示時間が確保されているか。16 ",id:"vdbXVudV"},{index:"II-2-1-2-2 主な着眼点",content:"(3)求められる体制",id:"pbSVsdNU"},{index:"II-2-1-2-2 主な着眼点 (3)",content:"① 不適切な広告の防止など、広告の取扱いに関する規定を規定した社内規則等を定め、担当役職員が社内規則等に基づき適切な取扱いを行うよう、社内研修等により周知徹底を図っているか。",id:"f4G50PTW"},{index:"II-2-1-2-2 主な着眼点 (3)",content:"② 法令を遵守する観点から、広告の審査を行う広告審査担当者が配置され、審査基準に基づいた適正な審査が実施されているか。",id:"wEhWyWoE"},{index:"II-2-1-3 禁止行為",content:"",id:"XonKhV10"},{index:"II-2-1-3-1",content:"意義法第63条の9の3は、暗号資産交換業者又はその役職員に対して、暗号資産交換契約の締結若しくはその勧誘をするに際し、又はその行う暗号資産交換業に関して広告をするに際しての不適切な行為及び暗号資産交換業の利用者の保護に欠け、又は暗号資産交換業の適正かつ確実な遂行に支障を及ぼすおそれがあるものとして内閣府令第20条で定める行為を行うことを禁止している。暗号資産交換業者の監督に当たっては、暗号資産交換業者又はその役職員による広告・勧誘や取引の受注等によって、利用者の利益が損なわれていないか、又、暗号資産交換業の適正かつ確実な遂行に支障が生じていないかを確認するため、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る勧誘及び広告等に関する規則」、「暗号資産交換業に係る受注管理態勢の整備に関する規則」等を踏まえつつ、例えば、以下の点に留意するものとする。",id:"6NQOxc24"},{index:"II-2-1-3-2 主な着眼点",content:"",id:"WcCvrzwF"},{index:"II-2-1-3-2 主な着眼点",content:"(1) 適合性原則",id:"tXXPEDaQ"},{index:"II-2-1-3-2 主な着眼点 (1)",content:"",id:"9QJPdnFK"},{index:"II-2-1-3-2 主な着眼点 (1)",content:"① 取引勧誘に当たっては、内閣府令第20条第6号に基づき、利用者の知識、経験、財産の状況、年齢、取引目的やリスク管理判断能力等に応じた取引内容や取引条件に留意の上、当該利用者属性等に即した適正な勧誘に努めるよう役職員に徹底しているか。",id:"IddkhIE9"},{index:"II-2-1-3-2 主な着眼点 (1)",content:"② 以下の点を含め、利用者の属性等及び取引実態を的確に把握し得る利用者管理態勢を構築しているか。",id:"oGMXG7B1"},{index:"II-2-1-3-2 主な着眼点 (1) ②",content:"イ. 利用者の取引目的や取引経験等の利用者属性等を適時適切に把握するため、利用者の取引目的や取引経験等の利用者属性等を十分確認の上、利用者情報として適切に記録・保存しているか。また、利用者の申出に基づき、利用者属性等が変化したことを把握した場合には、記録した利用者情報の内容の更新を行っているか。",id:"MN50ei0G"},{index:"II-2-1-3-2 主な着眼点 (1) ②",content:"ロ. 内部管理部門においては、利用者属性等の把握の状況及び利用者情報の管理の状況を把握するように努め、必要に応じて、利用者属性等に照らして適切な勧誘が行われているか等についての検証を行うとともに、利用者情報の管理方法の見直しを行う等、その実効性を確保する態勢構築に努めているか。",id:"MYzC34mW"},{index:"II-2-1-3-2 主な着眼点 (1) ②",content:"ハ. 利用者の取引実態の把握については、例えば、利用者口座ごとの売買損、評価損、17取引回数、手数料の状況等といった取引状況を、利用者の取引実態の把握の参考としているか。 ",id:"uMbOSxe7"},{index:"II-2-1-3-2 主な着眼点",content:"(2) 不招請勧誘の禁止",id:"sccemEBK"},{index:"II-2-1-3-2 主な着眼点 (2)",content:"① 不招請勧誘への該当性",id:"xYTDSRbv"},{index:"II-2-1-3-2 主な着眼点 (2) ①",content:"イ. 内閣府令第20条第3号に規定する「訪問し、又は電話をかけて、暗号資産交換契約の締結の勧誘をする行為」には、勧誘を行ってよいか否かを尋ねることが含まれる。",id:"8xYPVCV3"},{index:"II-2-1-3-2 主な着眼点 (2) ①",content:"ロ. 広告等を見た利用者が、暗号資産交換業者に対して電話等により、一般的な事項に関する照会や取引概要に関する資料請求を行ったことのみをもって、当該利用者が「暗号資産交換契約の締結の勧誘の要請」をしたとみなすことはできない。",id:"ALB29BJ0"},{index:"II-2-1-3-2 主な着眼点 (2) ① ロ",content:"(注)対面営業を行う場合には、かかる対面営業における勧誘が禁止されている不招請勧誘に該当しないかどうか監督上留意する必要がある。",id:"pccXlIzD",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/96e2ceb3-bba7-4035-98f0-be27dcfe5942"]},{index:"II-2-1-3-2 主な着眼点 (2)",content:"② 利用者からの招請状況等の把握",id:"g3TPZNur"},{index:"II-2-1-3-2 主な着眼点 (2) ②",content:"イ.利用者からの招請状況及び過去の取引実態等について、利用者情報として記録・保存する等により、適時の把握に努めるとともに、勧誘に当たっては、当該利用者からの招請状況及び過去の取引実態等に則した適正な勧誘に努めるよう役職員に徹底されているか。",id:"mK0npaAi"},{index:"II-2-1-3-2 主な着眼点 (2) ②",content:"ロ.利用者からの招請状況及び過去の取引実態等の利用者情報の管理について、具体的な取扱方法を定め、当該方法を役職員に周知徹底すること。特に、利用者情報については、守秘義務等の観点から十分に検討を行った上で取扱方法を定めているか。",id:"bnQUd0tu"},{index:"II-2-1-3-2 主な着眼点 (2) ②",content:"ハ.内部管理部門においては、利用者からの招請状況及び過去の取引実態等並びに利用者情報の管理の状況を把握するように努め、必要に応じて、適切な勧誘が行われているか等についての検証を行うとともに、利用者情報の管理方法の見直しを行う等、その実効性を確保する態勢の構築に努めているか。",id:"6pm7XvKf"},{index:"II-2-1-3-2 主な着眼点",content:"(3) 営業員管理態勢 ",id:"OlVNiRQH"},{index:"II-2-1-3-2 主な着眼点 (3)",content:"① 勧誘を行う役職員(以下「営業員」という。)を定めた上で、営業員による適正な勧誘を確保するために必要な業務上の指導及び教育を行うこととしているか。",id:"kln9V5CG"},{index:"II-2-1-3-2 主な着眼点 (3)",content:"② 内部管理部門において、営業員の勧誘の状況を把握・検証し、必要に応じて勧誘方法の見直しを行う等、営業員による適正な勧誘を確保する態勢を構築しているか。",id:"joelPUA9"},{index:"II-2-1-3-2 主な着眼点",content:"(4) 役職員による不公正な行為の防止に係る留意事項",id:"BqUZEYLW"},{index:"II-2-1-3-2 主な着眼点 (4)",content:"① 役職員による、暗号資産の売買又は他の暗号資産との交換その他の取引に係る社内規則を整備し、必要に応じて見直しを行う等、適切な内部管理態勢を構築しているか。",id:"TbfepNa4"},{index:"II-2-1-3-2 主な着眼点 (4)",content:"② 役職員による不公正な行為の防止に向け、職業倫理の強化、関係法令や社内規則の周知徹底等、法令遵守意識の強化に向けた取り組みを行っているか。",id:"mSjCufAY"},{index:"II-2-1-3-2 主な着眼点 (4)",content:" ③暗号資産関係情報(II-2-2-1-2(5)に規定する暗号資産関係情報をいう。以下同じ。)を入手し得る立場にある役職員による暗号資産の売買又は他の暗号資産との交換その他の取引の実態把握を行い、必要に応じてその方法の見直しを行う等、適切な措置を講じているか。",id:"5jgd3US1"},{index:"II-2-1-3-2 主な着眼点 (4)",content:"(注)役職員による不公正な行為とは、暗号資産関係情報を利用した内閣府令第20条第11号に該当する役職員の取引や、金融商品取引法第185条の22第1項、第185条の23第1項又は第185条の24第1項若しくは第2項に違反する役職員の取引を主に想定しているが、かかる取引に限られるものではなく、役職員による法令上禁止される行為を広く含む。",id:"mqkdNRVy"},{index:"II-2-1-3-2 主な着眼点",content:"(5) 禁止行為の内容",id:"tdCRwE6Y"},{index:"II-2-1-3-2 主な着眼点 (5)",content:"① 法第63条の9の3第1号及び第2号に規定する「暗号資産の性質等についてその相手方を誤認させるような表示」として、例えば、以下のものが考えられる。暗号資産の価格変動を理由に損失が発生するおそれがあるにも関わらず、これを誤認させるような表示・暗号資産の仕組み上、一定の期間、移転が制限されるにもかかわらず、これを誤認させるような表示・暗号資産の発行者の財務状況や発行者の行う事業の進捗状況等に関して、利用者を誤認させるような表示・いわゆるアルゴリズム型ステーブルコインや暗号資産担保型ステーブルコインなどのように、価値の安定が常に確保されていないにも関わらず、ステーブルコインと称してこれを誤認させるような表示",id:"vhCx24nW"},{index:"II-2-1-3-2 主な着眼点 (5) ①",content:"(注) このようなものの例として、法定通貨の交換比率が一定比率内に収まるよう、一定のアルゴリズムに基づいて相場介入を行うこと等によって、価値の安定を図るものや、暗号資産の価値を担保に発行することによって、暗号資産の価格と連動させて価値の安定を図るものがある。",id:"4i3L2aCy"},{index:"II-2-1-3-2 主な着眼点 (5)",content:`② 法第63条の9の3第3号に規定する「支払手段として利用する目的ではなく、専ら利益を図る目的で暗号資産の売買又は他の暗号資産との交換を行うことを助長するような表示」として、例えば、以下のものが考えられる。 + */const $t=typeof document<"u";function Cr(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function fl(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Cr(e.default)}const se=Object.assign;function yi(e,t){const n={};for(const i in t){const o=t[i];n[i]=Ge(o)?o.map(e):e(o)}return n}const hn=()=>{},Ge=Array.isArray,kr=/#/g,Il=/&/g,pl=/\//g,hl=/=/g,xl=/\?/g,Sr=/\+/g,bl=/%5B/g,ml=/%5D/g,Er=/%5E/g,vl=/%60/g,Rr=/%7B/g,gl=/%7C/g,Nr=/%7D/g,_l=/%20/g;function fo(e){return encodeURI(""+e).replace(gl,"|").replace(bl,"[").replace(ml,"]")}function yl(e){return fo(e).replace(Rr,"{").replace(Nr,"}").replace(Er,"^")}function Ui(e){return fo(e).replace(Sr,"%2B").replace(_l,"+").replace(kr,"%23").replace(Il,"%26").replace(vl,"`").replace(Rr,"{").replace(Nr,"}").replace(Er,"^")}function wl(e){return Ui(e).replace(hl,"%3D")}function Tl(e){return fo(e).replace(kr,"%23").replace(xl,"%3F")}function Cl(e){return e==null?"":Tl(e).replace(pl,"%2F")}function wn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const kl=/\/$/,Sl=e=>e.replace(kl,"");function wi(e,t,n="/"){let i,o={},s="",r="";const c=t.indexOf("#");let d=t.indexOf("?");return c=0&&(d=-1),d>-1&&(i=t.slice(0,d),s=t.slice(d+1,c>-1?c:t.length),o=e(s)),c>-1&&(i=i||t.slice(0,c),r=t.slice(c,t.length)),i=Ll(i??t,n),{fullPath:i+(s&&"?")+s+r,path:i,query:o,hash:wn(r)}}function El(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function zo(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Rl(e,t,n){const i=t.matched.length-1,o=n.matched.length-1;return i>-1&&i===o&&Yt(t.matched[i],n.matched[o])&&Lr(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Yt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Lr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Nl(e[n],t[n]))return!1;return!0}function Nl(e,t){return Ge(e)?Jo(e,t):Ge(t)?Jo(t,e):e===t}function Jo(e,t){return Ge(t)?e.length===t.length&&e.every((n,i)=>n===t[i]):e.length===1&&e[0]===t}function Ll(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),i=e.split("/"),o=i[i.length-1];(o===".."||o===".")&&i.push("");let s=n.length-1,r,c;for(r=0;r1&&s--;else break;return n.slice(0,s).join("/")+"/"+i.slice(r).join("/")}const ht={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Tn;(function(e){e.pop="pop",e.push="push"})(Tn||(Tn={}));var xn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(xn||(xn={}));function Al(e){if(!e)if($t){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Sl(e)}const Ol=/^[^#]+#/;function Dl(e,t){return e.replace(Ol,"#")+t}function Pl(e,t){const n=document.documentElement.getBoundingClientRect(),i=e.getBoundingClientRect();return{behavior:t.behavior,left:i.left-n.left-(t.left||0),top:i.top-n.top-(t.top||0)}}const di=()=>({left:window.scrollX,top:window.scrollY});function Fl(e){let t;if("el"in e){const n=e.el,i=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?i?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Pl(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Go(e,t){return(history.state?history.state.position-t:-1)+e}const Hi=new Map;function Ml(e,t){Hi.set(e,t)}function ql(e){const t=Hi.get(e);return Hi.delete(e),t}let $l=()=>location.protocol+"//"+location.host;function Ar(e,t){const{pathname:n,search:i,hash:o}=t,s=e.indexOf("#");if(s>-1){let c=o.includes(e.slice(s))?e.slice(s).length:1,d=o.slice(c);return d[0]!=="/"&&(d="/"+d),zo(d,"")}return zo(n,e)+i+o}function Ul(e,t,n,i){let o=[],s=[],r=null;const c=({state:h})=>{const x=Ar(e,location),g=n.value,m=t.value;let S=0;if(h){if(n.value=x,t.value=h,r&&r===g){r=null;return}S=m?h.position-m.position:0}else i(x);o.forEach(N=>{N(n.value,g,{delta:S,type:Tn.pop,direction:S?S>0?xn.forward:xn.back:xn.unknown})})};function d(){r=n.value}function l(h){o.push(h);const x=()=>{const g=o.indexOf(h);g>-1&&o.splice(g,1)};return s.push(x),x}function a(){const{history:h}=window;h.state&&h.replaceState(se({},h.state,{scroll:di()}),"")}function I(){for(const h of s)h();s=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",a)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",a,{passive:!0}),{pauseListeners:d,listen:l,destroy:I}}function Qo(e,t,n,i=!1,o=!1){return{back:e,current:t,forward:n,replaced:i,position:window.history.length,scroll:o?di():null}}function Hl(e){const{history:t,location:n}=window,i={value:Ar(e,n)},o={value:t.state};o.value||s(i.value,{back:null,current:i.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(d,l,a){const I=e.indexOf("#"),h=I>-1?(n.host&&document.querySelector("base")?e:e.slice(I))+d:$l()+e+d;try{t[a?"replaceState":"pushState"](l,"",h),o.value=l}catch(x){console.error(x),n[a?"replace":"assign"](h)}}function r(d,l){const a=se({},t.state,Qo(o.value.back,d,o.value.forward,!0),l,{position:o.value.position});s(d,a,!0),i.value=d}function c(d,l){const a=se({},o.value,t.state,{forward:d,scroll:di()});s(a.current,a,!0);const I=se({},Qo(i.value,d,null),{position:a.position+1},l);s(d,I,!1),i.value=d}return{location:i,state:o,push:c,replace:r}}function jl(e){e=Al(e);const t=Hl(e),n=Ul(e,t.state,t.location,t.replace);function i(s,r=!0){r||n.pauseListeners(),history.go(s)}const o=se({location:"",base:e,go:i,createHref:Dl.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function Vl(e){return typeof e=="string"||e&&typeof e=="object"}function Or(e){return typeof e=="string"||typeof e=="symbol"}const Dr=Symbol("");var Yo;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Yo||(Yo={}));function Xt(e,t){return se(new Error,{type:e,[Dr]:!0},t)}function rt(e,t){return e instanceof Error&&Dr in e&&(t==null||!!(e.type&t))}const Xo="[^/]+?",Bl={sensitive:!1,strict:!1,start:!0,end:!0},Kl=/[.+*?^${}()[\]/\\]/g;function Wl(e,t){const n=se({},Bl,t),i=[];let o=n.start?"^":"";const s=[];for(const l of e){const a=l.length?[]:[90];n.strict&&!l.length&&(o+="/");for(let I=0;It.length?t.length===1&&t[0]===40+40?1:-1:0}function Pr(e,t){let n=0;const i=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Jl={type:0,value:""},Gl=/[a-zA-Z0-9_]/;function Ql(e){if(!e)return[[]];if(e==="/")return[[Jl]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(x){throw new Error(`ERR (${n})/"${l}": ${x}`)}let n=0,i=n;const o=[];let s;function r(){s&&o.push(s),s=[]}let c=0,d,l="",a="";function I(){l&&(n===0?s.push({type:0,value:l}):n===1||n===2||n===3?(s.length>1&&(d==="*"||d==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:l,regexp:a,repeatable:d==="*"||d==="+",optional:d==="*"||d==="?"})):t("Invalid state to consume buffer"),l="")}function h(){l+=d}for(;c{r(E)}:hn}function r(I){if(Or(I)){const h=i.get(I);h&&(i.delete(I),n.splice(n.indexOf(h),1),h.children.forEach(r),h.alias.forEach(r))}else{const h=n.indexOf(I);h>-1&&(n.splice(h,1),I.record.name&&i.delete(I.record.name),I.children.forEach(r),I.alias.forEach(r))}}function c(){return n}function d(I){const h=ta(I,n);n.splice(h,0,I),I.record.name&&!ns(I)&&i.set(I.record.name,I)}function l(I,h){let x,g={},m,S;if("name"in I&&I.name){if(x=i.get(I.name),!x)throw Xt(1,{location:I});S=x.record.name,g=se(es(h.params,x.keys.filter(E=>!E.optional).concat(x.parent?x.parent.keys.filter(E=>E.optional):[]).map(E=>E.name)),I.params&&es(I.params,x.keys.map(E=>E.name))),m=x.stringify(g)}else if(I.path!=null)m=I.path,x=n.find(E=>E.re.test(m)),x&&(g=x.parse(m),S=x.record.name);else{if(x=h.name?i.get(h.name):n.find(E=>E.re.test(h.path)),!x)throw Xt(1,{location:I,currentLocation:h});S=x.record.name,g=se({},h.params,I.params),m=x.stringify(g)}const N=[];let v=x;for(;v;)N.unshift(v.record),v=v.parent;return{name:S,path:m,params:g,matched:N,meta:ea(N)}}e.forEach(I=>s(I));function a(){n.length=0,i.clear()}return{addRoute:s,resolve:l,removeRoute:r,clearRoutes:a,getRoutes:c,getRecordMatcher:o}}function es(e,t){const n={};for(const i of t)i in e&&(n[i]=e[i]);return n}function ts(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Zl(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Zl(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const i in e.components)t[i]=typeof n=="object"?n[i]:n;return t}function ns(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ea(e){return e.reduce((t,n)=>se(t,n.meta),{})}function is(e,t){const n={};for(const i in e)n[i]=i in t?t[i]:e[i];return n}function ta(e,t){let n=0,i=t.length;for(;n!==i;){const s=n+i>>1;Pr(e,t[s])<0?i=s:n=s+1}const o=na(e);return o&&(i=t.lastIndexOf(o,i-1)),i}function na(e){let t=e;for(;t=t.parent;)if(Fr(t)&&Pr(e,t)===0)return t}function Fr({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ia(e){const t={};if(e===""||e==="?")return t;const i=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&Ui(s)):[i&&Ui(i)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function oa(e){const t={};for(const n in e){const i=e[n];i!==void 0&&(t[n]=Ge(i)?i.map(o=>o==null?null:""+o):i==null?i:""+i)}return t}const sa=Symbol(""),ss=Symbol(""),li=Symbol(""),Io=Symbol(""),ji=Symbol("");function cn(){let e=[];function t(i){return e.push(i),()=>{const o=e.indexOf(i);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function mt(e,t,n,i,o,s=r=>r()){const r=i&&(i.enterCallbacks[o]=i.enterCallbacks[o]||[]);return()=>new Promise((c,d)=>{const l=h=>{h===!1?d(Xt(4,{from:n,to:t})):h instanceof Error?d(h):Vl(h)?d(Xt(2,{from:t,to:h})):(r&&i.enterCallbacks[o]===r&&typeof h=="function"&&r.push(h),c())},a=s(()=>e.call(i&&i.instances[o],t,n,l));let I=Promise.resolve(a);e.length<3&&(I=I.then(l)),I.catch(h=>d(h))})}function Ti(e,t,n,i,o=s=>s()){const s=[];for(const r of e)for(const c in r.components){let d=r.components[c];if(!(t!=="beforeRouteEnter"&&!r.instances[c]))if(Cr(d)){const a=(d.__vccOpts||d)[t];a&&s.push(mt(a,n,i,r,c,o))}else{let l=d();s.push(()=>l.then(a=>{if(!a)throw new Error(`Couldn't resolve component "${c}" at "${r.path}"`);const I=fl(a)?a.default:a;r.mods[c]=a,r.components[c]=I;const x=(I.__vccOpts||I)[t];return x&&mt(x,n,i,r,c,o)()}))}}return s}function rs(e){const t=Je(li),n=Je(Io),i=z(()=>{const d=Bt(e.to);return t.resolve(d)}),o=z(()=>{const{matched:d}=i.value,{length:l}=d,a=d[l-1],I=n.matched;if(!a||!I.length)return-1;const h=I.findIndex(Yt.bind(null,a));if(h>-1)return h;const x=cs(d[l-2]);return l>1&&cs(a)===x&&I[I.length-1].path!==x?I.findIndex(Yt.bind(null,d[l-2])):h}),s=z(()=>o.value>-1&&la(n.params,i.value.params)),r=z(()=>o.value>-1&&o.value===n.matched.length-1&&Lr(n.params,i.value.params));function c(d={}){return da(d)?t[Bt(e.replace)?"replace":"push"](Bt(e.to)).catch(hn):Promise.resolve()}return{route:i,href:z(()=>i.value.href),isActive:s,isExactActive:r,navigate:c}}const ra=Js({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:rs,setup(e,{slots:t}){const n=ti(rs(e)),{options:i}=Je(li),o=z(()=>({[ds(e.activeClass,i.linkActiveClass,"router-link-active")]:n.isActive,[ds(e.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:gr("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),ca=ra;function da(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function la(e,t){for(const n in t){const i=t[n],o=e[n];if(typeof i=="string"){if(i!==o)return!1}else if(!Ge(o)||o.length!==i.length||i.some((s,r)=>s!==o[r]))return!1}return!0}function cs(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ds=(e,t,n)=>e??t??n,aa=Js({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const i=Je(ji),o=z(()=>e.route||i.value),s=Je(ss,0),r=z(()=>{let l=Bt(s);const{matched:a}=o.value;let I;for(;(I=a[l])&&!I.components;)l++;return l}),c=z(()=>o.value.matched[r.value]);Fn(ss,z(()=>r.value+1)),Fn(sa,c),Fn(ji,o);const d=ue();return zt(()=>[d.value,c.value,e.name],([l,a,I],[h,x,g])=>{a&&(a.instances[I]=l,x&&x!==a&&l&&l===h&&(a.leaveGuards.size||(a.leaveGuards=x.leaveGuards),a.updateGuards.size||(a.updateGuards=x.updateGuards))),l&&a&&(!x||!Yt(a,x)||!h)&&(a.enterCallbacks[I]||[]).forEach(m=>m(l))},{flush:"post"}),()=>{const l=o.value,a=e.name,I=c.value,h=I&&I.components[a];if(!h)return ls(n.default,{Component:h,route:l});const x=I.props[a],g=x?x===!0?l.params:typeof x=="function"?x(l):x:null,S=gr(h,se({},g,t,{onVnodeUnmounted:N=>{N.component.isUnmounted&&(I.instances[a]=null)},ref:d}));return ls(n.default,{Component:S,route:l})||S}}});function ls(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ua=aa;function fa(e){const t=Xl(e.routes,e),n=e.parseQuery||ia,i=e.stringifyQuery||os,o=e.history,s=cn(),r=cn(),c=cn(),d=yc(ht);let l=ht;$t&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const a=yi.bind(null,T=>""+T),I=yi.bind(null,Cl),h=yi.bind(null,wn);function x(T,$){let F,U;return Or(T)?(F=t.getRecordMatcher(T),U=$):U=T,t.addRoute(U,F)}function g(T){const $=t.getRecordMatcher(T);$&&t.removeRoute($)}function m(){return t.getRoutes().map(T=>T.record)}function S(T){return!!t.getRecordMatcher(T)}function N(T,$){if($=se({},$||d.value),typeof T=="string"){const p=wi(n,T,$.path),b=t.resolve({path:p.path},$),k=o.createHref(p.fullPath);return se(p,b,{params:h(b.params),hash:wn(p.hash),redirectedFrom:void 0,href:k})}let F;if(T.path!=null)F=se({},T,{path:wi(n,T.path,$.path).path});else{const p=se({},T.params);for(const b in p)p[b]==null&&delete p[b];F=se({},T,{params:I(p)}),$.params=I($.params)}const U=t.resolve(F,$),te=T.hash||"";U.params=a(h(U.params));const Ie=El(i,se({},T,{hash:yl(te),path:U.path})),f=o.createHref(Ie);return se({fullPath:Ie,hash:te,query:i===os?oa(T.query):T.query||{}},U,{redirectedFrom:void 0,href:f})}function v(T){return typeof T=="string"?wi(n,T,d.value.path):se({},T)}function E(T,$){if(l!==T)return Xt(8,{from:$,to:T})}function _(T){return J(T)}function O(T){return _(se(v(T),{replace:!0}))}function M(T){const $=T.matched[T.matched.length-1];if($&&$.redirect){const{redirect:F}=$;let U=typeof F=="function"?F(T):F;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=v(U):{path:U},U.params={}),se({query:T.query,hash:T.hash,params:U.path!=null?{}:T.params},U)}}function J(T,$){const F=l=N(T),U=d.value,te=T.state,Ie=T.force,f=T.replace===!0,p=M(F);if(p)return J(se(v(p),{state:typeof p=="object"?se({},te,p.state):te,force:Ie,replace:f}),$||F);const b=F;b.redirectedFrom=$;let k;return!Ie&&Rl(i,U,F)&&(k=Xt(16,{to:b,from:U}),Ye(U,U,!0,!1)),(k?Promise.resolve(k):pe(b,U)).catch(w=>rt(w)?rt(w,2)?w:pt(w):ee(w,b,U)).then(w=>{if(w){if(rt(w,2))return J(se({replace:f},v(w.to),{state:typeof w.to=="object"?se({},te,w.to.state):te,force:Ie}),$||b)}else w=Tt(b,U,!0,f,te);return Ne(b,U,w),w})}function G(T,$){const F=E(T,$);return F?Promise.reject(F):Promise.resolve()}function he(T){const $=Ft.values().next().value;return $&&typeof $.runWithContext=="function"?$.runWithContext(T):T()}function pe(T,$){let F;const[U,te,Ie]=Ia(T,$);F=Ti(U.reverse(),"beforeRouteLeave",T,$);for(const p of U)p.leaveGuards.forEach(b=>{F.push(mt(b,T,$))});const f=G.bind(null,T,$);return F.push(f),He(F).then(()=>{F=[];for(const p of s.list())F.push(mt(p,T,$));return F.push(f),He(F)}).then(()=>{F=Ti(te,"beforeRouteUpdate",T,$);for(const p of te)p.updateGuards.forEach(b=>{F.push(mt(b,T,$))});return F.push(f),He(F)}).then(()=>{F=[];for(const p of Ie)if(p.beforeEnter)if(Ge(p.beforeEnter))for(const b of p.beforeEnter)F.push(mt(b,T,$));else F.push(mt(p.beforeEnter,T,$));return F.push(f),He(F)}).then(()=>(T.matched.forEach(p=>p.enterCallbacks={}),F=Ti(Ie,"beforeRouteEnter",T,$,he),F.push(f),He(F))).then(()=>{F=[];for(const p of r.list())F.push(mt(p,T,$));return F.push(f),He(F)}).catch(p=>rt(p,8)?p:Promise.reject(p))}function Ne(T,$,F){c.list().forEach(U=>he(()=>U(T,$,F)))}function Tt(T,$,F,U,te){const Ie=E(T,$);if(Ie)return Ie;const f=$===ht,p=$t?history.state:{};F&&(U||f?o.replace(T.fullPath,se({scroll:f&&p&&p.scroll},te)):o.push(T.fullPath,te)),d.value=T,Ye(T,$,F,f),pt()}let Qe;function tn(){Qe||(Qe=o.listen((T,$,F)=>{if(!Nn.listening)return;const U=N(T),te=M(U);if(te){J(se(te,{replace:!0}),U).catch(hn);return}l=U;const Ie=d.value;$t&&Ml(Go(Ie.fullPath,F.delta),di()),pe(U,Ie).catch(f=>rt(f,12)?f:rt(f,2)?(J(f.to,U).then(p=>{rt(p,20)&&!F.delta&&F.type===Tn.pop&&o.go(-1,!1)}).catch(hn),Promise.reject()):(F.delta&&o.go(-F.delta,!1),ee(f,U,Ie))).then(f=>{f=f||Tt(U,Ie,!1),f&&(F.delta&&!rt(f,8)?o.go(-F.delta,!1):F.type===Tn.pop&&rt(f,20)&&o.go(-1,!1)),Ne(U,Ie,f)}).catch(hn)}))}let Dt=cn(),me=cn(),re;function ee(T,$,F){pt(T);const U=me.list();return U.length?U.forEach(te=>te(T,$,F)):console.error(T),Promise.reject(T)}function ot(){return re&&d.value!==ht?Promise.resolve():new Promise((T,$)=>{Dt.add([T,$])})}function pt(T){return re||(re=!T,tn(),Dt.list().forEach(([$,F])=>T?F(T):$()),Dt.reset()),T}function Ye(T,$,F,U){const{scrollBehavior:te}=e;if(!$t||!te)return Promise.resolve();const Ie=!F&&ql(Go(T.fullPath,0))||(U||!F)&&history.state&&history.state.scroll||null;return oo().then(()=>te(T,$,Ie)).then(f=>f&&Fl(f)).catch(f=>ee(f,T,$))}const Le=T=>o.go(T);let Pt;const Ft=new Set,Nn={currentRoute:d,listening:!0,addRoute:x,removeRoute:g,clearRoutes:t.clearRoutes,hasRoute:S,getRoutes:m,resolve:N,options:e,push:_,replace:O,go:Le,back:()=>Le(-1),forward:()=>Le(1),beforeEach:s.add,beforeResolve:r.add,afterEach:c.add,onError:me.add,isReady:ot,install(T){const $=this;T.component("RouterLink",ca),T.component("RouterView",ua),T.config.globalProperties.$router=$,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>Bt(d)}),$t&&!Pt&&d.value===ht&&(Pt=!0,_(o.location).catch(te=>{}));const F={};for(const te in ht)Object.defineProperty(F,te,{get:()=>d.value[te],enumerable:!0});T.provide(li,$),T.provide(Io,$s(F)),T.provide(ji,d);const U=T.unmount;Ft.add(T),T.unmount=function(){Ft.delete(T),Ft.size<1&&(l=ht,Qe&&Qe(),Qe=null,d.value=ht,Pt=!1,re=!1),U()}}};function He(T){return T.reduce(($,F)=>$.then(()=>he(F)),Promise.resolve())}return Nn}function Ia(e,t){const n=[],i=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let r=0;rYt(l,c))?i.push(c):n.push(c));const d=e.matched[r];d&&(t.matched.find(l=>Yt(l,d))||o.push(d))}return[n,i,o]}function At(){return Je(li)}function Ot(e){return Je(Io)}const pa={displayName:"金融庁事務ガイドライン(暗号資産)",accountId:"crypto_guidelines",title:"II-2-1-4-2 主な着眼点",tweets:[{index:"I 総則",content:"",id:"gr3258fe0"},{index:"I-1 暗号資産の範囲等",content:"",id:"xd7358de8"},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準",content:"当局は、資金決済に関する法律(平成21年法律第59号。以下「法」という。)第2条第14項に規定する暗号資産の該当性について照会等があった場合には、以下の点に留意しつつ、同項各号に規定する暗号資産の定義に照らして判断するものとする。
なお、情報通信技術は急速に進展しており、日々、変化するものであることから、暗号資産の該当性等については、その利用形態等に応じ、最終的には個別具体的に判断することに留意する。",id:"cd725df8",links:[{url:"payment_services_act/26sa66b8",text:"第2条第14項"}]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準",content:"(注)
法第2条第14項各号の内容を充足する場合であっても、金融商品取引法(昭和23年法律第25号)第2条第3項に規定する電子記録移転権利を表示するものについては、暗号資産に該当しないことに留意する。",id:"a7b9c2e1",links:[{url:"payment_services_act/26sa66b8",text:"第2条第14項"}]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準",content:"①
法第2条第14項第1号に規定する暗号資産(以下「1号暗号資産」という。)の該当性に関して、「代価の弁済のために不特定の者に対して使用することができる」ことを判断するに当たり、例えば、「ブロックチェーン等のネットワークを通じて不特定の者の間で移転可能な仕組みを有しているか」、「発行者と店舗等との間の契約等により、代価の弁済のために暗号資産を使用可能な店舗等が限定されていないか」、「発行者が使用可能な店舗等を管理していないか」等について、申請者から詳細な説明を求めることとする。",id:"f3d8e6a2",links:[{url:"payment_services_act/sa8u60cb",text:"法第2条第14項第1号"}],revision:[]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ①",content:"(注)
以下のイ及びロを充足するなど、社会通念上、法定通貨や暗号資産を用いて購入又は売却を行うことができる物品等にとどまると考えられるものについては、「代価の弁済のために不特定の者に対して使用することができる」ものという要件は満たさない。
ただし、イ及びロを充足する場合であっても、法定通貨や暗号資産を用いて購入又は売却を行うことができる物品等にとどまらず、現に小売業者の実店舗・ECサイトやアプリにおいて、物品等の購入の代価の弁済のために使用されているなど、不特定の者に対する代価の弁済として使用される実態がある場合には、同要件を満たす場合があることに留意する。",id:"b1c9d7e5",links:[{url:"crypto_guidelines/e4f2a8c6",text:"イ及びロ"},{url:"crypto_guidelines/d5g7h9j1",text:"イ及びロ"}],revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/63e6c1df-ea50-4116-97ca-9d2402b65001"]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ①(注)",content:"イ.
発行者等において不特定の者に対して物品等の代価の弁済のために使用されない意図であることを明確にしていること(例えば、発行者又は取扱事業者の規約や商品説明等において決済手段としての使用の禁止を明示している、又はシステム上決済手段として使用されない仕様となっていること)",id:"e4f2a8c6",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/79193d98-9621-43e7-bbe2-8067ddcb91ba"]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ①(注)",content:"ロ.
当該財産的価値の価格や数量、技術的特性・仕様等を総合考慮し、不特定の者に対して物品等の代価の弁済に使用し得る要素が限定的であること。
例えば、以下のいずれかの性質を有すること
・最小取引単位当たりの価格が通常の決済手段として用いるものとしては高額であること
・発行数量を最小取引単位で除した数量(分割可能性を踏まえた発行数量)が限定的であること",id:"d5g7h9j1",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/d76614e1-e68d-4bd9-9885-820c3c03467d"]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ①(注)",content:"なお、以上のイ及びロを充足しないことをもって直ちに暗号資産に該当するものではなく、個別具体的な判断の結果、暗号資産に該当しない場合もあり得ることに留意する。 ",id:"k2m4n6p8",links:[{url:"crypto_guidelines/e4f2a8c6",text:"イ及びロ"},{url:"crypto_guidelines/d5g7h9j1",text:"イ及びロ"}]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ②",content:"1
号暗号資産の該当性に関して、「不特定の者を相手方として購入及び売却を行うことができる」ことを判断するに当たり、例えば、「ブロックチェーン等のネットワークを通じて不特定の者の間で移転可能な仕組みを有しているか」、「発行者による制限なく、本邦通貨又は外国通貨との交換を行うことができるか」、「本邦通貨又は外国通貨との交換市場が存在するか」等について、申請者から詳細な説明を求めることとする。",id:"q9s1t3u5"},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ②",content:"(注)
前払式支払手段発行者が発行するいわゆる「プリペイドカード」や、ポイント・サービス(財・サービスの販売金額の一定割合に応じてポイントを発行するサービスや、来場や利用ごとに一定額のポイントを発行するサービス等)における「ポイント」は、これらの発行者と店舗等との関係では上記①又は②を満たさず、暗号資産には該当しない。 ",id:"v7w9x1y3"},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ③",content:"法第2条第14項第2号に規定する暗号資産の該当性に関して、「不特定の者を相手方として前号に掲げるものと相互に交換を行うことができる」ことを判断するに当たり、例えば、「ブロックチェーン等のネットワークを通じて不特定の者の間で移転可能な仕組みを有しているか」、「発行者による制限なく、1号暗号資産との交換を行うことができるか」、「1号暗号資産との交換市場が存在するか」、「1号暗号資産を用いて購入又は売却できる商品・権利等にとどまらず、当該暗号資産と同等の経済的機能を有するか」等について、申請者から詳細な説明を求めることとする。 ",id:"z2b4c6d8",links:[{url:"payment_services_act/87td60cb",text:"第2条第14項第2号"}],revision:[]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ③",content:"(注)
「1号暗号資産を用いて購入又は売却できる商品・権利等にとどまらず、当該暗号資産と同等の経済的機能を有するか」を判断する上では、①(注)が同様にあてはまる点に留意する。",id:"e5f7g9h1",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/110535d2-8cf7-4e7a-83db-7ffb48be3f4e"]},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ④",content:"法第2条第7項に規定する通貨建資産の該当性に関して、「本邦通貨若しくは外国通貨をもって債務の履行、払戻しその他これらに準ずるもの」であることを判断するに当たり、「発行者及びその関係者(以下「発行者等」という。)と利用者との間の契約等により、発行者等が当該利用者に対してその券面額と同額の法定通貨をもって払い戻す等の義務を負っているか」等について、申請者から詳細な説明を求めることとする。 ",id:"j2k4m6n8"},{index:"I-1-1 暗号資産の範囲及び該当性の判断基準 ④",content:"(注)
通貨建資産に該当する場合には、法第2条第14項に規定する暗号資産には該当しないものの、当該資産の内容やその事業者が行う取引内容によっては、前払式支払手段や為替取引その他法令上の規定に該当する可能性がある点に留意する。",id:"p9q1r3s5"},{index:"I-1-2 暗号資産交換業の該当性及び取り扱う暗号資産の適切性の判断基準",content:"",id:"t7u9v1w3"},{index:"I-1-2-1 意義",content:"情報通信技術は急速に進展しており、日々、様々な暗号資産が出現することが想定される。また、暗号資産交換業に係る取引(法第2条第15項各号に規定する行為に係る取引をいう。以下同じ。)の形態についても、様々な態様が考えられる。
このため、取り扱おうとするものが暗号資産に該当し、又は当該暗号資産の取扱いが暗号資産交換業に係る取引に形式的に該当するとしても、利用者保護ないし公益性の観点から、暗号資産交換業者が取り扱うことが必ずしも適切でないものもあり得る。かかる観点から、暗号資産交換業者に関する内閣府令(平成29年内閣府令第7号。以下「内閣府令」という。)第23条第1項第5号は、暗号資産交換業者に対し、利用者の保護又は暗号資産交換業の適正かつ確実な遂行に支障を及ぼすおそれがあると認められる暗号資産を取り扱わないために必要な措置を義務付けている。
したがって、当局は、暗号資産交換業に係る取引の適切性及び取り扱う暗号資産の適切性等について、申請者に対して詳細に説明を求めるとともに、必要に応じて、認定資金決済事業者協会(以下「協会」という。)とも連携しつつ、登録の申請の審査等を実施するものとする。",id:"x2y4z6a8",links:[{url:"payment_services_act/kDfQkHbRccSOO5qQ",text:"第2条第15項"}]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"当局は、法第2条第15項に規定する暗号資産交換業の該当性について照会等があった場合には、以下の点に留意しつつ、同項各号に規定する暗号資産交換業の定義に照らして判断するものとする。",id:"b5c7d9e1",links:[{url:"payment_services_act/kDfQkHbRccSOO5qQ",text:"第2条第15項"}]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"①
法第2条第15項に規定する「業として行うこと」とは、「対公衆性」のある行為で「反復継続性」をもって行うことをいうものと解されるが、具体的な行為が「対公衆性」や「反復継続性」を有するものであるか否かについては、個別事例ごとに実態に即して実質的に判断するべきである。
なお、「対公衆性」や「反復継続性」については、現実に「対公衆性」のある行為が反復継続して行われている場合のみならず、「対公衆性」や「反復継続性」が想定されている場合等も含まれる点に留意する。",id:"f2g4h6j8",links:[{url:"payment_services_act/kDfQkHbRccSOO5qQ",text:"第2条第15項"}]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"②
法第2条第15項第2号に規定する「前号に掲げる行為の媒介」(以下「暗号資産の売買等の媒介」という。)に該当するか否かは、暗号資産の売買又は他の暗号資産との交換を内容とする契約(以下「暗号資産の売買等を内容とする契約」という。)の成立に向けた一連の行為における当該行為の位置づけを踏まえた上で総合的に判断する必要があり、一連の行為の一部のみを取り出して、直ちに暗号資産の売買等の媒介に該当しないと判断することは適切でないことに留意する。
例えば、暗号資産の売買等を内容とする契約に係る以下の各行為を第三者のために行う場合は、原則として、特定の者に対して第三者との暗号資産の売買等を内容とする契約の締結に向けた誘引行為を行っていると評価できることから、暗号資産の売買等の媒介に該当する。",id:"k9m1n3p5",links:[{url:"payment_services_act/O66upnQIwpiBhBXx",text:"第2条第15項"}],revision:["crypto_guidelines/revisions/20240906/240901"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②",content:"イ.暗号資産の売買等を内容とする契約の締結の勧誘",id:"q7r9s1t3",revision:["crypto_guidelines/revisions/20240906/240902"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②",content:"ロ.暗号資産の売買等を内容とする契約の締結の勧誘を目的とした商品説明",id:"u5v7w9x1",revision:["crypto_guidelines/revisions/20240906/240903"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②",content:"ハ.暗号資産の売買等を内容とする契約の締結に向けた条件交渉",id:"y3z5a7b9",revision:["crypto_guidelines/revisions/20240906/240904"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②",content:"(注1)
媒介に当たるか否かは、個別事例ごとに実態に即して実質的に判断する必要があるが、例えば、インターネット上の表示等を用いる場合でも、当該表示等を用いた上で特定の者に対して第三者との暗号資産の売買等を内容とする契約の締結に向けた誘引行為を行っていると評価できる場合には、当該インターネット上の表示等を含めた一連の行為が媒介に当たり得ることに留意するものとする。",id:"c2d4e6f8"},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②",content:"(注2)
ただし、暗号資産の売買又は他の暗号資産との交換に関して以下の各行為の事務処理の一部のみを行うに過ぎない場合は、暗号資産の売買等の媒介に至らない行為といえる場合もある。",id:"g9h1j3k5",revision:["crypto_guidelines/revisions/20240906/240905"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"・商品案内チラシ・パンフレット・契約申込書等の単なる配布又は交付若しくは提供(電磁的方法によるものを含む。)。ただし、単なる配布又は交付若しくは提供を超えて、配布又は交付若しくは提供する資料の記載方法・内容等の説明まで行う場合には暗号資産の売買等の媒介に当たることがあり得る。
また、比較サイト等の商品情報の提供を主たる目的としたサービスにおいて暗号資産交換業者から提供を受けた商品案内等のコンテンツを単にウェブサイト上に転載することは差し支えないが、加工したコンテンツを掲載したり、例えば、自らが推奨する商品のコンテンツを上位に表示されるようなデザインやアルゴリズムの仕組みを設けること等をしたりする場合には、媒介に当たることがあり得ることに留意する。",id:"m7n9p1q3",public_comment_links:[{url:"crypto_guidelines_public_20240906/lHWzwPvtmmxCIBCw",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"},{url:"crypto_guidelines_public_20240906/JT0dNnfdI4wcyx1D",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"}],revision:["crypto_guidelines/revisions/20240906/240906"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"・契約申込書及びその添付書類等の受領・回収。ただし、契約申込書の単なる受領・回収又は契約申込書の誤記・記載漏れ・必要書類の添付漏れの指摘を超えて、契約申込書の記載内容の確認等まで行う場合には、暗号資産の売買等の媒介に当たることがあり得る。",id:"r5s7t9u1",public_comment_links:[{url:"crypto_guidelines_public_20240906/lHWzwPvtmmxCIBCw",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"}],revision:["crypto_guidelines/revisions/20240906/240907"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"・セミナー等における一般的な暗号資産の仕組み・活用法等についての説明。",id:"v3w5x7y9"},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"・勧誘行為をせず、単に顧客を暗号資産交換業者に紹介する業務。なお、「紹介」には、以下の行為を含む(各行為の全部又は一部を組み合わせるものであったとしても「紹介」に含まれる場合がある)。",id:"z2a4b6c8",revision:["crypto_guidelines/revisions/20240906/240908"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"a.当該業者の店舗に、暗号資産交換業者が自らを紹介する宣伝媒体を据え置くこと又は掲示すること。",id:"d9e1f3g5",revision:["crypto_guidelines/revisions/20240906/240909"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"b.対面又は当該業者のウェブサイト上等において、当該業者と暗号資産交換業者の関係又は当該暗号資産交換業者の業務内容について説明を行うこと。",id:"h7j9k1m3",revision:["crypto_guidelines/revisions/20240906/240910"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ②(注2)",content:"c.当該業者のウェブサイト上等において、暗号資産交換業者のサイトへの単なるリンクの設定や暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行い、暗号資産の売買等を内容とする契約の締結に至る交渉や手続は当該暗号資産交換業者と顧客との間で行い、当該契約の締結に当たり当該業者は関与をもたないこと。
ただし、当該リンクの設定や当該コンテンツの転載とあわせて、当該業者独自の見解として当該商品等を推奨・説明する場合には、暗号資産の売買等の媒介に当たることがあり得る。",id:"n5p7q9r1",public_comment_links:[{url:"crypto_guidelines_public_20240906/lHWzwPvtmmxCIBCw",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"},{url:"crypto_guidelines_public_20240906/0X6iL8G3ASDsolI8",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"},{url:"crypto_guidelines_public_20240906/DEv4g0wQnvrnktBO",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"},{url:"crypto_guidelines_public_20240906/nENuabqvTZBFvWdA",text:"金融庁事務ガイドライン(暗号資産) 2024/09/06 パブリックコメント"}],revision:["crypto_guidelines/revisions/20240906/240911"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"③
法第2条第15項第4号に規定する「他人のために暗号資産の管理をすること」に該当するか否かについては、個別事例ごとに実態に即して実質的に判断するべきであるが、利用者の関与なく、単独又は関係事業者と共同して、利用者の暗号資産を移転でき得るだけの秘密鍵を保有する場合など、事業者が主体的に利用者の暗号資産の移転を行い得る状態にある場合には、同号に規定する暗号資産の管理に該当する。 ",id:"s3t5u7v9"},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③",content:"(注1)
内閣府令第23条第1項第8号に規定する暗号資産の借入れは、法第2条第15項第4号に規定する暗号資産の管理には該当しないが、利用者がその請求によっていつでも借り入れた暗号資産の返還を受けることができるなど、暗号資産の借入れと称して、実質的に他人のために暗号資産を管理している場合には、同号に規定する暗号資産の管理に該当する。 ",id:"w2x4y6z8"},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③",content:"(注2)
上記③の「主体的に利用者の暗号資産の移転を行い得る状態」に該当するか否かについては、個別事例ごとに実態に即して実質的に判断するべきであるが、例えば、以下のような場合は、「主体的に利用者の暗号資産の移転を行い得る状態」には該当しないものと考えられる。",id:"a9b1c3d5",links:[{url:"crypto_guidelines/s3t5u7v9",text:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③"}],revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/9f8bc1bd-ad99-43ca-8146-35feb7b80a74"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③(注2)",content:"・事業者が、単独又は関係事業者と共同しても、利用者の暗号資産を移転するために必要な秘密鍵の一部を保有するにとどまり、事業者が単独又は関係事業者と共同して保有する秘密鍵のみでは利用者の暗号資産を移転することができない場合。",id:"e7f9g1h3",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/cf205d8e-c811-4cc4-8649-498aee604528"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③(注2)",content:"・事業者が利用者の暗号資産を移転することができ得る数の秘密鍵を保有する場合であっても、その保有する秘密鍵が暗号化されており、事業者が当該暗号化された秘密鍵を復号するために必要な情報を保有していない場合。 ",id:"j5k7m9n1",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/2a7df77d-15f1-487a-8c15-2163374d398c"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③",content:"(注3)暗号資産交換業者が業務の一部を第三者に委託(二以上の段階にわたる委託を含む。)している場合において、以下に該当するような場合は、「主体的に利用者の暗号資産の移転を行い得る状態」に該当し、当該外部委託先は暗号資産交換業の登録が必要となることに留意する。",id:"p3q5r7s9",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/d1990c87-76bb-495a-8e3e-27e88da61c8b"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③(注3)",content:"・利用者や委託者である暗号資産交換業者からの統制や指示、秘密鍵を復号するための必要な情報がなくとも、当該外部委託先あるいは再委託先と共同で利用者の暗号資産の移転が可能である場合。
なお、平時には、外部委託先において、主体的に利用者の暗号資産の移転を行うことができないものの、例えば、以下のように、一時的に権限及び情報を委託者から取得する場合等には不正に移転を行い得る流出リスクがあると考えられ、外部委託先管理(II-2-3-3)の観点で、委託先及びその委託内容の適切性に留意が必要である。",id:"t2u4v6w8",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/01d23aa7-ba2e-4ddd-a5f8-4d4a2063d492"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③(注3)",content:"・外部委託先が、委託者から秘密鍵の生成に必要な情報を受け取って秘密鍵を新規に生成する場合。",id:"x9y1z3a5",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/a423c71a-da57-47d7-8044-bd7e6a90c425"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準 ③(注3)",content:"・外部委託先が、委託者から暗号資産移転の依頼を受ける際に委託者から必要な情報を受け取って移転する場合等。 ",id:"b7c9d1e3",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/efdbe634-0374-478a-b1d7-14d4aa43df39"]},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"④ 暗号資産の交換等を行う者が、金銭の移動を行うことを内容とする依頼を受けて、これを引き受けること、又はこれを引き受けて遂行する場合には、為替取引を行っているとして、法第37条に基づく資金移動業者の登録が必要となり得る。",id:"f5g7h9j1"},{index:"I-1-2-2 暗号資産交換業の該当性の判断基準",content:"⑤
暗号資産を用いた先物取引等の取引においては、決済時に取引の目的となっている暗号資産の現物の受渡しを伴う取引と、当該取引の目的となっている暗号資産の現物の受渡しを行わず、反対売買等を行うことにより、金銭又は当該取引において決済手段とされている暗号資産の授受のみによって決済することができる取引(以下「差金決済取引」という。)が存在する。いずれの取引についても、金融商品取引法第2条第20項に規定するデリバティブ取引に該当する場合には、金融商品取引法の規制対象となることから、利用者の暗号資産の管理を伴うときを除き、暗号資産交換業の登録を要しない。このため、暗号資産交換業の登録を要する取引かどうかについては、個別具体的に取引の内容を確認する必要がある。",id:"l8m1n3p5"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準",content:"当局は、登録の申請の審査や暗号資産交換業者が取り扱う暗号資産の適切性の判断に当たっては、取り扱う暗号資産の仕組み(発行者、管理者その他の関係者や当該暗号資産と密接に関連するプロジェクトの内容等を含む。)、想定される用途、流通状況及び当該暗号資産に使用される技術のほか、当該暗号資産を取り扱うにあたっての社内態勢の確保の状況等を踏まえ、テロ資金供与やマネー・ローンダリング等に利用されるリスク、システムリスク等をはじめとする、当該暗号資産の取扱いにより生じ得るリスクの内容について、申請者や暗号資産交換業者から詳細な説明を求めることとするほか、利用者からの苦情や、協会の意見等の外部情報も踏まえ、利用者保護及び業務の適正かつ確実な遂行の確保の観点から、暗号資産交換業者が取り扱うことが適切かを判断するものとする。なお、上記取り扱う暗号資産の適切性の判断に当たっては、当局は、協会と連携して行うものとする。",id:"q9r1s3t5",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/e4337793-d51e-4e0c-99f0-82a15142c398"]},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準",content:"(注1)
特に、日本暗号資産取引業協会自主規制規則「暗号資産の取扱いに関する規則」において、①法令又は公序良俗に違反する方法で利用されるおそれが高い暗号資産、 ②犯罪に利用されるおそれが高い暗号資産、③テロ資金供与やマネー・ローンダリング等に利用されるおそれが高い暗号資産については、その取扱いの適否を慎重に判断しなければならないとされていることに留意する。また、同規則において、暗号資産の特性及び暗号資産交換業者の態勢に鑑み、以下のいずれかに該当する暗号資産の取扱いを禁止するとともに、移転記録の追跡が著しく困難である暗号資産については、テロ資金供与やマネー・ローンダリング等に利用されるリスクが高く、適切な監査が実施できないおそれがあることから、これら問題が解決されない限り、取り扱ってはならないとされていることに留意する。",id:"u7v9w1x3"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準(注1)",content:"・移転・保有記録の更新・保持に重大な支障・懸念が認められるもの",id:"y5z7a9b1"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準(注1)",content:"・公認会計士又は監査法人による適切な監査が困難なもの",id:"c3d5e7f9"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準(注1)",content:"・システム上その他安全な保管及び出納が困難なもの",id:"g2h4j6k8"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準(注1)",content:"・上記のほか、資金決済法上の義務の適正かつ確実な履行が困難なもの",id:"m9n1p3q5"},{index:"I-1-2-3 取り扱う暗号資産の適切性の判断基準",content:"(注2)例えば、新規に発行する暗号資産の売り出しを行う場合に、発行段階で流動性に欠けるとしても、当該暗号資産を取り扱うことが適切でないと直ちに判断するのではなく、申請者からの説明や外部情報を十分考慮し、総合的に判断するものとする。",id:"r7s9t1u3"},{index:"II 暗号資産交換業者の監督上の着眼点",content:"",id:"IJfPkWQw"},{index:"II-1 経営管理等",content:"",id:"XtUUAVRH"},{index:"II-1-1",content:"意義暗号資産交換業者が、その業務の性質上、利用者の財産を管理することや、暗号資産がテロ資金供与やマネー・ローンダリング等に利用されるリスクが高いことなどに鑑み、利用者の金銭・暗号資産の分別管理等、利用者保護のための措置やテロ資金供与及びマネー・ローンダリング対策が適切に行われる必要がある。また、業務運営態勢の維持・向上に当たっては、経営に対する規律付けが有効に機能し、適切な経営管理が行われることが重要である。暗号資産交換業者の監督に当たっては、例えば、以下の点に留意するものとする。
なお、監督に当たっては、暗号資産交換業を取り巻く環境の変化を注視しつつ、暗号資産交換業者の自主性を尊重するとともに、暗号資産交換業者に対しては専業規定がなく、業態や規模等が多岐に亘っていることに留意し、当該暗号資産交換業者の業容や特性の変化を含む実態を踏まえて対応する必要がある。",id:"GU3cKet3"},{index:"II-1-2 主な着眼点 ",content:"① 経営陣は、暗号資産交換業者が目指すべき全体像等に基づいた経営方針を明確に定めているか。更に、経営方針に沿った経営計画を明確に定め、それを組織全体に周知しているか。また、その達成度合いを定期的に検証し、必要に応じ見直しを行っているか。",id:"NiElFZpJ"},{index:"II-1-2主な着眼点 ",content:"② 経営陣は、ビジネスモデル、業務内容、経営規模、海外拠点の設置状況、取り扱う暗号資産の特性等を勘案の上、業務を行うことにより生じ得る経営上のリスクを特定し、評価することとしているか。また、特定・評価した経営上のリスクへの対応方法に関して、経営計画及び経営管理に反映しているか。 ",id:"zFQFgOrf"},{index:"II-1-2主な着眼点 ②",content:"(注)
経営上のリスクの特定・評価に当たっては、各部門(営業部門・内部管理部門・内部監査部門)にて検知された各種リスクの分析(海外拠点を有する場合には、当該海外拠点との関係を踏まえること)を行う態勢が整備されている必要があることに留意する。 ",id:"CbAPxJuc"},{index:"II-1-2主な着眼点",content:"③ 取締役は、業務執行にあたる代表取締役等の独断専行を牽制・抑止し、取締役会における業務執行の意思決定及び取締役の業務執行の監督に積極的に参加しているか。",id:"D1Jak49O"},{index:"II-1-2主な着眼点",content:"④ 経営陣は、内閣府令第9条第1項に規定する財産的基礎を遵守するだけでなく、業容や特性に応じた財産的基礎を確保するよう努めているか。日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る財務管理に関する規則」を踏まえ、ビジネスモデル、業務内容、経営規模、海外拠点の設置状況、取り扱う暗号資産の特性等に照らし、例えば、市場リスク、取引先リスク、オペレーショナル・リスク(暗号資産の流出リスクを含む。)といった財務上のリスクを分析・特定した上で、当該リスクの管理手法を定めるなど、財務上のリスクの管理態勢を構築しているか。 ",id:"LZV5Vs00"},{index:"II-1-2主な着眼点 ④",content:"(注1)
財務上のリスクの管理態勢を検証するに際しては、上記自主規制規則において、当該リスクの把握や管理態勢の整備、財務の健全性を維持・向上するための経営計画の作成・実施等を求めていることに留意する。",id:"SAsFc8lC"},{index:"II-1-2主な着眼点 ④",content:"(注2)
カバー取引の相手方に対して、金銭や暗号資産を預託する場合には、財務上のリスク管理の一環として、当該相手方の与信審査・管理を行う必要があるほか、当該相手方が、預託した暗号資産が外部に流出することがないよう適切に管理しているかを確認する必要がある。 ",id:"XkzUe3QP"},{index:"II-1-2主な着眼点",content:"⑤ 経営陣は、内閣府令第23条第1項第7号及び日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る財務管理に関する規則」を踏まえ、財務情報その他企業情報を適正かつ適時に公表するための内部管理態勢を構築しているか。",id:"29mBFyz1"},{index:"II-1-2主な着眼点",content:"⑥ 暗号資産の管理を行う場合において、経営陣は、財務諸表監査及び分別管理監査を行うに当たって、業務内容、経営規模、取り扱う暗号資産の特性等を踏まえ、適切な公認会計士又は監査法人を選定しているか。",id:"Wt5VZ5oS"},{index:"II-1-2主な着眼点",content:"⑦ 経営陣は、法に基づき、利用者の保護を図り、業務の適正かつ確実な遂行を確保すること等が暗号資産交換業者に求められることを十分認識し、業務推進や利益拡大といった業績面のみならず、法令等遵守や適正な業務運営を確保するため、内部管理部門及び内部監査部門の機能強化など、内部管理態勢の確立・整備(必要な人的・物的資源の確保を含む。)に関する事項を経営上の最重要課題の一つとして位置付け、その実践のための具体的な方針の策定及び周知徹底について、誠実かつ率先して取り組んでいるか。",id:"bfLhxHjS"},{index:"II-1-2主な着眼点 ⑦",content:"(注)
本事務ガイドラインでいう「内部管理部門」とは、法令及び社内規則等を遵守した業務運営を確保するための内部事務管理部署、法務部署等をいう。また、「内部監査部門」とは、営業部門から独立した検査部署、監査部署等をいい、内部管理の一環として被監査部門等が実施する検査等を含まない。 ",id:"FUxynOe3"},{index:"II-1-2主な着眼点",content:"⑧ 経営陣は、営業所長の権限に応じた監視などについて、内部管理部門が利用者対応を行う部署に対し、適切な業務運営を確保するためのモニタリング・検証及び改善策の策定等を行う態勢を整備しているか。",id:"ag6i7zDk"},{index:"II-1-2主な着眼点",content:"⑨ 経営陣は、暗号資産交換業に係る取引に関する内部監査の重要性を認識し、内部監査の目的を適切に設定するとともに、内部監査部門の機能が十分に発揮できる態勢を構築しているか。また、被監査部門等におけるリスク管理の状況等を踏まえた上で、監査方針、重点項目等の内部監査計画の基本事項を承認しているか。さらに、内部監査の結果13について、改善策を策定・実施するなど適切な措置を講じるとともに、指摘事項の改善状況をフォローアップしているか。",id:"qC66YWdt"},{index:"II-1-2主な着眼点",content:"⑩ 経営陣は、断固たる態度で反社会的勢力との関係を遮断し排除していくことが、暗号資産交換業者に対する公共の信頼を維持し、暗号資産交換業者の業務の適切性のため不可欠であることを十分認識し、「企業が反社会的勢力による被害を防止するための指針について」(平成19年6月19日犯罪対策閣僚会議幹事会申合せ。以下II-1-2において「政府指針」という。)の内容を踏まえて決定した基本方針を社内外に宣言しているか。さらに、政府指針を踏まえた基本方針を実現するための態勢を整備するとともに、定期的にその有効性を検証するなど、法令等遵守・リスク管理事項として、反社会的勢力による被害の防止を明確に位置付けているか。",id:"mvOfOEfz"},{index:"II-1-2主な着眼点",content:"⑪ 監査役・監査役会は、制度の趣旨に則り、その独立性が確保されているか。また、監査役・監査役会は付与された広範な権限を適切に行使し、会計監査に加え業務監査を実施しているか。監査役会が組織される場合であっても、各監査役は、あくまでも独任制の機関であることを自覚し、自己の責任に基づき積極的な監査を実施しているか。さらに、監査役・監査役会は、外部監査の内容に応じてその結果の報告を受けるなどして、自らの監査の実効性の確保に努めているか。",id:"oom0Tq48"},{index:"II-1-2主な着眼点",content:"⑫ 内部管理部門において、業務運営全般に関し、法令及び社内規則等に則った適正な業務を遂行するための適切なモニタリング・検証が行われているか。また、重大な問題等を確認した場合、経営陣に対し適切に報告が行われているか。",id:"W8a2NWMq"},{index:"II-1-2主な着眼点",content:"⑬ 内部監査部門は、被監査部門に対して十分なけん制機能が働くよう、被監査部門から独立した実効性のある内部監査が実施できる態勢となっているか。また、外部監査機能及び監査役・監査役会との連係が有効に機能しているか。",id:"rY9yHvb3"},{index:"II-1-2主な着眼点",content:"⑭ 内部監査部門は、被監査部門におけるリスク管理状況等を把握した上、リスクの種類・程度に応じて、内部監査計画を立案し、状況に応じて適切に見直すとともに、内部監査計画に基づき効率的・実効性ある内部監査を実施しているか。",id:"wAitr7UV"},{index:"II-1-2主な着眼点",content:"⑮ 内部監査部門は、内部監査で指摘した重要な事項について遅滞なく経営陣に報告しているか。内部監査部門は、指摘事項の改善状況を的確に把握しているか。",id:"GjpWsJjZ"},{index:"II-2 業務の適切性等",content:"",id:"6KPWXH1R"},{index:"II-2-1 法令等遵守",content:"",id:"5A1cLrMi"},{index:"II-2-1-1 法令等遵守(コンプライアンス)態勢等",content:"",id:"THeltKEJ"},{index:"II-2-1-1-1",content:"意義暗号資産交換業者が法令や社内規則等を厳格に遵守し、適正かつ確実な業務運営に努めることは、利用者の暗号資産交換業に対する信頼を向上させることになり、ひいては暗号資産の更なる流通・発展を通じた利用者利便の向上という観点から重要である。また、暗号資産交換業者は、適正かつ確実な業務運営を確保する観点から、業務に関し、その規模・特性に応じた社内規則等を定め、不断の見直しを行うとともに、役員及び暗号14資産交換業の業務に従事する使用人その他の従業者(以下「役職員」という。)に対して社内教育を行うほか、その遵守状況を検証する必要がある。なお、本事務ガイドラインの各着眼点に記載されている字義どおりの対応が暗号資産交換業者においてなされていない場合であっても、当該暗号資産交換業者の規模や特性などからみて、利用者の利益の保護の観点から、特段の問題がないと認められれば、不適切とするものではない。暗号資産交換業者の監督に当たっては、例えば、以下の点に留意するものとする。",id:"IUgaaI9H"},{index:"II-2-1-1-2 主な着眼点",content:"",id:"Y8InwES4"},{index:"II-2-1-1-2 主な着眼点",content:"① コンプライアンスが経営の最重要課題の一つとして位置付けられ、その実践に係る基本的な方針、さらに具体的な実践計画(コンプライアンス・プログラム)や行動規範(倫理規程、コンプライアンス・マニュアル)等が策定されているか。また、これらの方針等は役職員に対して周知徹底が図られ、十分に理解されるとともに日常の業務運営において実践されているか。",id:"TzKtCsF7"},{index:"II-2-1-1-2 主な着眼点",content:"② 暗号資産交換業者及びその役職員は、法第63条の9の3及び内閣府令第20条第13号に基づき、協会の定める自主規制規則等に違反する行為であって、利用者保護に欠け、又は暗号資産交換業の適正かつ確実な遂行に支障を及ぼすおそれがあるものを行うことが禁止されることを踏まえ、法令等を遵守するために必要な業務運営体制を整備するに際して、協会の定める自主規制規則の内容を反映しているか。例えば、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る従業員等の服務に関する規則」の内容を参照しつつ、業務内容・種別に応じた服務規則その他役職員の禁止行為に係るルール等が策定されているか。",id:"HLnQcGIk"},{index:"II-2-1-1-2 主な着眼点",content:"③ 実践計画や行動規範は、定期的又は必要に応じ随時に、評価及びフォローアップが行われているか。また、内容の見直しが行われているか。",id:"ACLL43Fi"},{index:"II-2-1-1-2 主な着眼点",content:"④ コンプライアンスに関する研修・教育体制が確立・充実され、役職員のコンプライアンス意識の醸成・向上に努めているか。また、研修の評価及びフォローアップが適宜行われ、内容の見直しを行うなど、実効性の確保に努めているか。",id:"EM0IgeQ4"},{index:"II-2-1-2 広告規制",content:"",id:"Pq6ZBfpV"},{index:"II-2-1-2-1",content:"意義暗号資産交換業者が行う広告の表示は、利用者への取引勧誘の導入部分に当たるため、適切な表示による情報提供が、利用者によるリスクの誤認や投機的取引の助長を抑止する観点から重要である。そのため、暗号資産交換業者は、その行う暗号資産交換業に関して広告をするときは、法第63条の9の2及び内閣府令第18条に定める事項について、内閣府令第17条に基づいて、明瞭かつ正確に表示することが求められるとともに、法第63条の9の3第2号及び第3号並びに内閣府令第20条第1号に基づいて、不適切な表示を行うことが禁止される。15暗号資産交換業者の監督に当たっては、広告の内容及び表示の適切性が確保されているかを確認するため、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る勧誘及び広告等に関する規則」を踏まえつつ、例えば、以下の点に留意するものとする。",id:"faIpPXhw"},{index:"II-2-1-2-2 主な着眼点",content:"(1) 広告の範囲広告とは、個別事例ごとに実態に即して実質的に判断する必要があるが、ある事項を随時又は継続して広く宣伝するため、一般の人に知らせることをいい、例えば、次に掲げるものをいう。",id:"uPR6jd4J"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"イ.テレビコマーシャルロ.ラジオコマーシャル",id:"2j9TfqKX"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"ハ.新聞紙、雑誌その他の刊行物への掲載",id:"h3fQzg14"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"ニ.看板、立て看板、はり紙、はり札等への表示",id:"EXOOgnGc"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"ホ.広告塔、広告板、建物その他の工作物等への表示",id:"UYaqGgJt"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"ヘ.チラシ、カタログ、パンフレット、リーフレット等の配布",id:"wzeP6S9s"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"ト.インターネット上の表示",id:"20GBQkMw"},{index:"II-2-1-2-2 主な着眼点 (1)",content:"(注)「広告」に該当しない行為であっても、電子メールの送信やダイレクトメールの送付のように、特定の者に対して特定の行為をするよう勧め誘う行為は勧誘に該当する。そのため、これらの方法により利用者に対して暗号資産交換契約(法第63条の9の3第1号に規定する暗号資産交換契約をいう。以下同じ。)の締結の勧誘を行う場合には、II-2-1-3を踏まえ、法令違反行為とならないよう留意する必要がある。",id:"zy13baKB"},{index:"II-2-1-2-2 主な着眼点",content:"(2) 明瞭かつ正確な表示広告において法第63条の9の2各号に規定する項目(暗号資産の管理のみを行う暗号資産交換業者にあっては同条第1号及び第2号に規定する事項に限る。)を表示する場合に、内閣府令第17条に規定する明瞭かつ正確な表示がなされているか否かの判断に当たっては、以下の点に留意することとする。 ",id:"qntEq2Wv"},{index:"II-2-1-2-2 主な着眼点 (2)",content:"① 当該広告に表示される他の事項に係る文字と比較して、使用する文字の大きさ、形状及び色彩において、不当に目立ちにくい表示を行っていないか。特に、法第63条の9の2第3号及び内閣府令第18条各号に規定する事項については、広告上の文字又は数字の中で最も大きなものと著しく異ならない大きさで表示しているか。",id:"NUxrQjd4"},{index:"II-2-1-2-2 主な着眼点 (2)",content:"② 取引の長所に係る表示のみを強調し、短所に係る表示が目立ちにくい表示を行っていないか。 ",id:"U6GF1sBp"},{index:"II-2-1-2-2 主な着眼点 (2)",content:"③ 当該広告を画面上に表示して行う場合に、表示すべき事項の全てを判読するために必要な表示時間が確保されているか。16 ",id:"vdbXVudV"},{index:"II-2-1-2-2 主な着眼点",content:"(3)求められる体制",id:"pbSVsdNU"},{index:"II-2-1-2-2 主な着眼点 (3)",content:"① 不適切な広告の防止など、広告の取扱いに関する規定を規定した社内規則等を定め、担当役職員が社内規則等に基づき適切な取扱いを行うよう、社内研修等により周知徹底を図っているか。",id:"f4G50PTW"},{index:"II-2-1-2-2 主な着眼点 (3)",content:"② 法令を遵守する観点から、広告の審査を行う広告審査担当者が配置され、審査基準に基づいた適正な審査が実施されているか。",id:"wEhWyWoE"},{index:"II-2-1-3 禁止行為",content:"",id:"XonKhV10"},{index:"II-2-1-3-1",content:"意義法第63条の9の3は、暗号資産交換業者又はその役職員に対して、暗号資産交換契約の締結若しくはその勧誘をするに際し、又はその行う暗号資産交換業に関して広告をするに際しての不適切な行為及び暗号資産交換業の利用者の保護に欠け、又は暗号資産交換業の適正かつ確実な遂行に支障を及ぼすおそれがあるものとして内閣府令第20条で定める行為を行うことを禁止している。暗号資産交換業者の監督に当たっては、暗号資産交換業者又はその役職員による広告・勧誘や取引の受注等によって、利用者の利益が損なわれていないか、又、暗号資産交換業の適正かつ確実な遂行に支障が生じていないかを確認するため、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る勧誘及び広告等に関する規則」、「暗号資産交換業に係る受注管理態勢の整備に関する規則」等を踏まえつつ、例えば、以下の点に留意するものとする。",id:"6NQOxc24"},{index:"II-2-1-3-2 主な着眼点",content:"",id:"WcCvrzwF"},{index:"II-2-1-3-2 主な着眼点",content:"(1) 適合性原則",id:"tXXPEDaQ"},{index:"II-2-1-3-2 主な着眼点 (1)",content:"",id:"9QJPdnFK"},{index:"II-2-1-3-2 主な着眼点 (1)",content:"① 取引勧誘に当たっては、内閣府令第20条第6号に基づき、利用者の知識、経験、財産の状況、年齢、取引目的やリスク管理判断能力等に応じた取引内容や取引条件に留意の上、当該利用者属性等に即した適正な勧誘に努めるよう役職員に徹底しているか。",id:"IddkhIE9"},{index:"II-2-1-3-2 主な着眼点 (1)",content:"② 以下の点を含め、利用者の属性等及び取引実態を的確に把握し得る利用者管理態勢を構築しているか。",id:"oGMXG7B1"},{index:"II-2-1-3-2 主な着眼点 (1) ②",content:"イ. 利用者の取引目的や取引経験等の利用者属性等を適時適切に把握するため、利用者の取引目的や取引経験等の利用者属性等を十分確認の上、利用者情報として適切に記録・保存しているか。また、利用者の申出に基づき、利用者属性等が変化したことを把握した場合には、記録した利用者情報の内容の更新を行っているか。",id:"MN50ei0G"},{index:"II-2-1-3-2 主な着眼点 (1) ②",content:"ロ. 内部管理部門においては、利用者属性等の把握の状況及び利用者情報の管理の状況を把握するように努め、必要に応じて、利用者属性等に照らして適切な勧誘が行われているか等についての検証を行うとともに、利用者情報の管理方法の見直しを行う等、その実効性を確保する態勢構築に努めているか。",id:"MYzC34mW"},{index:"II-2-1-3-2 主な着眼点 (1) ②",content:"ハ. 利用者の取引実態の把握については、例えば、利用者口座ごとの売買損、評価損、17取引回数、手数料の状況等といった取引状況を、利用者の取引実態の把握の参考としているか。 ",id:"uMbOSxe7"},{index:"II-2-1-3-2 主な着眼点",content:"(2) 不招請勧誘の禁止",id:"sccemEBK"},{index:"II-2-1-3-2 主な着眼点 (2)",content:"① 不招請勧誘への該当性",id:"xYTDSRbv"},{index:"II-2-1-3-2 主な着眼点 (2) ①",content:"イ. 内閣府令第20条第3号に規定する「訪問し、又は電話をかけて、暗号資産交換契約の締結の勧誘をする行為」には、勧誘を行ってよいか否かを尋ねることが含まれる。",id:"8xYPVCV3"},{index:"II-2-1-3-2 主な着眼点 (2) ①",content:"ロ. 広告等を見た利用者が、暗号資産交換業者に対して電話等により、一般的な事項に関する照会や取引概要に関する資料請求を行ったことのみをもって、当該利用者が「暗号資産交換契約の締結の勧誘の要請」をしたとみなすことはできない。",id:"ALB29BJ0"},{index:"II-2-1-3-2 主な着眼点 (2) ① ロ",content:"(注)対面営業を行う場合には、かかる対面営業における勧誘が禁止されている不招請勧誘に該当しないかどうか監督上留意する必要がある。",id:"pccXlIzD",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/96e2ceb3-bba7-4035-98f0-be27dcfe5942"]},{index:"II-2-1-3-2 主な着眼点 (2)",content:"② 利用者からの招請状況等の把握",id:"g3TPZNur"},{index:"II-2-1-3-2 主な着眼点 (2) ②",content:"イ.利用者からの招請状況及び過去の取引実態等について、利用者情報として記録・保存する等により、適時の把握に努めるとともに、勧誘に当たっては、当該利用者からの招請状況及び過去の取引実態等に則した適正な勧誘に努めるよう役職員に徹底されているか。",id:"mK0npaAi"},{index:"II-2-1-3-2 主な着眼点 (2) ②",content:"ロ.利用者からの招請状況及び過去の取引実態等の利用者情報の管理について、具体的な取扱方法を定め、当該方法を役職員に周知徹底すること。特に、利用者情報については、守秘義務等の観点から十分に検討を行った上で取扱方法を定めているか。",id:"bnQUd0tu"},{index:"II-2-1-3-2 主な着眼点 (2) ②",content:"ハ.内部管理部門においては、利用者からの招請状況及び過去の取引実態等並びに利用者情報の管理の状況を把握するように努め、必要に応じて、適切な勧誘が行われているか等についての検証を行うとともに、利用者情報の管理方法の見直しを行う等、その実効性を確保する態勢の構築に努めているか。",id:"6pm7XvKf"},{index:"II-2-1-3-2 主な着眼点",content:"(3) 営業員管理態勢 ",id:"OlVNiRQH"},{index:"II-2-1-3-2 主な着眼点 (3)",content:"① 勧誘を行う役職員(以下「営業員」という。)を定めた上で、営業員による適正な勧誘を確保するために必要な業務上の指導及び教育を行うこととしているか。",id:"kln9V5CG"},{index:"II-2-1-3-2 主な着眼点 (3)",content:"② 内部管理部門において、営業員の勧誘の状況を把握・検証し、必要に応じて勧誘方法の見直しを行う等、営業員による適正な勧誘を確保する態勢を構築しているか。",id:"joelPUA9"},{index:"II-2-1-3-2 主な着眼点",content:"(4) 役職員による不公正な行為の防止に係る留意事項",id:"BqUZEYLW"},{index:"II-2-1-3-2 主な着眼点 (4)",content:"① 役職員による、暗号資産の売買又は他の暗号資産との交換その他の取引に係る社内規則を整備し、必要に応じて見直しを行う等、適切な内部管理態勢を構築しているか。",id:"TbfepNa4"},{index:"II-2-1-3-2 主な着眼点 (4)",content:"② 役職員による不公正な行為の防止に向け、職業倫理の強化、関係法令や社内規則の周知徹底等、法令遵守意識の強化に向けた取り組みを行っているか。",id:"mSjCufAY"},{index:"II-2-1-3-2 主な着眼点 (4)",content:" ③暗号資産関係情報(II-2-2-1-2(5)に規定する暗号資産関係情報をいう。以下同じ。)を入手し得る立場にある役職員による暗号資産の売買又は他の暗号資産との交換その他の取引の実態把握を行い、必要に応じてその方法の見直しを行う等、適切な措置を講じているか。",id:"5jgd3US1"},{index:"II-2-1-3-2 主な着眼点 (4)",content:"(注)役職員による不公正な行為とは、暗号資産関係情報を利用した内閣府令第20条第11号に該当する役職員の取引や、金融商品取引法第185条の22第1項、第185条の23第1項又は第185条の24第1項若しくは第2項に違反する役職員の取引を主に想定しているが、かかる取引に限られるものではなく、役職員による法令上禁止される行為を広く含む。",id:"mqkdNRVy"},{index:"II-2-1-3-2 主な着眼点",content:"(5) 禁止行為の内容",id:"tdCRwE6Y"},{index:"II-2-1-3-2 主な着眼点 (5)",content:"① 法第63条の9の3第1号及び第2号に規定する「暗号資産の性質等についてその相手方を誤認させるような表示」として、例えば、以下のものが考えられる。暗号資産の価格変動を理由に損失が発生するおそれがあるにも関わらず、これを誤認させるような表示・暗号資産の仕組み上、一定の期間、移転が制限されるにもかかわらず、これを誤認させるような表示・暗号資産の発行者の財務状況や発行者の行う事業の進捗状況等に関して、利用者を誤認させるような表示・いわゆるアルゴリズム型ステーブルコインや暗号資産担保型ステーブルコインなどのように、価値の安定が常に確保されていないにも関わらず、ステーブルコインと称してこれを誤認させるような表示",id:"vhCx24nW"},{index:"II-2-1-3-2 主な着眼点 (5) ①",content:"(注) このようなものの例として、法定通貨の交換比率が一定比率内に収まるよう、一定のアルゴリズムに基づいて相場介入を行うこと等によって、価値の安定を図るものや、暗号資産の価値を担保に発行することによって、暗号資産の価格と連動させて価値の安定を図るものがある。",id:"4i3L2aCy"},{index:"II-2-1-3-2 主な着眼点 (5)",content:`② 法第63条の9の3第3号に規定する「支払手段として利用する目的ではなく、専ら利益を図る目的で暗号資産の売買又は他の暗号資産との交換を行うことを助長するような表示」として、例えば、以下のものが考えられる。 ・暗号資産の価格の推移の実績及び将来予測を殊更強調することにより、明示的にあるいは暗にその取引による利益獲得を慫慂するような表示・暗号資産の売買又は他の暗号資産との交換等によって利益を得た者を紹介する等して、支払手段としてではなく射倖性を煽ることによりその取引を推奨する行為`,id:"cmpDeUYR"},{index:"II-2-1-3-2 主な着眼点 (5)",content:"③ 内閣府令第20条第1号に規定する「裏付けとなる合理的な根拠を示さないで、暗号資産の性質等に関する表示をする行為」として、例えば、以下のものが考えられる。",id:"HPavUb0H"},{index:"II-2-1-3-2 主な着眼点 (5) ③",content:"・偏った分析結果を利用して、暗号資産の価格の推移を予測する行為・暗号資産交換業者が取り扱う暗号資産であることを理由に、当該暗号資産が安全か19つリスクが低い旨の表示を行う行為・暗号資産交換業の登録を受けた者であることを理由に、財務状況等が健全である旨の表示を行う行為・商品の仕組として価値の安定が常に確保されておらず相場の変動などにより価値が急減する可能性があるにもかかわらず、価値の安定が確保されている旨の表示を行う行為",id:"dR2E3jkG"},{index:"II-2-1-3-2 主な着眼点 (5)",content:"④ 内閣府令第20条第13号に規定する「認定資金決済事業者協会の定款その他の規則に違反する行為であって、利用者の保護に欠け、又は暗号資産交換業の適正かつ確実な遂行に支障を及ぼすおそれがあるもの」として、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る勧誘及び広告等に関する規則」、「暗号資産交換業に係る受注管理態勢の整備に関する規則」等を踏まえると、例えば、以下の行為が考えられる。",id:"UTamOF7T"},{index:"II-2-1-3-2 主な着眼点 (5) ④",content:"・不特定かつ多数の利用者に対し、特定かつ少数の種類の暗号資産の交換等を一定期間継続して一斉にかつ過度に推奨する勧誘行為で、当該暗号資産の価格の形成を損なうおそれがある行為・利用者に対して、現に保有する暗号資産並びにカバー取引及び借入契約の締結その他の当該暗号資産の受渡しを確実にする措置が講じられている暗号資産の合計量を超えて、当該暗号資産の売却又は他の暗号資産と交換する行為・利用者等に対して特別の利益を提供又は保証する行為",id:"paFmVX6H"},{index:"II-2-1-3-2 主な着眼点 (5) ④",content:"(注) 利用者等に対して手数料等の軽減、景品類の提供、キャッシュバック等を行う行為は、直ちに「特別の利益」に該当するものではないが、条件が一定の基準に基づき設定され不当ではないこと、同様の取引条件にある利用者に対して同様の取扱いをすること、過大なものではないことなど、社会通念上妥当と認められる範囲内にとどまるよう留意する必要がある。",id:"RnTP7GcH"},{index:"II-2-1-3-2 主な着眼点 (5) ④",content:"・取引の勧誘及び受注に際して、偽計を用い、又は暴行若しくは脅迫を行う行為・公序良俗に照らして、不適切な場所等及び時間を利用して広告する行為・あらかじめ利用者の同意を得ずに、利用者の計算により取引を行う行為",id:"1onZNnW5"},{index:"II-2-1-4 取引時確認等の措置",content:"",id:"HC6bygez"},{index:"II-2-1-4-1",content:"意義犯罪による収益の移転防止に関する法律(平成19年法律第22号。以下「犯収法」という。)に基づく取引時確認、取引記録等の保存、疑わしい取引の届出等の措置(犯収法第11条に定める取引時確認等の措置をいう。以下「取引時確認等の措置」という。)に関する内部管理態勢を構築することは、組織犯罪による金融サービスの濫用を防止し、我が国金融市場に対する信頼を確保するためにも重要な意義を有している。暗号資産交換業者の監督に当たっては、リスクベース・アプローチを含む「マネー・ローンダリング及びテロ資金供与対策に関するガイドライン」(以下「マネロン・テロ資金供与対策ガイドライン」という。)の他、例えば、以下の点に留意するものとする。",id:"MviwF2L5"},{index:"II-2-1-4-1",content:"(注1)なお、情報通信技術の進展等の環境変化に対応するための銀行法等の一部を改正する法律(平成28年法律第62号)の施行前より暗号資産交換業者と取引関係にある既存の顧客は、取引時確認が未済の場合があるが、適切な顧客管理の観点から、暗号資産交換業者は、取引時確認未済者に対して、取引時確認手続を実施していくよう努める必要がある。",id:"0eEkPFne"},{index:"II-2-1-4-1",content:"(注2)取引時確認の取扱いについては、別途、犯収法に基づき、必要な措置をとることができることに留意する。",id:"4S1Byypn"},{index:"II-2-1-4-1",content:"(注3)リスクベース・アプローチとは、自己のマネー・ローンダリング及びテロ資金供与リスクを特定・評価し、これを実効的に低減するため、当該リスクに見合った対策を講ずることをいう。",id:"snXPdmOW"},{index:"II-2-1-4-2",content:"主な着眼点暗号資産交換業者の業務に関して、取引時確認等の措置及びマネロン・テロ資金供与対策ガイドライン記載の措置を的確に実施し、テロ資金供与やマネー・ローンダリングといった組織犯罪等に利用されることを防止するため、以下のような態勢が整備されているか。",id:"wxgvysYb"},{index:"II-2-1-4-2",content:"(1) 取引時確認等の措置及びマネロン・テロ資金供与対策ガイドライン記載の措置を的確に行うための一元的な管理態勢が整備され、機能しているか。特に、一元的な管理態勢の整備に当たっては、以下の措置を講じているか。",id:"SFKXrnpw"},{index:"II-2-1-4-2 (1)",content:"(注)取引時確認等の措置の的確な実施に当たっては、「犯罪収益移転防止法に関する留意事項について」(平成24年10月金融庁)を参考にすること。",id:"NYpuspKD"},{index:"II-2-1-4-2 (1)",content:"① 管理職レベルのテロ資金供与及びマネー・ローンダリング対策のコンプライアンス担当者など、犯収法第11条第3号の規定による統括管理者として、適切な者を選任・配置すること。",id:"47lafDJu"},{index:"II-2-1-4-2 (1)",content:"② テロ資金供与やマネー・ローンダリング等に利用されるリスクについて調査・分析し、その結果を勘案した措置を講じるために、以下のような対応を行うこと。",id:"4oetvOkC"},{index:"II-2-1-4-2 (1) ②",content:"イ.犯収法第3条第3項に基づき国家公安委員会が作成・公表する犯罪収益移転危険度調査書の内容を勘案し、取引・商品特性や取引形態、取引に関係する国・地域、顧客属性等の観点から、自らが行う取引がテロ資金供与やマネー・ローンダリング等に利用されるリスクについて適切に調査・分析した上で、その結果を記載した書面等(以下「特定事業者作成書面等」という。)を作成し、定期的に見直しを行うこと。",id:"JQtUKhtg"},{index:"II-2-1-4-2 (1) ②",content:"ロ.特定事業者作成書面等の内容を勘案し、必要な情報を収集・分析すること、並びに保存している確認記録及び取引記録等について継続的に精査すること。",id:"PyLGZ7P6"},{index:"II-2-1-4-2 (1) ②",content:"ハ.犯収法第4条第2項前段に定める厳格な顧客管理を行う必要性が特に高いと認められる取引若しくは犯罪による収益の移転防止に関する法律施行規則(以下「犯収法施行規則」という。)第5条に定める顧客管理を行う上で特別の注意を要する取引又はこれら以外の取引で犯罪収益移転危険度調査書の内容を勘案してテロ資金供与やマネ21ー・ローンダリング等の危険性の程度が高いと認められる取引(以下「高リスク取引」という。)を行う際には、統括管理者が承認を行い、また、情報の収集・分析を行った結果を記載した書面等を作成し、確認記録又は取引記録等と共に保存すること。",id:"cPwFhD7w",links:[{url:"anti_money_laundering_act/489d54a5",text:"犯収法第4条第2項"}]},{index:"II-2-1-4-2 (1) ②",content:"ニ.特定事業者作成書面等に基づく顧客リスク評価に応じた頻度による顧客情報の調査等、継続的顧客管理の方針を策定し、確実に当該方針を実行すること。また、顧客リスク評価は、定期的な見直しに加えて、同評価に影響を与える事象が発生した際に、顧客リスク評価を随時見直すこと。",id:"pAO1LafP"},{index:"II-2-1-4-2 (1)",content:"③ 特定事業者作成書面等も踏まえつつ、リスクに応じた適切な取引時確認の方法を採用すること。また、テロ資金供与やマネー・ローンダリング、金融サービスの不正利用といった組織犯罪等の手法や態様の高度化・巧妙化を含めた環境変化や自社又は他の事業者における事件の発生状況を踏まえ、定期的かつ適時にリスクを認識・評価し、公的個人認証の導入を含め、取引時確認の向上を図ること。",id:"jciKFAqk"},{index:"II-2-1-4-2 (1)",content:"④ 取引時確認時等において、犯収法上の取引時確認義務の履行に加えて、我が国を含め関係各国による制裁リスト等を照合するなど、受け入れる顧客のスクリーニングを適切に行うこと。また、各種リスト更新時には再スクリーニングを実施すること。",id:"nTTJFTYN"},{index:"II-2-1-4-2 (1)",content:"⑤ 適切な従業員採用方針や顧客受入方針を策定すること。",id:"0bFCk40n"},{index:"II-2-1-4-2 (1)",content:"⑥ 必要な監査を実施すること。",id:"ZiejagYr"},{index:"II-2-1-4-2 (1)",content:"⑦ 取引時確認等の措置を含む顧客管理方法について、マニュアル等の作成・従業員に対する周知を行うとともに、従業員がその適切な運用が可能となるように、適切かつ継続的な研修を行うこと。",id:"S6vMQyWr"},{index:"II-2-1-4-2 (1)",content:"⑧ 取引時確認や疑わしい取引の検出を含め、従業員が発見した組織的犯罪による金融サービスの濫用に関連する事案についての適切な報告態勢(方針・方法・情報管理体制等)を整備すること。",id:"ujf81NKu"},{index:"II-2-1-4-2",content:"(2) 法人顧客との取引における実質的支配者の確認や、外国PEPs",id:"rYcT46dA"},{index:"II-2-1-4-2 (2)",content:"(注)該当性の確認、個人番号や基礎年金番号の取扱いを含む本人確認書類の適正な取扱いなど、取引時確認を適正に実施するための態勢が整備されているか。",id:"wNjqXeHf"},{index:"II-2-1-4-2 (2)",content:"(注)犯罪による収益の移転防止に関する法律施行令(以下「犯収法施行令」という。)第12条第3項各号及び犯収法施行規則第15条各号に掲げる外国の元首及び外国政府等において重要な地位を占める者等をいう。とりわけ、犯収法第4条第2項前段及び犯収法施行令第12条各項に定める、下記イ.~ニ.のような厳格な顧客管理を行う必要性が特に高いと認められる取引を行う場合には、顧客の本人特定事項を、通常と同様の方法に加え、追加で本人確認書類又は補完書類の提示を受ける等、通常の取引よりも厳格な方法で確認するなど、適正に(再)取引時確認を行う態勢が整備されているか。また、資産及び収入の状況の確認が義務づけられている場合について、適正に確認を行う態勢が整備されているか。",id:"mqg7CKwt",links:[{url:"anti_money_laundering_act/489d54a5",text:"犯収法第4条第2項"}]},{index:"II-2-1-4-2 (2) (注)",content:"イ.取引の相手方が関連取引時確認に係る顧客等又は代表者等になりすましている疑い22がある場合における当該取引",id:"kquuZRyH"},{index:"II-2-1-4-2 (2) (注)",content:"ロ.関連取引時確認が行われた際に当該関連取引時確認に係る事項を偽っていた疑いがある顧客等との取引",id:"nb6h2ZrE"},{index:"II-2-1-4-2 (2) (注)",content:"ハ.犯収法施行令第12条第2項に定める、犯罪による収益の移転防止に関する制度の整備が十分に行われていないと認められる国又は地域に居住し又は所在する顧客等との取引等",id:"gvzo8Dpr"},{index:"II-2-1-4-2 (2) (注)",content:"ニ.外国PEPsに該当する顧客等との取引このほか、敷居値以下であるが1回当たりの取引の金額を減少させるために一の取引を分割したものであることが一見して明らかな取引(犯収法施行令第7条第3項各号に掲げる取引に限る。)については、特定取引とみなして、取引時確認を適切に実施することとしているか。",id:"r3oRgAjc"},{index:"II-2-1-4-2",content:"(3) 疑わしい取引の届出を行うに当たって、顧客の属性、取引時の状況その他暗号資産交換業者の保有している当該取引に係る具体的な情報を総合的に勘案した上で、犯収法第8条第2項及び犯収法施行規則第26条、第27条に基づく適切な検討・判断が行われる態勢が整備されているか。当該態勢整備に当たっては、特に以下の点に十分留意しているか。",id:"HqusNb99"},{index:"II-2-1-4-2 (3)",content:"① 暗号資産交換業者の行っている業務内容・業容に応じて、システム、マニュアル等により、疑わしい顧客や取引等を検出・監視・分析する態勢を構築すること。",id:"MIUv58qa"},{index:"II-2-1-4-2 (3)",content:"② 犯罪収益移転危険度調査書の内容を勘案の上、国籍(例:FATFが公表するマネー・ローンダリング対策に非協力的な国・地域)、外国PEPs該当性、顧客が行っている事業等の顧客の属性、顧客の属性に照らした取引金額・回数等の取引態様その他の事情を十分考慮すること。また、既存顧客との継続取引や高リスク取引等の取引区分に応じて、適切に確認・判断を行うこと。",id:"bpwkIIKa"},{index:"II-2-1-4-2 (3) ②",content:"(注1)疑わしい取引の届出の検討・判断に当たっては「疑わしい取引の参考事例」(金融庁ホームページ参照)も参考にすること。",id:"sBtiuQQH"},{index:"II-2-1-4-2 (3) ②",content:"(注2)
①の態勢構築に当たりブロックチェーン分析ツールを導入する場合には、②において、顧客が保有するアドレス等を通じて行われたブロックチェーン上の取引の態様も考慮すること。",id:"g3kJg0kv"},{index:"II-2-1-4-2",content:"(4) 暗号資産の交換等や暗号資産の移転(法第2条第15項に規定する暗号資産の交換等に伴うものを除く。以下同じ。)を他の暗号資産交換業者及び国外の事業者(以下「取引業者等」という。)との間で行う場合、取引業者等との間で暗号資産の移転について委託又は受託する旨の契約を締結する場合、取引業者等に対して自社における口座開設を許諾する場合又は自社が開発したシステムを取引業者等が使用することを許諾する場合その他の提携を行う場合には、犯収法第10条の4及び第11条、犯収法施行規則第31条の5及び第32条並びにマネロン・テロ資金供与対策ガイドラインに基づき、以下の態勢が整備23されているか。",id:"ZITkFzod"},{index:"II-2-1-4-2 (4)",content:"(注)これらに係る契約(外国所在暗号資産交換業者と締結する場合に限る。)は、犯収法第10条の4の「外国所在暗号資産交換業者との間で、暗号資産の移転を継続的に又は反復して行うことを内容とする契約」に該当することがある点に留意すること。",id:"iZDK0pcL"},{index:"II-2-1-4-2 (4)",content:"① 当該取引業者等の顧客基盤、業務内容、テロ資金供与やマネー・ローンダリングを防止するための体制整備の状況及び国外の取引業者については現地における監督当局の当該取引業者に対する監督体制等について情報収集し、取引業者のテロ資金供与やマネー・ローンダリング等に利用されるリスクを適正に評価すること。さらに、これを定期的に見直すほか、テロ資金供与及びマネー・ローンダリング対策に重大な影響を及ぼし得る新たな事象の発生等に際し、必要に応じ、リスク評価を見直すこと。",id:"Pamsva59"},{index:"II-2-1-4-2 (4)",content:"② 統括管理者による承認を含め、取引業者との間の取引に係る契約の締結・継続を適切に審査・判断するなど、適切なリスク低減措置を講じること。",id:"UCYjSAxV"},{index:"II-2-1-4-2 (4)",content:"③ テロ資金供与やマネー・ローンダリングの防止に関する取引業者との間の責任・役割分担について、文書化する等して明確化すること。",id:"ukDBVhCz"},{index:"II-2-1-4-2 (4)",content:"④ 取引業者等が営業実態のない架空の事業体(いわゆるシェルカンパニー、フロントカンパニー等)でないこと、及び取引業者等がその保有する口座を架空の事業体に利用させないことについて確認すること。また、確認の結果、取引業者等が架空の事業体であった場合又は取引業者等がその保有する口座を架空の事業体に利用されることを許容していた場合、当該取引業者等との契約の締結・継続を遮断すること。",id:"RoQeh9X1"},{index:"II-2-1-4-2",content:"(5) 他社との提携によりサービスの提供を行う場合や、暗号資産交換業に係る業務の一部を委託する場合には、マネロン・テロ資金供与対策ガイドラインに基づき、以下の態勢が整備されているか。なお、当該提携先及び委託先(以下「提携先等」という。)が特定事業者の場合には、上記(4)に掲げる事項を参照のこと。",id:"JRsFZJNm"},{index:"II-2-1-4-2 (5)",content:"① 提携先等の顧客基盤、業務内容、テロ資金供与やマネー・ローンダリングを防止するための体制整備の状況について情報収集し、提携先等のテロ資金供与やマネー・ローンダリング等に利用されるリスクを適正に評価すること。さらに、これを定期的に見直すほか、テロ資金供与及びマネー・ローンダリング対策に重大な影響を及ぼし得る新たな事象の発生等に際し、必要に応じ、リスク評価を見直すこと。",id:"zQq9nhHb"},{index:"II-2-1-4-2 (5)",content:"② 提携先等との契約の締結・継続を適切に審査・判断するなど、適切なリスク低減措置を講じること。",id:"vqsisK64"},{index:"II-2-1-4-2 (5)",content:"③ 提携先等とのテロ資金供与やマネー・ローンダリングの防止に関する責任分担について文書化する等して明確にすること。",id:"8cvjUzWD"},{index:"II-2-1-4-2",content:"(6) 暗号資産交換業に係る取引の不正利用等を防止するため、現金の支払や法第2条第15項に規定する暗号資産の交換等を継続的に若しくは反復して行うこと又は同項第3号若しくは第4号の行為を行うことを内容とする契約(以下「口座開設契約等」という。)の24締結その他の暗号資産交換業者の特定取引に当たって、必要に応じ、取引時確認を実施するなど、暗号資産交換業に係る取引の不正利用による被害防止のあり方について検討を行い、必要な措置を講じているか。特に、内閣府令第23条第1項第2号に基づき、暗号資産交換業に係る取引について、捜査機関等から当該暗号資産交換業に係る取引が詐欺等の犯罪行為に利用された旨の情報の提供があることその他の事情を勘案して、犯罪行為が行われた疑いがある場合について、以下の態勢を整備する必要がある。",id:"PalRpDKR"},{index:"II-2-1-4-2 (6)",content:"① 犯罪行為に利用された疑いのある当該暗号資産交換業に係る取引を速やかに停止するための態勢",id:"qlMOm290"},{index:"II-2-1-4-2 (6)",content:"② 口座開設契約等を締結している者が当該契約を犯罪行為に利用していると疑われる場合には、当該者に対する資金の払出しを停止するための態勢",id:"wQWRqCSg"},{index:"II-2-1-4-2 (6)",content:"(注) ①又は②に基づき、暗号資産交換業に係る取引や資金の払出しを停止した場合であって、かつ、当該暗号資産交換業に係る取引が犯罪行為に利用されたと認めるに足りる相当な理由がある場合又は口座開設契約等を締結している者が当該契約を犯罪行為に利用していると認めるに足りる相当な理由がある場合には、暗号資産交換業者の管理下にある当該暗号資産交換業に係る取引に関する資金及び暗号資産並びに資金の払出しに関する資金を被害者に返金若しくは返戻する等の被害回復のための措置を講じることが望ましい。",id:"VcQD1zzU"},{index:"II-2-1-4-2",content:"(7) 暗号資産交換業に係る取引の不正利用に関する裁判所からの調査嘱託や弁護士法に基づく照会等に対して、個々の具体的事案毎に、暗号資産交換業者に課せられた守秘義務も勘案しながら、これらの制度の趣旨に沿って、適切な判断を行う態勢が整備されているか。",id:"ldckW1SA"},{index:"II-2-1-4-2",content:"(8) 海外営業拠点(支店、現地法人等)のテロ資金供与及びマネー・ローンダリング対策を的確に実施するための態勢が整備されているか。",id:"OSXnrQRF"},{index:"II-2-1-4-2 (8)",content:"① 海外営業拠点においても、適用される現地の法令等が認める限度において、国内におけるのと同水準で、テロ資金供与及びマネー・ローンダリング対策を適切に行っているか。",id:"laGAAhi3"},{index:"II-2-1-4-2 (8) ①",content:"(注)特に、FATF勧告を適用していない又は適用が不十分である国・地域に所在する海外営業拠点においても、国内におけるのと同水準の態勢の整備が求められることに留意する必要がある。",id:"ARtmxl0l"},{index:"II-2-1-4-2 (8)",content:"② 現地のテロ資金供与及びマネー・ローンダリング対策のために求められる義務の基準が、国内よりも高い基準である場合、海外営業拠点は現地のより高い基準に即した対応を行っているか。",id:"El6BZB1R"},{index:"II-2-1-4-2 (8)",content:"③ 適用される現地の法令等で禁止されているため、海外営業拠点が国内におけるのと同水準の適切なテロ資金供与及びマネー・ローンダリング対策を講じることができない場合には、以下のような事項を速やかに金融庁又は本店所在地を管轄する財務局に情報提25供しているか。",id:"Jvh5LDEr"},{index:"II-2-1-4-2 (8) ③",content:"・当該国・地域・テロ資金供与及びマネー・ローンダリング対策を講じることができない具体的な理由・テロ資金供与及びマネー・ローンダリングに利用されることを防止するための代替措置を取っている場合には、その内容",id:"yrI8XOak"},{index:"II-2-1-4-2",content:"(9) 犯収法施行令第7条第1項第1号ク及びヤに掲げる取引を行う場合には、合理的と認められる換算基準により、当該取引に係る暗号資産を本邦通貨である円に換算して、取引時確認等の措置を的確に実施しているか。換算については、継続適用を条件として、例えば次のような方法によることが考えられる。",id:"MTulDh1s"},{index:"II-2-1-4-2 (9)",content:"① 暗号資産の交換等当該交換等の対象となる暗号資産の相場(相場がない暗号資産同士の交換を行う場合には、当該暗号資産と交換可能な暗号資産であって、本邦通貨又は外国通貨と交換可能なものの相場)を用いて換算する方法",id:"CpIjurFf"},{index:"II-2-1-4-2 (9)",content:"② 暗号資産の移転当該移転の対象となる暗号資産の相場(相場がない暗号資産の移転を行う場合には、当該暗号資産と交換可能な暗号資産であって、本邦通貨又は外国通貨と交換可能なものの相場)を用いて換算する方法なお、上記",id:"YwHJpGKj"},{index:"II-2-1-4-2 (9)",content:"①・②に掲げる暗号資産の相場については、取引時点における実勢相場のほか、例えば、次のような相場が考えられる。
・取引日の属する月若しくは週の前月若しくは前週の末日又は当月若しくは当週の初日の相場・取引日の属する月の前月又は前週の平均相場のように1月以内の一定期間における相場",id:"er5L4W9V"},{index:"II-2-1-4-2",content:"(10) 顧客から依頼を受けて暗号資産の移転を行うに際し、他の暗号資産交換業者又は外国暗号資産交換業者(法第2条第17項に規定する外国暗号資産交換業者をいい、犯収法施行令で定める国又は地域に所在するものを除く。以下併せて「他の暗号資産交換業者等」という。)に対し暗号資産の移転に係る通知を行う場合(いわゆるトラベルルール)において、犯収法第10条の5及び第11条、犯収法施行規則第31条の7及び第32条並びにマネロン・テロ資金供与対策ガイドラインに基づき、以下に掲げる点に留意して、暗号資産の移転に係る通知等が行われているか。",id:"IhuNSCEo"},{index:"II-2-1-4-2 (10)",content:"イ.暗号資産の移転に関する事務規定において、犯収法第10条の5が求めている、顧客及び受取顧客に係る本人特定事項その他の事項(以下「法定通知事項」という。)を正確に通知するための事務手順を規定すること。",id:"JTaztsIz"},{index:"II-2-1-4-2 (10)",content:"ロ.他の暗号資産交換業者等が暗号資産の移転に係るリスクを適切に認識できるよう、暗号資産交換業者は法定通知事項を正確に通知する態勢を整備すること。",id:"WILt9V0T"},{index:"II-2-1-4-2 (10)",content:"ハ.暗号資産の移転に係る通知義務の履行においては、コンプライアンス、システム、コールセンター等の関係部門間を調整し、通知義務に関する犯収法の規定を遵守する態勢を整備すること。",id:"YgVvO7Pd"},{index:"II-2-1-4-2 (10)",content:"ニ.顧客から暗号資産の移転の依頼を受ける暗号資産交換業者の部門は、通知事項を適切に把握し、また、暗号資産の移転に係る事務を行う部門は、上記イに掲げる事務手順を踏まえて顧客から暗号資産の移転の依頼を受ける部門が把握した法定通知事項を正確に通知すること。",id:"O27iNZDv"},{index:"II-2-1-4-2 (10)",content:"ホ.暗号資産交換業者が、法定通知事項の通知を他の暗号資産交換業者等に委託して暗号資産の移転を行う場合においては、顧客との間で暗号資産の移転を行う暗号資産交換業者が通知義務を負っているとの認識の下、受託者との間において、通知義務を確実に履行するための取決め等を締結し、当該取決め等に基づき、受託者による通知の実施状況を適切に確認すること。",id:"OPe3w1bY"},{index:"II-2-1-4-2 (10)",content:"へ.他の暗号資産交換業者等が取次ぐ顧客からの暗号資産の移転を暗号資産交換業者が受託して行う場合において、当該暗号資産交換業者が通知義務を負っているとの認識の下、通知義務の履行のために必要な情報を確実に取得するための取決め等を締結し、当該取決め等に基づき、当該他の暗号資産交換業者等による法定通知事項の把握状況を定期的にモニタリングすること。",id:"ZkyZlj4a"},{index:"II-2-1-4-2 (10)",content:"ト.通知事項に係る記録を犯収法の定めるところに従って適切に保存していること。",id:"ORoDMNAG"},{index:"II-2-1-4-2 (10)",content:"チ.暗号資産交換業者の経営陣は、暗号資産の移転に係る通知義務の履行状況を正確に把握すること。",id:"M5V56FWh"},{index:"II-2-1-4-2 (10)",content:"リ.暗号資産交換業者は、暗号資産の移転に係る通知義務に関する犯収法を遵守するための事務手続や組織体制の有効性を適時適切に検証し、必要に応じて見直しを行うこと。",id:"eCHHoak7"},{index:"II-2-1-4-2 (10)",content:"ヌ.暗号資産の移転に係る通知義務に関する犯収法の遵守状況に関し、必要に応じ、取締役会等は報告を受け、取締役会等は、当該報告に基づき、暗号資産の移転に係る通知義務に関する犯収法を遵守するための態勢整備等につき適切な意思決定を行うこと。",id:"QAOYkKaj"},{index:"II-2-1-4-2",content:"(11) 暗号資産交換業者が行う暗号資産の移転に係る取引が、他の暗号資産交換業者等が管理していないウォレット等の犯収法第10条の5に規定する通知義務の対象外のウォレット(以下「アンホステッド・ウォレット等」という。)との取引等であり、トラベルルールに基づく通知を伴わない場合(犯収法施行規則第24条第9号ハ又はニに掲げる場合に該当するとき)には、その匿名性や移転の制限がないことから、テロ資金供与やマネー・ローンダリング等に利用されるリスクが一般的に高いと考えられる。そのため、アンホステッド・ウォレット等との取引を行う場合には、その取引の頻度、取り扱う暗号資産の性質などを踏まえて、テロ資金供与やマネー・ローンダリング等に利用されるリスクを特定・評価し、当該リスクに応じた適切な態勢を整備することが求められ、特に以下の措置を講じているか。",id:"tjpNW0jJ"},{index:"II-2-1-4-2 (11)",content:"(注)アンホステッド・ウォレット等には、利用者が自ら管理するウォレットであるいわゆるアンホステッド・ウォレットのほか、無登録業者の管理するウォレット、我が国の通知義務に相当する義務が課されていない国又は地域に所在する外国暗号資産交換業者の管理するウォレットその他の通知義務の対象とならないウォレットを含む(トラベルルールに基づく通知が必要であるにも関わらず、通知を伴わない場合についても同様)。",id:"ryZCKIyC"},{index:"II-2-1-4-2 (11)",content:"① 犯収法第7条第1項及び第11条並びに犯収法施行規則第24条及び第32条に基づき、犯収法施行規則第31条の7第1項に定める事項に相当する事項を収集し、記録しているか(アンホステッド・ウォレット等から暗号資産を受け取る場合には、暗号資産交換業者が知り得た事項に限る)。",id:"heGP74an"},{index:"II-2-1-4-2 (11)",content:"② 犯収法第11条及び犯収法施行規則第32条に基づき、アンホステッド・ウォレット等との取引を行う場合には、当該アンホステッド・ウォレット等の属性について、調査・分析を行い、そのリスクを評価しているか。",id:"Asz9QslI"},{index:"II-2-1-4-2 (11)",content:"③ ②に加え、特に送金・決済手段として広く利用・取引される可能性がある暗号資産については、当該性質を踏まえたリスクを特定・評価し、当該リスクに応じた適切な態勢整備が必要であり、例えば、以下の態勢を整備しているか。",id:"KdxLNVOv"},{index:"II-2-1-4-2 (11) ③",content:"・経営陣は、アンホステッド・ウォレット等との取引について、テロ資金供与やマネー・ローンダリング等に利用されるリスクを低減し、定期的にその有効性を検証する態勢を整備するとともに、法令等遵守・リスク管理事項として、当該リスクの低減を明確に位置づけているか。",id:"5ixPTZvG"},{index:"II-2-1-4-2 (11) ③",content:"・アンホステッド・ウォレット等との取引を監視・分析するにあたって、ブロックチェーンを検証等することによりリスクを把握しているか。",id:"MKX2ZJhw"},{index:"II-2-1-4-2 (11) ③",content:"・アンホステッド・ウォレット等との取引を行う利用者や自らの調査を通じて、アンホステッド・ウォレット等に関する情報を適切に取得することとしているか。具体的には、アンホステッド・ウォレット等に暗号資産を移転する場合、移転先のアンホステッド・ウォレット等の情報を利用者等から取得し、疑わしい取引と判断した場合には、利用者に暗号資産を移転させない対応が可能な態勢を整備しているか。また、アンホステッド・ウォレット等から暗号資産を受け取る場合、アンホステッド・ウォレット等の情報を利用者等から取得し、疑わしい取引と判断した場合には、受領した暗号資産を利用者に利用させない対応が可能な態勢を整備しているか。",id:"RNJtVK6t"},{index:"II-2-1-5 反社会的勢力による被害の防止",content:"",id:"nUwhI4ut"},{index:"II-2-1-5-1",content:"意義反社会的勢力を社会から排除していくことは、社会の秩序や安全を確保する上で極めて重要な課題であり、反社会的勢力との関係を遮断するための取組みを推進していくことは、企業にとって社会的責任を果たす観点から必要かつ重要なことである。暗号資産交換業者においても、暗号資産交換業者自身や役職員のみならず、利用者等の様々なステークホル28ダーが被害を受けることを防止するため、反社会的勢力を金融取引から排除していくことが求められる。もとより暗号資産交換業者として業務の適切性を確保するためには、反社会的勢力に対して屈することなく法令等に則して対応することが不可欠であり、「企業が反社会的勢力による被害を防止するための指針について」(平成19年6月19日犯罪対策閣僚会議幹事会申合せ)の趣旨を踏まえ、平素より、反社会的勢力との関係遮断に向けた態勢整備に取り組む必要がある。特に、近時反社会的勢力の資金獲得活動が巧妙化しており、関係企業を使い通常の経済取引を装って巧みに取引関係を構築し、後々トラブルとなる事例も見られる。こうしたケースにおいては経営陣の断固たる対応、具体的な対応が必要である。なお、役職員の安全が脅かされる等、不測の事態が危惧されることを口実に問題解決に向けた具体的な取組みを遅らせることは、かえって暗号資産交換業者や役職員自身等への最終的な被害を大きくし得ることに留意する必要がある。(参考)「企業が反社会的勢力による被害を防止するための指針について」(平成19年6月19日犯罪対策閣僚会議幹事会申合せ)",id:"xGvZUowZ"},{index:"II-2-1-5-1",content:"① 反社会的勢力による被害を防止するための基本原則○組織としての対応○外部専門機関との連携○取引を含めた一切の関係遮断○有事における民事と刑事の法的対応○裏取引や資金提供の禁止",id:"iKYVWW9c"},{index:"II-2-1-5-1",content:"② 反社会的勢力のとらえ方暴力、威力と詐欺的手法を駆使して経済的利益を追求する集団又は個人である「反社会的勢力」をとらえるに際しては、暴力団、暴力団関係企業、総会屋、社会運動標榜ゴロ、政治活動標榜ゴロ、特殊知能暴力集団等といった属性要件に着目するとともに、暴力的な要求行為、法的な責任を超えた不当な要求といった行為要件にも着目することが重要である(平成23年12月22日付警察庁次長通達「組織犯罪対策要綱」参照)。",id:"NpeU06D6"},{index:"II-2-1-5-2",content:"主な着眼点反社会的勢力とは一切の関係をもたず、反社会的勢力であることを知らずに関係を有してしまった場合には、相手方が反社会的勢力であると判明した時点で可能な限り速やかに関係を解消するための態勢整備及び反社会的勢力による不当要求に適切に対応するための態勢整備の検証については、個々の取引状況等を考慮しつつ、例えば以下のような点に留意することとする。",id:"CBrCrPYO"},{index:"II-2-1-5-2",content:"(1) 組織としての対応反社会的勢力との関係の遮断に組織的に対応する必要性・重要性を踏まえ、担当者や担29当部署だけに任せることなく取締役等の経営陣が適切に関与し、組織として対応することとしているか。また、暗号資産交換業者単体のみならず、暗号資産交換業における反社会的勢力との関係遮断のため、グループ一体となって、反社会的勢力の排除に取り組むこととしているか。さらに、グループ外の他社へ業務を委託することにより暗号資産交換業に係る取引の提供を行う場合やグループ外の他社との提携によりサービスを提供する場合においても、反社会的勢力の排除に取り組むこととしているか。",id:"xs4tU50f"},{index:"II-2-1-5-2",content:"(2) 反社会的勢力対応部署による一元的な管理態勢の構築反社会的勢力との関係を遮断するための対応を総括する部署(以下「反社会的勢力対応部署」という。)を整備し、反社会的勢力による被害を防止するための一元的な管理態勢が構築され、機能しているか。特に、一元的な管理態勢の構築に当たっては、以下の点に十分留意しているか。",id:"QX23rnp6"},{index:"II-2-1-5-2 (2)",content:"① 反社会的勢力対応部署において反社会的勢力に関する情報を積極的に収集・分析するとともに、当該情報を一元的に管理したデータベースを構築し、適切に更新(情報の追加、削除、変更等)する体制となっているか。また、当該情報の収集・分析等に際しては、グループ内で情報の共有に努め、警察・暴力追放運動推進センター・弁護士等(以下「外部専門機関等」という。)の外部専門機関等から提供された情報を積極的に活用しているか。さらに、当該情報を取引先の審査や当該暗号資産交換業者における株主の属性判断等を行う際に、適切に活用する体制となっているか。",id:"5bjI3hLY"},{index:"II-2-1-5-2 (2)",content:"② 反社会的勢力対応部署において対応マニュアルの整備や継続的な研修活動、外部専門機関との平素からの緊密な連携体制の構築を行うなど、反社会的勢力との関係を遮断するための取組みの実効性を確保する体制となっているか。特に、平素より警察とのパイプを強化し、組織的な連絡体制と問題発生時の協力体制を構築することにより、脅迫・暴力行為の危険性が高く緊急を要する場合には直ちに警察に通報する体制となっているか。",id:"wkD3D3Y9"},{index:"II-2-1-5-2 (2)",content:"③ 反社会的勢力との取引が判明した場合及び反社会的勢力による不当要求がなされた場合等において、当該情報を反社会的勢力対応部署へ迅速かつ適切に報告・相談する体制となっているか。また、反社会的勢力対応部署は、当該情報を迅速かつ適切に経営陣に対し報告する体制となっているか。さらに、反社会的勢力対応部署において実際に反社会的勢力に対応する担当者の安全を確保し担当部署を支援する体制となっているか。",id:"kzhWq8Ls"},{index:"II-2-1-5-2",content:"(3) 適切な事前審査の実施反社会的勢力との取引を未然に防止するため、反社会的勢力に関する情報等を活用した適切な事前審査を実施するとともに、契約書や取引約款への暴力団排除条項の導入を徹底するなど、反社会的勢力が取引先となることを防止しているか。",id:"yELabpub"},{index:"II-2-1-5-2",content:"(4) 適切な事後検証の実施30反社会的勢力との関係遮断を徹底する観点から、既存の契約の適切な事後検証を行うための態勢が整備されているか。",id:"gMofU0pO"},{index:"II-2-1-5-2",content:"(5) 反社会的勢力との取引解消に向けた取組み",id:"gM8sy0pO"},{index:"II-2-1-5-2 (5)",content:"① 反社会的勢力との取引が判明した旨の情報が反社会的勢力対応部署を経由して迅速かつ適切に取締役等の経営陣に報告され、経営陣の適切な指示・関与のもと対応を行うこととしているか。",id:"g8fy70pO"},{index:"II-2-1-5-2 (5)",content:"② 平素から外部専門機関等と緊密に連携しつつ、反社会的勢力との取引の解消を推進しているか。",id:"XHqhwoDm"},{index:"II-2-1-5-2 (5)",content:"③ 事後検証の実施等により、取引開始後に取引の相手方が反社会的勢力であると判明した場合には、関係の遮断を図るなど、反社会的勢力への利益供与にならないよう配意しているか。",id:"ckOldsRz"},{index:"II-2-1-5-2 (5)",content:"④ いかなる理由であれ、反社会的勢力であることが判明した場合には、資金提供や不適切・異例な取引を行わない態勢を整備しているか。",id:"lFQFC65G"},{index:"II-2-1-5-2",content:"(6) 反社会的勢力による不当要求への対処",id:"MtfL6We4"},{index:"II-2-1-5-2 (6)",content:"① 反社会的勢力により不当要求がなされた旨の情報が反社会的勢力対応部署を経由して迅速かつ適切に取締役等の経営陣に報告され、経営陣の適切な指示・関与のもと対応を行うこととしているか。",id:"9SpJArWY"},{index:"II-2-1-5-2 (6)",content:"② 反社会的勢力からの不当要求があった場合には積極的に外部専門機関等に相談するとともに、暴力追放運動推進センター等が示している不当要求対応要領等を踏まえた対応を行うこととしているか。特に、脅迫・暴力行為の危険性が高く緊急を要する場合には直ちに警察に通報を行うこととしているか。",id:"YRhthXIj"},{index:"II-2-1-5-2 (6)",content:"③ 反社会的勢力からの不当要求に対しては、あらゆる民事上の法的対抗手段を講ずるとともに、積極的に被害届を提出するなど、刑事事件化も躊躇しない対応を行うこととしているか。",id:"cs1Uworr"},{index:"II-2-1-5-2 (6)",content:"④ 反社会的勢力からの不当要求が、事業活動上の不祥事や役職員の不祥事を理由とする場合には、反社会的勢力対応部署の要請を受けて、不祥事案を担当する部署が速やかに事実関係を調査することとしているか。",id:"X7U3A25P"},{index:"II-2-1-5-2",content:"(7) 株主情報の管理定期的に自社株の取引状況や株主の属性情報等を確認するなど、株主情報の管理を適切に行っているか。",id:"qLkXDh7a"},{index:"II-2-1-6 不祥事件に対する監督上の対応",content:"",id:"ifItQS1A"},{index:"II-2-1-6-1",content:"意義内閣府令第42条に規定する「取締役等又は従業者に暗号資産交換業に関し法令に違反31する行為又は暗号資産交換業の適正かつ確実な遂行に支障を来す行為」(以下「不祥事件」という。)が発生した場合の監督上の対応については、以下のとおり取り扱うこととする。なお、不祥事件とは、暗号資産交換業の業務に関し法令に違反する行為のほか、次に掲げる行為等が該当する。",id:"YZTTiK5E"},{index:"II-2-1-6-1",content:"・暗号資産交換業の業務に関し、利用者の利益を損なうおそれのある詐欺、横領、背任等・暗号資産交換業の業務に関し、利用者から告訴、告発され又は検挙された行為・その他暗号資産交換業の業務の適正かつ確実な遂行に支障を来す行為又はそのおそれのある行為であって、上記に掲げる行為に準ずるもの・自己の暗号資産や、暗号資産交換業の業務に基づき管理している利用者の暗号資産の外部への流出",id:"MjMOHqTo"},{index:"II-2-1-6-2 主な着眼点",content:"① 暗号資産交換業者において不祥事件が発覚し、当該暗号資産交換業者から第一報があった場合は、事実関係(当該行為が発生した営業所、当該行為者の氏名・職名・職歴、当該行為の概要、発覚年月日、発生期間、発覚の端緒)、発生原因分析、改善・対応策等について深度あるヒアリングを実施するとともに、以下の点を確認するものとする。なお、暗号資産交換業者から第一報がなく届出書の提出があった場合にも、同様の取扱いとする。",id:"KFImggRa"},{index:"II-2-1-6-2",content:"① 暗号資産交換業者において不祥事件が発覚し、当該暗号資産交換業者から第一報があった場合は、事実関係(当該行為が発生した営業所、当該行為者の氏名・職名・職歴、当該行為の概要、発覚年月日、発生期間、発覚の端緒)、発生原因分析、改善・対応策等について深度あるヒアリングを実施するとともに、以下の点を確認するものとする。なお、暗号資産交換業者から第一報がなく届出書の提出があった場合にも、同様の取扱いとする。",id:"gjWyWAFB"},{index:"II-2-1-6-2 ①",content:"イ.社内規則等に則った内部管理部門への迅速な報告及び経営陣への報告。",id:"cinSThfx"},{index:"II-2-1-6-2 ①",content:"ロ.刑罰法令に抵触しているおそれのある事実については、警察等関係機関等への通報。",id:"8SfZJXEJ"},{index:"II-2-1-6-2 ①",content:"ハ.独立した部署(内部監査部門等)での不祥事件の調査・解明の実施。",id:"lynNlvS8"},{index:"II-2-1-6-2",content:"② 不祥事件と暗号資産交換業者の業務の適切性の関係については、以下の着眼点に基づき検証を行うこととする。",id:"hwVj34Rj"},{index:"II-2-1-6-2 ②",content:"イ.不祥事件の発覚後の対応は適切か。",id:"09yI01mP"},{index:"II-2-1-6-2 ②",content:"ロ.不祥事件への経営陣の関与はないか、組織的な関与はないか。",id:"VXOUCb4m"},{index:"II-2-1-6-2 ②",content:"ハ.不祥事件の内容が利用者に与える影響はどうか。",id:"HVn4Luzu"},{index:"II-2-1-6-2 ②",content:"ニ.内部けん制機能が適切に発揮されているか。",id:"BdpRswr8"},{index:"II-2-1-6-2 ②",content:"ホ.再発防止のための改善策の策定や自浄機能は十分か、関係者の責任の追及は明確に行われているか。へ.暗号資産交換業の利用者等に対する説明や問い合わせへの対応等は適切か。",id:"TOG9Ok9L"},{index:"II-2-1-7",content:"顧客の最善の利益を勘案した誠実公正義務(金融サービスの提供及び利用環境の整備等に関する法律第2条)",id:"KX1femFigaWpACye",revision:["crypto_guidelines/revisions/20241030/241001"]},{index:"II-2-1-7",content:"暗号資産交換業者が、その業務を通じて、社会に付加価値をもたらし、同時に自身の経営の持続可能性を確保していくためには、顧客の最善の利益を勘案しつつ、顧客に対して誠実かつ公正にその業務を行うことが求められる。そこで、暗号資産交換業者が、必ずしも短期的・形式的な意味での利益に限らない「顧客の最善の利益」をどのように考え、これを実現するために自らの規模・特性等に鑑み、組織運営や商品・サービス提供も含め、顧客に対して誠実かつ公正に業務を遂行しているかを主な着眼点として検証する。",id:"Nz77nLuzYoODh61u",revision:["crypto_guidelines/revisions/20241030/241001"]},{index:"II-2-2 利用者保護のための情報提供・相談機能等",content:"",id:"71Vsoq0p"},{index:"II-2-2-1 利用者保護措置等",content:"",id:"Fvdt8R0I"},{index:"II-2-2-1-1",content:"意義32法第63条の10第1項並びに内閣府令第21条から第23条まで及び第25条は、暗号資産交換業者に対し、暗号資産交換業に係る取引開始時又は契約締結時の利用者に対する情報提供、金銭又は暗号資産等受領時の情報提供、その他利用者保護を図り、及び暗号資産交換業の適正かつ確実な遂行を確保するための必要な措置(以下「利用者保護措置等」という。)を講じることを義務付けている。暗号資産交換業者の監督に当たっては、利用者保護措置等を講ずるための態勢整備の適切性を確認するため、ヒアリング等の日常の監督事務を通じて、暗号資産交換業に係る取引の内容を把握するとともに、例えば、以下の点に留意するものとする。",id:"7G6PoAAA"},{index:"II-2-2-1-2 主な着眼点",content:"",id:"BQE7C2f2"},{index:"II-2-2-1-2 (1)一般的な着眼点",content:"",id:"ncDvRgoI"},{index:"II-2-2-1-2 (1)",content:"① 利用者に対する説明や情報提供を行うに当たっては、取引内容、取引形態及び取り扱う暗号資産等に応じて、内閣府令第21条第1項及び第2項各号並びに第22条に規定された事項を説明する態勢が整備されているか。さらに、当該利用者の知識・経験に照らし、必要に応じて書面を交付(電磁的方法を含む。)した上で説明を行うこととするなど、適切に情報提供が行われる態勢を整備しているか。",id:"36FoRkkk"},{index:"II-2-2-1-2 (1) ①",content:"(注1)内閣府令第22条第2項の規定は暗号資産の交換等を行わない暗号資産交換業者について、内閣府令第22条第3項の規定は暗号資産の管理を行わない暗号資産交換業者について、適用されないことに留意する。",id:"1MOyTTBo"},{index:"II-2-2-1-2 (1) ①",content:"(注2)取引内容に応じた説明態勢としては、例えば、暗号資産の販売に続けて当該暗号資産の管理を行う場合など複数の取引を提供する場合には、内閣府令の規定にしたがって、各取引の内容や条件に応じた説明を行う必要がある。",id:"Vfumg15Y"},{index:"II-2-2-1-2 (1) ①",content:"(注3)取引形態に応じた説明態勢としては、例えば、インターネットを通じた取引の場合には、利用者がその操作するパソコンの画面上に表示される説明事項を読み、その内容を理解した上で画面上のボタンをクリックする等の方法、対面取引の場合には書面交付や口頭による説明を行った上で当該事実を記録しておく方法が、それぞれ考えられる。いずれの方法による場合であっても、利用者が明瞭かつ正確に認識できる内容により説明が行われるよう留意することとする。",id:"f5tnya1n"},{index:"II-2-2-1-2 (1)",content:"② 利用者に対する情報提供義務等、法令において定められている利用者保護措置等について社内規則等を定め、役職員が当該社内規則等に基づき適切な取扱いを行うよう、社内研修等により周知徹底を図っているか。",id:"t3eJiMUe"},{index:"II-2-2-1-2 (1)",content:"③ 利用者保護措置等の実効性を確保するため、内部管理・内部監査等の内部けん制機能は十分発揮されているか。",id:"wBRnr4zX"},{index:"II-2-2-1-2 (1)",content:"④ 利用者保護措置等の実効性の検証を踏まえて、暗号資産交換業に係る業務の態勢を見直すこととしているか。",id:"xkNUKpXt"},{index:"II-2-2-1-2 (1)",content:"⑤ 苦情・相談態勢の整備に当たっては、事務処理ミスがあった場合等の手続きが明確に33規定され、円滑に処理される態勢が整備されているか。",id:"tHzO5dGb"},{index:"II-2-2-1-2 (2) 利用者に対する情報の提供",content:"",id:"MY8Bx1Db"},{index:"II-2-2-1-2 (2)",content:"① 内閣府令第21条第1項及び第2項各号並びに第22条に規定された事項について、利用者の知識、経験等を勘案して、取引内容、取引形態及び取り扱う暗号資産等に応じて、適切に説明を行っているか。",id:"rcRZklqW"},{index:"II-2-2-1-2 (2) ①",content:"(注1)内閣府令第21条第2項第4号に規定する「取り扱う暗号資産の概要及び特性」として、例えば、法定通貨の交換比率が一定比率内に収まるよう、一定のアルゴリズムに基づいて相場介入を行うこと等によって、価値の安定を図るものについては暗号資産の価値の安定が常に確保されているわけではないことから、その価値の安定が確保されておらず変動がありうる旨を説明することに留意する。",id:"Dd3hCF61"},{index:"II-2-2-1-2 (2) ①",content:"(注2)内閣府令第21条第2項第4号に規定する「取り扱う暗号資産の概要及び特性」及び同項第5号に規定する「暗号資産の性質に関し参考となると認められる事項」としては、例えば以下の事項を含め、日本暗号資産取引業協会が公表する暗号資産の概要説明書記載の内容を参考とするものとする。",id:"cspUUDN2"},{index:"II-2-2-1-2 (2) ① (注2)",content:"・暗号資産の主な用途・暗号資産の保有又は移転の仕組みに関する事項・暗号資産の総発行量及び発行可能な数量に上限がある場合はその上限・暗号資産の流通状況・暗号資産に内在するリスク",id:"tm6CON84"},{index:"II-2-2-1-2 (2) ①",content:"(注3)内閣府令第22条第1項第3号に規定する「当該取引の内容」としては、取引の態様・方式のほか、取引の注文受付及び約定処理に係る事項(利用者の注文時に表示されている価格又は利用者が注文時に指定した価格と約定価格との相違(以下「スリッページ」という。)が発生する場合にはその旨及び発生原因、並びにスリッページの発生により利用者に不利となる事象が生じる場合にはその旨及び当該事象の内容を含む。)等が考えられる。なお、利用者との取引内容が規定された契約書や利用約款についても、利用者の権利義務等が明瞭かつ正確に認識できる内容とするよう留意することとする。",id:"qbrsd8no"},{index:"II-2-2-1-2 (2) ①",content:"(注4)内閣府令第22条第1項第4号に基づき説明する事項としては、例えば、以下の事項が考えられる。",id:"LF3AdCpg"},{index:"II-2-2-1-2 (2) ① (注4)",content:"・暗号資産の発行者や管理者等の破綻による暗号資産の消失・価値減少リスク・暗号資産に表示される権利に係る債務者の破綻による当該権利の毀損リスク・暗号資産交換業者の破綻による預託した暗号資産の返還を受けられないリスク",id:"ylkj4hHv"},{index:"II-2-2-1-2 (2) ① ",content:"(注5)内閣府令第22条第1項第5号に基づき説明する事項としては、例えば、以下の事項が考えられる。",id:"PFqZbq0Q"},{index:"II-2-2-1-2 (2) ① (注5)",content:"・サイバー攻撃による暗号資産の消失・価値減少リスク・ブロックチェーンの分岐に起因するリスク34",id:"ANcY8CYY"},{index:"II-2-2-1-2 (2) ",content:"② 利用者が当該暗号資産交換業者以外の者に対しても手数料、報酬若しくは費用(以下「手数料等」という。)を支払う必要がある場合には、当該委託先に対するものも含めて手数料等の総額若しくはその上限額又はこれらの計算方法を説明しているか。",id:"VvdzVhN3"},{index:"II-2-2-1-2 (2) ",content:"③ 利用者との間で内閣府令第1条第2項第6号に規定する暗号資産信用取引を行う場合であっても、内閣府令第21条第1項及び第2項各号並びに第22条に規定された事項について、利用者の知識、経験等を勘案して、取引内容、取引形態及び取り扱う暗号資産等に応じて、適切に説明を行う必要がある。したがって、例えば、当該暗号資産信用取引に際して利用者が手数料等を支払う必要がある場合には、当該暗号資産信用取引に要するものも含めて手数料等の総額若しくはその上限額又はこれらの計算方法を説明することとしているか。",id:"yMiglJwz"},{index:"II-2-2-1-2 (2) ",content:"④ 手数料等の実額ではなく上限額や計算方法のみを説明する場合には、利用者が実際に支払うこととなる手数料等の総額の見込み額又は計算例を併せて説明することとしているか。",id:"DUDJaq8E"},{index:"II-2-2-1-2 (2) ",content:"⑤ 法第63条の10第1項及び内閣府令第22条の趣旨を踏まえ、同条第1項第9号に規定する事項として、利用者が当該暗号資産交換業に係る取引に係る契約を締結するか否かの判断を行うに際して、参考となる事項を必要に応じて説明しているか。",id:"v8YcuoyK"},{index:"II-2-2-1-2 (2) ⑤",content:"(注)内閣府令第22条第1項第9号に基づき説明する事項としては、例えば、以下の事項が考えられる。",id:"o2I6kARi"},{index:"II-2-2-1-2 (2) ⑤ (注)",content:"・暗号資産交換業に係る取引に関する金銭及び暗号資産の預託の方法・暗号資産交換業に係る取引依頼後の当該取引に係る金銭及び暗号資産の状況を確認する方法",id:"hnXR2gLf"},{index:"II-2-2-1-2 (2) ",content:"⑥ 内閣府令第22条第4項第4号に規定する事項として、利用者が口座開設契約等を締結するか否かの判断を行うに際して、参考となる事項を必要に応じて説明しているか。",id:"lcgWNN1j"},{index:"II-2-2-1-2 (2) ⑥",content:"(注)内閣府令第22条第4項第4号に基づき説明する事項としては、例えば、以下の事項が考えられる。",id:"YIVMhC8R"},{index:"II-2-2-1-2 (2) ⑥",content:"・上記⑤(注)に掲げた事項・暗証番号の設定その他のセキュリティに関する事項・口座開設契約等により、利用者ごとに暗号資産交換業者が受け入れられる金額に上限がある場合には、当該上限金額",id:"qwKBhUBC"},{index:"II-2-2-1-2 (2) ",content:"⑦ 発行者が存在する暗号資産については、内閣府令第21条第2項第5号並びに第22条第1項第5号及び第9号並びに同条第4項第4号に規定する事項として、例えば、以下の事項を説明しているか。",id:"HrPwtIRH"},{index:"II-2-2-1-2 (2) ⑦",content:"・発行者に関する情報・暗号資産に表示される権利義務の有無・内容・販売価格の算定根拠",id:"G13C2PwO"},{index:"II-2-2-1-2 (2) ",content:"⑧ 利用者から暗号資産の売買等の委託等(内閣府令第1条第2項第4号に規定する委託等をいう。)を受けた場合において、自己が当該委託等に係る売買等の相手方となること35があるときは、内閣府令第22条第2項第1号に基づいて、自己が取引の相手方となる場合の取引基準やルールを説明することとしているか。",id:"Dv2IUJXs"},{index:"II-2-2-1-2 (2) ",content:"⑩ 利用者に対して、セキュリティ対策の周知・注意喚起を行う手順を定め、十分に実施しているか。",id:"McA5nKj6"},{index:"II-2-2-1-2 (2) ⑩",content:"(注)セキュリティ対策の周知・注意喚起の内容としては、例えば、利用者の端末におけるウィルス対策及び利用者によるパスワード等の認証情報の適切な設定・管理等が挙げられる。",id:"kXbGhGCr"},{index:"II-2-2-1-2 (2)",content:"⑪ 海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合には、海外親会社等に適用される現地の法令等が当該暗号資産交換業者に影響を与える可能性があることから、海外親会社等の状況やそれに伴い当該暗号資産交換業者に発生し得るリスクについて、あらかじめ利用者に開示しているか。",id:"QzdAPFy9",revision:["crypto_guidelines/revisions/20231117/231101"],public_comment_links:[{url:"crypto_guidelines_public_20231117/2sl2chxwZeCW5QaY",text:"金融庁事務ガイドライン(暗号資産) 2023/11/17 パブリックコメント"},{url:"crypto_guidelines_public_20231117/blvjzPzFB10zeEZY",text:"金融庁事務ガイドライン(暗号資産) 2023/11/17 パブリックコメント"},{url:"crypto_guidelines_public_20231117/wTYUvJcysR6ja8Al",text:"金融庁事務ガイドライン(暗号資産) 2023/11/17 パブリックコメント"},{url:"crypto_guidelines_public_20231117/lIMBtmIchsccB1Dh",text:"金融庁事務ガイドライン(暗号資産) 2023/11/17 パブリックコメント"},{url:"crypto_guidelines_public_20231117/acYBPmm47gdcTL36",text:"金融庁事務ガイドライン(暗号資産) 2023/11/17 パブリックコメント"}]},{index:"II-2-2-1-2 (2)",content:"⑫ 利用者に対する情報提供が適時かつ適切に行われたことの検証及び当該検証を実施するために必要な記録等を保管しているか。",id:"ognZleIA"},{index:"II-2-2-1-2 (2)",content:"⑬ 提供する情報の記載内容は、利用者にとって明確でわかりやすい記載内容となっているか。",id:"LRkyCypz"},{index:"II-2-2-1-2 (2)",content:"⑭ 書面の交付に代えて電磁的方法その他適切な方法により提供する場合には、提供する情報の内容について、利用者が一定の期間、閲覧又は保存できる等の手段を講じているか。",id:"mQfmgtZq"},{index:"II-2-2-1-2",content:"(3) 非対面取引を行う際の措置",id:"qOlGh9Y5"},{index:"II-2-2-1-2 (3)",content:"① ウェブサイトのリンクに関し、利用者が取引相手を誤認するような構成になっていないか。また、フィッシング詐欺対策については、利用者がアクセスしているサイトが真正なサイトであることの証明を確認できるような措置を講じる等、業務に応じた適切な不正防止策を講じているか。",id:"JZRHFQMd"},{index:"II-2-2-1-2 (3)",content:"② 利用者が暗号資産交換業に係る取引についての指図内容を暗号資産交換業者に送信する前に、当該指図内容を表示した上で利用者に対して内容の確認を求めるなど、利用者が暗号資産交換業に係る取引に関する指図内容を容易に確認・訂正できるような対応を行っているか。",id:"c5Ip1RIA"},{index:"II-2-2-1-2",content:"(4) 不適切な暗号資産を取り扱わないための措置内閣府令第23条第1項第5号に基づき、暗号資産の特性及び自己の業務体制に照らして、利用者の保護又は暗号資産交換業の適正かつ確実な遂行に支障を及ぼすおそれがある36暗号資産を取り扱わないため、I-1-2-3及び日本暗号資産取引業協会自主規制規則「暗号資産の取扱いに関する規則」を踏まえ、例えば、以下のような措置を講じているか。",id:"W2JGG14F"},{index:"II-2-2-1-2 (4)",content:"① 新たな暗号資産の取扱いを開始するに当たっては、暗号資産の取扱いにより生じ得るリスク(以下「取扱リスク」という。)を特定・評価し、利用者保護及び業務の適正かつ確実な遂行の確保の観点から、当該暗号資産の取扱いの可否を的確に審査する態勢を整備しているか。",id:"vpekHMOX"},{index:"II-2-2-1-2 (4)",content:"② 既に取り扱っている暗号資産に関し、定期的に取扱リスクの内容を見直した上で、必要に応じて、当該暗号資産の取扱い可否を改めて審査することとしているか。",id:"6sCiXolb"},{index:"II-2-2-1-2 (4)",content:"③ 暗号資産を新たに取り扱う又は廃止する場合には、当該暗号資産の取扱いに係る審査結果を踏まえ、取締役会の承認を得るなど組織的に決定しているか。",id:"LYUYXg0p"},{index:"II-2-2-1-2 (4)",content:"④ 暗号資産の取扱いの適否を審査する部門は、営業部門から独立させた上で、専門的知見を有する人材を配置するなど、取扱リスクを適切に検証できる体制を整備しているか。",id:"KBEXiRRE"},{index:"II-2-2-1-2",content:"(5) 暗号資産関係情報の適切な管理内閣府令第23条第1項第6号に基づき、暗号資産交換業者の取り扱う若しくは新規に取り扱おうとする暗号資産又は当該暗号資産交換業者に関する重要な情報であって利用者の暗号資産の売買又は他の暗号資産との交換に係る判断に影響を及ぼすと認められるもの(当該暗号資産交換業者の行う暗号資産交換業の全ての利用者が容易に知り得る状態に置かれている場合を除く。以下「暗号資産関係情報」という。)を適切に管理するために、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る暗号資産関係情報の管理体制の整備に関する規則」を踏まえ、例えば、以下のような措置を講じているか。",id:"yP2mtSfi"},{index:"II-2-2-1-2 (5)",content:"① 社内規則等において、暗号資産関係情報に該当し得る情報の類型や範囲を定めているか。",id:"5CBvvFac"},{index:"II-2-2-1-2 (5) ①",content:"(注)暗号資産関係情報に該当し得るものとして、例えば、以下の情報が考えられる。",id:"HrvNRph5"},{index:"II-2-2-1-2 (5) ①(注)",content:"・当該暗号資産に使用されるブロックチェーンの分岐その他暗号資産に用いられる技術的仕様の変更その他の当該暗号資産の機能、効用又は計画に関する重要な変更",id:"2eWzoMXM"},{index:"II-2-2-1-2 (5) ①(注)",content:"・当該暗号資産の発行者等の破産手続、特別清算手続、民事再生手続又は会社更生手続その他これに類する倒産手続の開始その他の当該暗号資産の仕様等を決定し得る者又は団体の業務の運営又は財産の状況の重大な変化",id:"RnUoOXoW"},{index:"II-2-2-1-2 (5) ①(注)",content:"・暗号資産交換業者(自己を含む。)や海外の事業者等が当該暗号資産の取扱いを開始又は廃止する旨の決定、当該暗号資産の価格に重大な影響を及ぼす程度に大規模な取引の受注を受けた事実の発生その他の当該暗号資産の価格又は流動性に重大な影響を及ぼす事項の決定又は発生",id:"nRYDe4FZ"},{index:"II-2-2-1-2 (5) ①(注)",content:"・自己の暗号資産交換業の遂行に重大な支障を及ぼすセキュリティインシデントの発生、倒産手続の開始その他の自己の暗号資産交換業に係る業務の運営又は財産の状況に重大な影響を及ぼす事項の決定又は発生",id:"QKDL8kLV"},{index:"II-2-2-1-2 (5)",content:"② 暗号資産関係情報を管理する独立性の高い部門を設置の上、当該部門が暗号資産関係情報を適切に管理するための体制が講じられているか。",id:"vGrT7DFv"},{index:"II-2-2-1-2 (5)",content:"③ 役職員が暗号資産関係情報を取得した場合に、業務上必要な範囲を超えて暗号資産関係情報を利用し、又は当該暗号資産関係情報が第三者に伝達されることを防止する体制が講じられているか。",id:"KmRd3knl"},{index:"II-2-2-1-2",content:"(6) 暗号資産の借入れを行う場合の措置",id:"efZN52Zk"},{index:"II-2-2-1-2 (6)",content:"① 内閣府令第23条第1項第8号に規定する事項の表示にあたっては、その表示の内容について利用者が明瞭かつ正確に認識できるよう、利用者が当該暗号資産の借入れを行う際の取引ページ等にわかりやすく説明することとしているか。",id:"lRS4KX06"},{index:"II-2-2-1-2 (6)",content:"② 暗号資産の借入れによって負担する債務が自己の返済能力に比して過大となり、又はその返済に支障が生じることがないよう、II-1-2④を踏まえ、財務上のリスク管理の一環として、当該債務の残高を適切に管理しているか。",id:"K6bX2gjm"},{index:"II-2-2-1-2",content:"(7) 価格の表示",id:"axEJOPwv"},{index:"II-2-2-1-2 (7)",content:"① 内閣府令第23条第2項第1号に規定する事項の表示にあたっては、当該事項について利用者が明瞭かつ正確に認識できるよう、利用者が暗号資産の売買又は他の暗号資産との交換を行うに際しての取引ページ等にわかりやすく表示することとしているか。",id:"lc1kvD8s"},{index:"II-2-2-1-2 (7) ①",content:"(注)内閣府令第23条第2項の規定は暗号資産の交換等を行わない暗号資産交換業者について適用されないことに留意する。",id:"AScomtw9"},{index:"II-2-2-1-2 (7)",content:"② 上記①にかかわらず、協会のウェブサイト等において、内閣府令第23条第2項第1号イ(2)に規定する最新の参考価格と、当該最新の参考価格を算出した基準時点における自己が取り扱う暗号資産に係る同項第1号イ(1)又はロ(1)、(2)及び(3)の価格が比較表示されている場合は、当該協会のウェブサイト等へのリンクを利用者が暗号資産の売買又は他の暗号資産との交換を行うに際しての取引ページ等に表示する方法により、当該最新の参考価格を表示することができる。かかる表示にあたっては、当該協会のウェブサイト等へのリンクについて利用者が明瞭かつ正確に認識できるよう、自己の取引ページ等にわかりやすく表示することとしているか。",id:"YSAq7I92"},{index:"II-2-2-1-2",content:"(8) 複数の取引の方法を提供する場合の措置暗号資産の交換等について利用者に複数の取引の方法を提供する場合には、内閣府令第23条第2項第2号イに規定する「利用者の暗号資産の交換等に係る注文について、暗号資産の種類ごとに、最良の取引の条件で執行するための方針及び方法」として、取り扱う暗号資産の種類ごとに、最良の取引の条件で執行するための方法及び当該方法を選択する理由を定めているか。",id:"14Sa9Qo0"},{index:"II-2-2-1-2 (8)",content:"(注)「暗号資産の交換等について利用者に複数の取引の方法を提供する場合」とは、取引を執行するに当たり利用者又は暗号資産交換業者において選択できる方法が複数ある38ものをいい、例えば、以下の場面が考えられる。",id:"sh1jq0IO"},{index:"II-2-2-1-2 (8)(注)",content:"・自己がその相手方となって暗号資産の売買又は他の暗号資産との交換を行う取引とともに、利用者から暗号資産の売買又は他の暗号資産との交換の媒介に係る委託を受けて行う取引(以下「マッチング取引」という。)を提供する場合",id:"qmlP8p2h"},{index:"II-2-2-1-2 (8)(注)",content:"・利用者から暗号資産の売買又は他の暗号資産との交換の取次ぎに係る委託を受けて行う取引を提供する場合において、複数の取次先が存在するとき",id:"pi9aET0M"},{index:"II-2-2-1-2 (8)(注)",content:"・複数のマッチング取引の場を提供する場合・処理速度や手数料等の異なる複数の取引を提供する場合",id:"FAwzXNPI"},{index:"II-2-2-1-2",content:"(9) 利益相反管理体制内閣府令第23条第2項第3号に基づき、利用者の利益が不当に害されることのないよう、各暗号資産交換業者の業務の内容・特性・規模等に応じ、例えば、以下のような措置を講じることによって、暗号資産交換業者又はその利害関係人と利用者の間で利益が相反するおそれのある取引を適切に管理しているか。",id:"xNvd0nt1"},{index:"II-2-2-1-2 (9)",content:"① 利益相反のおそれのある取引を特定するための体制の整備",id:"xkWBUxLY"},{index:"II-2-2-1-2 (9) ①",content:"イ.あらかじめ、利益相反のおそれのある取引を特定し、類型化しているか。",id:"v5EITxML"},{index:"II-2-2-1-2 (9) ①",content:"ロ.利益相反のおそれのある取引の特定にあたり、業務の内容・特性・規模等を適切に反映できる態勢となっているか。",id:"8BAiPleW"},{index:"II-2-2-1-2 (9) ①",content:"ハ.特定された利益相反のおそれのある取引について、例えば新規業務の開始等に対応して、その妥当性を定期的に検証する態勢となっているか。",id:"3S9nCXUJ"},{index:"II-2-2-1-2 (9)",content:"② 利益相反管理の方法",id:"g7lBZ4HQ"},{index:"II-2-2-1-2 (9) ②",content:"イ.特定された利益相反のおそれのある取引の特性に応じ、例えば以下のような点に留意しつつ、適切な利益相反管理の方法を選択し、又は組み合わせることができる態勢となっているか。",id:"HB44JdGJ"},{index:"II-2-2-1-2 (9) ② イ",content:"・部門の分離による管理を行う場合には、当該部門間で厳格な情報遮断措置(システム上のアクセス制限や物理上の遮断措置)が講じられているか。",id:"TdS6xhnv"},{index:"II-2-2-1-2 (9) ② イ",content:"・取引の条件若しくは方法の変更又は一方の取引の中止の方法による管理を行う場合には、当該判断に関する権限及び責任が明確にされているか。",id:"lFb7NuKx"},{index:"II-2-2-1-2 (9) ② イ",content:"・利益相反のおそれがある旨を顧客に開示する方法による管理を行う場合には、想定される利益相反の内容及び当該方法を選択した理由(他の方法を選択しなかった理由を含む。)について、当該取引に係る契約を締結するまでに、当該顧客に対して、顧客の属性に応じ、当該顧客が十分理解できるような説明を行っているか。",id:"ZIjcUhe4"},{index:"II-2-2-1-2 (9) ② イ",content:"・情報を共有する者を監視する方法による管理を行う場合には、独立した部署等において、当該者の行う取引を適切に監視しているか。",id:"XQ5uMgl2"},{index:"II-2-2-1-2 (9) ②",content:"ロ.暗号資産交換業者及びそのグループ会社などの利害関係人が新規の取引を行う際には、当該取引との間で利益相反が生じることとなる取引の有無について、必要な確認が図られる態勢となっているか。39ハ.利益相反管理の方法について、その有効性を確保する観点から、定期的な検証が行われる態勢となっているか。",id:"YYLnFXzn"},{index:"II-2-2-1-2 (9)",content:"③ 利益相反管理方針の策定及び公表",id:"pB9Hudmh"},{index:"II-2-2-1-2 (9) ③",content:"イ.利益相反管理方針(内閣府令第23条第2項第3号に規定する方針をいう。)は、暗号資産交換業者の業務の内容・特性・規模等を勘案した上で、利益相反のおそれのある取引の類型、主な取引例及び当該取引の特定のプロセス、利益相反管理の方法(利益相反管理の水準・深度に差異を設ける場合は、その内容及び理由を含む。)、利益相反管理体制(利益相反のおそれのある取引の特定及び利益相反管理に関する全社的な管理体制を統括する者の職責及びその独立性並びに利益相反のおそれのある取引の特定及び利益相反管理の方法についての検証体制)並びに利益相反管理の対象となる利害関係人の範囲を記載したものとなっているか。この場合において、利益相反のおそれのある取引の類型、取引例及び利益相反管理の方法は、対応して記載されているか。",id:"cIMTfLcw"},{index:"II-2-2-1-2 (9) ③",content:"ロ.公表する利益相反管理方針の内容は、暗号資産交換業者の業務の内容・特性・規模等を勘案した上で、利益相反のおそれのある取引の類型、利益相反管理の方法、利益相反管理体制及び利益相反管理の対象となる利害関係人の範囲を分かりやすく記載したものとなっているか。",id:"K8td03Wl"},{index:"II-2-2-1-2 (9) ③",content:"ハ.利益相反管理方針は、店舗での掲示・閲覧やホームページへの掲載等の方法により、適切に公表されているか。",id:"uAlrZ9w5"},{index:"II-2-2-1-2 (9)",content:"④ 人的構成及び業務運営体制",id:"kLnGnZuF"},{index:"II-2-2-1-2 (9) ④",content:"イ.経営陣は、利益相反管理の重要性を認識し、その実践に誠実にかつ率先垂範して取り組んでいるか。",id:"hyet5Ra2"},{index:"II-2-2-1-2 (9) ④",content:"ロ.利益相反管理方針を踏まえた業務運営の手続が書面等において明確化されているか。また、役職員に対し、利益相反管理方針及び当該手続きに関する研修の実施等により、利益相反管理についての周知徹底が図られているか。",id:"zJClaXfO"},{index:"II-2-2-1-2 (9) ④",content:"ハ.利益相反管理統括者を設置するなど、利益相反のおそれのある取引の特定及び利益相反管理を一元的に行う体制となっているか。",id:"lx1P5ZbC"},{index:"II-2-2-1-2 (9) ④",content:"ニ.利益相反管理統括者等は、利益相反管理方針に沿って、利益相反のおそれのある取引の特定及び利益相反管理を的確に実施するとともに、その有効性を適切に検証しているか。",id:"I8ZgRhri"},{index:"II-2-2-1-2 (9) ④",content:"ホ.利益相反管理統括者等は、営業部門からの独立性を確保し、営業部門に対し十分な牽制を働かせているか。",id:"lU2BGgo7"},{index:"II-2-2-1-2 (9) ④",content:"へ.利益相反管理統括者等は、その利害関係人の取引を含め、利益相反管理に必要な情報を集約し、適切な利益相反管理を行う態勢を整備しているか。",id:"txptWKWm"},{index:"II-2-2-1-2 (9) ④",content:"ト.利益相反管理に係る人的構成及び業務運営体制について、定期的に検証する態勢となっているか。",id:"xdS33fZd"},{index:"II-2-2-1-2",content:"(10) 不公正な行為を防止するための措置40内閣府令第23条第2項第4号に基づき、利用者の暗号資産の交換等に係る注文の動向若しくは内容又は暗号資産の交換等の状況その他の事情に応じ、利用者が金融商品取引法第185条の22第1項、第185条の23第1項又は第185条の24第1項若しくは第2項に違反していないかどうかを審査し、違反する疑いがあると認めるときは当該利用者との間の暗号資産交換業に係る取引の停止等を行う措置その他の暗号資産の交換等に係る不公正な行為の防止を図るために必要な措置として、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る不公正取引等の防止に関する規則」等を踏まえ、例えば、以下のような措置を講じているか。",id:"rOrmiT88"},{index:"II-2-2-1-2 (10)",content:"(注)「その他の暗号資産の交換等に係る不公正な行為」には、自己又は第三者の利益を図ることを目的として、当該暗号資産交換業者の取り扱う若しくは取り扱おうとする暗号資産又は当該暗号資産交換業者に関する暗号資産関係情報を利用した行為を含む。",id:"YOaaiaJi"},{index:"II-2-2-1-2 (10)",content:"① 取引審査体制の構築社内規則等において取引審査を実施するために必要な手続を定め、取引審査の担当部門を設置するなど、利用者による不公正な行為を防止するための必要な体制を構築しているか。",id:"nyQqyBWS"},{index:"II-2-2-1-2 (10)",content:"② 利用者の取引動向の的確な把握及び管理の徹底",id:"LNItg4KP"},{index:"II-2-2-1-2 (10) ②",content:"イ.取引対象となる暗号資産の種類、取引手法・形態等の取引動向を把握するための具体的な取扱方法を策定し、当該取扱方法に基づき、適時、モニタリング等を行うなどにより利用者の取引動機等の的確な把握を行っているか。",id:"yU8hIRA9"},{index:"II-2-2-1-2 (10) ②",content:"ロ.内部管理部門においては、当該取扱方法について、役職員に周知・徹底を図るとともに、必要に応じ見直しを行う等、その実効性を確保する態勢を整備しているか。",id:"whGfT8Su"},{index:"II-2-2-1-2 (10) ②",content:"ハ.利用者が仮名口座を利用しているおそれがあると認識した場合に、実取引者の解明に努めるとともに、特に注意してモニタリングを行うこととしているか。",id:"1E9eLary"},{index:"II-2-2-1-2 (10)",content:"③ 取引審査基準の策定及びその効果的活用",id:"bhtH1D3a"},{index:"II-2-2-1-2 (10) ③",content:"イ.利用者の取引の公正性を確保するため、暗号資産の種類毎に、その騰落率、取引状況、利用者の取引態様等を勘案した具体的な抽出基準を策定し、当該基準に基づく適正な抽出を行っているか。",id:"pnd1Ch71"},{index:"II-2-2-1-2 (10) ③",content:"ロ.抽出した取引について、具体的な審査基準を策定し、相場操縦等の不公正取引を排除するために必要な措置(例えば、利用者等に対する照会、注意喚起、取引停止等)を講ずる等適切な取引管理を行っているか。",id:"nn8vvU8g"},{index:"II-2-2-1-2 (10) ③",content:"ハ.内部管理部門においては、抽出基準、審査基準及び措置状況について、適時、実態との整合性の検証を行い、必要に応じ見直しを行う等、その実効性を確保する態勢を整備しているか。",id:"uF1KPuys"},{index:"II-2-2-1-2",content:"(11) 債務の履行に関する方針の公表等暗号資産の管理を行う場合は、暗号資産を移転するために必要な秘密鍵その他の情報(以41下「秘密鍵等」という。)の漏えい、滅失、毀損その他の事由に起因して、法第63条の11第2項の規定により自己の暗号資産と分別して管理する利用者の暗号資産で当該利用者に対して負担する暗号資産の管理に関する債務の全部を履行することができない場合における、当該債務の履行に関する方針として、例えば、以下の事項を定め、これを公表しているか。",id:"KCbnvwu7"},{index:"II-2-2-1-2",content:"(12) 共通システムを利用する場合の措置",id:"Xj2MjizZ",revision:["crypto_guidelines/revisions/20231117/231102"]},{index:"II-2-2-1-2",content:"(12) 親会社を含めたグループ会社(以下「親会社等」という。)と共通の暗号資産取引のシステムや利用者財産管理のシステム(以下「共通システム」という。)を利用してサービスを提供する場合、親会社等の経営上の理由により共通システムが利用できなくなった場合等の緊急時に備えて、利用者保護の観点から以下のような措置を講じているか。",id:"Xj2MjizZ",revision:["crypto_guidelines/revisions/20231117/231103"],public_comment_links:[{url:"crypto_guidelines_public_20231117/lIMBtmIchsccB1Dh",text:"金融庁事務ガイドライン(暗号資産) 2023/11/17 パブリックコメント"}]},{index:"II-2-2-1-2 (12)",content:"① 緊急時において親会社等の関与なく利用者に財産を返還するために必要な具体的な手順が整備されているか。",id:"113tZrhq",revision:["crypto_guidelines/revisions/20231117/231104"]},{index:"II-2-2-1-2 (12) ①",content:"(注)利用者財産を円滑に返還するため、平時に利用しているシステムの代替環境をあらかじめ整備しておくことについて検討することが望ましい。",id:"b06vIt6f",revision:["crypto_guidelines/revisions/20231117/231105"]},{index:"II-2-2-1-2 (12)",content:"② 顧客資産残高データ等、利用者財産の返還に必要な情報を共通システムにより管理している場合は、定期的にバックアップを取得する等によって暗号資産交換業者の管理下においても当該情報を保管しているか。",id:"OrJujGA0",revision:["crypto_guidelines/revisions/20231117/231106"]},{index:"II-2-2-1-2 (12)",content:"③ 緊急時において、利用者の暗号資産を親会社等の関与なく移転可能な手段と権限が確保されているか。",id:"QZwzqXaw",revision:["crypto_guidelines/revisions/20231117/231107"]},{index:"II-2-2-1-2 (12) ③",content:"(注)利用者の暗号資産の管理を第三者に委託し、外部委託先が主体的に利用者の暗号資産の移転を行い得る状態にある場合を除く。ただし、その場合は外部委託先において上記③の措置が講じられている必要がある。",id:"kLnYq3CI",revision:["crypto_guidelines/revisions/20231117/231108"]},{index:"II-2-2-1-2",content:"(13) その他の利用者保護措置等暗号資産交換業者は、内閣府令第23条第1項第1号に基づき、その行う暗号資産交換業に関して、暗号資産の特性、取引の内容その他の事情に応じ、暗号資産交換業の利用者の保護を図り、及び暗号資産交換業の適正かつ確実な遂行を確保するために必要な態勢を整備する必要があるが、日本暗号資産取引業協会が定める自主規制規則を踏まえ、例えば、以下のような措置を講じているか。",id:"MJvL300i"},{index:"II-2-2-1-2 (13)",content:"① 取引内容、利用者の属性、取り扱う暗号資産の特性等を踏まえ、取引開始の基準や取引限度額等を設定しているか。",id:"E5Fj3Vg9"},{index:"II-2-2-1-2 (13) ①",content:"(注)利用者の属性については、II-2-1-3-2(1)①に列挙された内容を考慮するものとし、例えば、初めて暗号資産を購入する者や若年層など暗号資産の取引に関42し知識・経験の浅い者であるかのほか、資産の保有状況等を踏まえて判断することが考えられる。",id:"vN77nTqy"},{index:"II-2-2-1-2 (13)",content:"② 取引の注文管理に係る必要な体制を整備しているか。当該体制の確認に当たっては、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る受注管理体制の整備に関する規則」を踏まえ、例えば、以下の点に留意することとする。",id:"LKoNzroR"},{index:"II-2-2-1-2 (13) ②",content:"・上記自主規制規則を踏まえ、社内規則を適切に整備し、役職員に対する周知、徹底を図っているか。",id:"pE25n045"},{index:"II-2-2-1-2 (13) ②",content:"・取引の受注に関する上限の設定を含む受注制限の設定をシステムに組み込むなど、適正な取引を実現するためのシステム対応が十分に果たされているか。",id:"ygCsstg2"},{index:"II-2-2-1-2 (13) ②",content:"・取引システムを統括する責任者の選任を含む人員配置や研修、定期的な検査などを通じ、注文管理体制の充実強化・機能維持が図られているか。",id:"20UNFx9T"},{index:"II-2-2-1-2 (13) ②",content:"・受注制限への管理者の関与が適切に果たされる体制となっており、また、適切に実施されているか。",id:"67jdn3Vj"},{index:"II-2-2-1-2 (13) ②",content:"・スリッページが発生する場合において、例えば、利用者にとって不利なときはスリッページが発生する価格を用いて約定処理する一方、利用者にとって有利なときはスリッページが発生しない価格を用いて約定処理するなど、当該スリッページに関し、利用者にとって不利に取り扱っていないか。",id:"XzeYJOFb"},{index:"II-2-2-1-2 (13)",content:"③ 取り扱う暗号資産の種類ごとに、表示価格や約定価格のデータを一定期間、保存しているか。",id:"Dl0GDgyA"},{index:"II-2-2-1-2 (13)",content:"④ 取引価格が当該暗号資産の市場価格から著しく乖離することを防止するための必要な措置を講じているか。また、取引価格の急変を防止するための措置を講じているか。",id:"uoWz9sgR"},{index:"II-2-2-2 信用取引への対応",content:"",id:"eoYlnXCm"},{index:"II-2-2-2-1",content:"意義暗号資産交換業者が、暗号資産交換業の利用者との間で内閣府令第1条第2項第6号に規定する暗号資産信用取引を行う場合には、法第63条の10第2項及び内閣府令第25条に基づき、法第63条の10第1項に基づく利用者保護措置等に加え、当該暗号資産信用取引に係る契約の内容についての情報の提供その他の当該暗号資産信用取引に係る業務の利用者の保護を図り、及び当該業務の適正かつ確実な遂行を確保するための措置を講ずる必要がある。",id:"bPWfNhqq"},{index:"II-2-2-2-1",content:"(注)暗号資産信用取引を行うに際して、暗号資産交換業者が利用者に対する金銭の貸付けを行うときは、当該暗号資産交換業者は、貸金業の登録を受ける必要がある。暗号資産信用取引は、保証金(内閣府令第25条第1項第1号に規定する保証金をいう。以下同じ。)を担保として暗号資産交換業者から信用の供与を受けることによって、元手資金(保証金)にレバレッジを効かせた取引を行うことができる点で、暗号資産のデリバティブ取引と同じ経済的機能やリスクを有するものと考えられる。このように、暗号資産信43用取引は、過当な投機を招くおそれがあることから、当該暗号資産信用取引を行う暗号資産交換業者に対しては、当該暗号資産交換業者が提供する信用取引の内容又は形態を踏まえ、必要に応じて、暗号資産のデリバティブ取引を行う金融商品取引業者等と同等の業務運営態勢を求めるとともに、例えば、以下の点に留意するものとする。",id:"RnbktdGK"},{index:"II-2-2-2-2 主な着眼点",content:"",id:"T3wdCwbM"},{index:"II-2-2-2-2",content:"(1) 利用者への情報の提供",id:"pJpD6vIp"},{index:"II-2-2-2-2 (1)",content:"① 内閣府令第25条第1項第1号に規定する「暗号資産信用取引について利用者が預託すべき保証金の金額及びその計算方法」として、利用者から預託を受けた保証金の額が相場の変動等により変動すること及びその計算方法、並びに当該保証金の額の変動により必要額より不足した場合に追加で預託しなくてはならない保証金(以下「追証」という。)に関する事項を説明しているか。",id:"jmWMnc1F"},{index:"II-2-2-2-2 (1)",content:"② 内閣府令第25条第1項第2号に規定する「暗号資産信用取引に関する損失の額が前号の保証金の額を上回ることとなるおそれがあるときは、その旨及びその理由」として、以下の事項を説明しているか。",id:"FKCK7f6Q"},{index:"II-2-2-2-2 (1) ②",content:"イ.ロスカット取引(同条第5項第3号に規定するロスカット取引をいう。以下同じ。)が行われる場合であっても、相場の急激な変動により保証金の額を上回る損失が生じることとなるおそれがある場合には、その旨",id:"TkWadY4k"},{index:"II-2-2-2-2 (1) ②",content:"ロ.同条第6項の規定に基づき、保証金の全部又は一部として暗号資産を代用(以下「代用暗号資産」という。)する場合において、当該暗号資産の価値の下落に伴い、保証金の額が減少することによって当該保証金の額を上回る損失が生じることとなるおそれがあるときは、その旨",id:"g9oGp8X1"},{index:"II-2-2-2-2 (1)",content:"③ 内閣府令第25条第1項第3号に規定する「弁済の期限」として、ロスカット取引が行われた場合における暗号資産信用取引の信用供与に係る債務の弁済期限についても併せて説明しているか。",id:"gkhSYo2M"},{index:"II-2-2-2-2 (1)",content:"④ 法第63条の10第2項及び内閣府令第25条の趣旨を踏まえ、同条第1項第4号に規定する事項として、利用者が当該暗号資産信用取引に係る契約を締結するか否かの判断を行うに際して、参考となる事項を必要に応じて説明しているか。",id:"57wNIaRK"},{index:"II-2-2-2-2 (1) ④",content:"イ.ロスカット取引に関する取決めが設けられていること及びその内容",id:"JL7tzSBN"},{index:"II-2-2-2-2 (1) ④",content:"ロ.カバー取引の相手方及びその概要",id:"9yQwfS5W"},{index:"II-2-2-2-2 (1) ④",content:"ハ.所定の期限までに追証が預託されない場合に、暗号資産信用取引が強制的に決済されるときは、その旨及び当該強制決済によって損失が生じることとなるおそれがあるときは、その旨",id:"aBn22bzU"},{index:"II-2-2-2-2 (1) ④",content:"ニ.暗号資産信用取引によって利用者が取得した金銭又は暗号資産の全部又は一部が当該暗号資産信用取引の信用供与に係る債務の担保となる場合には、その旨",id:"Yu1pMUgn"},{index:"II-2-2-2-2",content:"(2) 保証金の管理",id:"a984GKN8"},{index:"II-2-2-2-2 (2)",content:"① 利用者から預託を受けた保証金を、法第63条の11並びに内閣府令第26条及び第27条の規定に基づく分別管理の対象に含め、II-2-2-3にしたがって分別管理に係る適切な取扱いを行っているか。",id:"ZKnStjxl"},{index:"II-2-2-2-2 (2) ①",content:"(注)暗号資産信用取引によって利用者が取得した金銭又は暗号資産であって、当該暗号資産信用取引の信用供与に係る債務の担保に供されているものについては、法第63条の11第1項及び第2項に規定する方法による管理を要しない。",id:"h4cVJ2rN"},{index:"II-2-2-2-2 (2)",content:"② 内閣府令第25条第5項第1号及び第2号に基づき、暗号資産信用取引を行うに際して、あらかじめ、利用者に対して、以下の区分に応じた額以上の保証金を預託させることとしているか。イ.個人向けの暗号資産信用取引利用者が行おうとし、又は行う暗号資産信用取引の額(複数の取引について一括して算出する場合はその合計額)に百分の五十を乗じて得た額ロ.法人向けの暗号資産信用取引利用者が行おうとし、又は行う暗号資産信用取引の額(複数の取引について一括して算出する場合はその合計額)に当該暗号資産信用取引の対象となる暗号資産又は暗号資産の組合せの暗号資産リスク想定比率(内閣府令第25条第5項第2号に規定する暗号資産リスク想定比率をいう。以下同じ。)を乗じて得た額(暗号資産リスク想定比率を用いない暗号資産交換業者にあっては、当該暗号資産信用取引の額に百分の五十を乗じて得た額)",id:"lnlKc6fj"},{index:"II-2-2-2-2 (2)",content:"③ 個々の利用者から預託を受けた保証金の額を毎営業日、適切に算定しているか。また、保証金の全部又は一部として代用暗号資産の預託を受ける場合には、当該暗号資産を毎営業日、時価評価の上、協会の規則の定めに従って、その代用価格を適切に算定しているか。また、利用者から預託を受けた保証金の計算に当たっては、利用者から預託を受けた金銭又は代用暗号資産に、次のイ及びロに掲げる額を加減算しているか。",id:"9OZ10P7M"},{index:"II-2-2-2-2 (2) ③",content:"イ.実現損益",id:"Sv2B5EkY"},{index:"II-2-2-2-2 (2) ③",content:"ロ.評価損益",id:"IQ73qSWC"},{index:"II-2-2-2-2 (2)",content:"④ 上記③に基づいて算定された保証金の額が、以下の区分に応じた額に不足する場合には、内閣府令第25条第5項第1号及び第2号に基づき、当該利用者に対して、速やかに当該不足額を追加で預託させることとしているか。",id:"surdTUab"},{index:"II-2-2-2-2 (2) ④",content:"(注)当該不足額については、利用者との連絡が取れない等やむを得ない場合を除き、当該不足額の判定を行った時点から起算して48時間以内に追加で預託させなければならない。イ.個人向けの暗号資産信用取引当該利用者が行う暗号資産信用取引の額(複数の取引について一括して算出する場45合はその合計額)に百分の五十を乗じて得た額ロ.法人向けの暗号資産信用取引当該利用者が行う暗号資産信用取引の額(複数の取引について一括して算出する場合はその合計額)に当該暗号資産信用取引の対象となる暗号資産又は暗号資産の組合せの暗号資産リスク想定比率を乗じて得た額(暗号資産リスク想定比率を用いない暗号資産交換業者にあっては、当該暗号資産信用取引の額に百分の五十を乗じて得た額)",id:"EBA3yyzP"},{index:"II-2-2-2-2",content:"(3) 法人向けの暗号資産信用取引の暗号資産リスク想定比率に係る留意事項",id:"Qaft6Str"},{index:"II-2-2-2-2 (3)",content:"① 暗号資産交換業者が、暗号資産リスク想定比率の算出を自社で行う場合",id:"WrHNZmQT"},{index:"II-2-2-2-2 (3) ①",content:"イ.正確性及び合理性が確保されたモデル(「暗号資産信用取引に係る暗号資産リスク想定比率の算出方法を定める件」に定める定量的計算モデルをいう。以下②において同じ。)を構築するとともに、合理的な方法により継続して算出したデータに基づき暗号資産リスク想定比率を算出する態勢を整備しているか。",id:"pQ8LbzFh"},{index:"II-2-2-2-2 (3) ①",content:"ロ.モデルを用いて算出した暗号資産リスク想定比率について、算出の都度及び事後的に検証するとともに、必要に応じてモデルの見直しを行うための態勢を整備しているか。",id:"TA41tFr8"},{index:"II-2-2-2-2 (3)",content:"② 暗号資産交換業者が、暗号資産リスク想定比率の算出を外部委託等する場合",id:"hvJXJF6a"},{index:"II-2-2-2-2 (3) ②",content:"イ.外部委託先が、正確性及び合理性が確保されたモデルを構築するとともに、合理的な方法により継続して算出したデータに基づき暗号資産リスク想定比率を算出する態勢を整備しているかをモニタリングしているか。",id:"t6hyzXr1"},{index:"II-2-2-2-2 (3) ②",content:"ロ.外部委託先が、モデルを用いて算出した暗号資産リスク想定比率について、算出の都度及び事後的に検証するとともに、必要に応じてモデルの見直しを行うための態勢を整備しているかをモニタリングしているか。",id:"sqsozdoG"},{index:"II-2-2-2-2 (3) ②",content:"ハ.上記イ及びロの業務の一部又は全部について、二段階以上の委託が行われた場合には、外部委託先が再委託先に対して十分なモニタリングを行っているかを確認しているか。また、必要に応じ、暗号資産交換業者が再委託先に対して、直接モニタリングを行っているか。",id:"1eTpxoAE"},{index:"II-2-2-2-2 (3) ②",content:"ニ.協会が暗号資産リスク想定比率の算出・公表を行う場合(当該協会が当該比率の算出・公表の一部又は全部を委託する場合を含む。)であって、暗号資産交換業者が当該比率を利用する場合には、当該比率を正確かつ継続的に利用するための態勢を整備しているか。",id:"yNUPIRwx"},{index:"II-2-2-2-2 (3) ニ",content:"(注)なお、上記ニの場合には、監督当局が当該協会に対して、適切な業務運営がなされているか、検証するものとする。",id:"Oen2r96F"},{index:"II-2-2-2-2",content:"(4) 個人向けの暗号資産信用取引におけるロスカット取引",id:"xswTBF2l"},{index:"II-2-2-2-2 (4)",content:"① 利用者の損失が、利用者が預託する保証金を上回ることがないように、価格変動リスクや流動性リスク等を勘案してロスカット取引を実行する水準を定めているか。",id:"fB7hpgNP"},{index:"II-2-2-2-2 (4)",content:"② ロスカット取引に関する取決めを明確に定めた社内規程等を策定し、利用者との契約に反映しているか。",id:"nibUIL4H"},{index:"II-2-2-2-2 (4)",content:"③ 取引時間中の各時点における利用者のポジションを適切に把握し、上記①の水準に抵触した場合には、例外なくロスカット取引を実行しているか。",id:"jkL5i2Uu"},{index:"II-2-2-2-2 (4)",content:"④ ロスカット取引を実行した状況を、定期的に又は必要に応じて随時に、取締役会等に報告しているか。",id:"cqtBq4z7"},{index:"II-2-2-2-2",content:"(5) 利用者保護及び業務の適正かつ確実な遂行を確保するための体制整備暗号資産交換業者は、内閣府令第25条第5項第4号に基づき、暗号資産信用取引について、当該暗号資産信用取引の内容その他の事情に応じ、暗号資産信用取引に係る業務の利用者の保護を図り、及び当該業務の適正かつ確実な遂行を確保するために必要な体制を整備する措置を講じる必要があるが、例えば、以下のような措置を講じているか。",id:"L96TEMWk"},{index:"II-2-2-2-2 (5)",content:"① 利用者の要請があれば、定期的又は必要に応じて随時、利用者のポジションの時価情報等を提供又は通知する等、利用者が決済処理等を行うために必要となる情報を適時適切に提供しているか。",id:"qWTALW4q"},{index:"II-2-2-2-2 (5)",content:"② 利用者から、保証金の全部又は一部として、代用暗号資産の預託を受ける場合には、当該代用暗号資産の価格変動リスクを踏まえつつ、必要額を上回るだけの十分な数量の暗号資産を預託させることとしているか。",id:"mAUPN2LL"},{index:"II-2-2-2-2 (5)",content:"③ II-1-2④を踏まえ、財務上のリスク管理の一環として、暗号資産信用取引の利用者に係る信用リスクや、暗号資産信用取引によって当社が取得するポジションに係る価格変動リスクについて、適切に管理しているか。",id:"Givn12zW"},{index:"II-2-2-2-2 (5)",content:"④ 信用取引は、過当な投機的取引に活用されやすく、取引の場の運営者としての立場と顧客への資金等の提供者としての立場を兼ねる場合には、各立場の間で利益相反が生じることによって、前者の立場として過当投機に伴う価格の乱高下を抑止することが困難となるおそれがあることも踏まえ、当該利益相反を防止するために必要な措置を講じているか。",id:"ECVz9XfQ"},{index:"II-2-2-3 利用者が預託した金銭・暗号資産及び履行保証暗号資産の分別管理",content:"",id:"Ftvz7VLv"},{index:"II-2-2-3-1",content:"意義暗号資産交換業者が利用者から金銭・暗号資産の預託を受ける場合には、法第63条の11及び第63条の11の2並びに内閣府令第26条、第27条及び第29条の規定に基づき、利用者から預託を受けた金銭・暗号資産(以下「利用者財産」という。)及び履行保証暗号資産(法第63条の11の2第1項に規定する履行保証暗号資産をいう。以下同じ。)に係る分別管理についての適切な取扱いが確保される必要がある。
暗号資産交換業者の監督に当たっては、利用者財産及び履行保証暗号資産(以下「利用者財産等」という。)の分別管理の状況の適切性を確認するため、暗号資産交換業者に対し、定期的に又は必要に応じて、外部監査又は内部監査の状況の報告を求めるとともに、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る利用者財産の管理に関する規則」及び外部監査については内閣府令第28条及び第30条に規定する金融庁長官の指定する規則等を踏まえつつ、例えば、以下の点に留意する必要がある。",id:"EQXtc9CM",links:[{url:"payment_services_act/tiMyIMVIoB2Dk5Ku",text:"法第63条の11の2第1項"}]},{index:"II-2-2-3-2 主な着眼点",content:"(1) 経営陣の認識・関与経営陣は、利用者財産等の分別管理が利用者保護に資するものであることを理解した上で、利用者財産等の分別管理の重要性を認識しているか。また、利用者財産等の分別管理の状況について、定期的あるいは随時に報告を受けるなどして、利用者財産等の分別管理が適切に行われるための体制の整備(内部牽制機能の確保を含む。)等に活用しているか。",id:"rkRVS4wD"},{index:"II-2-2-3-2",content:"(2) 分別管理に関する一般的な着眼点",id:"hGB73QVA"},{index:"II-2-2-3-2 (2)",content:"① 利用者財産等の分別管理について、社内規則に、金銭及び暗号資産の種類ごとに、分別管理の執行方法が具体的に定められ、利用者との契約に反映しているか。",id:"lmLVFwJ0"},{index:"II-2-2-3-2 (2)",content:"② 自己の財産である金銭・暗号資産と、利用者財産等が、上記①の執行方法に基づいて明確に区分され、かつ、個々の利用者の金銭の残高・暗号資産の数量について、直ちに判別できることとしているか。また、その遵守状況について適切に検証することとしているか。",id:"3DoskgSY",links:[{url:"crypto_guidelines/lmLVFwJ0",text:"上記①"}]},{index:"II-2-2-3-2 (2)",content:"③ 自己の財産である暗号資産と、履行保証暗号資産が、上記①の執行方法に基づいて明確に区分され、かつ、いずれが履行保証暗号資産であるかを直ちに判別できることとしているか。また、その遵守状況について適切に検証することとしているか。",id:"Tc0QEGd1",links:[{url:"crypto_guidelines/lmLVFwJ0",text:"上記①"}]},{index:"II-2-2-3-2 (2)",content:"④ 利用者の金銭の管理について、内閣府令第26条第1項各号の要件を満たす利用者区分管理信託に係る契約に基づいて管理しているか。また、同項第6号に規定する個別利用者区分管理金額及び利用者区分管理必要額を、同条第2項の規定に従い毎営業日算定しているか。",id:"ry4kHAcm"},{index:"II-2-2-3-2 (2)",content:"⑤ 上記のような分別管理業務を担当する部門を設置するとともに、金銭及び暗号資産の種類ごとに、利用者財産等の受払いの手続を行う担当者と利用者財産等の残高を照合する担当者を設置した上で、両担当者を兼務させないこととしているか。また、事故・不正行為等防止の観点から、各担当者を定期的に交代させる等の措置を講じているか。",id:"nIAgNGOe"},{index:"II-2-2-3-2",content:"(3) 利用者から預託を受けた暗号資産(以下「受託暗号資産」という。)及び履行保証暗号資産の分別管理に関する着眼点",id:"BAL5FNYu"},{index:"II-2-2-3-2 (3)",content:"① 自己で受託暗号資産及び履行保証暗号資産(以下「対象暗号資産」という。)を管理する場合の分別管理については、自己の暗号資産(履行保証暗号資産を除く。以下、①において同じ。)を管理するウォレットとは別のウォレットにおいて、対象暗号資産を管理することとしているか。自己の暗号資産を管理するウォレットと、対象暗号資産を管理するウォレットの保管場所を明確に区分して保管しているか。例えば、ウォレットを保48管するための機器を明確に区分することが考えられる。",id:"GEY6IDV0"},{index:"II-2-2-3-2 (3)",content:"② 対象暗号資産の管理を第三者に委託する場合の分別管理については、対象暗号資産以外の暗号資産を管理するウォレットとは別のウォレットにおいて、当該対象暗号資産を管理させることとしているか。対象暗号資産を管理するウォレットと、当該対象暗号資産以外の暗号資産を管理するウォレットの保管場所を明確に区分して保管させているか。例えば、ウォレットを保管するための機器を明確に区分することが考えられる。",id:"eu5RIWdj"},{index:"II-2-2-3-2 (3)",content:"③ 対象暗号資産の管理について、取引内容がブロックチェーン等のネットワークに反映されない等の事情により、ブロックチェーン等のネットワーク上の対象暗号資産の有高が暗号資産交換業者の管理する帳簿上の対象暗号資産の残高に不足し利用者への受託暗号資産の払い出しに支障が生じる等の事態を防止するために必要な措置を講じているか。",id:"FhxqMJtt",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/90ec32dd-61d9-4083-b372-42cc6e957039"]},{index:"II-2-2-3-2 (3) ③",content:"(注)必要な措置としては、例えば、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る利用者財産の管理に関する規則」を踏まえ、ブロックチェーン等のネットワーク上の対象暗号資産の有高が暗号資産交換業者の管理する帳簿上の対象暗号資産の残高に不足する事態を防止するために必要となる暗号資産の数量をあらかじめ社内規則で定めるとともに、当該暗号資産と同種同量の自己の暗号資産を限度として対象暗号資産を管理するウォレットの中で当該自己の暗号資産を混同して管理(当該数量を超える混同が発生した場合には、発生日の翌日から起算して5営業日以内に当該混同を解消しなければならない。)することが考えられる。",id:"pmWSF4jY"},{index:"II-2-2-3-2 (3)",content:"④ 対象暗号資産の管理について、暗号資産交換業者が管理する帳簿上の対象暗号資産の残高と、ブロックチェーン等のネットワーク上の対象暗号資産の有高を毎営業日照合しているか。また、照合した結果、上記③の措置にもかかわらず、対象暗号資産の有高が帳簿上の対象暗号資産の残高に満たない場合には、原因(注1)の分析を行った上、速やかに当該不足額を解消しているか。",id:"a7a4S8DT"},{index:"II-2-2-3-2 (3) ④",content:"(注1)暗号資産の流出などが考えられる。",id:"iVNbgzqG",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/ec9ccb65-662e-452d-903e-5ed4b31a492d"]},{index:"II-2-2-3-2 (3) ④",content:"(注2)当該不足額に関しては、不足が生じた日の翌日から起算して5営業日(契約に基づいて5営業日よりも短い期限で利用者が受託暗号資産を払い出せる場合には当該期限)以内に解消しなければならない。",id:"Lq1vFass"},{index:"II-2-2-3-2 (3)",content:"⑤ 自己で対象暗号資産を管理する場合には、法第63条の11第2項及び内閣府令第27条第2項で定める要件に該当する受託暗号資産(以下「対象受託暗号資産」という。)を除き、当該対象暗号資産が外部に流出することがないよう、当該対象暗号資産を移転するために必要な秘密鍵等を、常時インターネットに接続していない電子機器等に記録して管理する方法その他これと同等の技術的安全管理措置を講じて管理する方法(以下、「コールドウォレット等」という。)により管理しているか。なお、一度でもインターネットに接続したことのある電子機器等は「常時インターネットに接続していない電子機器等」に該当しないことに留意するものとする。",id:"gihK5Nwh",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/af6109a7-110c-42ec-a90a-8d7843c8b441"]},{index:"II-2-2-3-2 (3) ⑤",content:"(注1)「同等の技術的安全管理措置」が講じられているかは、個別事例ごとに実態に即して実質的に判断する必要があるが、例えば、対象暗号資産を移転するために必要49な秘密鍵等が、署名時に限りインターネットに接続される電子機器等に記録して管理されているが、当該電子機器等に記録されている秘密鍵等が当該電子機器等から外部に一切移転せず当該電子機器等の中で署名を行うことができる技術的仕様となっており、かつ、当該秘密鍵等による署名が手動で行われることにより、その都度、取引内容の真正性が確認される場合などが考えられる。",id:"RWoJ0dKB"},{index:"II-2-2-3-2 (3) ⑤",content:"(注2)ホットウォレット(コールドウォレット等以外の管理方法をいう。以下同じ。)で管理される対象受託暗号資産の管理においては、暗号資産の流出リスクに対応するために、II-2-2-4(3)に基づき、対象受託暗号資産の上限を社内規則で定める等の措置を講ずる必要があることに留意する。",id:"ifZmDRP0",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/354e6a66-8f2a-423c-8c03-0a80992a5a58"]},{index:"II-2-2-3-2 (3)",content:"⑥ 対象暗号資産の管理を第三者に委託する場合には、ホットウォレットで管理される対象受託暗号資産を除き、対象暗号資産の保全に関して、当該暗号資産交換業者が自己で管理する場合と同等の利用者の保護が確保されていると合理的に認められる方法により管理しているか。",id:"3p6cm85c",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/de352423-b2bf-4f73-b30d-237ef966e6fd"]},{index:"II-2-2-3-2 (3) ⑥",content:"(注)「自己で管理する場合と同等の利用者の保護が確保されていると合理的に認められる方法」に該当するかは、個別事例ごとに実態に即して実質的に判断する必要があるが、例えば、以下の場合などが考えられる。",id:"rjYr3L17"},{index:"II-2-2-3-2 (3) ⑥ (注)",content:"・対象暗号資産の管理を他の暗号資産交換業者に委託し、かつ、委託元である暗号資産交換業者が倒産した場合その他一定の事由が生じた場合には、当該他の暗号資産交換業者が管理している対象暗号資産が速やかに委託元である暗号資産交換業者に返還される旨の合意がある場合・対象暗号資産を信託会社等に信託し、かつ、委託者である暗号資産交換業者が倒産した場合その他一定の事由が生じた場合には、当該暗号資産交換業者の利用者が受益者となり、信託財産である対象暗号資産が当該利用者に対して交付される場合",id:"lICFoAeL"},{index:"II-2-2-3-2 (3)",content:"⑦ ホットウォレットで管理される対象受託暗号資産を除く対象暗号資産の全部又は一部が、法第63条11第2項及び内閣府令第27条第2項で定める要件の範囲を超えてホットウォレットで管理されるなど上記⑤及び⑥以外の方法により管理される事態が生じた場合には、当該事態が生じた日の翌日から起算して1営業日以内に、当該事態を解消しているか。",id:"TfVst4ZN",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/36eac688-930d-44a8-bb63-328f37d648a1"]},{index:"II-2-2-3-2 (3)",content:"⑧ 対象暗号資産の管理を第三者に委託する場合には、委託先において、上記(2)①から③及び⑤並びに上記(3)②から④、⑥及び⑦に掲げる事項を遵守していることに加え、II-2-2-4に基づいて流出リスクへの必要な対応が行われていることを確認しているか。",id:"4e6TKvM5"},{index:"II-2-2-3-2",content:"(4) 分別管理監査",id:"szzkxVa3"},{index:"II-2-2-3-2 (4)",content:"① 分別管理監査(内閣府令第28条第1項に規定する分別管理監査及び内閣府令第30条に規定する履行保証暗号資産分別管理監査を総称していう。以下同じ。)に対応するための必要な社内態勢(社内規則・マニュアルの策定、対応部署の設定等を含むがこれに限50られない。)が整備されているか。",id:"et7jHCSh"},{index:"II-2-2-3-2 (4)",content:"② 分別管理監査において把握・指摘された重要な事項は、遅滞なく取締役会及び監査役又は監査役会に報告されているか。",id:"y4GgANih"},{index:"II-2-2-3-2 (4)",content:"③ 分別管理監査における指摘事項を一定期間内に改善しているか。また、内部監査部門は、その改善状況を適切に把握・検証しているか。",id:"uRqmYtF2"},{index:"II-2-2-3-2 (4) ③",content:"(注)監査報告書については、日本暗号資産取引業協会自主規制規則「暗号資産交換業に係る利用者財産の管理に関する規則」を踏まえ、分別管理監査の基準日から4月以内に管轄の財務局に提出しなければならない。",id:"pdqEJAxi"},{index:"II-2-2-4 暗号資産の流出リスクへの対応",content:"",id:"NB9lT1BN"},{index:"II-2-2-4-1",content:"意義暗号資産交換業者が利用者から暗号資産の預託を受ける場合には、対象暗号資産が不正アクセス等により流出することによって、利用者に対して対象暗号資産の返還ができなくなるなど利用者保護が図られないおそれがあるため、平時より、分別管理やシステムリスク管理等の内部管理態勢(業容に応じた内部監査態勢を含む。)の構築を通じて、かかる流出リスクに対して適切に対応することが求められる。実際に、不正アクセス等により多額の暗号資産が流出した事案も複数発生していることから、暗号資産交換業者の経営において、上記流出リスクへの対応は最重要課題のひとつとなっている。",id:"j5GuBGgA"},{index:"II-2-2-4-1",content:"(注)内部関係者による不正アクセス等の不正行為の防止に向け、職業倫理の強化はもとより、内部関係者による不正行為による暗号資産の流出を防止するための適切な措置を図ることは、暗号資産交換業者の健全かつ適切な業務運営の基本にかかわることから、関係する内部管理態勢(業容に応じた内部監査態勢を含む)は高い実効性が求められる。暗号資産交換業者の監督に当たっては、上記流出リスクに対する適切な対応が図られているかを確認するに際して、例えば、以下の点に留意するものとする。",id:"r4s85wpU",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/41c6bbde-87ea-4846-bd04-fc0652f273f2"]},{index:"II-2-2-4-2 主な着眼点",content:"",id:"WfOiDFH6"},{index:"II-2-2-4-2",content:"(1) 経営陣の認識・関与経営陣は、流出リスクへの対応が利用者保護に資するものであることを理解した上で、流出リスクへの対応の重要性を認識しているか。また、流出リスクへの対応状況について、定期的あるいは随時に報告を受けるなどして、流出リスクへの対応が適切に行われるための体制の整備等に活用しているか。",id:"RfdJUaCN"},{index:"II-2-2-4-2",content:"(2) 流出リスクの特定・評価",id:"X1ZHvjaa"},{index:"II-2-2-4-2 (2)",content:"① 取り扱う暗号資産の種類ごとに、当該暗号資産の流出リスクを特定・評価しているか。",id:"rFYLHpDH"},{index:"II-2-2-4-2 (2) ①",content:"(注)流出リスクの特定・評価に際しては、「金融分野におけるサイバーセキュリティに関するガイドライン」や、協会及び専門的知見を有する関係団体等におけるセキュリティ対策に係る指針等も参考とする必要があることに留意する。",id:"7bhdNn15"},{index:"II-2-2-4-2 (2)",content:"② 流出リスクの特定に当たっては、暗号資産の仕組みや当該暗号資産に使用される技術、社内のシステム・ネットワーク環境、対象暗号資産を移転するために必要な秘密鍵等の使用(署名)に至るオペレーション等の事情を勘案のうえ、想定され得る流出の場面(秘密鍵等の漏えい、盗難、不正利用、消失等を含むがこれに限られない。)を洗い出し、当該流出の原因となるリスク(サイバー攻撃のほか、事務処理ミス、内部不正、システムの不具合等を含むがこれに限らない。)を具体的に特定しているか。",id:"dfI8bzZ9"},{index:"II-2-2-4-2 (2)",content:"③ 特定した流出リスクの評価に当たっては、当該リスクが顕在化することによって生じ得る対象暗号資産への影響その他利用者及び経営への影響等を具体的に分析し、評価しているか。また、定期的にリスク評価を見直すほか、対象暗号資産の管理に関し、重大な影響を及ぼし得る新たな事象が発生した場合には、必要に応じてリスク評価を見直すこととしているか。",id:"YORknL5q"},{index:"II-2-2-4-2 (2)",content:"④ 新たな暗号資産の取扱いやサービスの提供を開始する場合には、当該暗号資産・サービス等の提供前に分析を行い、流出リスクの観点から検証しているか。",id:"0BcKxbeg"},{index:"II-2-2-4-2",content:"(3) 流出リスクの低減",id:"tchzb15U"},{index:"II-2-2-4-2 (3)",content:"① 利用者の利便性等を理由に、やむを得ずインターネットに接続された環境で秘密鍵等を管理しなければならない場合には、法第63条の11第2項及び内閣府令第27条第2項で定める要件の範囲内で、当該環境で秘密鍵等を管理する受託暗号資産の上限をあらかじめ社内規則で定めた上で、かかる上限の範囲内で秘密鍵等を管理する等の措置を講じているか。",id:"jPJAyL8e"},{index:"II-2-2-4-2 (3) ①",content:"(注)なお、法第63条の11第2項及び内閣府令第27条第2項で定める要件の範囲であっても、リスク管理の観点から、ホットウォレットで管理される対象受託暗号資産はその行う暗号資産交換業の状況に照らし最小限度にすべきであり、ホットウォレットで管理される受託暗号資産が上記社内規則で定めた上限を超えた場合は、当該事態を速やかに解消することが望ましい。",id:"Ftyx7ThA",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/5ca64aa8-b48e-4a29-9cc2-00e7f74082ac"]},{index:"II-2-2-4-2 (3)",content:"② 上記①のほか、流出リスクの低減に際しては、流出の態様の変化や技術の進歩等を踏まえつつ、「金融分野におけるサイバーセキュリティに関するガイドライン」や、協会及び専門的知見を有する関係団体等におけるセキュリティ対策に係る指針等も参考とする必要があるが、例えば、以下の点を含め、上記(2)で特定・評価された流出リスクに対して有効な低減措置を講じているか。",id:"3MZdIbrd"},{index:"II-2-2-4-2 (3) ②",content:"イ.対象暗号資産を移転する場合には、あらかじめ社内規則等で定められた手続に従い、複数の担当者が関与する体制となっているか。",id:"UGieMpK2"},{index:"II-2-2-4-2 (3) ②",content:"ロ.権限者以外の者が使用(署名)できない方法で秘密鍵等を管理しているか。特にハードウェアや紙等の物理媒体で秘密鍵等を管理する場合には、施錠されたセキュリティルーム、金庫など権限者以外の者がアクセスすることができない環境で保管してい52るか。",id:"cNhcGkwf"},{index:"II-2-2-4-2 (3) ②",content:"ハ.対象暗号資産の移転について、複数の秘密鍵等を用いた電子署名を必要とする等の適切な措置を講じているか。複数の秘密鍵等を用いる場合には、各秘密鍵等の保管場所を分けて管理しているか。",id:"iFYAYTEL"},{index:"II-2-2-4-2 (3) ②",content:"ニ.対象暗号資産の移転に際して、当該対象暗号資産の移転に係る取引内容が真正であることを確認しているか。",id:"2vCfndly"},{index:"II-2-2-4-2 (3) ②",content:"ホ.利用者からの依頼によって対象暗号資産が自動的に外部に移転する仕組みを用いる場合には、一回又は短時間に移転できる対象暗号資産の上限を設定しているか。へ.秘密鍵等が紛失した場合に備え、バックアップを作成しているか。バックアップについても、II-2-2-3-2(3)⑤及び⑥並びに上記ロに基づいて安全に管理しているか。",id:"EldLT823"},{index:"II-2-2-4-2 (3) ②",content:"ト.対象暗号資産の移転の手続について内部監査の対象としているか。",id:"6Jttajua"},{index:"II-2-2-4-2 (4) 流出時の対応",content:"",id:"aXh7THJq"},{index:"II-2-2-4-2 (4)",content:"① 対象暗号資産の流出を直ちに検知可能なシステム監視体制その他流出を直ちに検知するために必要な内部管理体制が整備されているか。",id:"YZIgXGN1"},{index:"II-2-2-4-2 (4)",content:"② 対象暗号資産の流出を検知した場合には、検知した内容について、経営陣に対して確実かつ速やかに伝達するための社内連絡体制が整備されているか。",id:"aYmk4rqY"},{index:"II-2-2-4-2 (4)",content:"③ 対象暗号資産の流出を検知した場合の対応について、流出時を想定したコンティンジェンシープランを策定の上、例えば、以下の措置を含む緊急時体制を構築しているか。",id:"F77FPBY1"},{index:"II-2-2-4-2 (4) ③",content:"イ.二次被害を防止するために必要な措置",id:"QWHhGRa3"},{index:"II-2-2-4-2 (4) ③ イ",content:"(注)例えば、インターネットと接続した環境で秘密鍵等を保管している場合には、当該秘密鍵等を直ちにインターネットから隔離すること、当該秘密鍵等で管理される暗号資産を直ちにインターネットに接続されていない環境に移転させること、他の暗号資産に影響がないか確認することなど、流出の状況や保管している暗号資産の特性などに応じ、必要な対応を検討することが求められる。",id:"pWpbQweZ"},{index:"II-2-2-4-2 (4)",content:"ロ.被害にあった利用者への対応(相談窓口の設置等を含む。)",id:"sMEfz4WZ"},{index:"II-2-2-4-2 (4) ③ ロ",content:"(注)利用者への被害回復にあたっては、内閣府令第23条第3項に規定する債務の履行に関する方針に従った対応が求められることに留意する。",id:"sZa03V7I"},{index:"II-2-2-4-2 (4)",content:"ハ.当局及び外部委託先等を含む関係者への報告・連携ニ.速やかな原因分析及び新たなリスク低減措置の検討・実施",id:"IVYlAwB9"},{index:"II-2-2-4-2 (4) ③ ハ",content:"(注)原因分析を迅速に行うためには、関連するサーバー等の証拠保全を適切に行うこと、事象の追跡に十分な情報を含むアクセスログなどを記録しておくことが必要である点に留意すること。",id:"vHnSvIZ0"},{index:"II-2-2-5 帳簿書類",content:"",id:"DwRYRTGb"},{index:"II-2-2-5-1 意義",content:"暗号資産交換業に関する帳簿書類は、暗号資産交換業者の業務及び利用者財産の管理の状況を正確に反映させるとともに、分別管理監査の結果に関する記録を行わせることにより、利用者保護に資するため法令にその作成及び保存義務が規定されているものである。帳簿書類の検証に当たっては、これらの趣旨を踏まえ、以下の点に留意して行うものとする。",id:"3z2AN8wr"},{index:"II-2-2-5-2 主な着眼点",content:"",id:"F07eJQFO"},{index:"II-2-2-5-2",content:"① 帳簿書類の作成について、単に帳簿名や記載事項を列挙するのではなく、帳簿の目的・用途を規定した社内規則等を定めるなど正確な帳簿を作成するための必要な態勢を整備するとともに、役職員が社内規則等に基づき適切な取扱いを行うよう、社内研修等により周知徹底を図っているか。",id:"3z0vcIjq"},{index:"II-2-2-5-2 ①",content:"(注)暗号資産交換業に係る取引を外国通貨建てで請け負った場合には、当該金銭に係る利用者財産の管理の方法については本邦通貨に換算して算出した上で、帳簿書類に記載する必要がある。本邦通貨に換算するに当たっては、利用者の金銭の額を算出する営業日における対利用者直物電信売相場と対利用者直物電信買相場の仲値によるものとする。さらに、当該仲値は、原則として、暗号資産交換業者の主たる取引金融機関のものによることとするが、合理的なものを継続して使用している場合には、これを認めても差し支えない。また、暗号資産を本邦通貨に換算する場合には、「II-2-1-4-2主な着眼点(9)」を参考とすること。",id:"aBpAqzcO"},{index:"II-2-2-5-2",content:"② 注文伝票を作成するに当たっては、利用者からの注文又は自己の取引の発注の履歴を事後的に正確に把握できるよう、例えば、以下のような措置を講じているか。",id:"wvzeifvv"},{index:"II-2-2-5-2 ②",content:"・受注(自己の取引の発注の場合は、発注)と同時に、注文内容をコンピュータへ入力すること・利用者の照会に対し、速やかに回答できるようになっていること・入力データのバックアップを作成・保存すること・入力時刻が自動的に記録されるシステムとなっていること・入力事績の取消・修正を行った場合その取消・修正記録がそのまま残されるシステムとなっていること・コンピュータシステム稼働終了後に翌日の注文を受注するケース、システムダウン等によりコンピュータが使用不能となるケース等受注と同時にコンピュータに直接入力して作成することが不可能な場合は、受注時に手書きで注文伝票を作成すること。ただし、受注時に作成した手書きの注文伝票とその注文内容を後で入力して作成した約定結果等が記載されたコンピュータ作成の注文伝票を併せて保存する場合は手書きの注文伝票に追記を行う必要はない。",id:"s7TYi6qe"},{index:"II-2-2-5-2",content:"③ 帳簿書類のデータファイルのバックアップ等、帳簿書類が毀損された場合には速やかに利用者ごとの金銭と暗号資産の額を把握・復元できるよう態勢を整備しているか。",id:"fx71ISVW"},{index:"II-2-2-5-2",content:"④ 帳簿書類の記載内容の正確性について、内部監査部門等、帳簿書類作成部署以外の部54門において検証を行っているか。",id:"rMGCYAfj"},{index:"II-2-2-5-2",content:"⑤ 帳簿書類を電子媒体により保存する場合には、以下の点に留意するものとする。",id:"4XP09wgN",revision:["crypto_guidelines/revisions/20231117/231109"]},{index:"II-2-2-5-2 ⑤",content:"・保存に使用する電子媒体は内閣府令第33条第2項に規定する保存期間の耐久性を有すること。",id:"tIcDrTLT",revision:["crypto_guidelines/revisions/20231117/231110"]},{index:"II-2-2-5-2 ⑤",content:"・利用者の照会に対し、速やかに回答できるシステムとなっていること。",id:"KhkYPvWm",revision:["crypto_guidelines/revisions/20231117/231111"]},{index:"II-2-2-5-2 ⑤",content:"・入力データの取消・修正を行った場合、その取消・修正記録がそのまま残されるシステムとなっていること。",id:"Lu9A6wVw",revision:["crypto_guidelines/revisions/20231117/231112"]},{index:"II-2-2-5-2 ⑤",content:"・内部監査に対応できるシステムとなっていること。",id:"dkCKJMhp",revision:["crypto_guidelines/revisions/20231117/231113"]},{index:"II-2-2-5-2 ⑤",content:"・作成・保存に関する責任者をおき、当該作成・保存に関する社内規則が整備されていること。",id:"9OSInFfH",revision:["crypto_guidelines/revisions/20231117/231114"]},{index:"II-2-2-5-2",content:"⑥ 内閣府令第33条第3項ただし書後段は、同条第1項各号に掲げる帳簿書類が外国に設けた営業所において作成されたか否かにかかわらず、それが電磁的記録をもって作成され、かつ、国内に設けた営業所において当該電磁的記録に記録された事項を表示したものを遅滞なく閲覧することができる状態に置いているときは、当該帳簿書類を国外において保存することを認めるものである。ただし、暗号資産交換業者において、利用者に関する情報管理態勢(II-2-2-6)やシステムリスク管理(II-2-3-1)等に十分留意されている必要があり、また、当該国外において不正アクセスに限らず第三者への情報流出やシステムの安定稼働への支障が生じるリスクについても適切に勘案されている必要がある。",id:"XdBpHSp0"},{index:"II-2-2-6 利用者に関する情報管理態勢",content:"",id:"pJBKHVJY"},{index:"II-2-2-6-1",content:"意義利用者に関する情報については、内閣府令第13条から第15条までの規定に加え、個人情報の保護に関する法律(平成15年法律第57号。以下「個人情報保護法」という。)、個人情報の保護に関する法律についてのガイドライン(通則編)、同ガイドライン(外国にある第三者への提供編)、同ガイドライン(第三者提供時の確認・記録義務編)及び同ガイドライン(仮名加工情報・匿名加工情報編)(以下、合わせて「保護法ガイドライン」という。)、金融分野における個人情報保護に関するガイドライン(以下「金融分野ガイドライン」という。)及び金融分野における個人情報保護に関するガイドラインの安全管理措置等についての実務指針(以下「実務指針」という。)の規定に基づく適切な取扱いが確保される必要がある。また、クレジットカード情報(カード番号、有効期限等)を含む個人情報(以下「クレジットカード情報等」という。)は、情報が漏えいした場合、不正使用によるなりすまし購入など二次被害が発生する可能性が高いことから、厳格な管理が求められる。以上を踏まえ、暗号資産交換業者の監督に当たっては、例えば、以下の点に留意するものとする。",id:"rLTTfzzM"},{index:"II-2-2-6-1",content:"(注)個人情報の取扱いについては、必要に応じて別途、個人情報の保護に関する法律に55おける事業所管大臣への権限委任の状況に従い、必要な措置をとる場合があることに留意する。",id:"cKekZ3L8"},{index:"II-2-2-6-2 主な着眼点",content:"",id:"T8UZMIRH"},{index:"II-2-2-6-2",content:"(1) 利用者に関する情報管理態勢",id:"1kDZLwzh"},{index:"II-2-2-6-2 (1)",content:"① 経営陣は、利用者に関する情報管理の適切性を確保する必要性及び重要性を認識し、適切性を確保するための組織体制の確立(部門間における適切なけん制の確保を含む。)、社内規程の策定等、内部管理態勢の整備を図っているか。",id:"77KQKBeR"},{index:"II-2-2-6-2 (1)",content:"② 利用者に関する情報の取扱いについて、具体的な取扱基準を定めた上で、研修等により役職員に周知徹底を図っているか。特に、当該情報の第三者への伝達については、上記の法令、保護法ガイドライン、金融分野ガイドライン、実務指針の規定に従い手続きが行われるよう十分な検討を行った上で取扱基準を定めているか。",id:"1hqJHJNt"},{index:"II-2-2-6-2 (1)",content:"③ 利用者に関する情報へのアクセス管理の徹底(アクセス権限を付与された本人以外が使用することの防止等)、内部関係者による利用者に関する情報の持ち出しの防止に係る対策、外部からの不正アクセスの防御等情報管理システムの堅牢化などの対策を含め、利用者に関する情報の管理状況を適時・適切に検証できる態勢となっているか。また、特定職員に集中する権限等の分散や、幅広い権限等を有する職員への管理・けん制の強化を図る等、利用者に関する情報を利用した不正行為を防止するための適切な措置を図っているか。",id:"RGUGzsFu"},{index:"II-2-2-6-2 (1)",content:"④ 利用者に関する情報の漏えい等が発生した場合に、適切に責任部署へ報告され、二次被害等の発生防止の観点から、対象となった利用者への説明、当局への報告及び必要に応じた公表が迅速かつ適切に行われる態勢が整備されているか。また、情報漏えい等が発生した原因を分析し、再発防止に向けた対策が講じられているか。さらには、他社の漏えい事故を踏まえ、類似事例の再発防止のために必要な措置の検討を行っているか。",id:"9TI634u5"},{index:"II-2-2-6-2 (1)",content:"⑤ 独立した内部監査部門において、定期的に又は随時に、利用者に関する情報管理に係る幅広い業務を対象とした監査を行っているか。また、利用者に関する情報管理に係る監査に従事する職員の専門性を高めるため、研修の実施等の方策を適切に講じているか。",id:"GNxXc9jt"},{index:"II-2-2-6-2 (1)",content:"⑥ 情報の適切な取扱いを確保するために協会で主催する研修又は同等の内容の研修に役職員を定期的に参加させているか。",id:"3XtOab0S"},{index:"II-2-2-6-2",content:"(2) 個人情報管理",id:"Ryjyqix0"},{index:"II-2-2-6-2 (2)",content:"① 個人である利用者に関する情報については、内閣府令第14条の規定に基づきその安全管理及び従業者の監督について、当該情報の漏えい、滅失又は毀損の防止を図るために必要かつ適切な措置として以下の措置が講じられているか。(安全管理について必要かつ適切な措置)",id:"2o3lk5fD"},{index:"II-2-2-6-2 (2) ①",content:"イ.金融分野ガイドライン第8条の規定に基づく措置",id:"hAX2cDKF"},{index:"II-2-2-6-2 (2) ①",content:"ロ.実務指針I及び別添2の規定に基づく措置(従業者の監督について必要かつ適切な措置)",id:"cQsif8nD"},{index:"II-2-2-6-2 (2) ①",content:"ハ.金融分野ガイドライン第9条の規定に基づく措置ニ.実務指針IIの規定に基づく措置",id:"F9E5GuIT"},{index:"II-2-2-6-2 (2)",content:"② 個人である利用者に関する人種、信条、門地、本籍地、保健医療又は犯罪経歴についての情報その他の特別の非公開情報(注)を、金融分野ガイドライン第5条第1項各号に列挙する場合を除き、利用しないことを確保するための措置が講じられているか。",id:"3Dk7m7G4"},{index:"II-2-2-6-2 (2) ②",content:"(注)その他特別の非公開情報とは、以下の情報をいう。",id:"ELnRMEQv"},{index:"II-2-2-6-2 (2) ② (注)",content:"イ.労働組合への加盟に関する情報",id:"3ZVpsmEJ"},{index:"II-2-2-6-2 (2) ② (注)",content:"ロ.民族に関する情報",id:"UqjdeUor"},{index:"II-2-2-6-2 (2) ② (注)",content:"ハ.性生活に関する情報",id:"jGH8epcU"},{index:"II-2-2-6-2 (2) ② (注)",content:"ニ.個人情報の保護に関する法律施行令第2条第4号に定める事項に関する情報",id:"44YXdONL"},{index:"II-2-2-6-2 (2) ② (注)",content:"ホ.個人情報の保護に関する法律施行令第2条第5号に定める事項に関する情報",id:"Xhgcsnqu"},{index:"II-2-2-6-2 (2) ② (注)",content:"へ.犯罪により害を被った事実に関する情報",id:"irhiyagB"},{index:"II-2-2-6-2 (2) ② (注)",content:"ト.社会的身分に関する情報",id:"brQJ3VjJ"},{index:"II-2-2-6-2 (2)",content:"③クレジットカード情報等については、以下の措置が講じられているか。",id:"TZGHZa8z"},{index:"II-2-2-6-2 (2) ③",content:"イ.クレジットカード情報等について、利用目的その他の事情を勘案した適切な保存期間を設定し、保存場所を限定し、保存期間経過後適切かつ速やかに廃棄しているか。",id:"sNCNp0by"},{index:"II-2-2-6-2 (2) ③",content:"ロ.業務上必要とする場合を除き、クレジットカード情報等をコンピュータ画面に表示する際には、カード番号を全て表示させない等の適切な措置を講じているか。",id:"cgxEUMMT"},{index:"II-2-2-6-2 (2) ③",content:"ハ.独立した内部監査部門において、クレジットカード情報等を保護するためのルール及びシステムが有効に機能しているかについて、定期的又は随時に内部監査を行っているか。",id:"MDww802F"},{index:"II-2-2-6-2 (2)",content:"④ 個人データの第三者提供に関して、金融分野ガイドライン第12条等を遵守するための措置が講じられているか。特に、その業務の性質や方法に応じて、以下の点にも留意しつつ、個人である利用者から適切な同意の取得が図られているか。",id:"PBqZ7EFB"},{index:"II-2-2-6-2 (2) ④",content:"イ.金融分野ガイドライン第3条を踏まえ、個人である利用者からPC・スマートフォン等の非対面による方法で第三者提供の同意を取得する場合、同意文言や文字の大きさ、画面仕様その他同意の取得方法を工夫することにより、第三者提供先、当該提供先に提供される情報の内容及び当該提供先における利用目的について、個人である利用者が明確に認識できるような仕様としているか。",id:"urwR7wwT"},{index:"II-2-2-6-2 (2) ④",content:"ロ.過去に個人である利用者から第三者提供の同意を取得している場合であっても、第三者提供先や情報の内容が異なる場合、又はあらかじめ特定された第三者提供先における利用目的の達成に必要な範囲を超えた提供となる場合には、改めて個人である利用者の同意を取得しているか。",id:"W67XrPWF"},{index:"II-2-2-6-2 (2) ④",content:"ハ.第三者提供先が複数に及ぶ場合や、第三者提供先により情報の利用目的が異なる場57合、個人である利用者において個人データの提供先が複数に及ぶことや各提供先における利用目的が認識できるよう、同意の対象となる第三者提供先の範囲や同意の取得方法、時機等を適切に検討しているか。",id:"DuzE4zpt"},{index:"II-2-2-6-2 (2) ④",content:"ニ.第三者提供の同意の取得にあたって、優越的地位の濫用や個人である利用者との利益相反等の弊害が生じるおそれがないよう留意しているか。例えば、個人である利用者が、第三者提供先や第三者提供先における利用目的、提供される情報の内容について、過剰な範囲の同意を強いられる等していないか。",id:"imX09nFq"},{index:"II-2-2-7 苦情等への対処(金融ADR制度への対応も含む。)",content:"",id:"kvOPswW8"},{index:"II-2-2-7-1",content:"意義暗号資産交換業者が利用者からの相談・苦情・紛争等(以下「苦情等」という。)に真摯に対応して利用者の理解を得ようとすることは、暗号資産交換業者にとって利用者に対する説明責任を事後的に補完する意味合いを持つ利用者保護上重要な活動の一つである。近年、利用者の保護を図り暗号資産交換業務(法第2条第25項に規定する暗号資産交換業務をいう。以下同じ。)への利用者の信頼性を確保する観点から、苦情等への事後的な対処の重要性もさらに高まっている。このような観点を踏まえ、簡易・迅速に苦情処理・紛争解決を行うための枠組みとして金融ADR制度(ADRについて(注)参照)が導入されており、暗号資産交換業者においては、金融ADR制度も踏まえつつ、適切に苦情等に対処していく必要がある。",id:"OqkJK4MF"},{index:"II-2-2-7-1",content:"(注)ADR(AlternativeDisputeResolution)訴訟に代わる、あっせん・調停・仲裁等の当事者の合意に基づく紛争の解決方法であり、事案の性質や当事者の事情等に応じた迅速・簡便・柔軟な紛争解決が期待される。暗号資産交換業務に関する申出としては、相談のほか、いわゆる苦情・紛争などの利用者からの不満の表明など、様々な態様のものがありうる。暗号資産交換業者には、これらの様々な態様の申出に対して適切に対処していくことが重要であり、かかる対処を可能とするための適切な内部管理態勢を整備することが求められる。加えて、暗号資産交換業者には、金融ADR制度において、苦情と紛争のそれぞれについて適切な態勢を整備することが求められている。もっとも、これら苦情・紛争の区別は相対的で相互に連続性を有するものである。特に、金融ADR制度においては、指定ADR機関(注1)において苦情処理手続と紛争解決手続の連携の確保が求められていることを踏まえ、暗号資産交換業者においては、利用者からの申出を形式的に「苦情」「紛争」に切り分けて個別事案に対処するのではなく、両者の相対性・連続性を勘案し、適切に対処していくことが重要である。",id:"77hDTwV7"},{index:"II-2-2-7-1",content:"(注1)指定ADR機関とは、指定暗号資産交換業務紛争解決機関(法第2条第23項に規定する「指定紛争解決機関」であって、その紛争解決等業務の種別が暗号資産交換業務であるもの)をいう。58",id:"sAYw8v20"},{index:"II-2-2-7-1",content:"(注2)一般に利用者と暗号資産交換業者との間で生じる個別の紛争は、私法上の契約に係る問題であり、基本的にADRや司法の場を含め当事者間で解決されるべき事柄であることに留意する必要がある。",id:"QrJAHtqW"},{index:"II-2-2-7-2",content:"主な着眼点暗号資産交換業者による苦情等対処に関する内部管理態勢について、例えば、以下のような点に留意して検証することとする。",id:"8LhkGiaw"},{index:"II-2-2-7-2",content:"① 経営陣による内部管理態勢の確立経営陣は、苦情等対処機能に関する全社的な内部管理態勢の確立について、適切に機能を発揮しているか。",id:"PoH90tvS"},{index:"II-2-2-7-2",content:"②社内規則等の整備、周知・徹底",id:"hVKFcycP"},{index:"II-2-2-7-2 ②",content:"イ.社内規則等において、苦情等に対し迅速・公平かつ適切な対応・処理を可能とするよう、苦情等に係る担当部署、その責任・権限及び苦情等の処理手続を定めるとともに、利用者の意見等を業務運営に反映するよう、業務改善に関する手続を定めているか。",id:"9LtGjZns"},{index:"II-2-2-7-2 ②",content:"ロ.苦情等対処に関し社内規則等に基づいて業務が運営されるよう、研修その他の方策(マニュアル等の配布を含む。)により、社内に周知・徹底をする等の態勢を整備しているか。特に利用者からの苦情等が多発している場合には、まず社内規則等(苦情等対処に関するものに限らない。)の営業所に対する周知・徹底状況を確認し、実施態勢面の原因と問題点を検証することとしているか。",id:"193PunXE"},{index:"II-2-2-7-2",content:"③ 苦情等対処の実施態勢",id:"BcOhdntD"},{index:"II-2-2-7-2 ③",content:"イ.苦情等への対処に関し、適切に担当者を配置しているか。",id:"SAFz0aIp"},{index:"II-2-2-7-2 ③",content:"ロ.利用者からの苦情等について、関係部署が連携のうえ、速やかに処理を行う態勢を整備しているか。特に、苦情等対処における主管部署及び担当者が、個々の職員が抱える利用者からの苦情等の把握に努め、速やかに関係部署に報告を行う態勢を整備しているか。",id:"ncK7ErLr"},{index:"II-2-2-7-2 ③",content:"ハ.苦情等の解決に向けた進捗管理を適切に行い、長期未済案件の発生を防止するとともに、未済案件の速やかな解消を行う態勢を整備しているか。",id:"2dhqhBqq"},{index:"II-2-2-7-2 ③",content:"ニ.苦情等の発生状況に応じ、受付窓口における対応の充実を図るとともに、利用者利便に配慮したアクセス時間・アクセス手段(例えば、eメール、電話、手紙、FAX等の複数の手段)を設定する等、広く苦情等を受け付ける態勢を整備しているか。また、これら受付窓口、申出の方式等について広く公開するとともに、利用者の多様性に配慮しつつ分かりやすく周知する態勢を整備しているか。",id:"wfd1JotF"},{index:"II-2-2-7-2 ③",content:"ホ.苦情等対処に当たっては、個人情報について、個人情報保護法その他の法令、保護法ガイドライン等に沿った適切な取扱いを確保するための態勢を整備しているか(「II-2-2-6利用者に関する情報管理態勢」参照)。",id:"Fjxu1Qcq"},{index:"II-2-2-7-2 ③",content:"へ.業務の外部委託先が行う委託業務に関する苦情等について、暗号資産交換業者への直接の連絡体制を設けるなど、迅速かつ適切に対処するための態勢を整備しているか(「II-2-3-3外部委託」参照)。",id:"tYNK8B1y"},{index:"II-2-2-7-2 ③",content:"ト.反社会的勢力による苦情等を装った圧力に対しては、通常の苦情等と区別し、断固たる対応をとるため関係部署に速やかに連絡し、必要に応じ警察等関係機関との連携を取った上で、適切に対処する態勢を整備しているか。",id:"1KeG6fV7"},{index:"II-2-2-7-2",content:"④ 利用者への対応",id:"2zCm0uIE"},{index:"II-2-2-7-2 ④",content:"イ.苦情等への対処について、単に処理の手続の問題と捉えるにとどまらず事後的な説明態勢の問題として位置付け、苦情等の内容に応じ利用者から事情を十分にヒアリングしつつ、可能な限り利用者の理解と納得を得て解決することを目指しているか。",id:"ONbl2TTd"},{index:"II-2-2-7-2 ④",content:"ロ.苦情等を申し出た利用者に対し、申出時から処理後まで、利用者特性にも配慮しつつ、苦情等対処の手続の進行に応じた適切な説明(例えば、苦情等対処手続の説明、申出を受理した旨の通知、進捗状況の説明、結果の説明等)を必要に応じて行う態勢を整備しているか。",id:"U58MkJBL"},{index:"II-2-2-7-2 ④",content:"ハ.申出のあった苦情等について、暗号資産交換業者自身において対処するばかりでなく、苦情等の内容や利用者の要望等に応じ、利用者に対して適切な外部機関等(金融ADR制度において暗号資産交換業者が利用している外部機関も含む。以下同じ。)を紹介するとともに、その標準的な手続の概要等の情報を提供する態勢を整備しているか。なお、複数ある苦情処理・紛争解決の手段(金融ADR制度を含む。)は任意に選択しうるものであり、外部機関等の紹介に当たっては、利用者の選択を不当に制約することとならないよう留意する必要がある。",id:"wunl71XD"},{index:"II-2-2-7-2 ④",content:"ニ.外部機関等において苦情等対処に関する手続が係属している間にあっても、当該手続の他方当事者である利用者に対し、必要に応じ、適切な対応(一般的な資料の提供や説明など利用者に対して通常行う対応等)を行う態勢を整備しているか。",id:"qTqAgoFc"},{index:"II-2-2-7-2",content:"⑤ 情報共有・業務改善等",id:"DrTWNHe6"},{index:"II-2-2-7-2 ⑤",content:"イ.類型化した苦情等及びその対処結果等が内部管理部門や営業部署に報告されるとともに、重要案件と認められた場合、速やかに監査部門や経営陣に報告されるなど、事案に応じ必要な関係者間で情報共有が図られる態勢を整備しているか。",id:"0MGQdVFb"},{index:"II-2-2-7-2 ⑤",content:"ロ.苦情等の内容及び対処結果について、自ら対処したものに加え、外部機関が介在して対処したものを含め、適切かつ正確に記録・保存しているか。また、これらの苦情等の内容及び対処結果について、指定ADR機関より提供された情報等も活用しつつ、分析し、その分析結果を継続的に利用者対応・事務処理についての態勢の改善や苦情等の再発防止策・未然防止策に活用する態勢を整備しているか。",id:"cIfcZt38"},{index:"II-2-2-7-2 ⑤",content:"ハ.苦情等対処機能の実効性を確保するため、検査・監査等の内部けん制機能が十分発揮されるよう態勢を整備しているか。",id:"yeYLHyI0"},{index:"II-2-2-7-2 ⑤",content:"ニ.苦情等対処の結果を業務運営に反映させる際、業務改善・再発防止等必要な措置を講じることの判断及び苦情等対処態勢の在り方についての検討及び継続的な見直しに60ついて、経営陣が指揮する態勢を整備しているか。",id:"Ncj9JviG"},{index:"II-2-2-7-2",content:"⑥ 外部機関等との関係",id:"oBugh0kN"},{index:"II-2-2-7-2 ⑥",content:"イ.迅速な苦情等解決を図るべく、外部機関等に対し適切に協力する態勢を整備しているか。",id:"pn7hrTaO"},{index:"II-2-2-7-2 ⑥",content:"ロ.外部機関等に対して、自ら紛争解決手続の申立てを行う際、自らの手続を十分に尽くさずに安易に申立てを行うのではなく、利用者からの苦情等の申出に対し、十分な対応を行い、かつ申立ての必要性につき社内で適切な検討を経る態勢を整備しているか。",id:"9xroqRV2"},{index:"II-2-2-7-3 金融ADR制度への対応",content:"",id:"RCuqHvuk"},{index:"II-2-2-7-3-1",content:"指定暗号資産交換業務紛争解決機関(指定ADR機関)が存在する場合の主な着眼点利用者保護の充実及び暗号資産交換業への利用者の信頼性の向上を図るためには、暗号資産交換業者と利用者との実質的な平等を確保し、中立・公正かつ実効的に苦情等の解決を図ることが重要である。そこで、金融ADR制度において、指定ADR機関によって、専門家等関与のもと、第三者的立場からの苦情処理・紛争解決が行われることとされている。なお、金融ADR制度においては、苦情処理・紛争解決への対応について、主に暗号資産交換業者と指定ADR機関との間の手続実施基本契約(法第99条第1項第8号)によって規律されているところである。暗号資産交換業者においては、指定ADR機関において苦情処理・紛争解決を行う趣旨を踏まえつつ、手続実施基本契約で規定される義務等に関し、適切に対応する必要がある。暗号資産交換業者による金融ADR制度への対応について、例えば、以下のような点に留意して検証することとする。",id:"bbLTXruD"},{index:"II-2-2-7-3-1",content:"(注)指定ADR機関が存在する場合において、暗号資産交換業者に手続応諾義務等への違反・懈怠等の問題が認められた場合であっても、一義的には暗号資産交換業者と指定ADR機関との手続実施基本契約に係る不履行であるため、直ちに行政処分の対象となるものではなく、当局としては、暗号資産交換業者の対応を全体的・継続的にみて判断を行うものとする。",id:"aeAaooYv"},{index:"II-2-2-7-3-1",content:"① 手続実施基本契約",id:"tfIQQ3oF"},{index:"II-2-2-7-3-1 ①",content:"イ.自らが営む暗号資産交換業務について、指定ADR機関との間で、速やかに手続実施基本契約を締結しているか。また、例えば、指定ADR機関の指定取消しや新たな指定ADR機関の設立などの変動があった場合であっても、利用者利便の観点から最善の策を選択し、速やかに必要な措置(新たな苦情処理措置・紛争解決措置の実施、手続実施基本契約の締結など)を講じるとともに、利用者へ周知する等の適切な対応を行っているか。",id:"0f52b8Ny"},{index:"II-2-2-7-3-1 ①",content:"ロ.指定ADR機関と締結した手続実施基本契約の内容を誠実に履行する態勢を整備しているか。",id:"8QV7ZLC0"},{index:"II-2-2-7-3-1",content:"② 公表・周知・利用者への対応",id:"pmNcwvL5"},{index:"II-2-2-7-3-1 ②",content:"イ.手続実施基本契約を締結した相手方である指定ADR機関の商号又は名称、及び連絡先を適切に公表しているか。公表の方法について、例えば、ホームページへの掲載、ポスターの店頭掲示、パンフレットの作成・配布又はマスメディアを通じての広報活動等、業務の規模・特性に応じた措置をとることが必要である。仮に、ホームページに掲載したとしても、これを閲覧できない利用者も想定される場合には、そのような利用者にも配慮する必要がある。公表する際は、利用者にとって分かりやすいように表示しているか(例えば、ホームページで公表する場合において、利用者が容易に金融ADR制度の利用に関するページにアクセスできるような表示が望ましい。)。",id:"M4wldBng"},{index:"II-2-2-7-3-1 ②",content:"ロ.手続実施基本契約も踏まえつつ、利用者に対し、指定ADR機関による標準的な手続のフローや指定ADR機関の利用の効果(時効の完成猶予等)等必要な情報の周知を行う態勢を整備しているか。",id:"LW1YOlKu"},{index:"II-2-2-7-3-1",content:"③ 苦情処理手続・紛争解決手続について",id:"8LmrDD51"},{index:"II-2-2-7-3-1 ③",content:"イ.指定ADR機関から手続応諾・資料提出等の求めがあった場合、正当な理由がない限り、速やかにこれに応じる態勢を整備しているか。",id:"ln0Wwrbm"},{index:"II-2-2-7-3-1 ③",content:"ロ.指定ADR機関からの手続応諾・資料提出等の求めに対し拒絶する場合、苦情・紛争の原因となった部署のみが安易に判断し拒絶するのではなく、組織として適切に検討を実施する態勢を整備しているか。また、可能な限り、その判断の理由(正当な理由)について説明する態勢を整備しているか。",id:"srQ2MmZN"},{index:"II-2-2-7-3-1 ③",content:"ハ.紛争解決手続において紛争解決委員から和解案の受諾勧告又は特別調停案の提示がされた場合、速やかに受諾の可否を判断する態勢を整備しているか。",id:"gD26HQfF"},{index:"II-2-2-7-3-1 ③",content:"ニ.和解案又は特別調停案を受諾した場合、担当部署において速やかに対応するとともに、その履行状況等を検査・監査部門等が事後検証する態勢を整備しているか。",id:"uV6jf7ZJ"},{index:"II-2-2-7-3-1 ③",content:"ホ.和解案又は特別調停案の受諾を拒絶する場合、業務規程(法第101条において準用する銀行法第52条の67第1項に規定する「業務規程」をいう。)等を踏まえ、速やかにその理由を説明するとともに、訴訟提起等の必要な対応を行う態勢を整備しているか。",id:"6m9TnUIW"},{index:"II-2-2-7-3-2",content:"指定暗号資産交換業務紛争解決機関(指定ADR機関)が存在しない場合の主な着眼点金融ADR制度においては、指定ADR機関が存在しない場合においても、代わりに苦情処理措置・紛争解決措置を講ずることが法令上求められている。暗号資産交換業者においては、これらの措置を適切に実施し、暗号資産交換業務に関する苦情・紛争を簡易・迅速に解決することにより、利用者保護の充実を確保し、利用者の信頼性の向上に努める必62要がある。暗号資産交換業者が苦情処理措置・紛争解決措置を講じる場合、例えば、以下のような点に留意して検証することとする。",id:"mXvMerlq"},{index:"II-2-2-7-3-2",content:"① 苦情処理措置・紛争解決措置の選択自らが営む暗号資産交換業務の内容、苦情等の発生状況及び営業地域等を踏まえて、法令で規定されている以下の各事項のうちの一つ又は複数を苦情処理措置・紛争解決措置として適切に選択しているか。なお、その際は、例えば、利用者が苦情・紛争を申し出るに当たり、利用者にとって地理的にアクセスしやすい環境を整備するなど、利用者の利便の向上に資するような取組みを行うことが望ましい。",id:"BEaXVLwE"},{index:"II-2-2-7-3-2 ①",content:"イ.苦情処理措置
a.苦情処理に従事する従業員への助言・指導を一定の経験を有する消費生活専門相談員等に行わせること
b.自社で業務運営体制・社内規則を整備し、公表等すること
c.協会を利用すること
d.国民生活センター、消費生活センターを利用すること
e.他の業態の指定ADR機関を利用すること
f.苦情処理業務を公正かつ的確に遂行できる法人を利用すること",id:"xZlpo6ps"},{index:"II-2-2-7-3-2 ①",content:"ロ.紛争解決措置
a.裁判外紛争解決手続の利用の促進に関する法律に定める認証紛争解決手続を利用すること
b.弁護士会を利用すること
c.国民生活センター、消費生活センターを利用すること
d.他の業態の指定ADR機関を利用すること
e.紛争解決業務を公正かつ的確に遂行できる法人を利用すること",id:"UvDRMRLb"},{index:"II-2-2-7-3-2 ①",content:"ハ.苦情・紛争の処理状況等のモニタリング等を継続的に行い、必要に応じ、苦情処理措置・紛争解決措置について検討及び見直しを行う態勢を整備しているか。",id:"CzEfVrto"},{index:"II-2-2-7-3-2 ①",content:"ニ.苦情処理業務・紛争解決業務を公正かつ的確に遂行できる法人(イf、ロe)を利用する場合、当該法人が苦情処理業務・紛争解決業務を公正かつ的確に遂行するに足りる経理的基礎及び人的構成を有する法人であること(内閣府令第32条第1項第5号、同条第2項第4号)について、相当の資料等に基づいて、合理的に判断しているか。",id:"fuzh2sXn"},{index:"II-2-2-7-3-2 ①",content:"ホ.外部機関を利用する場合、必ずしも当該外部機関との間において業務委託契約等の締結までは求められていないが、標準的な手続のフローや、費用負担に関する事項等について予め取決めを行っておくことが望ましい。",id:"NZLcBEYN"},{index:"II-2-2-7-3-2 ①",content:"へ.外部機関の手続を利用する際に費用が発生する場合について、利用者の費用負担が過大とならないような措置を講じる等、苦情処理・紛争解決の申立ての障害とならないような措置を講じているか。",id:"FxmJqAMo"},{index:"II-2-2-7-3-2",content:"② 運用苦情処理措置・紛争解決措置の適用範囲を過度に限定的なものとするなど、不適切な運用を行っていないか。なお、苦情処理措置と紛争解決措置との間で適切な連携を確保しているかについても留意する必要がある。",id:"27UCAnN8"},{index:"II-2-2-7-3-2",content:"③ 苦情処理措置(暗号資産交換業者自身で態勢整備を行う場合)についての留意事項",id:"OqzIUKLe"},{index:"II-2-2-7-3-2 ③",content:"イ.消費生活専門相談員等による従業員への助言・指導態勢を整備する場
a.定期的に消費生活専門相談員等による研修を実施する等、苦情処理に従事する従業員のスキルを向上させる態勢を整備しているか。
b.消費生活専門相談員等との連絡体制を築く等、個別事案の処理に関し、必要に応じ、消費生活専門相談員等の専門知識・経験を活用する態勢を整備しているか。",id:"NLA7KoMc"},{index:"II-2-2-7-3-2 ③",content:"ロ.暗号資産交換業者自身で業務運営体制・社内規則を整備する場合
a.苦情の発生状況に応じ、業務運営体制及び社内規則を適切に整備するとともに、当該体制・規則に基づき公正かつ的確に苦情処理を行う態勢を整備しているか。
b.苦情の申出先を利用者に適切に周知するとともに、苦情処理にかかる業務運営体制及び社内規則を適切に公表しているか。周知・公表の内容として、必ずしも社内規則の全文を公表する必要はないものの、利用者が、苦情処理が適切な手続に則って行われているかどうか自ら確認できるようにするため、苦情処理における連絡先及び標準的な業務フロー等を明確に示すことが重要であることから、それに関連する部分を公表しているかに留意する必要がある。なお、周知・公表の方法について、II-2-2-7-3-1②を参照のこと。",id:"6Ks87wWP"},{index:"II-2-2-7-3-2",content:"④ 苦情処理措置(外部機関を利用する場合)及び紛争解決措置の留意事項",id:"RJolgJuy"},{index:"II-2-2-7-3-2 ④",content:"イ.暗号資産交換業者が外部機関を利用している場合、利用者保護の観点から、例えば、利用者が苦情・紛争を申し出るに当たり、外部機関を利用できることや、外部機関の名称及び連絡先、その利用方法等、外部機関に関する情報について、利用者にとって分かりやすいように、周知・公表を行うことが望ましい。",id:"ATvbSAtl"},{index:"II-2-2-7-3-2 ④",content:"ロ.苦情処理・紛争解決の申立てが、地理又は苦情・紛争内容その他の事由により、利用者に紹介した外部機関の取扱範囲外のものであるとき、又は他の外部機関等(苦情処理措置・紛争解決措置として暗号資産交換業者が利用している外部機関に限らない。)による取扱いがふさわしいときは、他の外部機関等を利用者に紹介する態勢を整備しているか。",id:"YuNUYXI6"},{index:"II-2-2-7-3-2 ④",content:"ハ.外部機関から苦情処理・紛争解決の手続への応諾、事実関係の調査又は関係資料の提出等を要請された場合、当該外部機関の規則等も踏まえつつ、速やかにこれに応じる態勢を整備しているか。",id:"oC03Q4C1"},{index:"II-2-2-7-3-2 ④",content:"ニ.苦情処理・紛争解決の手続への応諾、事実関係の調査又は関係資料の提供等の要請を拒絶する場合、苦情・紛争の原因となった部署のみが安易に判断し拒絶するのではなく、苦情・紛争内容、事実・資料の性質及び外部機関の規則等を踏まえて、組織として適切に検討を実施する態勢を整備しているか。また、当該外部機関の規則等も踏64まえつつ、可能な限り拒絶の理由について説明する態勢を整備しているか。",id:"lHU8kV26"},{index:"II-2-2-7-3-2 ④",content:"ホ.紛争解決の手続を開始した外部機関から和解案、あっせん案等の解決案(以下「解決案」という。)が提示された場合、当該外部機関の規則等も踏まえつつ、速やかに受諾の可否を判断する態勢を整備しているか。",id:"mKTUT9xt"},{index:"II-2-2-7-3-2 ④",content:"へ.解決案を受諾した場合、担当部署において速やかに対応するとともに、その履行状況等を検査・監査部門等が事後検証する態勢を整備しているか。",id:"2Q3nnL5k"},{index:"II-2-2-7-3-2 ④",content:"ト.解決案の受諾を拒絶する場合、当該外部機関の規則等も踏まえつつ、速やかにその理由を説明するとともに、必要な対応を行う態勢を整備しているか。",id:"HlOGgTdN"},{index:"II-2-2-7-4",content:"利用者に対する情報提供法令上、利用者に対する情報提供として金融ADR制度への対応内容を明示することが、義務付けられている。情報提供する際、指定ADR機関が存在しない場合は苦情処理措置・紛争解決措置の内容を説明する必要があるが、例えば、暗号資産交換業者が外部機関を利用している場合、当該外部機関(苦情処理・紛争解決に係る業務の一部を他の機関に委託等している場合、当該他の機関も含む。)の名称及び連絡先など、実態に即して適切な事項を説明するべきことに留意する。",id:"5hQUbREa"},{index:"II-2-2-8 ICOへの対応",content:"",id:"66LpuBNl"},{index:"II-2-2-8-1 意義",content:"ICO(InitialCoinOffering)とは、明確な定義はないものの、一般に、企業等がトークンと呼ばれるものを電子的に発行して、公衆から法定通貨や暗号資産の調達を行う行為の総称をいう。ICOにおいて発行されるトークンが法第2条第14項に規定する暗号資産に該当する場合、当該トークンを業として売却又は他の暗号資産と交換する行為(以下、II-2-2-8において「販売」という。)は、暗号資産交換業に該当する。",id:"37GiMFwF"},{index:"II-2-2-8-1",content:"(注1)ただし、暗号資産交換業者がトークンの発行者の依頼に基づいて当該トークンの販売を行い、発行者がその販売を全く行わない場合には、発行者の行為は基本的には暗号資産交換業に該当しないと考えられる。なお、発行者の行為の暗号資産交換業該当性については、発行者と暗号資産交換業者との間の契約内容、販売行為の内容、発行者による販売への関与の度合い等を考慮の上、最終的には個別具体的に判断することに留意する。",id:"YBVM7PRW"},{index:"II-2-2-8-1",content:"(注2)暗号資産交換業に該当するICOには、暗号資産交換業者が自らトークンの発行・販売を行う場合(自社型ICO)と、暗号資産交換業者が発行者に代わって発行者が発行するトークンの販売を行う場合(第三者型ICO)がある。",id:"NraLN0fg",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/4929f9d2-bd44-4963-809e-091cbfe1664a"]},{index:"II-2-2-8-1",content:"(注3)トークンの発行者による将来的な事業収益等の分配を受ける権利が当該トークンに表示されているなど、ICOが投資としての性格を有する場合は、当該トークンは金融商品取引法の規制対象となり、法の規制対象とはならない点に留意する。",id:"ur9AV6qy"},{index:"II-2-2-8-1",content:"(注4)いわゆるアルゴリズム型ステーブルコインや暗号資産担保型ステーブルコインなどのように、価値の安定が常に確保されていないにも関わらず、ステーブルコインと称してこれを誤認させるような表示をして発行してはならない点に留意する。このようなものの例として、法定通貨の交換比率が一定比率内に収まるよう、一定のアルゴリズムに基づいて相場介入を行うこと等によって、価値の安定を図るものや、暗号資産の価値を担保に発行することによって、暗号資産の価格と連動させて価格の安定を図るものがある。かかる行為は、トークンの販売を介して資金調達を図るものであるが、トークン保有者の権利内容が明確でなかったり、資金調達の目的となる事業(以下「対象事業」という。)の実現可能性等のスクリーニングや必要な情報開示が行われず、詐欺的な事案や事業計画が杜撰な事案が発生したりするなど、利用者保護が十分に図られない事態が生じ得る。以上を踏まえ、これらトークンを販売する暗号資産交換業者の監督に当たっては、利用者保護及び業務の適切性が十分に確保されているかを確認するため、暗号資産交換業者に対し、定期的に又は必要に応じて、トークンの販売状況等の報告を求めるとともに、日本暗号資産取引業協会自主規制規則「新規暗号資産の販売に関する規則」を踏まえつつ、特に、以下の点に留意する必要がある。",id:"KDjE7Er7"},{index:"II-2-2-8-1",content:"(注)トークンの販売状況等の把握は、利用者保護等の観点から、その必要性を踏まえ対応するものとする。また、販売直後は大きく価格が変動することが多いことから、販売から1年間は重点的に行うものとする。",id:"tVD4OnsI",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/baf788a9-7da2-48fb-b75d-4471ce157e04"]},{index:"II-2-2-8-2 主な着眼点",content:"(1) 発行者が自らトークンを販売する場合(自社型ICOの場合)",id:"Z4KmcKjJ",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/bb2201a4-4e54-4e3a-ac21-072f95638a23"]},{index:"II-2-2-8-2 (1)",content:"① 対象事業の適格性・実現可能性や取り扱うトークンの適切性などを的確に審査し、これを検証しているか。また、その検証結果は適切なものとなっているか。",id:"ezhlMQgn",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/f24225c1-d606-47b0-a485-0642af05d4a9"]},{index:"II-2-2-8-2 (1)",content:"② 発行者に関する情報、トークン保有者に対して負う債務の有無・内容、トークンの販売価格の算定根拠のほか、対象事業にかかる事業計画書、事業の実現可能性等を、トークンの販売時に顧客に適切に提供するために必要な規程の整備など、体制整備が図られているか。また、当該トークンの販売時に、適切な方法により顧客に提供しているか。",id:"XRc7uiEy",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/071de455-7311-4662-9e6f-350738cc9799"]},{index:"II-2-2-8-2 (1) ②",content:"(注)対象事業に関する情報を提供するにあたっては、顧客に根拠のない期待を抱かせないよう、当該情報の客観性・適切性が求められることに留意する。",id:"NmwW58fr"},{index:"II-2-2-8-2 (1)",content:"③ 発行者の財務状況、トークンの販売状況、対象事業の進捗状況その他トークンの売買等の判断に影響を及ぼす事項を、適切な方法により、継続的にあるいは適時に開示するために必要な規程の整備など、体制整備が図られているか。また、当該トークンの販売後、適切な方法により、継続的にあるいは適時に開示しているか。",id:"cTLk3adw",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/a40e7c0c-2371-4036-aa4c-606053c340ed"]},{index:"II-2-2-8-2 (1)",content:"④ トークンの販売によって調達した資金を、他の資金と分別して管理の上、あらかじめ利用者に開示した資金使途以外の用途に使用しないなど適切に管理するために必要な規程の整備など、体制整備が図られているか。また、当該トークンの販売後、調達した資金を適切に管理しているか。",id:"MIoeGNez",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/e6e5a7e7-90a4-4905-8d8a-cadecfada0e9"]},{index:"II-2-2-8-2 (1)",content:"⑤ トークンに利用されるブロックチェーンやスマートコントラクト、当該トークンを保管するウォレットその他当該トークンの品質に影響を与えるシステムの安全性を検証しているか。また、当該トークンの販売後も、定期的に又は必要に応じて適時に、当該システムの安全性を検証しているか。
(注)なお、II-2-3-1-2(6)の記載事項も留意すること。",id:"hmyzLLMG",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/00abd67f-ddbd-4514-942f-2ec1e15ac868"]},{index:"II-2-2-8-2 (1)",content:"⑥ 著しく不適当と認められる数量、価格その他の条件によるトークンの販売を防止するために、販売価格の妥当性をあらかじめ審査しているか。",id:"HuGibM1z"},{index:"II-2-2-8-2",content:"(2) 発行者に代わってトークンを販売する場合(第三者型ICOの場合)",id:"U787F9Xr",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/142d79a4-8058-48a5-8ac4-afd393597215"]},{index:"II-2-2-8-2(2)",content:"発行者に代わってトークンを販売する場合には、上記(1)①、②、⑤及び⑥に加え、以下の点に留意する。",id:"U75YD9Xr"},{index:"II-2-2-8-2 (2)",content:"① 対象事業の適格性・実現可能性や取り扱うトークンの適切性などのほか、発行者の財務状況その他トークンの販売の適否の判断に資する事項の審査に関する適切な規程が整備され、実質的な審査が的確に行われているか。また、これらの審査結果を確実に検証できる体制が整備されているか。",id:"Um0iqcyu"},{index:"II-2-2-8-2 (2) ①",content:"(注)対象事業の範囲については、個別実態に即し、最終的には個別具体的に判断することに留意する。",id:"G9YMaFci",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/7d292bce-8715-4d53-8484-e4b59d34acb0"]},{index:"II-2-2-8-2 (2)",content:"② 審査を行う部署の営業部門からの独立性が、機能・効果の面から適正に確保されるなど、審査を適切に行うための体制整備が図られているか。また、トークンを販売するに当たり、社内の他の部署との利益相反を検証・評価する機能を有しているか。また、それにより、利益相反となる状態を適切に防止するための態勢が整備されているか。",id:"1dis3T3P"},{index:"II-2-2-8-2 (2)",content:"③ 発行者による適切な情報開示が行われるよう必要なモニタリングを行い、発行者が開示した情報に利用者が容易にアクセスできるようにするための必要な体制が整備されているか。",id:"gmf4kpRJ"},{index:"II-2-2-8-2 (2)",content:"④ 発行者の下で調達資金の適切な管理が図られるよう必要なモニタリングを行うための規程の整備など、体制整備が図られているか。また、モニタリングを適切に行っているか。",id:"Rodf3wUH",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/1d7e1b2f-2438-472a-ba53-eef77b672257"]},{index:"II-2-2-8-2 (2)",content:"⑤ 上記③及び④に加え、利用者保護のために必要な措置が図られるよう発行者に対する必要なモニタリングを行っているか。また、発行者が利用者保護のために必要な措置を講じていない場合には、当該トークンの販売を中止するなど適切な措置を実施することとしているか。また、発行者との契約において、当該措置を講じるために必要な権限を定めているか。",id:"h9SALbHx"},{index:"II-2-3 事務運営",content:"",id:"rUHmLAyq"},{index:"II-2-3-1 システムリスク管理",content:"",id:"To6RdJ1J"},{index:"II-2-3-1-1 意義",content:"システムリスクとは、コンピュータシステムのダウン又は誤作動等のシステムの不備等に伴い利用者や暗号資産交換業者が損失を被るリスクや、コンピュータが不正に使用されることにより利用者や暗号資産交換業者が損失を被るリスクをいう。暗号資産交換業者はその業務の性質上、インターネットを前提とする高度・複雑な情報システムを有していることが多く、また、暗号資産はブロックチェーン等に電子的に記録されネットワークで移転できる財産的価値であるため、日々手口が高度化するサイバー攻撃により重要情報に対する不正アクセス、漏えい等のリスクが顕在化している。このため、定期的なリスク評価に加え、外部環境の変化や事故・事件を把握し、自社システムへの影響有無等、適時のリスク評価が必要である。特に、外部サービス(クラウド等)の利用が多いことから、外部委託管理態勢の整備が重要となっている。システムが安全かつ安定的に稼動することは資金決済システム及び暗号資産交換業者に対する信頼性を確保するための大前提であり、システム開発・運用の基本事項を確行するとともに、システムリスク管理態勢全体の充実強化は極めて重要である。このためには、経営資源の確保が必要であり、IT戦略の策定など経営陣が主体となった取り組みが求められる。こうした観点から、経営者がリーダーシップを発揮し、ITと経営戦略を連携させ、企業価値の創出を実現するための仕組みである「ITガバナンス」を適切に機能させることが極めて重要である。(参考)金融機関のITガバナンスに関する対話のための論点・プラクティスの整理第2版(令和5年6月)なお、以下の各着眼点に記述されている字義どおりの対応が暗号資産交換業者においてなされていない場合にあっても、当該暗号資産交換業者の規模、特性からみて、利用者保護の観点から、特段の問題がないと認められれば、不適切とするものではない。",id:"i7NUbiKb"},{index:"II-2-3-1-2 主な着眼点",content:"",id:"k2VdWu1f"},{index:"II-2-3-1-2",content:"(1) システムリスクに対する認識等",id:"bHvZ3h6G"},{index:"II-2-3-1-2 (1)",content:"① システムリスクについて代表取締役をはじめ、役職員がその重要性を十分認識し、全社的なリスク管理の基本方針を策定しているか。また、システムリスクについて、定期的なレビューを行い、その結果を踏まえて基本方針の見直しを行なっているか。",id:"uIunHQSG"},{index:"II-2-3-1-2 (1)",content:"② 経営戦略の一環としてシステム戦略を策定し、取締役会の承認を受けているか。なお、システム戦略は、中長期的な観点を考慮した上で、内外環境の変化等に応じて必要な見直しを行うことが望ましい。",id:"w44LvLEp",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/12c37edd-3eb3-4962-8910-2362b89c8664"]},{index:"II-2-3-1-2 (1)",content:"③ 代表取締役は、システム障害やサイバーセキュリティ事案(以下「システム障害等」という。)の未然防止と発生時の迅速な復旧対応について、経営上の重大な課題と認識し、態勢を整備しているか。",id:"ULe6pSk0"},{index:"II-2-3-1-2 (1) ③",content:"(注)「サイバーセキュリティ事案」とは、情報通信ネットワークや情報システム等の悪用により、サイバー空間を経由して行われる不正侵入、情報の窃取、改ざんや破壊、68情報システムの作動停止や誤作動、不正プログラムの実行やDDoS攻撃等の、いわゆる「サイバー攻撃」により、サイバーセキュリティが脅かされる事案をいう。",id:"O8xnyBLW"},{index:"II-2-3-1-2 (1)",content:"④ 取締役会は、システムリスクの重要性を十分に認識した上で、システムを統括管理する役員を定めているか。なお、システム統括役員は、システムに関する十分な知識・経験を有し業務を適切に遂行できる者であることが望ましい。",id:"98DTQBUg"},{index:"II-2-3-1-2 (1)",content:"⑤ システムリスク管理部門によるシステム部門のモニタリングやシステム部門内の開発担当と運用担当の分離など、牽制が行なわれる管理態勢を整備しているか。",id:"AssnQRO2"},{index:"II-2-3-1-2 (1)",content:"⑥ 代表取締役及び取締役(指名委員会等設置会社にあっては取締役及び執行役)は、システム障害等発生の危機時において、果たすべき責任やとるべき対応について具体的に定めているか。また、自らが指揮を執る訓練を行い、その実効性を確保しているか。",id:"x3ADA0rj"},{index:"II-2-3-1-2 (2)システムリスク管理態勢",content:"",id:"S5OtRQk2"},{index:"II-2-3-1-2 (2)",content:"① 取締役会は、コンピュータシステムのネットワーク化の進展等により、リスクが顕在化した場合、その影響が連鎖し、広域化・深刻化する傾向にあるなど、経営に重大な影響を与える可能性があるということを十分踏まえ、リスク管理態勢を整備しているか。",id:"6Lk1imNe"},{index:"II-2-3-1-2 (2)",content:"② システムリスク管理の基本方針が定められているか。システムリスク管理の基本方針には、セキュリティポリシー(組織の情報資産を適切に保護するための基本方針)及び外部委託先に関する方針が含まれているか。",id:"LAmEmesE"},{index:"II-2-3-1-2 (2)",content:"③ システムリスク管理態勢の整備に当たっては、その内容について客観的な水準が判定できるものを根拠としているか。また、システムリスク管理態勢については、システム障害等の把握・分析、リスク管理の実施結果や技術進展等に応じて、不断に見直しを実施しているか。",id:"ceLBzYcd"},{index:"II-2-3-1-2 (2) ③",content:"(注)システムリスク管理態勢については、定期的に第三者(外部機関)からの評価を受けることが望ましい。",id:"BSPSOEa3"},{index:"II-2-3-1-2 (3) システムリスク評価",content:"",id:"PGLHi8lZ"},{index:"II-2-3-1-2 (3)",content:"① システム部門は、利用者チャネルの多様化による大量取引の発生や、ネットワークの拡充によるシステム障害等の影響の複雑化・広範化など、外部環境の変化によりリスクが多様化していることを踏まえ、定期的にかつ適時にリスクを認識・評価しているか。",id:"uEyQ99sP"},{index:"II-2-3-1-2 (3) ①",content:"(注)網羅的なリスクの洗い出しにおいては、客観的な水準が判定できるものを根拠とすることが望ましく、例えば、「金融機関等コンピュータシステムの安全対策基準・解説書」(公益財団法人金融情報センター)等を参考とすることが考えられる。また、洗い出したリスクに対し、十分な対応策を講じ、対策後の残存リスクを評価し、取締役会に報告をしているか。なお、システムリスクには、以下のようなものを含めているか。",id:"Wt8xtfcw",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/6a830ad4-cf5e-4060-a04f-a4fabd4a52e1"]},{index:"II-2-3-1-2 (3) ①",content:"・外部サービスを利用することによって生じるリスク69・APIの公開・提供・接続等を実施することによって生じるリスク等",id:"JDhcxgxa"},{index:"II-2-3-1-2 (3)",content:"② ユーザー部門は、新サービスの導入時又はサービス内容の変更時に、システム部門と連携するとともに、システム部門は、システム開発の有無にかかわらず、関連するシステムの評価を実施しているか。",id:"A4MoHAgF"},{index:"II-2-3-1-2 (4)情報セキュリティ管理",content:"",id:"PoGP2Ooc"},{index:"II-2-3-1-2 (4)",content:"① 情報資産を適切に管理するために方針の策定、組織体制の整備、社内規程の策定、内部管理態勢の整備を図っているか。また、他社における不正・不祥事件も参考に、情報セキュリティ管理態勢のPDCAサイクルによる継続的な改善を図っているか。",id:"2TNlD9Ci"},{index:"II-2-3-1-2 (4) ①",content:"(注)情報資産とは、情報そのものとそれを取り扱う情報システムを指し、情報システムを構成するハードウェア、ソフトウェア、ネットワークなどを含む。",id:"VFAhorCM"},{index:"II-2-3-1-2 (4)",content:"② 情報の機密性、完全性、可用性を維持するために、情報セキュリティに係る管理者を定め、その役割・責任を明確にした上で、管理しているか。また、管理者は、システム、データ、ネットワーク管理上のセキュリティに関することについて統括しているか。",id:"VON1okUB"},{index:"II-2-3-1-2 (4)",content:"③ 内部不正を含むコンピュータシステムの不正使用防止対策、不正アクセス防止対策、不正プログラムの侵入防止対策等を実施しているか。また、情報資産を取り扱う場所について、情報資産の重要度に応じた物理的セキュリティ対策を実施しているか。",id:"4znDA0Rr",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/9360550d-be17-487a-9d7e-e34087fb2608"]},{index:"II-2-3-1-2 (4)",content:"④ 暗号資産交換業者が責任を負うべき重要情報を網羅的に洗い出し、把握、管理しているか。重要情報の洗い出しに当たっては、業務、システム、外部委託先を対象範囲とし、例えば、以下のようなデータを洗い出しの対象範囲としているか。",id:"8dve0HBP"},{index:"II-2-3-1-2 (4) ④",content:"・通常の業務では使用しないシステム領域に格納されたデータ・障害解析のためにシステムから出力された障害解析用データ等",id:"IRz5ywXY"},{index:"II-2-3-1-2 (4)",content:"⑤洗い出した重要情報について、重要度判定やリスク評価を実施しているか。また、それぞれの重要度やリスクに応じ、以下のような情報管理ルールを策定しているか。",id:"BnMSHa8w"},{index:"II-2-3-1-2 (4) ⑤",content:"・情報の暗号化、マスキングのルール・情報を利用する際の利用ルール・記録媒体等の取扱いルール等",id:"P6fLT8Ky"},{index:"II-2-3-1-2 (4)",content:"⑥重要情報について、以下のような不正アクセス、不正情報取得、情報漏えい等を牽制、防止する仕組みを導入しているか。",id:"Si0VpUQa"},{index:"II-2-3-1-2 (4) ⑥",content:"・利用する拠点(海外を含む。)の役割に応じて必要な範囲に限定されたアクセス権限の付与・職員の権限に応じて必要な範囲に限定されたアクセス権限の付与・アクセス記録の保存、検証・開発担当者と運用担当者の分離、管理者と担当者の分離等の相互牽制体制70・システムテスト等を実施する際の本番環境とテスト環境を分離等",id:"hu34HiNN"},{index:"II-2-3-1-2 (4)",content:"⑦ 重要情報の内、特に機密情報について、暗号化やマスキング等の管理ルールを定めているか。また、暗号化プログラム、暗号鍵、暗号化プログラムの設計書等の管理に関するルールを定めているか。なお、「機密情報」とは、暗号鍵等、暗証番号、パスワード、クレジットカード情報等、利用者や自社に損失が発生する可能性のある情報をいう。",id:"1Tdr0s9c"},{index:"II-2-3-1-2 (4)",content:"⑧ 機密情報の保有・廃棄、アクセス制限、外部持ち出し等について、業務上の必要性を十分に検討し、より厳格な取扱いをしているか。",id:"GzMopBvK"},{index:"II-2-3-1-2 (4)",content:"⑨ 情報資産について、管理ルール等に基づいて適切に管理されていることを定期的にモニタリングし、管理態勢を継続的に見直しているか。",id:"AMPBqTJI"},{index:"II-2-3-1-2 (4)",content:"⑩ セキュリティ意識の向上を図るため、全役職員に対するセキュリティ教育(外部委託先におけるセキュリティ教育を含む。)を行っているか。",id:"V6jZKrWg"},{index:"II-2-3-1-2 (5)サイバーセキュリティ管理",content:"",id:"aOJtmxyI"},{index:"II-2-3-1-2 (5)",content:"① 取締役会等は、サイバーセキュリティの重要性を認識し、「金融分野におけるサイバーセキュリティに関するガイドライン」を踏まえ、必要な態勢を整備しているか。",id:"Gkm8FLPv"},{index:"II-2-3-1-2 (5)",content:"② サイバー攻撃を受けた場合に被害の拡大を防止するために、以下のような措置を速やかに実施する態勢を整備しているか。",id:"PR3xUlAZ"},{index:"II-2-3-1-2 (5) ②",content:"・攻撃元のIPアドレスの特定と遮断・DDoS攻撃に対して自動的にアクセスを分散させる機能・システムの全部又は一部の一時的停止等また、影響範囲の確認や原因究明のためにログ保全やイメージコピー取得など事後調査(フォレンジック調査)に備えた手順を整備しているか。",id:"jcUTJBdT"},{index:"II-2-3-1-2 (5)",content:"③ 脆弱性及び脅威情報の定期的な情報収集・分析・対応手順を明確に定め、組織的に実施しているか。",id:"5Bfnc0y8"},{index:"II-2-3-1-2 (5) ③",content:"(注)ブロックチェーン等の技術を利用する場合、関連する周辺技術を含めた幅広い情報収集の必要性があることに留意する。また、システムの脆弱性について、OSの最新化やセキュリティパッチの適用など必要な対策を適時に講じているか。",id:"kwtvVQJn"},{index:"II-2-3-1-2 (5)",content:"④インターネット等の通信手段を利用した非対面の取引を行う場合には、例えば、以下のような取引のリスクに見合った適切な認証方式を導入しているか。",id:"0N2uBL56"},{index:"II-2-3-1-2 (5) ④",content:"・可変式パスワードや電子証明書などの、固定式のID・パスワードのみに頼らない認証方式・取引に利用しているパソコン・スマートフォンとは別の機器を用いるなど、複数経路による取引認証・ログインパスワードとは別の取引用パスワードの採用等",id:"5k0Ty0VS"},{index:"II-2-3-1-2 (5)",content:"⑤ インターネット等の通信手段を利用した非対面の取引を行う場合には、例えば、以下71のような業務に応じた不正防止策を講じているか。",id:"spjMQSD0"},{index:"II-2-3-1-2 (5) ⑤",content:"・不正なIPアドレスからの通信の遮断・利用者に対してウィルス等の検知・駆除が行えるセキュリティ対策ソフトの導入・最新化を促す措置・不正なログイン・異常な取引等を検知し、速やかに利用者に連絡する体制の整備・前回ログイン(ログオフ)日時の画面への表示等",id:"dmAgb5si"},{index:"II-2-3-1-2 (6)システム企画・開発・運用管理",content:"① 現行システムに内在するリスクを継続的に洗い出し、その維持・改善のための投資を計画的に行っているか。",id:"FBfAuZAH"},{index:"II-2-3-1-2 (6)",content:"② システム開発及び変更について、以下のような事項を含む規程や手順書を策定し、品質確保のための措置を講じているか。",id:"PNwNKwEm",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/a6246b23-684a-4a5d-8e87-0faf7f1a11df"]},{index:"II-2-3-1-2 (6) ②",content:"・各工程における作業及び作成ドキュメントやプログラム等の成果物の定義・
各工程の完了基準と評価及び成果物のレビューと承認プロセス
・必要となるテスト項目
・業務部門やユーザー部門の関与等",id:"TULjtTRa",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/ca2b48e5-9ec6-4e70-8347-97da2c6c4a3f"]},{index:"II-2-3-1-2 (6)",content:"③ 開発プロジェクトごとに責任者を定め、開発計画に基づき進捗管理を行っているか。",id:"gazAEUqe",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/b487942b-5287-40e5-a79a-fb2804d76b8a"]},{index:"II-2-3-1-2 (6)",content:"④ システム設計/開発段階では、以下のような事項を含むセキュリティに係る措置を講じているか。",id:"YnSDv5qa"},{index:"II-2-3-1-2 (6) ④",content:"・具体的なセキュリティ要件の明確化・セキュアコーディングの実施など脆弱なポイントが生じないための対策等",id:"XvLRRIeH"},{index:"II-2-3-1-2 (6)",content:"⑤ システム開発においては、テスト計画を作成し、ユーザー部門も参加するなど、適切かつ十分にテストを行っているか。",id:"g1cd2syx",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/1b342e5a-19d0-4ed7-a94d-05f86b73d29d"]},{index:"II-2-3-1-2 (6)",content:"⑥ システムの本番移行にあたっては、以下のような事項に考慮し、案件のリスクに応じた措置を講じているか。",id:"UEuuucY3",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/46fa9fc2-0d91-4459-866e-27ceac19a872"]},{index:"II-2-3-1-2 (6) ⑥",content:"・移行判定に係る基準の明確化
・承認者または判定会議等の判定プロセスの明確化
・移行計画や手順の策定",id:"MM3PqYEX",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/4cc216fb-c39f-4e15-b454-6c14f36f48b1"]},{index:"II-2-3-1-2 (6)",content:"⑦ システムの性能品質確保のために、システム開発工程の中で以下のような措置を講じているか。",id:"V43PRGEz",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/2e4f53e7-6b93-4d70-a059-60f5595a18fc"]},{index:"II-2-3-1-2 (6) ⑦",content:"・性能要件の明確化
・システムキャパシティ、パフォーマンス等の限界値把握",id:"7Kry2FOA",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/c01f81f3-7cd1-4810-9af4-e482815fab6c"]},{index:"II-2-3-1-2 (6)",content:"⑧ システムの運用管理について、以下のような点を考慮し、規程及び手順書を策定し、システムの安定稼働のための措置を講じているか。",id:"xKCt2RT7",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/b09a8cea-f9dc-439b-9a3f-65fb3851623b"]},{index:"II-2-3-1-2 (6) ⑧",content:"・システムキャパシティ、パフォーマンスの監視
・性能要件やモニタリング閾値設定の定期的及び適時の見直し
・監視設定において検知時の問題を効率的に切り分ける仕組み
・監視にかかわるエスカレーションルールの統一化
・作業プロセスへの、記録・承認・点検の組み込み
・システムの運用管理に係る業務の実施状況の記録と保管等",id:"TfaztFOx",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/a4e25158-2a91-4d5f-96b0-9167e7ef1c2a"]},{index:"II-2-3-1-2 (6)",content:"⑨ システムの構成管理の目的及び方針、適用範囲を定めているか。また、以下のような点について、構成の把握を行い、管理の有効性を確認しているか。",id:"4sifYgqS",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/ca04f4b3-cd92-4280-b978-9cd7aba61c5a"]},{index:"II-2-3-1-2 (6) ⑨",content:"・物理資源(ハードウェア、ネットワーク、サーバー、PC等)
・論理資源(ライセンス、ソフトウェア、接続構成等)
・クラウドサービス、第三者への委託業務等",id:"g7mNCZGV"},{index:"II-2-3-1-2 (6)",content:"⑩ 現行システムの仕組みに精通し、システム企画・開発・運用管理について専門性を持った人材を確保しているか。また、現行システムの仕組み及び開発技術の継承並びに専門性を持った人材の育成のための具体的な計画を策定し、実施しているか。",id:"3zd9xLXG"},{index:"II-2-3-1-2 (7)システム監査",content:"",id:"mgj1rrQt"},{index:"II-2-3-1-2 (7)",content:"① システム部門から独立した内部監査部門が、システム関係に精通した要員による定期的なシステム監査を行っているか。",id:"UU7rG2fc"},{index:"II-2-3-1-2 (7) ①",content:"(注)外部監査人によるシステム監査を導入する方が監査の実効性があると考えられる場合には、内部監査に代え外部監査を利用して差し支えない。",id:"FZm5ccHv"},{index:"II-2-3-1-2 (7)",content:"② システム監査の対象は、システムリスクに関する業務全体をリスク評価し、リスクベースで選定しているか。",id:"nqzf14iD",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/65cd058e-376f-4dec-a03b-06e1b5a7f853"]},{index:"II-2-3-1-2 (7)",content:"③ システム監査の結果は、適切に取締役会に報告されているか。また、監査対象部門は、監査部門からフィードバックを受け、監査結果に応じた改善を行っているか。",id:"iq1SDl1z",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/aa43122e-90c7-4f91-8af0-ff37f93d09d3"]},{index:"II-2-3-1-2 (8)外部委託管理",content:"",id:"bUWuM5Dk"},{index:"II-2-3-1-2 (8)",content:"① 外部委託先(システム子会社を含む。)の選定に当たり、選定基準に基づき評価、検討のうえ、選定しているか。",id:"BWyBFRp7"},{index:"II-2-3-1-2 (8)",content:"② クラウドサービスなど外部サービスを利用する場合には、利用するサービスに応じたリスクを検討し、対策を講じているか。例えば、以下のような点を実施しているか。",id:"yCt9xBMH"},{index:"II-2-3-1-2 (8) ②",content:"・重要なデータを処理・保存する拠点の把握
・監査権限・モニタリング権限等の契約書への反映
・保証報告書、第三者認証等の確認・評価
・クラウド特有のリスクの把握
・認証機能を含むセキュリティリスク評価等",id:"TgdCAyTY",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/eddc99b2-f9fd-42a8-9b85-99cc5500eed5"]},{index:"II-2-3-1-2 (8)",content:"③ 外部委託契約において、外部委託先との役割・責任の分担、監査権限、再委託手続き、提供されるサービス水準等を定めているか。また、外部委託先の役職員が遵守すべきルールやセキュリティ要件を外部委託先へ提示し、契約書等に明記しているか。73",id:"TIG7oPhv"},{index:"II-2-3-1-2 (8)",content:"④ システムに係る外部委託業務(二段階以上の委託を含む。)について、リスク管理が適切に行われているか。特に外部委託先が複数の場合、管理業務が複雑化することから、より高度なリスク管理が求められることを十分認識した体制となっているか。システム関連事務を外部委託する場合についても、システムに係る外部委託に準じて、適切なリスク管理を行っているか。",id:"5Uzhyxlx"},{index:"II-2-3-1-2 (8)",content:"⑤ 外部委託した業務(二段階以上の委託を含む。)について、委託元として委託業務が適切に行われていることを定期的にモニタリングしているか。また、外部委託先任せにならないように、例えば委託元として要員を配置するなどの必要な措置を講じているか。さらに、外部委託先における顧客データの運用状況を、委託元が監視、追跡できる態勢となっているか。",id:"QsVPGUmS"},{index:"II-2-3-1-2 (8)",content:"⑥ 重要な外部委託先に対して、内部監査部門又はシステム監査人等による監査の実施や、委託先の内部統制に関する報告書を入手しているか。「委託先の内部統制に関する報告書」とは、例えば、日本公認会計士協会が公表する実務指針に基づき作成された「受託業務に係る内部統制の保証報告書」等が考えられる。",id:"UBP87VbG",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/567c268b-24c3-490c-accf-0be01dabe7da"]},{index:"II-2-3-1-2 (9)コンティンジェンシープラン",content:"",id:"g9q2vvqt"},{index:"II-2-3-1-2 (9)",content:"① コンティンジェンシープランが策定され、計画に沿った手順書が整備されているか。また、重要な外部委託先も含めた緊急時体制が構築されているか。",id:"ferQk9Qs"},{index:"II-2-3-1-2 (9)",content:"② コンティンジェンシープランの策定に当たっては、その内容について客観的な水準が判断できるもの(例えば「金融機関等におけるコンティンジェンシープラン(緊急時対応計画)策定のための手引書」(公益財団法人金融情報システムセンター編))を根拠としているか。",id:"UJF9XkEs"},{index:"II-2-3-1-2 (9)",content:"③コンティンジェンシープランの策定に当たっては、災害による緊急事態を想定するだけではなく、暗号資産交換業者の内部又は外部に起因するシステム障害等も想定しているか。また、以下のようなリスクを想定した十分なリスクシナリオとなっているか。
・サイバー攻撃・災害、パンデミック・システム障害・情報漏えい事案等",id:"IpbaAnBC"},{index:"II-2-3-1-2 (9)",content:"④コンティンジェンシープランは、他の暗号資産交換業者におけるシステム障害等の事例や中央防災会議等の検討結果を踏まえるなど、想定シナリオの見直しを適宜行っているか。",id:"WtWeVB1k"},{index:"II-2-3-1-2 (9)",content:"⑤ コンティンジェンシープランに基づく訓練を定期的に実施しているか。また、訓練結果を踏まえ、コンティンジェンシープランの見直し・拡充等を計画的に74実施する態勢を整備しているか。なお、コンティンジェンシープランに基づく訓練は、全社レベルで行い、外部委託先等と合同で、実施することが望ましい。",id:"bffkzuqH"},{index:"II-2-3-1-2 (9)",content:"⑥ 業務への影響が大きい重要なシステムについては、オフサイトバックアップシステム等を事前に準備し、災害、システム障害等が発生した場合に、速やかに業務を継続できる態勢を整備しているか。また、定期的にデータのバックアップを取るなど、データが毀損した場合に備えた措置を取っているか。",id:"kbKF9Dzd"},{index:"II-2-3-1-2 (10)障害発生時等の対応",content:"",id:"EjLcye8Q"},{index:"II-2-3-1-2 (10)",content:"① システム障害等の発生に備え、最悪のシナリオを想定した上で、必要な対応を行う態勢となっているか。また、システム障害等が発生した場合に、利用者への影響を最小化するような措置を講じているか。",id:"SqVQc4d3"},{index:"II-2-3-1-2 (10)",content:"② システム障害等の発生に備え、外部委託先を含めた報告態勢、指揮・命令系統が明確になっているか。",id:"QCCafPFB"},{index:"II-2-3-1-2 (10)",content:"③ 業務に重大な影響を及ぼすシステム障害等が発生した場合に、速やかに代表取締役をはじめとする取締役に報告するとともに、報告に当たっては、最悪のシナリオの下で生じ得る最大リスク等を報告する態勢(例えば、利用者に重大な影響を及ぼす可能性がある場合、報告者の判断で過小報告することなく、最大の可能性を速やかに報告すること)となっているか。また、必要に応じて、対策本部を立ち上げ、代表取締役等自らが適切な指示・命令を行い、速やかに問題の解決を図る態勢となっているか。",id:"4GXxce7z"},{index:"II-2-3-1-2 (10)",content:"④ システム障害等の発生に備え、ノウハウ・経験を有する人材をシステム部門内、部門外及び外部委託先等から速やかに招集するために事前登録するなど、応援体制が明確になっているか。特に、夜間、休日にサービスを提供している場合、当該時間帯におけるシステム障害発生時の対応を含め業務を運営するための十分な体制が整備されているか。",id:"YsegmsJy",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/f5301508-6809-4751-a9d4-dc6ae21dbfd1"]},{index:"II-2-3-1-2 (10)",content:"⑤ システム障害等が発生した場合、障害の内容・発生原因、復旧見込等について公表するとともに、顧客からの問い合わせに的確に対応するため、必要に応じ、コールセンターや相談窓口の設置、協会の協会員の場合には同協会に対応を依頼するなどの措置を迅速に行っているか。また、システム障害等の発生に備え、関係業務部門への情報提供方法、内容が明確になっているか。",id:"F2GeAZUQ"},{index:"II-2-3-1-2 (10)",content:"⑥ システム障害等の発生原因の究明、復旧までの影響調査、改善措置、根本原因分析を踏まえた再発防止策等を的確に講じているか。また、システム障害記録台帳等を作成し、システム障害等の原因等の定期的な傾向分析を行い、それに応じた対応策をとっているか。75",id:"9b7QgPHX"},{index:"II-2-3-1-2 (10)",content:"⑦ システム障害等の影響を極小化するために、例えば障害箇所を迂回するなどのシステム的な仕組みを整備しているか。(参考)システムリスクについての参考資料として、例えば「金融機関等コンピュータシステムの安全対策基準・解説書」(公益財団法人金融情報システムセンター編)などがある。",id:"tW1QKRRI"},{index:"II-2-3-1-3",content:"システム障害等が発生した場合の対応コンピュータシステムの障害やサイバーセキュリティ事案の発生を認識次第、直ちに、その事実を当局宛てに報告を求めるとともに、「障害発生等報告書」(別紙様式1)にて当局宛て報告を求めるものとする。また、復旧時、原因解明時には改めてその旨報告を求めることとする。ただし、障害原因の解明がされていない場合でも1か月以内に現状について報告を行うこととする。なお、財務局は暗号資産交換業者より報告があった場合は直ちに金融庁担当課室宛て連絡することとする。",id:"HazyiBL0"},{index:"II-2-3-1-3",content:"① 報告すべきシステム障害等その原因の如何を問わず、暗号資産交換業者が現に使用しているシステム・機器(ハードウェア、ソフトウェア共)に発生した障害であって、
イ.暗号資産交換業に関する業務に遅延、停止等が生じているもの(特に、利用者へ影響が生じたもの)又はそのおそれがあるもの
ロ.その他業務上、上記に類すると考えられるものをいう。
ただし、一部のシステム・機器にこれらの影響が生じても他のシステム・機器が速やかに交替することで実質的にはこれらの影響が生じない場合を除く。なお、障害が発生していない場合であっても、サイバー攻撃の予告がなされ、又はサイバー攻撃が検知される等により、利用者や業務に影響を及ぼす、又は及ぼす可能性が高いと認められるときは、報告を要するものとする。",id:"4QxMCeJY",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/f735ac1f-b150-4156-ae97-0f66d118669f"]},{index:"II-2-3-1-3",content:"② 必要に応じて法第63条の15に基づき追加の報告を求め、重大な問題があると認められる場合には、法第63条の16に基づき業務改善命令を発出するものとする。",id:"6ZPv1mIw"},{index:"II-2-3-1-3",content:"③ 特に、大規模な障害の場合や障害の原因の解明に時間を要している場合等には、直ちに、障害の事実関係等についてのホームページ等の一般広報における利用者対応等のコンティンジェンシープランの発動状況をモニタリングするとともに、迅速な原因解明と復旧を要請し、法第63条の15に基づき速やかな報告を求める。",id:"C8ygxycJ"},{index:"II-2-3-1-4",content:"システムの更新・統合時等の対応重要なシステムの更新・統合等を行う時は、必要に応じ、法第63条の15に基づく報告を求め、計画及び進捗状況、プロジェクトマネジメントの適切性・実効性等について確認を行い、重大な問題があると認められる場合には、法第63条の16に基づき業務改善命令を発出する等の対応を行うものとする。",id:"DEOI7ujQ"},{index:"II-2-3-2 事務リスク管理",content:"",id:"pZMZtXEb"},{index:"II-2-3-2-1 意義",content:"事務リスクとは、暗号資産交換業者の役職員が正確な事務を怠る、あるいは事故・不正等を起こすことにより、暗号資産交換業者が損失を被るリスクをいう。暗号資産交換業者は当該リスクに係る内部管理態勢を適切に整備し、業務の適正かつ確実な運営により信頼性の確保に努める必要があり、例えば、以下の点に留意するものとする。",id:"LlS7cdZK"},{index:"II-2-3-2-2 主な着眼点",content:"",id:"LvFBWznl"},{index:"II-2-3-2-2",content:"(1) 事務リスク管理態勢",id:"oeLaGVs8"},{index:"II-2-3-2-2 (1)",content:"① 全ての業務に事務リスクが所在していることを理解し、適切な事務リスク管理態勢が整備されているか。",id:"gV0Erbn1"},{index:"II-2-3-2-2 (1)",content:"② 事務リスクを軽減することの重要性を認識し、事務リスク軽減のための具体的な方策を講じているか。例えば、事務部門による事故・不正等を防止するために、システムによるチェック機能や、複数の担当者によるチェック体制を設けるなどが考えられる。",id:"jprK6V6O"},{index:"II-2-3-2-2 (1)",content:"③ 事務部門は、十分にけん制機能が発揮されるよう体制が整備されているか。また、事務に係る諸規程が明確に定められているか。",id:"Bs1cyEBx"},{index:"II-2-3-2-2 (1)",content:"④ 取引時確認事務、「疑わしい取引」の届出事務等の重要な法務コンプライアンス問題を、単なる事務処理の問題と捉えるにとどまらず、全社的に取り組むべき法務コンプライアンスの問題としての処理を行っているか。",id:"a006sbjS"},{index:"II-2-3-2-2",content:"⑤ 暗号資産交換業者の役職員が正確な事務を怠る、あるいは事故・不正等を起こすことによって、業務の適正かつ確実な遂行が確保されない事態が発生した場合には、II-2-1-6に基づいて、不祥事件として必要な届出及び対応を行っているか。",id:"liDpYWN8"},{index:"II-2-3-2-2",content:"(2) 内部監査態勢内部監査部門は、事務リスク管理態勢を監査するため、内部監査を適切に実施しているか。",id:"k0kPvcVI"},{index:"II-2-3-2-2",content:"(3) 営業所のリスク管理態勢本社事務担当部署は、営業所における事務リスク管理態勢をチェックする措置を講じているか。",id:"w1DJGEYI"},{index:"II-2-3-3 外部委託",content:"",id:"1h0Q2HLN"},{index:"II-2-3-3-1",content:"意義暗号資産交換業者は業務の一部を第三者に委託(二以上の段階にわたる委託を含む。)を行う場合でも、当該委託事務に係る最終的な責任を免れるものではないことから、利用者保護及び業務の適正かつ確実な遂行を確保するため、暗号資産交換業者の業容に応じて、77例えば以下の点に留意する必要がある。なお、以下の点はあくまで一般的な着眼点であり、委託事務の内容等に応じ、追加的に検証を必要とする場合があることに留意する。",id:"dWdqQO7f"},{index:"II-2-3-3-1",content:"(注)外部委託に関する監督に当たっては、委託者である暗号資産交換業者を通じて事実関係等を把握することを基本とするが、事案の緊急性や重大性等を踏まえ、必要に応じ、外部委託先からのヒアリングを並行して行うことや当該外部委託先に対して、法第63条の15第2項に基づき報告書を徴収することを検討することとする。また、外部委託先に対してヒアリングを実施するに際しては、必要に応じ、委託者である暗号資産交換業者の同席を求めるものとする。",id:"aJiGhg7s",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/f1c82b6b-7f68-4432-b43b-d249b5c0f831"]},{index:"II-2-3-3-2 主な着眼点",content:"① 委託先の選定基準や外部委託リスクが顕在化したときの対応などを規定した社内規則等を定め、役職員が社内規則等に基づき適切な取扱いを行うよう、社内研修等により周知徹底を図っているか。",id:"6DMjkdE8"},{index:"II-2-3-3-2 主な着眼点",content:"② 暗号資産交換業者の業務内容・規模に照らして十分なレベルのサービスの提供を行い得るか、契約に沿ったサービス提供その他契約上の義務の履行が可能か等の観点から、委託先の選定を行っているか。",id:"o3uxgjZA"},{index:"II-2-3-3-2 主な着眼点",content:"③ 委託先における法令等遵守態勢の整備について、必要な指示を行うなど、適切な措置が確保されているか。また、外部委託を行うことによって、検査や報告命令、記録の提出など監督当局に対する義務の履行等を妨げないような措置が講じられているか。",id:"Yicaahcp"},{index:"II-2-3-3-2 主な着眼点",content:"④ 委託契約によっても当該暗号資産交換業者と利用者との間の権利義務関係に変更がなく、利用者に対しては、当該暗号資産交換業者自身が業務を行ったものと同様の権利が確保されていることが明らかとなっているか。",id:"CohlGr0u"},{index:"II-2-3-3-2 主な着眼点",content:"(注)外部委託には、形式上、外部委託契約が結ばれていなくともその実態において外部委託と同視しうる場合や当該外部委託された業務等が海外で行われる場合も含む。",id:"VLJWbNL6"},{index:"II-2-3-3-2 主な着眼点",content:"⑤ 委託業務に関して契約どおりサービスの提供が受けられない場合、暗号資産交換業者は利用者利便に支障が生じることを未然に防止するための態勢を整備しているか。",id:"WEh4URHX"},{index:"II-2-3-3-2 主な着眼点",content:"⑥ 個人である利用者に関する情報の取扱いを委託する場合には、当該委託先の監督について、当該情報の漏えい、滅失又は毀損の防止を図るために必要かつ適切な措置として、金融分野ガイドライン第10条の規定に基づく措置及び実務指針IIIの規定に基づく措置が講じられているか。",id:"Gk96jadH"},{index:"II-2-3-3-2 主な着眼点",content:"⑦ 外部委託先の管理について、責任部署を明確化し、外部委託先における業務の実施状況を定期的又は必要に応じてモニタリングする等、外部委託先において利用者に関する情報管理が適切に行われていることを確認しているか。",id:"fZ0257ew"},{index:"II-2-3-3-2 主な着眼点",content:"⑧ 外部委託先において情報漏えい事故等が発生した場合に、適切な対応がなされ、速やかに委託元に報告される体制になっていることを確認しているか。",id:"70ZfIOSy"},{index:"II-2-3-3-2 主な着眼点",content:"⑨ 外部委託先による利用者に関する情報へのアクセス権限について、委託業務の内容に応じて必要な範囲内に制限しているか。78その上で、外部委託先においてアクセス権限が付与される役職員及びその権限の範囲が特定されていることを確認しているか。さらに、アクセス権限を付与された本人以外が当該権限を使用すること等を防止するため、外部委託先において定期的又は随時に、利用状況の確認(権限が付与された本人と実際の利用者との突合を含む。)が行われている等、アクセス管理の徹底が図られていることを確認しているか。",id:"lMdQHwlz"},{index:"II-2-3-3-2 主な着眼点",content:"⑩ 二段階以上の委託が行われた場合には、外部委託先が再委託先等の事業者に対して十分な監督を行っているかについて確認しているか。また、必要に応じ、再委託先等の事業者に対して自社による直接の監督を行っているか。",id:"bRsAXc1Y"},{index:"II-2-3-3-2 主な着眼点",content:"⑪委託業務に関する苦情等について、利用者から委託元である暗号資産交換業者への直接の連絡体制を設けるなど適切な苦情相談態勢が整備されているか。",id:"SRDKMroK"},{index:"II-2-4 障害者への対応",content:"",id:"l4MeXWG7"},{index:"II-2-4-1",content:"意義障害を理由とする差別の解消の推進に関する法律(平成25年法律第65号。以下「障害者差別解消法」という。)により、事業者には、障害者に対する不当な差別的取扱いの禁止及び合理的配慮の義務が課されているところである。また、暗号資産交換業者については、「金融庁所管事業分野における障害を理由とする差別の解消の推進に関する対応指針」(平成28年告示第3号。以下「障害者差別解消対応指針」という。)において、これらの具体的な取扱いが示されている。障害者への対応に当たっては、これらの趣旨を踏まえ、以下の点に留意して行うものとする。",id:"lmeu014q"},{index:"II-2-4-2",content:"主な着眼点障害者への対応に当たって、利用者保護及び利用者利便の観点も含め、障害者差別解消法及び障害者差別解消対応指針に則り適切な対応を行う、対応状況を把握・検証し対応方法の見直しを行うなど、内部管理態勢が整備されているか。",id:"5L3Jvqlf"},{index:"II-3",content:"監督手法・対応検査の指摘事項に対するフォローアップや、不祥事件届出等の日常の監督事務を通じて把握された暗号資産交換業者の経営管理等又は業務の適切性等に関する課題等については、上記の着眼点に基づき、原因及び改善策等について、深度あるヒアリングを実施し、必要に応じて法第63条の15に基づき報告書を徴収することにより、暗号資産交換業者における自主的な業務改善状況を把握することとする。さらに、暗号資産交換業の利用者の利益の保護の観点から重大な問題があると認められるときには、暗号資産交換業者に対して、法第63条の16に基づく業務改善命令を発出することとする。また、重大、悪質な法令違反行為が認められるときには、法第63条の1779に基づく業務停止命令等の発出を検討するものとする(行政処分を行う際に留意する事項はIII-3による。)。",id:"25ypLf58"},{index:"II-4 協会未加入業者に関する監督上の留意点",content:"",id:"LSfXiNvP"},{index:"II-4-1 意義",content:"法第63条の17第1項第1号は、協会に加入しない暗号資産交換業者(II-4において「協会未加入業者」という。)が法第63条の5第1項第6号に規定する「協会の定款その他の規則に準ずる内容の社内規則を作成していないもの又は当該社内規則を遵守するための体制を整備していないもの」に該当する場合を登録取消し等の対象としていることを踏まえ、協会未加入者への監督上の対応に当たっては、以下の点に留意して行うものとする。",id:"kEVggPNi"},{index:"II-4-2 主な着眼点",content:"",id:"h4z5hyf0"},{index:"II-4-2",content:"① 協会未加入業者は、協会の定款その他の規則(以下「協会規則」という。)に準ずる内容の社内規則を適切に整備しているか。",id:"M4aEAKKe"},{index:"II-4-2",content:"② 社内規則の適正な遵守を確保するための態勢整備(役職員への周知、従業員に対する研修等やその遵守状況の検証など)が図られているか。",id:"2OpcDPHQ"},{index:"II-4-2",content:"③ 協会規則に改正等があった場合には、それに応じて直ちに社内規則の見直しを行うこととしているか。",id:"VBNSADPj"},{index:"II-4-3",content:"協会未加入業者に対する監督手法・対応協会未加入業者の社内規則の策定・改正・遵守状況等に関して問題が認められる場合には、深度あるヒアリングや、必要に応じて法第63条の15第1項の規定に基づく報告を求めることを通じて、暗号資産交換業者における自主的な改善状況を把握することとする。なお、協会未加入業者においても、マネー・ローンダリング及びテロ資金供与対策にかかる年次実態調査の対象としているところであり、当該調査の内容を踏まえ、リスクに晒されている項目を特定し、リスクベースでの機動的な監督へ活用するものとする。また、公益又は利用者保護の観点から重大な問題があると認められる場合には、法第63条の16の規定に基づく業務改善命令を発出する等の対応を行うものとする。さらに、報告徴求の結果、協会規則に準ずる内容の社内規則を作成していると認められない場合又は当該社内規則を遵守するための体制を整備していないと認められる場合には、法第63条の17の規定に基づく業務停止命令等の発出も含め、必要な対応を検討するものとする。",id:"5trjKBDp",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/28f7e6fe-4218-45b7-ac19-6161a91d5702"]},{index:"II-5 外国暗号資産交換業者に対する基本的考え方",content:"",id:"CIkUKIdq"},{index:"II-5-1",content:"外国暗号資産交換業者の勧誘の禁止外国暗号資産交換業者(法に基づく登録を受けた者を除く。以下、II-5-2において同じ)は、法令に別段の定めがある場合を除き、国内にある者に対して、暗号資産交換業に係る取引の勧誘をしてはならない。",id:"ljfcwUnA"},{index:"II-5-1",content:"(注)外国暗号資産交換業者を含め、海外に存在する事業者が国内にある者との間で暗号資産の交換等を業として行う場合、当該事業者の行為は、暗号資産交換業に該当することに留意する。",id:"TDnn5mVf"},{index:"II-5-2",content:"外国暗号資産交換業者によるインターネット等を利用したクロスボーダー取引外国暗号資産交換業者がホームページ等に暗号資産交換業に係る取引に関する広告等を掲載する行為については、原則として、「勧誘」行為に該当する。ただし、以下に掲げる措置を始めとして、日本国内にある者との間の暗号資産交換業に係る取引につながらないような合理的な措置が講じられている限り、日本国内にある者に向けた「勧誘」には該当しないものとする。",id:"I1ikXJFG"},{index:"II-5-2",content:"(1) 担保文言日本国内にある者が当該サービスの対象とされていない旨の文言が明記されていること。上記措置が十分に講じられているかを判断する際には、以下に掲げる事項に留意する必要がある。",id:"1Ob5vnJs"},{index:"II-5-2 (1)",content:"① 当該担保文言を判読するためには、広告等を閲覧する以外の特段の追加的操作を要しないこと。",id:"NStQmFs8"},{index:"II-5-2 (1)",content:"② 担保文言が、当該サイトを利用する日本国内にある者が合理的に判読できる言語により表示されていること。",id:"0j7FCcBY"},{index:"II-5-2",content:"(2)取引防止措置等日本国内にある者との間の暗号資産交換業に係る取引を防止するための措置が講じられていること。上記措置が十分に講じられているかを判断する際には、以下に掲げる事項に留意する必要がある。",id:"3YfzXM7v"},{index:"II-5-2 (2)",content:"① 取引に際して、利用者より、住所、郵送先住所、メールアドレス、支払い方法その他の情報を提示させることにより、その居所を確認できる手続を経ていること。",id:"6MCUI065"},{index:"II-5-2 (2)",content:"② 明らかに日本国内にある者による暗号資産交換業に係る取引であると信ずるに足る合理的な事由がある場合には、当該者からの注文に応ずることがないよう配意していること。",id:"WbFKzD99"},{index:"II-5-2 (2)",content:"③ 日本国内に利用者向けのコールセンターを設置する、或いは日本国内にある者を対象とするホームページ等にリンクを設定する等を始めとして、日本国内にある者に対し暗号資産交換業に係る取引を誘引することのないよう配意していること。また、以上に掲げる措置はあくまでも例示であり、これらと同等若しくはそれ以上の措置が講じられている場合には、当該広告等の提供は、日本国内にある者向けの「勧誘」行為に該当しないものとする。81",id:"UCKw15Aj"},{index:"II-5-2",content:"(3) なお、以上に掲げるような合理的な措置が講じられていない場合には、当該広告等の提供が日本国内にある者向けの暗号資産交換業に係る取引の「勧誘」行為に該当する蓋然性が極めて高いことから、当該外国暗号資産交換業者は、日本国内にある者との間で勧誘を伴う暗号資産交換業に係る取引が行われていない旨を証明すべきである。",id:"VgKCy80G"},{index:"III 暗号資産交換業者の監督に係る事務処理上の留意点",content:"",id:"7iWLNkIl"},{index:"III-1 一般的な事務処理等",content:"",id:"xNYjit8L"},{index:"III-1-1",content:"検査・監督事務に係る基本的考え方暗号資産交換業者の検査・監督の目的は、資金決済に関するサービスの適切な実施を確保し、その利用者等を保護するとともに、当該サービスの提供の促進を図るため、暗号資産の交換等について、登録その他の必要な措置を講じ、もって資金決済システムの安全性、効率性及び利便性の向上に資することにある(法第1条参照)。かかる検査・監督の目的を達成するためには、監督当局においても、暗号資産交換業者に対し、個々の暗号資産交換業者の規模や特性に応じた対応を継続的に行っていくことが必要である。このため、暗号資産交換業者の検査・監督事務を行うに当たっては、まずは、各暗号資産交換業者がどの様にしてビジネスモデルの構築、財務の健全性の確保、コンプライアンス・リスク管理態勢の構築等の課題に取り組もうとしているかの方針を理解した上で、当該方針がどの様なガバナンス体制の下で実施され、如何なる潜在的なリスクや課題を内包し、各暗号資産交換業者がこれらのリスク等をどの様に認識し対応しようとしているか、的確に把握することが不可欠である。
その上で、各暗号資産交換業者が、監督当局から指摘されることなく自らベストプラクティスに向けて改善するよう、暗号資産交換業者自身で経営体制を変革していく必要がある。監督当局としては、実態把握や対話等を通じた継続的なモニタリングの過程で、より良い実務を追求する各暗号資産交換業者の取組みを促していく。ただし、上記の過程で、業務の健全性・適切性の観点から重大な問題が認められる場合や暗号資産交換業者の自主的な取組みでは業務改善が図られないことが認められる場合は、法第63条の16に基づく業務改善命令等の行政処分(III-3)の発動等を検討することとする。さらに、暗号資産交換業者の検査・監督事務を行うに当たっては、以下の点にも十分に留意した上で実施することとする。",id:"lxcK0h7D"},{index:"III-1-1",content:"(1) 暗号資産交換業者との十分な意思疎通の確保検査・監督に当たっては、暗号資産交換業者の経営に関する情報を的確に把握・分析し、適時適切に対応していくことが重要である。このため、監督当局においては、暗号資産交換業者からの報告に加え、暗号資産交換業者との健全かつ建設的な緊張関係の下で、日頃から十分な意思疎通を図り、積極的に情報収集する必要がある。具体的には、経営陣や社82外取締役、内部監査の担当者を含む暗号資産交換業者の様々な役職員との定期・適時の面談や意見交換等を通じて、暗号資産交換業者との日常的なコミュニケーションを確保し、財務情報のみならず、経営に関する様々な情報についても把握するよう努める必要がある。",id:"nUuneQM3"},{index:"III-1-1",content:"(2) 暗号資産交換業者の自主的な努力の尊重監督当局は、私企業である暗号資産交換業者の自己責任原則に則った経営判断を、法令等に基づき検証し、問題の改善を促していく立場にある。検査・監督に当たっては、このような立場を十分に踏まえ、暗号資産交換業者の業務運営に関する自主的な努力を尊重するよう配慮しなければならない。",id:"uKaWzENi"},{index:"III-1-1",content:"(3) 効率的・効果的な検査・監督事務の確保監督当局及び暗号資産交換業者の限られた資源を有効に利用する観点から、検査・監督事務は、暗号資産交換業者の規模や特性を十分に踏まえ、効率的・効果的に行われる必要がある。したがって、暗号資産交換業者に報告や資料提出等を求める場合には、検査・監督事務上真に必要なものに限定するよう配意するとともに、現在行っている検査・監督事務の必要性、方法等については常に点検を行い、必要に応じて改善を図るなど、効率性・有効性の向上を図るよう努めなければならない。既報告や資料提出等については、暗号資産交換業者の事務負担軽減等の観点を踏まえ、年1回定期的に点検を行う。その際は、暗号資産交換業者の意見を十分にヒアリングすることに留意する。",id:"sM7f9JdM"},{index:"III-1-1",content:"(4) 暗号資産交換業者が、複数の金融機関を含む金融関連グループ(注1)に属している場合は、金融関連グループの実態に応じた監督事務を行うことに努める必要があり、金融関連グループとしての、経営管理の有効性(注2)、自己資本の充実の適切性(注3)、リスクの把握・管理についての適切性(注4)や、コンプライアンス態勢等(注5)を検証し、必要な対応を講じることが重要である。",id:"ySlbwwxv"},{index:"III-1-1(4)",content:"(注1)複数の業態の金融機関が、親子関係ないしは持株会社等の傘下にある場合の、これら企業の集団(本集団には、これら企業の子会社・関連会社のほか、これら企業のために内部管理業務を提供する会社を含む)",id:"jInile4K"},{index:"III-1-1(4)",content:"(注2)例えば、「代表取締役、取締役及び取締役会」、「監査役及び監査役会」及び「内部監査部門」の有効性",id:"GsiLJeJJ"},{index:"III-1-1(4)",content:"(注3)例えば、金融関連グループ内の暗号資産交換業者、及び、金融関連グループの自己資本の適切性",id:"esANOUd1"},{index:"III-1-1(4)",content:"(注4)例えば、リスクの伝播・偏在・集中、及び、各種リスクに対する管理態勢の適切性",id:"9jAM9gcC"},{index:"III-1-1(4)",content:"(注5)例えば、コンプライアンス態勢、金融関連グループ内取引の適切性、事務リスク・システムリスク管理態勢、危機管理態勢、増資、顧客情報保護、顧客の利益の保護の83ための体制整備",id:"kktaZUUU"},{index:"III-1-1",content:"(5) 海外監督当局等との連携の確保暗号資産交換業者等の海外における活動や無登録業者等(III-1-6(1)に規定する無登録業者等をいう。)への対応に関し、当該暗号資産交換業者及び無登録業者等が拠点を有する国(ホスト国)の金融監督当局と密接に連携する必要がある。",id:"Gbg6jPtA"},{index:"III-1-1",content:"(6)暗号資産交換業者に係る情報の積極的な収集暗号資産交換業者の検査・監督に当たっては、利用者等からの苦情等を含め、暗号資産交換業者の経営に関する情報を的確に把握・分析し、必要に応じて、適時適切に検査・監督上の対応につなげていくことが重要である。このため、暗号資産交換業者からの報告だけではなく、利用者等から寄せられる苦情にも注意を払い、さらに協会や暗号資産交換業者との日頃からの十分な意思疎通を通じて積極的に情報収集する必要がある。",id:"AV93YMRH"},{index:"III-1-1 (6)",content:"(注)暗号資産交換業者が海外親会社等を有する場合には、海外親会社等に適用される現地の法令等が当該暗号資産交換業者に影響を与える可能性があることから、当該暗号資産交換業者の海外に関する情報についても留意すること。例えば、以下のものが考えられる。",id:"VgO5aSv0",revision:["crypto_guidelines/revisions/20231117/231115"]},{index:"III-1-1 (6)",content:"・海外拠点又は海外に保有する資産(自社で保有する資産を含む)の有無
・海外居住の役職員の有無
・海外法人又は営業所を海外に有する法人との取引や債権債務関係の有無
・海外親会社等を有する場合には、海外親会社等の取引状況や財務状況、海外監督当局との関係等",id:"CTrdQhPd",revision:["crypto_guidelines/revisions/20231117/231116"]},{index:"III-1-2",content:"検査・監督事務の進め方暗号資産交換業者の検査・監督事務の基本は、実態把握や対話等を通じたモニタリング、監督上の措置、フィードバック、情報発信といった各手法を、各暗号資産交換業者の状況や抱えている問題の性質・重大性等に応じ適切に組み合わせることを通じて、各暗号資産交換業者に必要な改善を促していくことにある。これに加えて、日常的なモニタリングを通じて、資金決済に関するサービスの適切な実施の確保及び利用者保護等の観点から暗号資産交換業者を巡るグローバルな経済・市場環境の変化を的確に把握するとともに、各暗号資産交換業者における個別的状況についても、モニタリング・データや随時のヒアリング等の結果を踏まえ、暗号資産交換業者との対話の中で、リスク管理等に関するベストプラクティスの追求や、変化に柔軟に対応できる経営・ガバナンス態勢の整備等の課題の解決に向けた取組みを促していくことが求められる。",id:"dH85etzv"},{index:"III-1-3 検査・監督事務の具体的手法",content:"",id:"K0PmdWPq"},{index:"III-1-3",content:"(1) オン・オフ一体の継続的かつ重点的なモニタリング84監督当局は、各暗号資産交換業者の特性・課題を把握した上で、課題の性質・優先度に応じて立入検査を含むモニタリング手法を機動的に使い分け、改善状況をフォローアップする継続的なモニタリングを実施する。モニタリング手法の使い分けについては、各暗号資産交換業者の個別具体的状況に加え、各手法における実態把握に係る有効性や監督当局側・暗号資産交換業者側における負担の程度、問題の緊急性等の観点も十分に踏まえるものとする。基本的には、まず、経営・財務の状況、マネー・ローンダリング及びテロ資金供与対策にかかる年次実態調査等に係る資料の分析や、暗号資産交換業者内外の関係者からのヒアリングといったモニタリングを実施し、足下の健全性・適切性等に係る課題が見られるかどうか等の分析結果を踏まえて、法第63条の15に基づく立入検査の要否について判断するものとする。なお、モニタリングの具体的な実施に当たっては、III-1-2に基づくほか、本事務ガイドラインの着眼点を補足・敷衍し、事業者との対話を円滑に実施するためのツールである「暗号資産交換業者の登録審査に係る質問票」、マネー・ローンダリング及びテロ資金供与対策にかかる年次実態把握報告表のほか、協会の定める自主規制規則の内容を踏まえるものとする。",id:"ZtuzN1yL",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/2334ee66-8d58-4a88-be99-bb55206a56f0"]},{index:"III-1-3",content:"(2) 具体的手法",id:"SWoTcxv8"},{index:"III-1-3 (2)",content:"① 実態把握及び対話の実施に当たっての前提行為",id:"IBSv879we"},{index:"III-1-3 (2)①",content:"イ.情報収集・プロファイリング(特性把握)",id:"IBSvYkwe"},{index:"III-1-3 (2)①イ",content:"前述のとおり、金融庁は、各暗号資産交換業者の特性や課題、改善に向けた自主的な取組み状況等その時々における個別具体的状況を把握することを目的としてモニタリングを実施する。この中には、暗号資産交換業者を巡る環境変化が及ぼす経営への影響やこれへの各暗号資産交換業者の対応状況について把握することも含まれる。こうした情報収集やプロファイリングは、日常的なモニタリングの成果の集積であり、特定の形式にとらわれるものではないが、例えば以下のような視点で取組みを行っていく。",id:"P0dvYkwe"},{index:"III-1-3 (2)①イ",content:"a.マクロの視点経済、金融市場、政治、社会等内外の環境変化が各暗号資産交換業者に与える影響について分析・把握する必要がある。そのため、例えば、庁内の関係部署や財務局、関係省庁等と連携し、一般事業会社を含む国内外の不祥事、国内外の法令・制度の改正や判例の動向、海外当局や国際機関における議論の動向、暗号資産の取引市場の動向、経済・社会環境の変化、暗号資産に用いられる技術の進展等の内外の環境変化に関する情報を収集した上で、同業他社や他業界、類似業務・商品、法制度等に潜む共通の課題を分析・把握することが有用となる。こうした情報収集・分析を通じた、問題事象の横展開・広がりの分析を通じ、暗号資産交換業者全体に内在する課題の把握・特定に努めていく。",id:"P09U8dawe"},{index:"III-1-3 (2)①イ",content:"b.ミクロの視点85暗号資産交換業者との実効性のある対話等を実現するためには、各暗号資産交換業者固有の実情についての深い知見の蓄積が不可欠である。特に、その出発点として、暗号資産交換業者が、それぞれの経営環境(顧客特性、競争環境等)の中でどのような姿を目指し、そのために何をしたいのかといった経営理念や当該理念に基づいたビジネスモデル・経営戦略、業務運営及び組織態勢を確認することが必要となる。そのために、例えば次のような、当該暗号資産交換業者やそのステークホルダー(従業員、顧客、株主等)からの情報収集が有用である。",id:"AS0p8dawe"},{index:"III-1-3 (2) ①イ",content:"・経営・財務の状況等の定型資料のみならず、経営の意思決定に係る会議体の資料や議事録等を分析すること(経営上のリスクの特定・評価についての情報を含む)
・マネー・ローンダリング及びテロ資金供与対策にかかる年次実態調査の結果等を分析すること(暗号資産交換業者にかかる固有リスク、当該リスク低減状況のほか、業界における共通課題の洗い出しを含む)
・決算やリスク管理に係るヒアリングのみならず、各部門の責任者をはじめとする各階層の者からビジネス動向や業務の適切な運営確保の状況等について随時ヒアリングを行うこと
・暗号資産交換業者自身のリスク認識や業務のあり方を把握するため、内部監査部門、監査(等)委員・監査役、社外取締役、日本暗号資産取引業協会等と意見交換を行うこと
・金融サービス利用者相談室に対して寄せられた相談・苦情等の情報など、様々なチャネルを活用して収集した金融サービス利用者の声のほか、メディア報道や外部からの照会等を含めた外部情報を分析すること",id:"XxwR6hTq",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/fdeb0b5a-8ba5-4d0a-a71b-54eae47e140b"]},{index:"III-1-3 (2) ①",content:"ロ.優先課題の洗い出し及びモニタリング方針・計画策定上記情報収集・特性把握を通じて特定された各暗号資産交換業者の課題や業態等に共通する横断的な課題については、暗号資産交換業者の経営陣と経営上の実質的な重要事項を議論するため、また、限られた行政資源を最大限有効活用するため、社会的要請など時々の重要度・緊急度も十分に踏まえ、優先順位を付ける必要がある。こうして特定された横断的な優先度の高い課題については、事務年度当初に年度単位の方針等で設定・公表する。次に、各暗号資産交換業者特有の経営状況等を踏まえ、モニタリング方針・計画を策定し、優先課題への具体的な対応方針・計画を定め、適正な人員配置等の体制を構築する必要がある。その際、暗号資産交換業者が実質的な重要事項の改善に経営資源を集中できるよう、重点的な課題の性質に応じて立入検査とそれ以外のモニタリング手法、各暗号資産交換業者のモニタリングと水平的なモニタリング等を使い分ける。なお、立入検査については、一定期間ごとに実施するのではなく、一連のモニタリングプロセスにおける実態把握のための手法の一つと位置付けられる。ただし、長期間立入検査が実施されていない場合には、監督当局の予見困難な問題事象が生じている可能性が相対的に高まっているリスク要素の一つとも捉えられる。また、期中に新たな課題が発生・発覚した場合にはモニタリング計画を柔軟に見直すなど、その時々に応じた適切なモニタリングを心掛ける。",id:"X87P1Tq"},{index:"III-1-3 (2)",content:"② 各暗号資産交換業者の詳細な実態把握実態把握のため、課題の性質又は対応の進捗、各暗号資産交換業者の実態に応じ、各種ヒアリングや任意の資料提出依頼、アンケート、法令上の報告徴求、立入検査などの中から、最も効率的かつ効果的な手法を選択することとする。また、監督当局において、過去に情報を把握していたり、別途把握を行っている場合には、その内容を事前に確認の上、それらを最大限活用するなど暗号資産交換業者の負担軽減に配慮する。更に、一旦行った分析に基づきモニタリングを実施している場合においても、情報収集や実態把握、対話に基づき新たに課題が判明した場合には、新たな課題の性質に応じて、適切な対応を行っていく。選択された各手法については、それぞれ例えば次の点に留意して実施する。なお、いずれの手法を実施するにしても、監督当局がどのような課題を認識した上で、どのような議論を志向しているのかを、暗号資産交換業者に対して丁寧に説明していく。",id:"ErCiKU7r"},{index:"III-1-3 (2) ②",content:"イ.各種ヒアリング優先課題について暗号資産交換業者との相互理解を深めるため、課題の性質に応じて経営トップ、各部門の責任者、実務者レベル等との間で重層的にヒアリングを行っていく。なお、ベストプラクティスの追求に向けた取組みについては、暗号資産交換業者が自らの置かれた環境と特性に応じ創意工夫を行うものであることを踏まえ、監督当局が特定の答えを押し付けることのないよう留意する必要がある。また、こうした各種ヒアリングの一環として、暗号資産交換業者の施設内において、特定のテーマに関して一定期間集中的にヒアリングや対話を行う場合がある。",id:"51BaQOaV"},{index:"III-1-3 (2) ②",content:"ロ.任意の資料提出依頼暗号資産交換業者の負担に配慮し、また、依頼趣旨が明確かつ正確に伝わるよう、当該依頼がどのような課題認識に基づくものか、そのためにどういった内容の資料が必要なのかといった点を明らかにし、暗号資産交換業者に対して丁寧に説明し理解を得るよう努める。その際、実施時期の分散、二重の依頼の回避、余裕をもった提出期限の設定といった暗号資産交換業者に課せられる負担の軽減に努めることとする。特に、アンケート等、複数の暗号資産交換業者を対象とする場合は、各暗号資産交換業者の特性・置かれた環境にも十分留意する。",id:"avEg0Ukb"},{index:"III-1-3 (2) ②",content:"ハ.法第63条の15に基づく報告徴求必要が認められる場合には法第63条の15に基づき報告を求める。その際、当該報告徴求が監督当局のどのような課題認識に基づくものか、暗号資産交換業者に対して丁寧に説明する。なお、マネー・ローンダリング及びテロ資金供与対策分野においては、暗号資産交換業者の特性を勘案した年次の報告徴求を求めており、当該報告内容について、問題事象が発生した暗号資産交換業者の実態把握や業界における動向の検証に活用する。",id:"49KdfHc6",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/f499aa9c-21ea-4811-ab8c-f875784bc73f"]},{index:"III-1-3 (2) ②",content:"二.法第63条の15に基づく立入検査足下の健全性・適切性等について詳細な検証が必要と判断された場合等、必要が認められる場合には法第63条の15に基づく立入検査を行う。その際、経営上重要な問題は何で、その根本的な原因は何かを常に念頭に置き、洗い出した優先課題の正確性について、経営陣との議論の中で再確認し、仮説を構築する。更にその仮説の立証のために更なる事実・実態の収集・把握を行い、収集した事実・実態に基づき、経営陣と議論を行うことで、安易な結論ではなく暗号資産交換業者の経営や金融行政上重要な課題について根幹に根差した議論を行うよう心掛ける。
なお、立入検査に係る基本的な手続きは、別紙1「立入検査の基本的手続」を参照。また、検査結果通知書を交付した場合は、その交付日から原則として一週間以内に暗号資産交換業者に対し、指摘事項についての事実確認、発生原因分析、改善・対応策等について、法第63条の16に基づき、1か月以内に報告することを求める。報告を求める事項については、指摘の内容に応じ、個々に適切かつ十分な報告事項を定めるよう、十分検討することとする。",id:"48fIUdHc6"},{index:"III-1-3 (2)",content:"③ 対話対話は、経営基盤やコンプライアンス等に係る重大な問題発生の有無や蓋然性、暗号資産交換業者の経営の改善に向けた自主的な取組み状況等その時々における個別具体的状況や、問題の性質に応じて実施される。対話を実施する際は、監督当局側の思い込み、仮説の押し付けを排し、可能な限り、暗号資産交換業者が安心して自らの立場の主張をできるよう努めつつ、まずは、暗号資産交換業者側の考え方や方針を十分に把握し、その上で事実の提示を伴いつつ行うことを徹底する。更に、対話に当たっては、それまで、監督当局が各暗号資産交換業者と行ってきたやりとり等を十分に踏まえ、対話の継続性に配慮した運営に努める必要がある。",id:"a0RaFsmP"},{index:"III-1-3 (2) ③",content:"イ.監督当局による実態把握において、経営基盤やコンプライアンス等に係る重大な問題発生の蓋然性が高まったことが認められた場合においても、まずは、暗号資産交換業者自らが課題・根本原因・改善策の妥当性について検証を行った上で、監督当局と暗号資産交換業者との間で改善策の策定・実行について深度ある対話を行うこととする。ただし、既に上記問題が発生している等高度の緊急性が認められる場合においては、監督当局が考える要改善事項の明確な指摘を行った上で各暗号資産交換業者の対応方針を確認する。",id:"OKravq0e"},{index:"III-1-3 (2) ③",content:"ロ.上記問題が発生する蓋然性が認められない暗号資産交換業者については、自らの置かれた状況に応じ多様で主体的な創意工夫を発揮することで、ビジネスモデルやリスク管理の高度化への努力を続けることが重要である。そこで、監督当局としては、日88頃のモニタリングを通じた特性把握を基に、各暗号資産交換業者の置かれた経営環境や経営課題あるいは、各暗号資産交換業者の戦略、方針について深い理解を持った上で、特定の答えを前提とすることなく、暗号資産交換業者自身に「気付き」を得てもらうことを目的に、暗号資産交換業者との間で、ビジネスモデルやリスク管理、人材育成等について深度ある対話を行っていく(この過程でベストプラクティス等の他の参考事例を必要に応じて共有する)。",id:"JTIjT9MZ"},{index:"III-1-3 (2)",content:"④ 多様な手法の柔軟かつ適切な組合せ上記のとおり、監督当局が暗号資産交換業者に対する行政対応として用いる手法は様々なものがあるが、有効性や監督当局側・暗号資産交換業者側における負担・費用等の観点から、それぞれメリット・デメリットがある。そこで、監督当局としては、各暗号資産交換業者における課題や経営基盤・コンプライアンス等に係る重大な問題発生の有無等その時々における個別具体的状況に応じて、各手法のメリットを最大限生かす柔軟な組み合わせを実現することで、有効かつ効率的な検査・監督事務の実現を目指す。例えば、既に述べた手法以外にも以下の方法が考えられる。",id:"bziqM9vI"},{index:"III-1-3 (2) ④",content:"・業界共通の状況や課題、特定分野における事例等をフィードバックすることは、暗号資産交換業者自身による創意工夫の発揮に資するものである。特に、これらの取組みを各暗号資産交換業者の有する課題に即してフィードバックを行うことで、監督当局・暗号資産交換業者間における高度の共通価値を構築した上での深度ある対話が可能となる。その場合においても、各暗号資産交換業者の自主的な経営判断を尊重し、個別取引の判断に監督当局として不適切な介入を行うことのないように配慮する必要がある。",id:"rX3RZma5"},{index:"III-1-3 (2) ④",content:"・暗号資産交換業者が自主的に開示する経営方針やその改善に向けた取組みといった情報は、暗号資産交換業者と監督当局との間の対話のみならず、顧客等の関係者との対話を深め、暗号資産交換業者による経営改善に向けた取組みに資する可能性がある。",id:"2snuEehi"},{index:"III-1-3 (2) ④",content:"・各暗号資産交換業者の課題が利用者保護や顧客利便といった分野である場合は、監督当局・暗号資産交換業者間でのやり取りに終始するのではなく、取引先や利用者といった第三者にアンケートやヒアリングを実施し、その結果を監督当局・暗号資産交換業者間の対話の際にフィードバックすることで、対話の効果を高めることが可能となる。",id:"IKRCTdH5"},{index:"III-1-3 (2) ④",content:"・必要に応じ、金融庁が、暗号資産交換業者以外の関係者と共通価値や目標を共有したり、監督当局としての各種分析や金融行政のスタンスを情報発信していくことで、暗号資産交換業者の経営環境に関係するステークホルダー等に働きかけることが考えられる。",id:"BKSGm7X9"},{index:"III-1-3 (2)",content:"⑤ モニタリング結果を踏まえた対応上記の金融モニタリング結果の還元については、従来の「検査結果通知」の形式に捉われることなく、認識が一致しない点については相違点を確認の上、継続的に議論を続けるなど、優先課題についての重点的な議論に適した進め方を工夫する。89例えば、以下のような形で暗号資産交換業者に還元し、継続的な議論や必要に応じて改善対応を求めるなど、適切なフォローアップを行っていく。",id:"r3ZxEdyB"},{index:"III-1-3 (2) ⑤",content:"イ.通年で実施したオン・オフのモニタリングの成果は、必要に応じ年間を通じた「フィードバックレター」として文書で交付する。",id:"SXzpTTYB"},{index:"III-1-3 (2) ⑤",content:"ロ.立入検査を実施した際には、原則として、その都度、結果の還元を行う。その方法は、把握した事象や立入検査の内容により様々であるが、例えば、軽微な事象や上記③ロのような対応を行う項目については「講評」や「監督当局所見」のような形で、あるいは、重大な事象については「検査結果通知」のような形で行う。",id:"XBGnwbHt"},{index:"III-1-3 (2) ⑤",content:"ハ.業界共通の課題については、上記「イ」又は「ロ」のほか、随時情報発信する。モニタリングによって認められた問題点・収集した情報を①個別暗号資産交換業者限りのもの、②当該業態共通のもの、③他業態にも共通のもの、④監督当局の他の所掌業務や関係省庁その他業界団体等に影響するものに分類し、次期の年度単位の方針やモニタリング計画に反映するほか、業態横断的な水平的モニタリングの検討、また、モニタリングのみに留まらない問題の広がりを踏まえ、監督当局の他の所掌業務や関係省庁その他業界団体等への働きかけを行っていく。",id:"KAgxznSM"},{index:"III-1-4",content:"品質管理検査・監督事務の全過程において、実態把握及び対話を通じたモニタリングの質や深度について適切な判断が確保されるよう、組織として品質管理を行う。各暗号資産交換業者の経営環境や経営理念等各々の固有の実情を踏まえ、各暗号資産交換業者の創意工夫を尊重しているか、各暗号資産交換業者に対して不適切な負担を強いていないか等について、国民全体の厚生の最大化という幅広い視点に立ちつつ、金融機能が最大限発揮されるよう、検査・監督事務の品質の確保に努める。そのため、総合政策局・監督局関係幹部において、例えば次の点について、暗号資産交換業者から寄せられた意見も踏まえ、多角的・重層的な検証を行い、継続的に必要な改善を図る。",id:"zhVyO6kg"},{index:"III-1-4",content:"・情報収集やヒアリング、対話にあたり、暗号資産交換業者に重複徴求等の過大な負担をかけないよう、業態別・分野別モニタリングチームの間で実効的な連携・情報共有を行っているか。また、資料提出依頼にあたり、依頼内容が明確か、各暗号資産交換業者の違い・特性に留意しているか、余裕をもった期限が設定されているか。",id:"1RB1cFMV"},{index:"III-1-4",content:"・特性把握にあたり、各行の経営環境や経営理念等各々の固有の実情を十分踏まえているか。また、監督当局担当者が思い込みに陥らないよう、客観的な資料・事実を踏まえているか。",id:"4lxioNJh"},{index:"III-1-4",content:"・優先課題の洗い出しにあたり、各暗号資産交換業者固有の実情に応じた経営上の実質的な重要課題に着目できているか。また、他の暗号資産交換業者や業態に広がりを持つ共通的な課題を見落としていないか。",id:"5nWes7p0"},{index:"III-1-4",content:"・モニタリング方針・計画の策定にあたり、適切なモニタリングの対象や手法が選択さ90れモニタリングの実施を行う体制が整備されているか。",id:"1xE0RpQT"},{index:"III-1-4",content:"・報告徴求にあたり、監督当局の課題認識を暗号資産交換業者に丁寧に説明しているか。",id:"o5JrF70f"},{index:"III-1-4",content:"・上記III-1-3(2)③を踏まえ、適切な対話になっているか。また、対話が一方的な指導となっていないか。",id:"kvGZO8Sd"},{index:"III-1-4",content:"・モニタリングの結果認められた課題や問題点について、根本原因分析が行われているか。",id:"oj1jko9A"},{index:"III-1-4",content:"・モニタリング結果の還元にあたり、優先課題を重点的に議論するために最も適した方法が選択されているか。また、還元する内容について、問題の重要性に応じた的確な議論や改善の要請等ができているか、些末な問題を指摘していないか、不適切な経営介入を行う結果となっていないか。その際、モニタリング全般に関する意見申出制度に加え、幹部が暗号資産交換業者を訪問し、暗号資産交換業者から直接モニタリングについての意見を聞くなど、暗号資産交換業者等からの率直な意見や批判を受ける機会を充実させるよう努める。また、暗号資産交換業者及び監督当局職員等へのヒアリング等を通じた金融行政に対する外部評価や有識者会議等を通じた外部有識者からの意見聴取を実施する。",id:"DdulP9Xp"},{index:"III-1-5 苦情対応等",content:"(1) 基本的な対応暗号資産交換業者に関する相談・苦情等に対しては、金融庁にあっては金融サービス利用者相談室が、各財務局にあっては担当課室が、第一義的な受付窓口となるが、申出人に対しては、当局は個別取引に関してあっせん等を行う立場にないことを説明するとともに、必要に応じ、法に基づき相談・苦情等への対応を行う機関として、指定ADR機関又は協会を紹介するものとする。なお、寄せられた相談・苦情等のうち、申出人が暗号資産交換業者側への情報提供について承諾している場合には、原則として、監督部局において、当該暗号資産交換業者への情報提供を行うこととする。",id:"pHQLIgUW"},{index:"III-1-5",content:"(2) 情報の蓄積各財務局においては、暗号資産交換業者に対する監督上、参考になると考えられるものについては、その内容を記録(別紙様式2)するものとし、特に有力な情報と認められるものについては、速やかに金融庁担当課室に報告するものとする。",id:"xGYZoGxI"},{index:"III-1-5",content:"(3) 金融サービス利用者相談室との連携監督部局においては、金融サービス利用者相談室に寄せられた相談・苦情等の監督事務への適切な反映を図るため、以下の対応をとるものとする。",id:"8hNYWgHN"},{index:"III-1-5 (3)",content:"①相談室から回付される相談・苦情等の分析",id:"Bke32Sbx"},{index:"III-1-5 (3)",content:"②相談室との情報交換",id:"iJZgSPTm"},{index:"III-1-5",content:"(4) 暗号資産交換業者が取り扱うことが必ずしも適切でない暗号資産の情報に係る取扱い監督部局においては、協会等から暗号資産交換業者が取り扱うことが必ずしも適切でない暗号資産の情報を入手した場合には、必要に応じて、関係当局への連絡を行うものとする。取り扱うことが必ずしも適切でない暗号資産とは、例えば、当該暗号資産の用途(詐欺的に利用されていることが明らかな場合)等の観点から、「I-1-2-3取り扱う暗号資産の適切性の判断基準」を参考に、個別具体的に判断することが考えられる。",id:"944Ubpru"},{index:"III-1-6 無登録業者への対応",content:"",id:"2zBOLvld"},{index:"III-1-6",content:"(1) 無登録業者等の実態把握等利用者からの苦情、捜査当局からの照会、暗号資産交換業者・協会等からの情報提供又は新聞やインターネット広告等から、無登録で暗号資産交換業を行っていると疑われる者(以下「無登録業者等」という。)を把握した場合は、警察や地域の消費生活センター等への照会、無登録業者等への直接確認(電話やメール等の確認等、問合せの方法は問わない)等により、積極的にその実態把握に努めるものとする。特に、利用者から苦情等があった場合や捜査当局から照会があった場合は、その対応のみに留まることのないよう十分留意するものとする。",id:"9f2YJMCR"},{index:"III-1-6",content:"(2) 無登録業者等に係る対応について無登録業者等に関する情報を入手した場合、被害の拡大を防ぐ観点から下記のような対応に努めることとする。",id:"nM3UV06t"},{index:"III-1-6 (2)",content:"① 苦情等の受付利用者等から無登録業者等に関する情報提供があったときは、極力詳細な内容(業者名、所在地、代表者名、電話番号、営業の実態、申出人氏名、申出内容を捜査当局へ連絡することの可否等)を聴取した上、次により対応する。",id:"l77CUSgp"},{index:"III-1-6 (2) ①",content:"イ.他の財務局に本拠地のある無登録業者等の情報を受け付けた場合には、申出内容について聴取したうえで、本拠地のある財務局へ情報を連絡する(その後の対応は連絡を受けた財務局で対応することを基本とする)。",id:"kgfzs9br"},{index:"III-1-6 (2) ①",content:"ロ.連絡先が判明しない業者については、更なる情報収集に努める。",id:"EyX2ocMs"},{index:"III-1-6 (2) ①",content:"ハ.情報提供者から業者及び他の機関に連絡しないように求められた場合には、情報提供者に不利益が及ばないよう留意する。",id:"l3JwEwpv"},{index:"III-1-6 (2) ①",content:"ニ.無登録が疑われる場合には申出人においても捜査当局へ情報提供をするよう慫慂する。",id:"sTIxZFuO"},{index:"III-1-6 (2) ①",content:"ホ.「管理台帳(別紙様式3)」を作成し、無登録業者等に関する苦情・照会の内容及び当該業者に対する当局の指導内容、相手方の対応等を時系列的に整理・記録しておく。",id:"VXv9VWqz"},{index:"III-1-6 (2)",content:"② 無登録で暗号資産交換業を行っているおそれが認められた場合92直接受理した情報や金融庁・他局から提供された情報により、業者名及び連絡先が判明しており、かつ、営業実態もある程度判明している業者については、無登録業者等への直接確認(電話やメール等の確認等、問合せの方法は問わない)等により実態把握に努め、その結果、当該業者が無登録で暗号資産交換業を行っているおそれがあると認められた場合(不在等で連絡が取れない場合も含む。)には、別紙様式5により文書による照会を行い、次により対応する。",id:"QxNqa3b1"},{index:"III-1-6 (2) ②",content:"イ.無登録に至った原因に故意性・悪質性がなく、利用者保護の観点から問題のある業者でない場合には、直ちに暗号資産交換業務の停止及び暗号資産交換業者の登録を求める。",id:"4RirqgIp"},{index:"III-1-6 (2) ②",content:"ロ.無登録に至った原因に故意性・悪質性があると認められる場合、その他利用者保護上必要と認められる場合には、かかる行為を直ちに取り止めるよう別紙様式4により文書による警告を行う。なお、無登録業者等への直接確認等や別紙様式5による文書の発出を行うまでもなく、無登録で暗号資産交換業を行っていることが判明している場合にあっては、直ちに別紙様式4により文書による警告を行うこととする。",id:"pgT8wzC4"},{index:"III-1-6 (2) ②",content:"(注)別紙様式4による警告や別紙様式5による照会を行う場合において、利用者保護上必要と認められるときは、捜査当局、関係省庁等に連絡するものとする。",id:"v6wDM9hq"},{index:"III-1-6 (2)",content:"③ 警告を発したにもかかわらず是正しない場合別紙様式4による警告を発したにもかかわらず是正しない者については、必要に応じ捜査当局に対し告発を行うものとする。",id:"64u4Rwkg"},{index:"III-1-6 (2)",content:"④ 公表等「警告」、「告発」の措置を取った場合は、これらの措置の対象となった業者の商号、名称又は氏名(法人の場合は代表取締役又はこれに相当する者の氏名を含む。)、所在地又は住所(個人の場合は都道府県名及び市町村名又は特別区名とし、非居住者にあってはこれらに相当するもの)及び無登録で行っていた暗号資産交換業の内容等について、ウェブサイトで公表を行うとともに、「管理台帳」及び「警告文書」等の写しを速やかに金融庁長官へ送付する。報告を受けた金融庁においては、公表を行った業者をリスト化し、金融庁ウェブサイトで公表を行うものとする。なお、警告の対象となった業者の所在地が虚偽であることが明らかな場合や、業者の所在地が不明な場合等、警告書の交付が困難な場合には、警告書の発出を行うことなく上記の公表等を行うものとする。",id:"bweN60pu"},{index:"III-1-6 (2) ④",content:"(注)無登録業者等に係る対応については、捜査当局による捜査に支障が出る場合を除くこととする。なお、捜査当局より当該業者に係る登録の有無の照会等を受けたことをもって、直ちに捜査当局による捜査に支障が出る場合と判断するものではないことに留意するものとする。",id:"SBAoEOCV"},{index:"III-1-7",content:"新規サービス(新商品・新規業務)への対応",id:"hVuCX9ob"},{index:"III-1-7",content:"近時、暗号資産交換業者においては、デジタル技術の進展から、関連ビジネスが目まぐるしく変化し、新たな暗号資産交換業務が開始・検討されている。こうしたことを踏まえ、暗号資産交換業者からの新規サービスに関する相談に対しては、監督当局としては、イノベーションの促進と利用者保護のバランスに留意しつつ、潜在的なリスクの把握に努めるとともに、不適切な商品の組成・提供がされることのないよう、「II暗号資産交換業者の監督上の着眼点」を踏まえながら、特に、以下の点に留意して確認を行うものとする。",id:"iO9DX9ob",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/32fcc94e-8f29-4473-b596-ce9dfae48f22"]},{index:"III-1-7",content:"① 新規サービスの導入にあたり、暗号資産交換業者自らが、利用者保護及び法的な観点から問題点等の検討を行うとともに、網羅的にリスクを洗い出しているか。また、洗い出したリスクに対し、十分な対応策を講じているか。",id:"EBCETDEp",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/6c87dfc6-9a74-47fe-8a3a-7d6ed9ceace9"]},{index:"III-1-7 ①",content:"(注1)システム開発を伴う場合においては、顧客や業務に対する影響が生じないよう、適切なシステム上の対応がなされているかを、十分に評価・確認を行う必要がある。",id:"XRkTJ4ST",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/a2363f2d-eead-4e90-81b2-a6009a636e99"]},{index:"III-1-7 ①",content:"(注2)なお、導入時に、リスクを適切に評価していたとしても、市場環境の変化や規制の強化等によって、当初の想定とは異なるリスクが、暗号資産交換業者や利用者に対して顕在化することも考えられることから、取扱い開始後のリスクの変化を定期的にモニタリングし、その結果をサービスの内容や対応策の見直しに反映させるなど、PDCAサイクルを機能させることが求められる。",id:"p1vr8Rby",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/dbc005b1-1646-4f7d-bd7d-4838ac3b5ee8"]},{index:"III-1-7",content:"② 新規サービスの内容に応じた社内規程、顧客向け商品説明資料の策定や人員の配置等、適切に内部管理態勢が整備されているか。また、新規サービスの提供に際しての利用者への説明方法及び内容(プレスリリース文を含む)は適切か。",id:"itKWiXJK",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/cf000407-6a8b-4eaa-8429-cc4372e30fa6"]},{index:"III-1-7 ②",content:"(注)なお、利用者への説明については、II-2-2を参照すること。",id:"cssiUxs0",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/f6d6842f-4183-4173-80ee-6e2b3a7352c9"]},{index:"III-1-7",content:"③ 営業推進部門から独立した立場からの適切な事前審査を行った上で、取扱いの可否の決定を行っているか。経営陣の関与は適切か。(参考)監督部局の確認資料としては、例えば、リスクの特定・評価結果に係る資料や各種会議体(取締役会、リスク管理委員会等)の議事録・資料(リリース判定会議議事録・リリース判定資料、プロジェクト計画書、サービス仕様書、テスト結果、UAT結果報告書、脆弱性診断等)などがあげられる。",id:"sHCTXCsm",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/494ff6a8-e7a4-4793-93a3-a51ce71c0988"]},{index:"III-1-8 株式譲渡等における留意点",content:"(1) 株式譲渡における留意点近時、暗号資産交換業者の主要株主が他の事業者に株式を譲渡することにより、暗号資産交換業を売却・譲渡するケースが見受けられる。こうした株式譲渡においては、ビジネスモデルや役職員、内部管理態勢、取引システム等の大幅な変更がなされる場合が多いことから、株式譲渡後も適切に業務を遂行できる態勢となっているかについて留意する必要がある。
このため、監督当局としては、暗号資産交換業者との日常的なコミュニケーションを通じて、かかる情報を把握するよう努めるとともに、資金決済法上、主要株主の変更は届出事項(事後)とされていることを踏まえ、届出を受理後、経営管理(ガバナンス)や法令等遵守態勢等の内部管理態勢全般に関し、暗号資産交換業者の役員等との深度あるヒアリング等も踏まえ、その適切性に問題がないかどうか、改めて検証するものとする。法第63条の5第1項第4号に規定する「暗号資産交換業を適正かつ確実に遂行する体制の整備が行われていない法人」であるなど業務の健全性・適切性に疑義が認められる場合には、必要に応じ、法第63条の15に基づき報告を求めるものとし、重大な問題があると認められる場合等には、法第63条に基づく業務改善命令等の行政処分(III-3)の発動等を検討するものとする。",id:"ItO4y8KP",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/f76ea5af-3403-4e5b-af1e-82cfc4a1df61"]},{index:"III-1-8",content:"(2) 事業譲渡における留意点暗号資産交換業者が他の法人に事業を譲渡する場合、事業を譲り受ける側が財務局登録の暗号資産交換業者でない限りは、再度、暗号資産交換業の登録を受ける必要があることに留意する。",id:"7UkFsSmt",revision:["crypto_guidelines/revisions/c16aabcf-c0f2-4f0b-8e28-aed929395711/1ec050e6-aa55-4554-833e-3885a220bab7"]},{index:"III-1-9 監督部局間の連携",content:"(1) 金融庁と財務局における連携金融庁と財務局との間では、暗号資産交換業者を監督する上で必要と認められる情報について、適切に情報交換等を行い、問題意識の共有を図る必要がある。そのため、III-1-9に掲げる内部委任事務に係る調整等以外の情報等についても、適宜適切な情報提供や積極的な意見交換を行う等、連携の強化に努めることとする。また、財務局間においても、他の財務局が監督する暗号資産交換業者について、公表されていない問題等を把握したときは、適宜、監督する財務局や金融庁への情報提供を行い、連携の強化に努めることとする。",id:"1i1ugJol"},{index:"III-1-9 監督部局間の連携",content:"(2) 管轄財務局長との連絡調整管轄する暗号資産交換業者に対して法第63条の17に基づく処分を行った場合は、速やかに、当該暗号資産交換業者の営業所の所在地を管轄する他の財務局長にその処分内容を連絡するものとする。",id:"7LOSbmEO"},{index:"III-1-10",content:"認定資金決済事業者協会との連携等暗号資産交換業者の監督に当たっては、法令上の規制と併せて協会の定める規則を重視する必要がある。また、協会は、自主規制規則の制定、会員に対する法令等遵守状況等の調査・指導、利用者からの苦情解決など、重要な役割を担っている。暗号資産交換業者の監督に当たっては、協会と適切な連携を図る必要があることから、以下に留意するものとする。",id:"S0anINWs"},{index:"III-1-10",content:"(1) 会員である暗号資産交換業者に対して、効率的かつ実効性のある監督を行う観点から、協会が実施した会員に対する調査、監査及び改善指導等(暗号資産の適切性の審査等に係る検証結果等の内容を含む。)について、随時、ヒアリングを行う。",id:"9OBGCWd9"},{index:"III-1-10",content:"(2) 必ずしも法令違反とはいえない軽微な事項のうち、協会が改善指導等を行う方が適当かつ効果的であると認められるものについては、協会と密接な連携のもと、当局の監督権に留意しつつ、協会による改善指導等を要請し、調査上の留意事項とするよう依頼することができる。",id:"xZ0kIqfI"},{index:"III-1-10",content:"(3) 協会が受け付けた苦情等及び苦情等処理状況並びに苦情等の動向等について、協会から定期的にヒアリング及び意見交換を行う。",id:"vomtmTyy"},{index:"III-1-10",content:"(4) 非会員を含めた暗号資産交換業者に対し、適切かつ効率的な監督を行う観点から、自主規制規則の制定、変更及び運用状況について、協会と密接に連携を図る。例えば、自主規制規則においては、利用者保護の観点から、分別管理や暗号資産信用取引等に係る具体的な指針等を定めることが望ましい。",id:"m7VOHLzW"},{index:"III-1-11 内部委任",content:"(1)金融庁長官との調整財務局長は、暗号資産交換業者の監督事務に係る財務局長への委任事項等の処理に当たり、以下に掲げる事項(その他の事項についても必要に応じ金融庁長官と調整することを妨げない。)については、あらかじめ金融庁長官と調整するものとする。なお、調整の際は、財務局における検討の内容(III-3(3)の検討内容を含む。)及び処理意見を付するものとする。",id:"cjxRVEMC"},{index:"III-1-11 内部委任 (1)",content:"① 法第63条の16の規定による業務改善命令。",id:"I8PnuAq5"},{index:"III-1-11 内部委任 (1)",content:"② 法第63条の17第1項の規定による登録の取消し又は業務の停止。",id:"sRpALKnD"},{index:"III-1-11 内部委任",content:"(2) 財務事務所長等への再委任登録申請者及び暗号資産交換業者の本店(内閣府令第8条に規定する本店をいう。以下同じ。)の所在地が財務事務所又は小樽出張所若しくは北見出張所の管轄区域内にある場合においては、財務局長に委任した権限のうち、登録申請者又は暗号資産交換業者が提出する届出書、申請書及び報告書の受理に関する権限は、当該財務事務所長又は出張所長に行わせることができるものとする。なお、これらの事項に関する届出書等は、登録申請者又は暗号資産交換業者の本店の所在地を管轄する財務局長宛提出させるものとする。",id:"Yag3roDa"},{index:"III-2 諸手続",content:"",id:"54P5TKlc"},{index:"III-2-1",content:"登録の申請、届出書の受理等96暗号資産交換業の登録の申請並びに変更及び登録簿の縦覧等の事務処理については、以下のとおり取り扱うものとする。",id:"TavuGHXB"},{index:"III-2-1",content:"(1) 登録申請書、届出書の受理",id:"Jnqmf4Tg"},{index:"III-2-1 (1)",content:"① 登録申請書及び変更の届出の受理に当たっては、次の事項に留意し、不適切な場合にはその是正を求めるものとする。",id:"mw2mQc0f"},{index:"III-2-1 (1) ①",content:"イ.利用者に公的機関若しくは金融機関のごとき誤解又はこれらと特別の関係があるかごとき誤解を与え、取引の公正を害するおそれのある商号又は名称を使用していないこと。",id:"s0i6Hmd2"},{index:"III-2-1 (1) ①",content:"ロ.2以上の商号を使用して、2以上の登録の申請をしていないこと。",id:"zFcJasuo"},{index:"III-2-1 (1) ①",content:"ハ.内閣府令第6条第16号に基づき提出する委託契約書の内容について、次に掲げる事項を記載していること。a.資金決済に関する法律等を遵守する旨の文書b.委託業務の範囲に関する事項c.委託手数料の決定及び支払いに関する事項d.委託業務の取扱いに必要な経費の分担に関する事項e.営業用の施設及び設備の設置主体等",id:"NFRGpeSC"},{index:"III-2-1 (1)",content:"② 内閣府令第6条第11号に規定する「暗号資産の概要を説明した書類」の内容は、協会が別に公表する様式等に準拠するものとする。",id:"taIvC22c"},{index:"III-2-1 (1)",content:"③ 内閣府令第6条第18号に規定する「その他参考となる事項を記載した書面」として、例えば、以下の書類を登録申請書に添付していること。",id:"LSG8eLO6"},{index:"III-2-1 (1) ③",content:"イ.「暗号資産交換業者の登録審査に係る質問票」",id:"4iNZlDpr"},{index:"III-2-1 (1) ③",content:"ロ.暗号資産交換業に係る業務の開始後一事業年度における履行保証暗号資産の数量及び当該数量を本邦通貨に換算した金額の見込みを記載した書面",id:"SSOgc1M2"},{index:"III-2-1 (1)",content:"④ 内閣府令別紙様式第1号第3面及び内閣府令別紙様式第2号第4面記載上の注意1に規定する「暗号資産交換業の業務上主要な活動が行われる場所」とは、暗号資産の交換等又は利用者の金銭並びに暗号資産の管理等、利用者との間で暗号資産交換業に係る取引を行うに当たり重要な業務が行われる場所を指す。",id:"aEeUaSbC"},{index:"III-2-1",content:"(2) 登録の申請の審査登録申請の審査(事前相談を含む。以下同じ。)に当たっては、「暗号資産交換業者の登録審査プロセス」(金融庁ホームページ参照)に基づき、実質面を重視した深度ある審査を行うこととする。具体的には、事業者のビジネスプラン及びそれに応じた実効的な内部管理態勢や、利用者保護を優先したガバナンス態勢の整備状況について、書面やエビデンスでの確認、現場訪問による検証及び役員ヒアリング等を行う。その際、本事務ガイドラインの着眼点を補足・敷衍し、事業者との対話を円滑に実施するためのツールとして「暗号資産交換業者の登録審査に係る質問票」を活用することとする。また、マネー・ローンダリング及びテロ資金供与対策分野においては、登録を受けた暗号資産交換業者の「マネー・ローンダリング及びテロ資金供与対策にかかる年次実態把握報告表」の内容も参照し、態勢の整備状況の参考とする。",id:"jwdds1uj",revision:[]},{index:"III-2-1 (2)",content:"① 法第63条の5第1項第3号の財産的基礎の審査に当たっては、次のとおり取り扱うものとする。",id:"qDZakoab"},{index:"III-2-1 (2) ①",content:"(注)下記事項の審査に当たっては、登録申請書に記載された「暗号資産交換業の内容及び方法」の内容並びに内閣府令第6条第8号に規定する最終の貸借対照表等、同条第10号に規定する「事業開始後三事業年度における暗号資産交換業に係る収支の見込みを記載した書面」及び同条第14号に規定する「暗号資産交換業に関する社内規則等」の内容などを踏まえ、法第63条の11に規定する利用者財産の管理の方法を聴取するものとする。",id:"sAB7elWK"},{index:"III-2-1 (2) ①",content:"イ.新設法人にあっては、開設時の貸借対照表で審査する。",id:"ZEwu0ICL"},{index:"III-2-1 (2) ①",content:"ロ.内閣府令第6条第9号に規定するもの(監査証明書)を有しない者に対する同条第8号に規定する「最終の貸借対照表(関連する注記を含む。)及び損益計算書(関連する注記を含む。)又はこれらに代わる書面」の内容の確認に当たっては、必要に応じ、例えば、以下のような書面によるものとする。
a.預金が計上されている場合にあっては、取引先の金融機関が発行する残高証明書
b.有価証券が計上されている場合にあっては、取引先の証券会社が発行する取引残高報告書
c.土地又は建物が計上されている場合にあっては、市区町村が発行する固定資産評価証明書又は不動産鑑定士が作成した鑑定評価書の写し
d.法人税の確定申告書及び確定申告書に添付した貸借対照表の写し",id:"xzsegaYp"},{index:"III-2-1 (2) ①",content:"ハ.収支見通しについて、競合者の参入、システムの陳腐化等、環境の悪化に伴う対応方策が確立しており、その場合でも一定の収益を見込めるような計画となっているかを確認するものとする。なお、暗号資産交換業において損失が生じた場合に、申請者が他に営んでいる事業による収益等によって補填がなされる等、暗号資産交換業の継続可能性に影響を及ぼすと考えられる特段の事情がある場合には、当該事情を考慮するものとする。",id:"QnXtWr5P"},{index:"III-2-1 (2) ①",content:"ニ.暗号資産の管理を行う場合、純資産額が内閣府令第9条第1項第2号に規定する「履行保証暗号資産の数量を本邦通貨に換算した金額以上であること」の確認に当たっては、上記(1)②ロの書面の内容を踏まえ、暗号資産交換業に係る業務の開始後一事業年度における履行保証暗号資産の数量の見込みが、当該事業者のビジネスプランに照らして合理的であるかを検証の上、当該履行保証暗号資産の見込み数量を本邦通貨に換算した金額を超える程度の純資産額を有しているかを確認するものとする。",id:"mUGGFfrr"},{index:"III-2-1 (2)",content:"② 法第63条の5第1項第4号に規定する「暗号資産交換業を適正かつ確実に遂行する体制の整備が行われていない法人」であるかどうか及び同項第5号「この章の規定を遵守するために必要な体制の整備が行われていない法人」であるかどうかの審査に当たっ98ては、以下の点に留意するものとする。",id:"7FCXJ8CK"},{index:"III-2-1 (2) ②",content:"イ.II-1及びII-2に掲げた主な着眼点について、例えば、クロスボーダー取引や現金の受払いの有無など、当該暗号資産交換業者の事業内容や事業計画(規模・特性等を含む。)からみて、適切に対応するための態勢が整備され、その実効性が確保されているか。特に、組織態勢の確認に当たっては、法令等遵守のための態勢を含め、相互けん制機能が有効に機能する内部管理態勢(業容に応じた内部監査態勢を含む。)が整備されているか。",id:"3OXttlIs"},{index:"III-2-1 (2) ②",content:"ロ.定款に法人の目的として暗号資産交換業を営むことが含まれているか。",id:"edIS3t9h"},{index:"III-2-1 (2) ②",content:"ハ.内閣府令第6条第11号に規定する取り扱う暗号資産の適切性等の判断に当たっては、その判断に専門性を要するほか、詐欺的な暗号資産もあることから、暗号資産交換業者・協会等から提供を受けた情報等を考慮し、II-2-2-1-2(4)に掲げた暗号資産の取扱いの適否にかかる審査(取扱開始後の見直しを含む。)が的確に行われているか。",id:"vlqxtB5B"},{index:"III-2-1 (2) ②",content:"ニ.内閣府令第6条第15号に規定するものについて、内閣府令第22条第1項各号から第4項各号に規定する内容を考慮した内容となっているか。",id:"z63uxxqL"},{index:"III-2-1 (2)",content:"③ 登録申請時において協会に加入する予定がない事業者が法第63条の5第1項第6号に規定する「協会の定款その他の規則に準ずる内容の社内規則を作成していないもの又は当該社内規則を遵守するための体制を整備していないもの」であるかどうかの審査に当たっては、II-4-2を踏まえるとともに、当該事業者に対しては、以下の事項を通知し、適切な対応を求めることとする。",id:"E4Kh18V5"},{index:"III-2-1 (2) ③",content:"イ.登録後に、協会規則に準ずる内容の社内規則を作成していない又は当該社内規則を遵守するための体制を整備していない場合はII-4-3に基づく監督上の対応がとられること。",id:"i3LxrxTG"},{index:"III-2-1 (2) ③",content:"ロ.協会規則に改正等があった場合にそれに応じて社内規則の見直しを行わない場合には、上記イに該当する場合があること。",id:"jPOyp61M"},{index:"III-2-1",content:"(3) 登録の申請の処理",id:"fFQHonDU"},{index:"III-2-1 (3)",content:"① 内閣府令第7条の規定による登録済通知書については、次により取扱うものとする。",id:"qNCsjdD7"},{index:"III-2-1 (3) ①",content:"イ.登録番号は、財務局長ごとに決裁を終了した順で00001号から一連番号とすること。",id:"6eIsBkoO"},{index:"III-2-1 (3) ①",content:"ロ.登録がその効力を失った場合の登録番号は欠番とし、補充は行わないこと。",id:"jh3D5rHL"},{index:"III-2-1 (3) ①",content:"ハ.財務局の管轄区域を越える本店の位置の変更の届出を受理した場合の登録番号は、新たな登録をした財務局長において上記イ.に従い一連番号とする。",id:"6ZEJJ9L9"},{index:"III-2-1 (3)",content:"② 登録を拒否する場合は、拒否理由等を記載した内閣府令第10条に基づく登録拒否通知書を登録申請者に交付するものとする(III-4参照)。",id:"FygMEfAR"},{index:"III-2-1 (3)",content:"③ 財務局長は、登録を拒否したときは、監督局長に対して別紙様式6による暗号資産交換業者登録拒否通知書に登録申請書の写しを添付して通知するものとする。99",id:"muX2yUOp"},{index:"III-2-1",content:"(4) 変更届出の処理等",id:"wEmDw611"},{index:"III-2-1 (4)",content:"① 新たに役員となった者が法第63条の5第1項第11号イからホまでのいずれかに該当することが明らかになった場合には、届出者に対し、法第63条の17に規定する登録の取消し等の措置を行うものとする。",id:"2CVCNX4l"},{index:"III-2-1 (4)",content:"② 内閣府令第11条第2号に規定する「取り扱う暗号資産に用いられている技術又は仕様の変更を理由として当該暗号資産の保有者に対して新たな暗号資産が付与される場合」としては、例えば、受託暗号資産に使用されるブロックチェーンが分岐する等によって新たな暗号資産が発生した場合において、暗号資産交換業者が、その行う暗号資産交換業に関し、当該受託暗号資産の保有者に対して、当該新たな暗号資産を付与する場合が考えられる。",id:"AZgQ49ah"},{index:"III-2-1 (4) ②",content:"(注)暗号資産交換業者が、その行う暗号資産交換業の業務に関し、上記ブロックチェーンの分岐等の事実をあらかじめ知り得た場合には、法第63条の6第1項に基づいて、事前の変更届出を行う必要があることに留意する。",id:"Lx6gcBaI"},{index:"III-2-1 (4)",content:"③ 内閣府令第11条第3号イに規定する「これに準ずる事項」とは、暗号資産交換業の種類自体に変更はないが、その業務の内容及び方法に重大な変更が生じる場合を指し、例えば、ビジネスモデルの変更を伴う業務内容の変更等が考えられる。",id:"m6LWvv1j"},{index:"III-2-1 (4) ③",content:"(注)ビジネスモデルの変更を伴う業務内容の変更としては、例えば、自己がカバー取引の相手方等から調達した暗号資産を利用者に販売する業務に加え、発行者から依頼を受けてICOにおいて発行されるトークンを利用者に販売する業務を新たに追加する場合等が考えられる。",id:"oEmcSDn5"},{index:"III-2-1 (4)",content:"④ 変更事項が財務局の管轄区域を越える本店の所在地の変更である場合には、次により取扱うものとする。",id:"KNWGfzyY"},{index:"III-2-1 (4) ④",content:"イ.登録事項変更届出書の提出を受けた財務局長は、内閣府令第12条第2項第9号の規定による添付書類(登録済通知書)を保管する。",id:"WQ7Um2bH"},{index:"III-2-1 (4) ④",content:"ロ.上記イの変更届出書の提出を受けた財務局長は、内閣府令第12条第3項の規定により新たに登録の権限を有することとなる財務局長に対し、別紙様式7により作成した変更登録通知書に、当該登録事項変更届出書、暗号資産交換業者登録簿のうち当該届出者に係る部分、別紙様式8による財務局の意見書、従前の登録申請書及びその添付書類並びに当該登録事項変更届出書の提出の直前に行った検査の報告書の写しを添付して、通知するものとする。",id:"0p4SQivD"},{index:"III-2-1 (4) ④",content:"ハ.上記ロの通知書の送付のあった財務局長は、遅滞なく、暗号資産交換業者登録簿に登録するとともに、従前の登録をした財務局長に別紙様式9により作成した変更事項登録済通知書により通知するものとする。",id:"lqzTqo87"},{index:"III-2-1",content:"(5) 登録証明書の発行登録を受けた暗号資産交換業者又は暗号資産交換業者であった者から公的機関に提出す100る必要がある等の理由により、その者の登録証明の申請があったときは、別紙様式10による暗号資産交換業者登録証明を行うものとする。ただし、登録申請書類が保存年限を経過していることにより廃棄されている場合については、この限りでない。",id:"cT6LupKI"},{index:"III-2-1",content:"(6) 暗号資産交換業者登録簿の作成内閣府令第4条に規定する登録申請書(内閣府令別紙様式第1号第2面から第13面まで(外国暗号資産交換業者にあっては、内閣府令別紙様式第2号第2面から第14面まで))に基づき、その登録を行った暗号資産交換業者に係る登録簿を暗号資産交換業者別に整理し、登録簿に綴るものとする。",id:"1QFZSr9I"},{index:"III-2-1",content:"(7) 暗号資産交換業者登録簿の縦覧内閣府令第8条の規定に基づく暗号資産交換業者登録簿の縦覧については、次により取扱うものとする。",id:"TJvRiy1N"},{index:"III-2-1 (7)",content:"① 縦覧の申出があった場合には、別紙様式11による暗号資産交換業者登録簿縦覧申請書に所定事項の記入を求めるものとする。なお、氏を改めた者においては、旧氏(住民基本台帳法施行令(昭和42年政令第292号)第30条の13に規定する旧氏をいう。II-2-5において同じ。)及び名を「申請者氏名」欄に括弧書で併せて記載することができることに留意する。",id:"AFVgugyn"},{index:"III-2-1 (7)",content:"② 登録簿の縦覧日及び縦覧時間は、次のとおりとするものとする。",id:"LSl4BSzw"},{index:"III-2-1 (7) ②",content:"イ.縦覧日は、土曜日及び日曜日、国民の祝日に関する法律第3条に規定する休日、1月2日及び同月3日並びに12月29日から同月31日までの日以外の日とする。",id:"pmCBqCpC"},{index:"III-2-1 (7) ②",content:"ロ.縦覧時間は、財務局長が指定する時間内とする。",id:"curKcrCf"},{index:"III-2-1 (7) ②",content:"ハ.登録簿等の整理その他必要がある場合は、上記の縦覧日又は縦覧時間を変更することができるものとする。",id:"JCeOXmxz"},{index:"III-2-1 (7)",content:"③ 登録簿等は、財務局長が指定する縦覧場所の外に持ち出すことができないものとする。",id:"hIVDHTyh"},{index:"III-2-1 (7)",content:"④ 次に該当する者の縦覧を停止又は拒否することができるものとする。",id:"KBMo7vEi"},{index:"III-2-1 (7) ④",content:"イ.上記①から③又は係員の指示に従わない者。",id:"PFX7TpvK"},{index:"III-2-1 (7) ④",content:"ロ.登録簿等を汚損若しくは毀損し又はそのおそれがあると認められる者。",id:"4eiSpIsD"},{index:"III-2-1 (7) ④",content:"ハ.他人に迷惑を及ぼし又はそのおそれがあると認められる者。",id:"LuDL382k"},{index:"III-2-2 法第63条の14に基づく報告書について",content:"",id:"e9iNxDSB"},{index:"III-2-2",content:"(1) 法第63条の14第1項に基づく報告書について内閣府令別紙様式第11号(外国暗号資産交換業者にあっては、内閣府令別紙様式第12号)に規定する事業報告書を処理する場合には、以下の点に留意するものとする。",id:"PfXcyHZo"},{index:"III-2-2 (1)",content:"① 経営計画や資金計画など、登録申請時に確認した事項を参照しつつ、報告内容を検証した上で、両者に著しい乖離が見られる場合には、当該暗号資産交換業者に対するヒアリング等を通じて、経営実態を確認するものとする。",id:"sTAuJvE8"},{index:"III-2-2 (1)",content:"② 経営実態を確認した結果、将来、法第63条の5第1項第3号に規定する「暗号資産交換業を適正かつ確実に遂行するために必要と認められる内閣府令で定める基準に適合する財産的基礎を有しない」こととなる恐れがある場合には、法第63条の15に基づき報告書を徴収するなど、必要な対応を検討することとする。",id:"biMHYKcH"},{index:"III-2-2",content:"(2) 法第63条の14第2項に基づく報告書について内閣府令別紙様式第13号に規定する利用者財産の管理に関する報告書を処理する場合には、以下の点に留意するものとする。",id:"7WSOk3xX"},{index:"III-2-2 (2)",content:"① 金銭の額又は暗号資産の数量若しくは暗号資産の評価額が著しく変動している場合には、当該変動の理由及び将来の変動見込み等について、ヒアリング等で確認するものとする。",id:"a5X7HMO9"},{index:"III-2-2 (2)",content:"② 暗号資産の管理を行う場合、当該暗号資産交換業者の純資産額が履行保証暗号資産の数量を本邦通貨に換算した金額を下回っていないかについて、直近の財務諸表等を参考に確認するものとする。",id:"6je8NiTF"},{index:"III-2-2",content:"(3) 金融庁への送付等",id:"0YBVIgIM"},{index:"III-2-2 (3)",content:"① 暗号資産交換業者に係る随時報告利用者財産の管理に関する報告書の副本及び参考書類各1部並びに上記(1)又は(2)に関し、意見を付す暗号資産交換業者があれば意見書を、提出期限後1ヶ月以内に金融庁担当課室あて送付するものとする。",id:"rk1weL2k"},{index:"III-2-2 (3)",content:"② 暗号資産交換業者に係る定期報告",id:"RnxSMIsX"},{index:"III-2-2 (3) ②",content:"イ.財務局長は、暗号資産交換業者に対して、法第63条の15第1項の規定に基づき、毎年3月末における業務報告書を別紙様式12により、毎年5月末までに徴収するものとする。",id:"nXmj0hpd"},{index:"III-2-2 (3) ②",content:"ロ.暗号資産交換業者の業務報告書の写しについては、毎年6月末までに、金融庁担当課室あて送付するものとする。",id:"ODCX9AJv"},{index:"III-2-2 (3)",content:"③ 暗号資産交換業登録状況一覧表の提出",id:"vVCtGZXQ"},{index:"III-2-2 (3) ③",content:"イ.登録を行った全ての暗号資産交換業者について作成した登録状況一覧表を、登録の都度更新し、半期経過後20日以内に監督局長に対して送付するものとする。",id:"8ec2fety"},{index:"III-2-2 (3) ③",content:"ロ.当該一覧表には、下記の項目については必ず記載するものとする。",id:"g1gCGqdP"},{index:"III-2-2 (3) ③",content:"・暗号資産交換業登録者名・登録番号・登録日・廃止日・暗号資産交換業者の電話番号・メールアドレス・取り扱う暗号資産の名称・兼業の種類",id:"HyRjBtpJ"},{index:"III-2-3",content:"財産的要件を満たさない場合の対応登録期間中に純資産額が最低純資産額を下回った暗号資産交換業者については、法第63条の17第1項第1号の規定により登録取消処分等の対象となることを踏まえて、以下の対応を行なうこととする。",id:"OktHaCLr"},{index:"III-2-3",content:"(1) III-2-2(2)②の確認などを通じて財産的要件を満たしていないことが判明した暗号資産交換業者については、以下の内容について、法第63条の15に基づく報告を求めるものとする。",id:"AQba2DiB"},{index:"III-2-3 (1)",content:"イ.純資産額",id:"c4TNLLDQ"},{index:"III-2-3 (1)",content:"ロ.履行保証暗号資産の数量を本邦通貨に換算した金額(暗号資産の管理を行う場合に限る。)",id:"PLIjJd3s"},{index:"III-2-3 (1)",content:"ハ.上記イ及びロの算出根拠",id:"unHtPJQK"},{index:"III-2-3 (1)",content:"ニ.純資産額を回復させる計画",id:"AjwFvGaV"},{index:"III-2-3 (1) ニ",content:"(注)一般に公正妥当と認められる会計の慣行に照らし、上記イの純資産額の妥当性に関して疑義が認められる場合は、暗号資産交換業者の見解及び算出根拠等について報告を求めるものとする。",id:"3Rd2R6yi"},{index:"III-2-3",content:"(2) 上記(1)の報告があった場合は、報告内容の妥当性について検証を行なうこととする。特に、「純資産額を回復させる計画」については、計画の実現可能性について十分に検証を行うこととする。検証の結果、純資産額を速やかに、かつ、確実に回復させる計画と認められる場合は、処分を保留し、ヒアリング又は報告徴収により計画の実施状況をフォローアップすることとする。",id:"VFP6Fpan"},{index:"III-2-3",content:"(3) 検証の結果、財産的要件を満たす実現可能性のない暗号資産交換業者(廃業の場合を除く。)については、法第63条の17に基づき登録取消処分等を行なうこととする。",id:"nX9Gdubp"},{index:"III-2-4 廃止等の取扱い",content:"",id:"2mWv0W3y"},{index:"III-2-4",content:"(1) 法第63条の20の規定に基づき暗号資産交換業者より暗号資産交換業の廃止等届出書(以下「廃止等届出書」という。)が提出された場合、又は法第63条の17第1項の規定に基づき暗号資産交換業者の登録を取り消した場合には、法第63条の15の規定に基づき、別紙様式13により、暗号資産の交換等に関し負担する債務の額の状況等に係る報告を求めるものとする。",id:"thsuwqZ8"},{index:"III-2-4 (1)",content:"(注1)法第63条の20第1項の規定に基づき、暗号資産交換業の一部について廃止等届出書が提出された場合には、廃止した当該業務に係る暗号資産交換業についてのみ、法第63条の20第5項に規定する暗号資産の交換等に関し負担する債務の額の対象となることに留意する。",id:"E5EJqbvE"},{index:"III-2-4 (1)",content:"(注2)法第63条の20第1項第1号に規定する「暗号資産交換業の一部を廃止したと103き」とは、例えば、複数の暗号資産を取り扱っている場合、そのうちの一部の暗号資産の取扱いを取りやめることや、暗号資産を利用した複数のサービスを提供している場合、そのうちの一部のサービスを廃止することをいう。",id:"Ihd3ZbOT"},{index:"III-2-4",content:"(2) 上記(1)の報告書の提出があったときは、法第63条の15の規定に基づき、当該暗号資産交換業者による廃止しようとする暗号資産交換業として行う暗号資産の交換等に関し負担する債務の履行が完了した場合及びそれまでの間に連絡先又は商号の変更がある場合には、遅滞なくその旨報告することを命ずるほか、利用者保護を図るために必要な場合には、その債務の履行状況を定期的に報告することを命ずるものとする。",id:"kLBuFkuc"},{index:"III-2-4",content:"(3) 法第63条の20第1項第1号の規定に基づき暗号資産交換業者より廃止等届出書が提出された場合(事業譲渡、合併又は会社分割その他の事由により、当該業務の承継が行われた場合に限る。)には、当該廃止等届出書の提出を受けた財務局長は、当該事業の譲渡先の暗号資産交換業者の届出を受理又は登録を行っている財務局長に対し、別紙様式14により作成した事業譲渡通知書に、当該廃止等届出書、暗号資産交換業者登録簿のうち当該届出者に係る部分の写し及び直前基準日の利用者財産の管理に関する報告書の写しを送付するものとする。",id:"8mtpqDhD"},{index:"III-2-4",content:"(4) 上記(3)の通知書の送付のあった財務局長は、遅滞なく、当該事業を譲り受けた暗号資産交換業者について、当該事業に係る変更届出書の提出等、必要な措置が取られているかについて、確認するものとする。",id:"gK1EUPZZ"},{index:"III-2-5",content:"暗号資産交換業者が提出する報告書における記載上の留意点別紙様式集における氏名の記載については、登録申請書又は変更届出書に旧氏及び名を併せて記載して提出した者の場合は、旧氏及び名を括弧書で併せて記載するか、又は氏名に代えて旧氏及び名を記載することができる。",id:"v9SNkMBV"},{index:"III-2-6",content:"書面・対面による手続きについての留意点暗号資産交換業者等による当局への申請・届出等及び当局から暗号資産交換業者等に対し発出する処分通知等については、それぞれ情報通信技術を活用した行政の推進等に関する法律(以下「デジタル手続法」という。)第6条第1項及び第7条第1項の規定により、法令の規定において書面等により行うことその他のその方法が規定されている場合においても、当該法令の規定にかかわらず、電子情報処理組織を使用する方法により行うことができることとされている。こうしたデジタル手続法の趣旨を踏まえ、同法の適用対象となる手続きに係る本事務ガイドラインの規定についても、当該規定の書面・対面に係る記載にかかわらず、電子情報処理組織を使用する方法により行うことができるものとする。
また、経済社会活動全般において、デジタライゼーションが飛躍的に進展している中、政府全体として、書面・押印・対面手続きを前提とした我が国の制度・慣行を見直し、実際に足を運ばなくても手続きができるリモート社会の実現に向けた取組みを進めている。金融庁としても、こうした取組みを着実に進めるため、暗号資産交換業者等から受け付ける申請・届出等について、全ての手続きについてオンラインでの提出を可能とするための金融庁電子申請・届出システムを更改したほか、押印を廃止するための内閣府令及び監督指針等の改正を行うこと等により、行政手続きの電子化を推進してきた。
更に、民間事業者間における手続についても、「金融業界における書面・押印・対面手続の見直しに向けた検討会」を開催し、業界全体での慣行見直しを促すことにより、書面の電子化や押印の不要化、対面規制の見直しに取り組んできた。このような官民における取組みも踏まえ、本事務ガイドラインの書面・対面に係る記載のうち、デジタル手続法の適用対象となる手続きに係るもの以外についても、電子情報処理組織を使用する方法その他の情報通信の技術を利用する方法により行うことができるものとする。以上のような取扱いとする趣旨に鑑み、本事務ガイドラインの規定に基づく手続きについては、手続きの相手方の意向を考慮した上で、可能な限り、書面・対面によらない方法により行うことを慫慂するものとする。",id:"NZBEHkRY"},{index:"III-2-7 申請書等を提出するに当たっての留意点",content:"III-2-6を踏まえ、暗号資産交換業者等による当局への申請・届出等(公的機関が発行する添付書類(住民票の写し、身分証明書、戸籍謄本等)を含む。)については、原則として、金融庁電子申請・届出システムを利用して法令に定める提出期限までに提出を求めることとする。なお、公的機関が発行する添付書類については、デジタルカメラ、スキャナ等を用いて記録した事項が不鮮明である等確認に支障がある場合には、原本送付を求めることとする。また、税・手数料等の納付が必要な手続において、電子納付以外により納付を受け付ける場合には、別途、税・手数料等の納付を証する書類の原本送付を求めることとする。",id:"6jnTtEFH"},{index:"III-3",content:"行政処分を行う際の留意点監督部局が行う主要な不利益処分(行政手続法第2条第4号にいう不利益処分をいう。以下同じ。)としては、①法第63条の16に基づく業務改善命令、②法第63条の17に基づく業務停止命令、③法第63条の17に基づく登録取消し等があるが、これらの発動に関する基本的な事務の流れを例示すれば、以下のとおりである。",id:"o0xI8mqI"},{index:"III-3",content:"(1) 法第63条の15に基づく報告徴収命令",id:"orupAqn6"},{index:"III-3 (1)",content:"① オンサイトの立入検査や、オフサイト・モニタリング(ヒアリング、不祥事件届出など)を通じて、法令等遵守態勢、経営管理(ガバナンス)態勢等に問題があると認められる場合においては、法第63条の15第1項に基づき、当該事項についての事実認識、105発生原因分析、改善・対応策その他必要と認められる事項について、報告を求めることとする。",id:"HD5jNmX5"},{index:"III-3 (1)",content:"②報告を検証した結果、さらに精査する必要があると認められる場合においては、法第63条の15第1項に基づき、追加報告を求めることとする。",id:"PlvnNbI3"},{index:"III-3",content:"(2) 法第63条の15第1項に基づき報告された改善・対応策のフォローアップ",id:"TwvL3ePv"},{index:"III-3 (2)",content:"① 上記報告を検証した結果、業務の健全性・適切性の観点から重大な問題が発生しておらず、かつ、暗号資産交換業者の自主的な改善への取組みを求めることが可能な場合においては、任意のヒアリング等を通じて上記(1)において報告された改善・対応策のフォローアップを行うこととする。",id:"Co0BrpYV"},{index:"III-3 (2)",content:"② 必要があれば、法第63条の15第1項に基づき、定期的なフォローアップ報告を求める。",id:"6fWZikhH"},{index:"III-3",content:"(3) 法第63条の16又は法第63条の17第1項に基づく業務改善命令、業務停止命令、登録取消し検査結果やオフサイト・モニタリング等への対応として、報告内容(追加報告を含む。)を検証した結果、利用者の利益の保護に関し重大な問題があると認められる場合等においては、以下①から③までに掲げる要素を勘案するとともに、他に考慮すべき要素がないかどうかを吟味した上で、・改善に向けた取組みを暗号資産交換業者の自主性に委ねることが適当かどうか、・改善に相当の取組みを要し、一定期間業務改善に専念・集中させる必要があるか、・業務を継続させることが適当かどうか、等の点について検討を行い、最終的な行政処分の内容を決定することとする。",id:"JpdaL1C5"},{index:"III-3 (3)",content:"① 当該行為の重大性・悪質性",id:"f98hQ8EX"},{index:"III-3 (3) ①",content:"イ.公益侵害の程度暗号資産交換業者が、暗号資産交換業に係る信頼性を大きく損なうなど公益を著しく侵害していないか。",id:"iwmWwe1V"},{index:"III-3 (3) ①",content:"ロ.被害の程度広範囲にわたって多数の利用者が被害を受けたかどうか。個々の利用者が受けた被害がどの程度深刻か。",id:"j49eUSNc"},{index:"III-3 (3) ①",content:"ハ.行為自体の悪質性例えば、利用者財産の管理に関する報告に関して、虚偽の報告を行うなど、暗号資産交換業者の行為が悪質であったか。",id:"K88fDFga"},{index:"III-3 (3) ①",content:"ニ.当該行為が行われた期間や反復性当該行為が長期間にわたって行われたのか、短期間のものだったのか。反復・継続して行われたものか、一回限りのものか。また、過去に同様の違反行為が行われたことがあるか。",id:"pK5TxGo5"},{index:"III-3 (3) ①",content:"ホ.故意性の有無当該行為が違法・不適切であることを認識しつつ故意に行われたのか、過失によるものか。",id:"gGOWufgM"},{index:"III-3 (3) ①",content:"へ.組織性の有無当該行為が現場の担当者個人の判断で行われたものか、あるいは管理者も関わっていたのか。さらに経営陣の関与があったのか。",id:"2TuIFVpY"},{index:"III-3 (3) ①",content:"ト.隠蔽の有無問題を認識した後に隠蔽行為はなかったか。隠蔽がある場合には、それが組織的なものであったか。",id:"vMITZ7L4"},{index:"III-3 (3) ①",content:"チ.反社会的勢力との関与の有無反社会的勢力との関与はなかったか。関与がある場合には、どの程度か。",id:"fxsALnAZ"},{index:"III-3 (3)",content:"② 当該行為の背景となった経営管理態勢及び業務運営態勢の適切性",id:"II8ko2QI"},{index:"III-3 (3) ②",content:"イ.経営陣の法令等遵守に関する認識や取組みは十分か。",id:"3WPXDKsw"},{index:"III-3 (3) ②",content:"ロ.内部監査部門の体制は十分か、また適切に機能しているか。",id:"RDU1G0Xk"},{index:"III-3 (3) ②",content:"ハ.コンプライアンス部門や内部管理部門の体制は十分か、また適切に機能しているか。",id:"yjWAbNDv"},{index:"III-3 (3) ②",content:"ニ.業務担当者の法令等遵守に関する認識は十分か、また、社内教育が十分になされているか。",id:"3sC6GqRX"},{index:"III-3 (3)",content:"③ 軽減事由以上①及び②の他に、行政による対応に先行して、暗号資産交換業者が自主的に利用者の利益の保護のために所要の対応に取り組んでいる、といった軽減事由があるか。",id:"USGr5XS2"},{index:"III-3",content:"(4) 標準処理期間法第63条の16又は法第63条の17第1項の規定に基づき監督上の処分を命ずる場合には、上記(1)の報告書を受理したときから、原則として概ね1か月(金融庁との調整を要する場合は概ね2か月)以内を目途に行うものとする。",id:"umG3orOJ"},{index:"III-3 (4)",content:"(注1)「報告書を受理したとき」の判断においては、以下の点に留意する。",id:"JbtUmSpE"},{index:"III-3 (4)",content:"イ.複数回にわたって法第63条の15第1項の規定に基づき報告を求める場合(直近の報告書を受理したときから上記の期間内に報告を求める場合に限る。)には、最後の報告書を受理したときを指すものとする。",id:"6A2kGSe6"},{index:"III-3 (4)",content:"ロ.提出された報告書に関し、資料の訂正、追加提出等(軽微なものは除く。)を求める場合には、当該資料の訂正、追加提出等が行われたときを指すものとする。",id:"FzhzGa4N"},{index:"III-3 (4) ロ",content:"(注2)弁明・聴聞等に要する期間は、標準処理期間には含まれない。",id:"zqCPpni5"},{index:"III-3 (4) ロ",content:"(注3)標準処理期間は、処分を検討する基礎となる情報ごとに適用する。",id:"rwNCSTI0"},{index:"III-3",content:"(5) 法第63条の16の規定に基づく業務改善命令の履行状況の報告義務の解除法第63条の16の規定に基づき業務改善命令を発出する場合には、当該命令に基づく暗号資産交換業者の業務改善に向けた取組みをフォローアップし、その改善努力を促すため、107原則として、当該暗号資産交換業者の提出する業務改善計画の履行状況の報告を求める。その際、以下の点に留意するものとする。",id:"KRQRpcQZ"},{index:"III-3 (5)",content:"① 法第63条の16の規定に基づき業務改善命令を発出している暗号資産交換業者に対して、当該業者の提出した業務改善計画の履行状況について、期限を定めて報告を求めている場合には、期限の到来により、当該暗号資産交換業者の報告義務は解除される。",id:"N5a93wzj"},{index:"III-3 (5)",content:"② 法第63条の16の規定に基づき業務改善命令を発出している暗号資産交換業者に対して、当該業者の提出した業務改善計画の履行状況について、期限を定めることなく継続的に報告を求めている場合において、業務改善命令を発出する要因となった問題に関して、業務改善計画に沿って十分な改善措置が講じられたと認められるときは、当該計画の履行状況の報告義務を解除するものとする。その際、当該報告等により把握した改善への取組状況に基づき、解除の是非を判断するものとする。",id:"WW9sBGSW"},{index:"III-4 行政手続法等との関係等",content:"",id:"YWbjcrNZ"},{index:"III-4",content:"(1) 行政手続法との関係行政手続法第13条第1項第1号に該当する不利益処分をしようとする場合には聴聞を行い、同項第2号に該当する不利益処分をしようとする場合には弁明の機会を付与しなければならないことに留意する。いずれの場合においても、不利益処分をする場合には同法第14条に基づき、処分の理由を示さなければならないこと(不利益処分を書面でするときは、処分の理由も書面により示さなければならないこと)に留意する。また、申請により求められた許認可等を拒否する処分をする場合には同法第8条に基づき、処分の理由を示さなければならないこと(許認可等を拒否する処分を書面でするときは、処分の理由も書面により示さなければならないこと)に留意する。その際、単に根拠規定を示すだけではなく、いかなる事実関係に基づき、いかなる法令・基準を適用して処分がなされたかを明らかにすること等が求められることに留意する。",id:"MjDwLYHT"},{index:"III-4",content:"(2) 行政不服審査法との関係不服申立てをすることができる処分をする場合には、行政不服審査法(平成26年法律第68号)第82条に基づき、不服申立てをすることができる旨等を書面で教示しなければならないことに留意する。",id:"HLdZElam"},{index:"III-4",content:"(3) 行政事件訴訟法との関係取消訴訟を提起することができる処分をする場合には、行政事件訴訟法(昭和37年法律第139号)第46条に基づき、取消訴訟の提起に関する事項を書面で教示しなければならないことに留意する。",id:"n0QYNPG3"},{index:"III-5 意見交換制度",content:"不利益処分が行われる場合、行政手続法に基づく聴聞又は弁明の機会の付与の手続きとは別に、暗号資産交換業者からの求めに応じ、監督当局と暗号資産交換業者との間で、複数のレベルにおける意見交換を行うことで、行おうとする処分の原因となる事実及びその重大性等についての認識の共有を図ることが有益である。法第63条の15第1項に基づく報告徴収に係るヒアリング等の過程において、自社に対して不利益処分が行われる可能性が高いと認識した暗号資産交換業者から、監督当局の幹部と当該暗号資産交換業者の幹部との間の意見交換の機会の設定を求められた場合(注)であって、監督当局が当該暗号資産交換業者に対して聴聞又は弁明の機会の付与を伴う不利益処分を行おうとするときは、緊急に処分する必要がある場合を除き、聴聞の通知又は弁明の機会の付与の通知を行う前に、行おうとする不利益処分の原因となる事実及びその重大性等についての意見交換の機会を設けることとする。",id:"QhlORVbF"},{index:"III-5",content:"(注1)監督当局の幹部の例:金融庁・財務局の担当課室長",id:"3zdIRv8B"},{index:"III-5",content:"(注2)暗号資産交換業者からの意見交換の機会の設定の求めは、監督当局が当該不利益処分の原因となる事実についての法第63条の15第1項に基づく報告書を受理したときから、聴聞の通知又は弁明の機会の付与の通知を行うまでの間になされるものに限る。",id:"IYoxWhZV"},{index:"III-6 営業所の所在の確知",content:"登録を受けた暗号資産交換業者に対して、法第63条の17第2項の規定により営業所の所在を確知するため必要な場合には、法第63条の15第1項の規定に基づき、別紙様式15による営業所に係る所在報告書、営業所に関する権利を証する書面又は営業所の地図等の報告を求めることができる。なお、当該報告は、当該営業所の所在地を管轄する財務局に、提出させることができるものとする。",id:"9pfEug6r"},{index:"III-7 関係当局・海外監督当局等との連携",content:"関係当局との連携に加え、暗号資産に関する取引は、インターネットを通じてクロスボーダーで行うことが容易であることから、一国だけでの対応には限界があり、国際的な協力が不可欠であることを踏まえ、暗号資産及び暗号資産交換業者の監督等に関する情報・知見・経験等について定期的又は随時に共有するなど、海外監督当局及び国際機関等と必要な連携を行うものとする。報告徴収命令、業務改善命令若しくは業務停止命令を発出する又は登録の取消しの不利益処分をしようとする場合には、必要に応じて、関係当局・海外監督当局等への連絡を行うものとする。",id:"5lerp72a"},{index:"III-8 不利益処分の公表に関する考え方",content:"",id:"fgYBWrFb"},{index:"III-8",content:"(1) 法第63条の19の規定に基づき不利益処分の公告を行う場合は、次の事項を掲載するものとする。
①商号
②代表者の氏名
③本店の所在地
④登録番号
⑤登録年月日
⑥処分の年月日
⑦処分の内容",id:"akxSbdq9"},{index:"III-8",content:"(2) 上記(1)以外の公表の取扱いについては、「金融監督の原則と監督部局職員の心得(行為規範)」の「I-5.透明性」に規定された考え方によることに留意する。すなわち、業務改善命令等の不利益処分については、他の暗号資産交換業者における予測可能性を高め、同様の事案の発生を抑制する観点から、公表により対象暗号資産交換業者の経営改善に支障が生ずるおそれのあるものを除き、処分の原因となった事実及び処分の内容等を公表することとする。",id:"HvP0ZRns"},{index:"III-9 行政処分の連絡",content:"",id:"CppVRKfd"},{index:"III-9",content:"(1) 登録を拒否した場合(法第63条の5)財務局長は、登録を拒否したときは、監督局長に対して別紙様式6による登録拒否通知書に登録申請書の写しを添付して通知するものとする。",id:"RToRpKUg"},{index:"III-9",content:"(2) 業務改善命令の場合(法第63条の16)業務改善命令を行った場合には、金融庁担当課室、当該暗号資産交換業者の業務に係る営業所の所在地を管轄する他の財務局長あて関係資料を送付するものとする。",id:"9eiNi8jB"},{index:"III-9",content:"(3) 業務停止命令の場合(法第63条の17第1項)業務停止命令を行った場合には、金融庁担当課室、当該暗号資産交換業者の業務に係る営業所の所在地を管轄する他の財務局長あて関係資料を送付するものとする。",id:"ZzAeq4nm"},{index:"III-9",content:"(4) 登録取消し処分の場合(法第63条の17)登録の取消し処分を行った場合には、金融庁担当課室及び他の財務局あて関係資料を送付するものとする。なお、当該暗号資産交換業者について、当該取消しの日前30日以内の役員の商号又は名称に関する資料もあわせて送付するものとする。",id:"UqTlyoUd"}],revisions:[{id:"20241030",title:"2024/10/30改正",date:"2024-10-30",description:"主な改正等の内容は、「顧客等の最善の利益の勘案義務」についてです。",sourceUrl:"https://www.fsa.go.jp/news/r6/shouken/20241030-2/20241030.html",articles:[{id:"241001",before:null,after:"II-2-1-7 顧客の最善の利益を勘案した誠実公正義務(金融サービスの提供及び利用環境の整備等に関する法律第2条)

暗号資産交換業者が、その業務を通じて、社会に付加価値をもたらし、同時に自身の経営の持続可能性を確保していくためには、顧客の最善の利益を勘案しつつ、顧客に対して誠実かつ公正にその業務を行うことが求められる。そこで、暗号資産交換業者が、必ずしも短期的・形式的な意味での利益に限らない「顧客の最善の利益」をどのように考え、これを実現するために自らの規模・特性等に鑑み、組織運営や商品・サービス提供も含め、顧客に対して誠実かつ公正に業務を遂行しているかを主な着眼点として検証する。",status:"新設"}],publicCommentLinks:["a613ff2b-fe43-42c4-80e3-8f9dbcd802cf"]},{id:"20240906",title:"2024/09/06改正",date:"2024-09-06",description:"本件は、暗号資産交換業者等による暗号資産等の売買等の媒介の範囲及びその該当性の明確化等について、所要の改正を行うものです。",sourceUrl:"https://www.fsa.go.jp/news/r6/sonota/20240906/20240906.html",articles:[{id:"240901",before:"I-1-2-2 ② 暗号資産の売買又は他の暗号資産との交換を内容とする契約に係る以下の各行為を第三者のために行う場合は、原則として、法第2条第 15 項第2号に規定する「前号に掲げる行為の媒介」(以下「暗号資産の取引の媒介」という。)に該当する。",after:"法第2条第 15 項第2号に規定する「前号に掲げる行為の媒介」(以下「暗号資産の売買等の媒介」という。)に該当するか否かは、暗号資産の売買又は他の暗号資産との交換を内容とする契約(以下「暗号資産の売買等を内容とする契約」という。)の成立に向けた一連の行為における当該行為の位置づけを踏まえた上で総合的に判断する必要があり、一連の行為の一部のみを取り出して、直ちに暗号資産の売買等の媒介に該当しないと判断することは適切でないことに留意する。例えば、暗号資産の売買等を内容とする契約に係る以下の各行為を第三者のために行う場合は、原則として、特定の者に対して第三者との暗号資産の売買等を内容とする契約の締結に向けた誘引行為を行っていると評価できることから、暗号資産の売買等の媒介に該当する。",status:"改正"},{id:"240902",before:"I-1-2-2 ② イ.契約の締結の勧誘",after:"I-1-2-2 ② イ.暗号資産の売買等を内容とする契約の締結の勧誘",status:"改正"},{id:"240903",before:"I-1-2-2 ② ロ.契約の締結の勧誘を目的とした商品説明",after:"I-1-2-2 ② ロ.暗号資産の売買等を内容とする契約の締結の勧誘を目的とした商品説明",status:"改正"},{id:"240904",before:"I-1-2-2 ② ハ.契約の締結に向けた条件交渉",after:"I-1-2-2 ② ハ.暗号資産の売買等を内容とする契約の締結に向けた条件交渉",status:"改正"},{id:"240905",before:"I-1-2-2 ② (注2)ただし、暗号資産の売買又は他の暗号資産との交換に関して以下の各行為の事務処理の一部のみを行うに過ぎない場合は、暗号資産の取引の媒介に至らない行為といえる場合もある。",after:"I-1-2-2 ② (注2)ただし、暗号資産の売買又は他の暗号資産との交換に関して以下の各行為の事務処理の一部のみを行うに過ぎない場合は、暗号資産の売買等の媒介に至らない行為といえる場合もある。",status:"改正"},{id:"240906",before:"I-1-2-2 ② (注2)・ 商品案内チラシ・パンフレット・契約申込書等の単なる配布・交付(電磁的方法によるものを含む。)。ただし、単なる配布又は交付を超えて、配布又は交付する書類の記載方法等の説明まで行う場合には暗号資産の取引の媒介に当たることがあり得る。",after:"I-1-2-2 ② (注2)・ 商品案内チラシ・パンフレット・契約申込書等の単なる配布又は交付若しくは提供(電磁的方法によるものを含む。)。ただし、単なる配布又は交付若しくは提供を超えて、配布又は交付若しくは提供する資料の記載方法・内容等の説明まで行う場合には暗号資産の売買等の媒介に当たることがあり得る。また、比較サイト等の商品情報の提供を主たる目的としたサービスにおいて暗号資産交換業者から提供を受けた商品案内等のコンテンツを単にウェブサイト上に転載することは差し支えないが、加工したコンテンツを掲載したり、例えば、自らが推奨する商品のコンテンツを上位に表示されるようなデザインやアルゴリズムの仕組みを設けること等をしたりする場合には、媒介に当たることがあり得ることに留意する。",status:"改正"},{id:"240907",before:"I-1-2-2 ② (注2)・ 契約申込書及びその添付書類等の受領・回収。ただし、契約申込書の単なる受領・回収又は契約申込書の誤記・記載漏れ・必要書類の添付漏れの指摘を超えて、契約申込書の記載内容の確認等まで行う場合には、暗号資産の取引の媒介に当たることがあり得る。",after:"I-1-2-2 ② (注2)・ 契約申込書及びその添付書類等の受領・回収。ただし、契約申込書の単なる受領・回収又は契約申込書の誤記・記載漏れ・必要書類の添付漏れの指摘を超えて、契約申込書の記載内容の確認等まで行う場合には、暗号資産の売買等の媒介に当たることがあり得る。",status:"改正"},{id:"240908",before:null,after:"・ 勧誘行為をせず、単に顧客を暗号資産交換業者に紹介する業務。なお、「紹介」には、以下の行為を含む(各行為の全部又は一部を組み合わせるものであったとしても「紹介」に含まれる場合がある)。",status:"新設"},{id:"240909",before:null,after:"a.当該業者の店舗に、暗号資産交換業者が自らを紹介する宣伝媒体を据え置くこと又は掲示すること。",status:"新設"},{id:"240910",before:null,after:"b.対面又は当該業者のウェブサイト上等において、当該業者と暗号資産交換業者の関係又は当該暗号資産交換業者の業務内容について説明を行うこと。",status:"新設"},{id:"240911",before:null,after:"c.当該業者のウェブサイト上等において、暗号資産交換業者のサイトへの単なるリンクの設定や暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行い、暗号資産の売買等を内容とする契約の締結に至る交渉や手続は当該暗号資産交換業者と顧客との間で行い、当該契約の締結に当たり当該業者は関与をもたないこと。ただし、当該リンクの設定や当該コンテンツの転載とあわせて、当該業者独自の見解として当該商品等を推奨・説明する場合には、暗号資産の売買等の媒介に当たることがあり得る。",status:"新設"}],publicCommentLinks:["crypto_guidelines_public_20240906"]},{id:"20231117",title:"2023/11/17改正",date:"2023-11-17",description:"暗号資産交換業者等が海外親会社等を有する場合の当該暗号資産交換業者等による情報開示及び検査・監督上の対応",sourceUrl:"https://www.fsa.go.jp/news/r5/sonota/20231117/20231117.html",articles:[{id:"231101",before:null,after:"II-2-2-1-2 主な着眼点
⑪ 海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合には、海外親会社等に適用される現地の法令等が当該暗号資産交換業者に影響を与える可能性があることから、海外親会社等の状況やそれに伴い当該暗号資産交換業者に発生し得るリスクについて、あらかじめ利用者に開示しているか。",status:"新設"},{id:"231102",before:null,after:"II-2-2-1-2 (12) 共通システムを利用する場合の措置",status:"新設"},{id:"231103",before:null,after:"II-2-2-1-2 (12)
親会社を含めたグループ会社(以下「親会社等」という。)と共通の暗号資産取引のシステムや利用者財産管理のシステム(以下「共通システム」という。)を利用してサービスを提供する場合、親会社等の経営上の理由により共通システムが利用できなくなった場合等の緊急時に備えて、利用者保護の観点から下のような措置を講じているか。",status:"新設"},{id:"231104",before:null,after:"II-2-2-1-2 (12)
① 緊急時において親会社等の関与なく利用者に財産を返還するために必要な具体的な手順が整備されているか。",status:"新設"},{id:"231105",before:null,after:"II-2-2-1-2 (12) ①
(注)利用者財産を円滑に返還するため、平時に利用しているシステムの代替環境をあらかじめ整備しておくことについて検討することが望ましい。",status:"新設"},{id:"231106",before:null,after:"II-2-2-1-2 (12)
② 顧客資産残高データ等、利用者財産の返還に必要な情報を共通システムにより管理している場合は、定期的にバックアップを取得する等によって暗号資産交換業者の管理下においても当該情報を保管しているか。",status:"新設"},{id:"231107",before:null,after:"II-2-2-1-2 (12)
③ 緊急時において、利用者の暗号資産を親会社等の関与なく移転可能な手段と権限が確保されているか。",status:"新設"},{id:"231108",before:null,after:"II-2-2-1-2 (12)③
(注)利用者の暗号資産の管理を第三者に委託し、外部委託先が主体的に利用者の暗号資産の移転を行い得る状態にある場合を除く。ただし、その場合は外部委託先において上記③の措置が講じられている必要がある。",status:"新設"},{id:"231109",before:null,after:"II-2-2-5-2

⑤ 帳簿書類を電子媒体により保存する場合には、以下の点に留意するものとする。",status:"新設"},{id:"231110",before:null,after:"II-2-2-5-2⑤

・ 保存に使用する電子媒体は内閣府令第 33 条第2項に規定する保存期間の耐久性を有すること。",status:"新設"},{id:"231111",before:null,after:"II-2-2-5-2⑤

・ 利用者の照会に対し、速やかに回答できるシステムとなっていること。",status:"新設"},{id:"231112",before:null,after:"II-2-2-5-2⑤

・ 入力データの取消・修正を行った場合、その取消・修正記録がそのまま残されるシステムとなっていること。",status:"新設"},{id:"231113",before:null,after:"II-2-2-5-2⑤

・ 内部監査に対応できるシステムとなっていること。",status:"新設"},{id:"231114",before:null,after:"II-2-2-5-2⑤

・ 作成・保存に関する責任者をおき、当該作成・保存に関する社内規則が整備されていること。",status:"新設"},{id:"231115",before:null,after:"III-1-1 (6)

(注)暗号資産交換業者が海外親会社等を有する場合には、海外親会社等に適用される現地の法令等が当該暗号資産交換業者に影響を与える可能性があることから、当該暗号資産交換業者の海外に関する情報についても留意すること。例えば、以下のものが考えられる。",status:"新設"},{id:"231116",before:null,after:"III-1-1 (6)(注)

・海外拠点又は海外に保有する資産(自社で保有する資産を含む)の有無
・海外居住の役職員の有無
・海外法人又は営業所を海外に有する法人との取引や債権債務関係の有無
・海外親会社等を有する場合には、海外親会社等の取引状況や財務状況、海外監督当局との関係等",status:"新設"}],publicCommentLinks:["crypto_guidelines_public_20231117"]},{id:"c16aabcf-c0f2-4f0b-8e28-aed929395711",title:"2023/03/24改正",date:"2023-03-24",description:`本件は、 ・ブロックチェーン上で発行されるアイテムやコンテンツ等の各種トークンの暗号資産該当性に関する解釈の明確化(注) @@ -294,7 +294,7 @@ (2) 登録の申請の審査登録申請の審査(事前相談を含む。以下同じ。)に当たっては、「暗号資産交換業者の登録審査プロセス」(金融庁ホームページ参照)に基づき、実質面を重視した深度ある審査を行うこととする。具体的には、事業者のビジネスプラン及びそれに応じた実効的な内部管理態勢や、利用者保護を優先したガバナンス態勢の整備状況について、書面やエビデンスでの確認、現場訪問による検証及び役員ヒアリング等を行う。その際、本事務ガイドラインの着眼点を補足・敷衍し、事業者との対話を円滑に実施するためのツールとして「暗号資産交換業者の登録審査に係る質問票」を活用することとする。`,after:`III-2-1 (2) 登録の申請の審査登録申請の審査(事前相談を含む。以下同じ。)に当たっては、「暗号資産交換業者の登録審査プロセス」(金融庁ホームページ参照)に基づき、実質面を重視した深度ある審査を行うこととする。具体的には、事業者のビジネスプラン及びそれに応じた実効的な内部管理態勢や、利用者保護を優先したガバナンス態勢の整備状況について、書面やエビデンスでの確認、現場訪問による検証及び役員ヒアリング等を行う。その際、本事務ガイドラインの着眼点を補足・敷衍し、事業者との対話を円滑に実施するためのツールとして「暗号資産交換業者の登録審査に係る質問票」を活用することとする。 -また、マネー・ローンダリング及びテロ資金供与対策分野においては、登録を受けた暗号資産交換業者の「マネー・ローンダリング及びテロ資金供与対策にかかる年次実態把握報告表」の内容も参照し、態勢の整備状況の参考とする。`}],publicCommentLinks:["519615f0-a7c7-43fc-8183-305a68d40d8d"]}]},pa={displayName:"犯罪による収益の移転防止に関する法律",accountId:"anti_money_laundering_act",title:"第二章 特定事業者による措置",tweets:[{index:"章題",content:"特定事業者による措置",id:"2654c6b8"},{index:"条題",content:"(取引時確認等)",id:"bf0b60cb"},{index:"第4条1項",content:"特定事業者(第二条第二項第四十五号に掲げる特定事業者(第十二条において「弁護士等」という。)を除く。以下同じ。)は、顧客等との間で、別表の上欄に掲げる特定事業者の区分に応じそれぞれ同表の中欄に定める業務(以下「特定業務」という。)のうち同表の下欄に定める取引(次項第二号において「特定取引」といい、同項前段に規定する取引に該当するものを除く。)を行うに際しては、主務省令で定める方法により、当該顧客等について、次に掲げる事項の確認を行わなければならない。",id:"761ad3e2"},{index:"第4条1項1号",content:"本人特定事項(自然人にあっては氏名、住居(本邦内に住居を有しない外国人で政令で定めるものにあっては、主務省令で定める事項)及び生年月日をいい、法人にあっては名称及び本店又は主たる事務所の所在地をいう。以下同じ。)",id:"c7d08fad"},{index:"第4条1項2号",content:"取引を行う目的",id:"db00bc77"},{index:"第4条1項3号",content:"当該顧客等が自然人である場合にあっては職業、当該顧客等が法人である場合にあっては事業の内容",id:"703c702e"},{index:"第4条1項4号",content:"当該顧客等が法人である場合において、その事業経営を実質的に支配することが可能となる関係にあるものとして主務省令で定める者があるときにあっては、その者の本人特定事項",id:"7c89ee8f"},{index:"第4条2項",content:"特定事業者は、顧客等との間で、特定業務のうち次の各号のいずれかに該当する取引を行うに際しては、主務省令で定めるところにより、当該顧客等について、前項各号に掲げる事項並びに当該取引がその価額が政令で定める額を超える財産の移転を伴う場合にあっては、資産及び収入の状況(第二条第二項第四十六号に掲げる特定事業者にあっては、前項各号に掲げる事項)の確認を行わなければならない。この場合において、第一号イ又はロに掲げる取引に際して行う同項第一号に掲げる事項の確認は、第一号イ又はロに規定する関連取引時確認を行った際に採った当該事項の確認の方法とは異なる方法により行うものとし、資産及び収入の状況の確認は、第八条第一項又は第二項の規定による届出を行うべき場合に該当するかどうかの判断に必要な限度において行うものとする。",id:"489d54a5"},{index:"第4条2項1号",content:"次のいずれかに該当する取引として政令で定めるもの",id:"f25d79e8"},{index:"第4条2項1号イ",content:"取引の相手方が、その取引に関連する他の取引の際に行われた前項若しくはこの項(これらの規定を第五項の規定により読み替えて適用する場合を含む。)又は第四項の規定による確認(ロにおいて「関連取引時確認」という。)に係る顧客等又は代表者等(第六項に規定する代表者等をいう。ロにおいて同じ。)になりすましている疑いがある場合における当該取引",id:"77235286"},{index:"第4条2項1号ロ",content:"関連取引時確認が行われた際に当該関連取引時確認に係る事項を偽っていた疑いがある顧客等(その代表者等が当該事項を偽っていた疑いがある顧客等を含む。)との取引",id:"c6bdbc00"},{index:"第4条2項2号",content:"特定取引のうち、犯罪による収益の移転防止に関する制度の整備が十分に行われていないと認められる国又は地域として政令で定めるもの(以下この号において「特定国等」という。)に居住し又は所在する顧客等との間におけるものその他特定国等に居住し又は所在する者に対する財産の移転を伴うもの",id:"45c73086"},{index:"第4条2項3号",content:"前二号に掲げるもののほか、犯罪による収益の移転防止のために厳格な顧客管理を行う必要性が特に高いと認められる取引として政令で定めるもの",id:"b5e602b6"}]},ha={displayName:"資金決済に関する法律",accountId:"payment_services_act",title:"",tweets:[{index:"第2条第14項",content:"この法律において「暗号資産」とは、次に掲げるものをいう。ただし、金融商品取引法第二十九条の二第一項第八号に規定する権利を表示するものを除く。",id:"26sa66b8",links:[{url:"payment_services_act/sa8u60cb",text:"資金決済に関する法律第2条第14項"},{url:"payment_services_act/87td60cb",text:"資金決済に関する法律第2条第14項"}]},{index:"第2条第14項",content:"一 物品等を購入し、若しくは借り受け、又は役務の提供を受ける場合に、これらの代価の弁済のために不特定の者に対して使用することができ、かつ、不特定の者を相手方として購入及び売却を行うことができる財産的価値(電子機器その他の物に電子的方法により記録されているものに限り、本邦通貨及び外国通貨、通貨建資産並びに電子決済手段(通貨建資産に該当するものを除く。)を除く。次号において同じ。)であって、電子情報処理組織を用いて移転することができるもの",id:"sa8u60cb"},{index:"第2条第14項",content:"二 不特定の者を相手方として前号に掲げるものと相互に交換を行うことができる財産的価値であって、電子情報処理組織を用いて移転することができるもの",id:"87td60cb"},{index:"第2条第15項",content:"この法律において「暗号資産交換業」とは、次に掲げる行為のいずれかを業として行うことをいい、「暗号資産の交換等」とは、第一号又は第二号に掲げる行為をいい、「暗号資産の管理」とは、第四号に掲げる行為をいう。",id:"kDfQkHbRccSOO5qQ",links:[{url:"payment_services_act/WTBpivxVjlqbEuBv",text:"第2条第15項"},{url:"payment_services_act/O66upnQIwpiBhBXx",text:"第2条第15項"},{url:"payment_services_act/iONqowDTNmajZULQ",text:"第2条第15項"},{url:"payment_services_act/vznIGvoCREX7h5fj",text:"第2条第15項"}]},{index:"第2条第15項",content:"一 暗号資産の売買又は他の暗号資産との交換",id:"WTBpivxVjlqbEuBv"},{index:"第2条第15項",content:"二 前号に掲げる行為の媒介、取次ぎ又は代理",id:"O66upnQIwpiBhBXx"},{index:"第2条第15項",content:"三そ の行う前二号に掲げる行為に関して、利用者の金銭の管理をすること。",id:"iONqowDTNmajZULQ"},{index:"第2条第15項",content:"四 他人のために暗号資産の管理をすること(当該管理を業として行うことにつき他の法律に特別の規定のある場合を除く。)。",id:"vznIGvoCREX7h5fj"},{index:"第六十三条の十一(利用者財産の管理)",content:"",id:"9dSFmj4r2CElKQSy"},{index:"第六十三条の十一",content:"暗号資産交換業者は、その行う暗号資産交換業に関して、暗号資産交換業の利用者の金銭を、自己の金銭と分別して管理し、内閣府令で定めるところにより、信託会社等に信託しなければならない。",id:"tiMyIMVIoB2Dk5Ku"},{index:"第六十三条の十一",content:"2 暗号資産交換業者は、その行う暗号資産交換業に関して、内閣府令で定めるところにより、暗号資産交換業の利用者の暗号資産を自己の暗号資産と分別して管理しなければならない。この場合において、当該暗号資産交換業者は、利用者の暗号資産(利用者の利便の確保及び暗号資産交換業の円滑な遂行を図るために必要なものとして内閣府令で定める要件に該当するものを除く。)を利用者の保護に欠けるおそれが少ないものとして内閣府令で定める方法で管理しなければならない。",id:"uHHJrL0U1RKUAhBG"},{index:"第六十三条の十一",content:"3 暗号資産交換業者は、前二項の規定による管理の状況について、内閣府令で定めるところにより、定期に、公認会計士又は監査法人の監査を受けなければならない。",id:"00vVk0RXWDie7gqO"}]},xa={displayName:"金融庁事務ガイドライン(暗号資産)
2024/09/06 パブリックコメント",accountId:"crypto_guidelines_public_20240906",public_comment:!0,url:"https://www.fsa.go.jp/news/r6/sonota/20240830-2/01.pdf",questions:[{index:"1",question:"事務ガイドライン(暗号資産交換業者)I-1-2-2②(注2)の一つ目の「・」の二文目の「ただし、...あり得る。」の記載、及び二つ目の「・」の二文目の「ただし、...あり得る。」の記載は、どちらも「原則的に・概ね、媒介に当たる」の方が実務担当者に分かり易い。c後段の「但し 、当該業者・・・」の箇所も同様。",answer:"ご指摘の箇所につきましては、いずれも「媒介に至らない行為」として、商品案内チラシ・パンフレット・契約申込書等の単なる配布等、契約申込書・その添付書類等の受領・回収、暗号資産交換業者のサイトへのリンクの設定・暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載、といった行為を原則論として掲げ、例外的にこれらの行為を伴う場合であっても、資料・書類の記載方法・内容等の説明を行ったり、商品等の推奨・説明を行ったりする場合には媒介に該当する場合があることを記載したものです。そのため、原案でも内容は明確であり、また記述の正確性の観点から原案を維持させていただきます。",id:"lHWzwPvtmmxCIBCw",links:[{url:"crypto_guidelines/m7n9p1q3",text:"事務ガイドライン(暗号資産交換業者)I-1-2-2②(注2)"},{url:"crypto_guidelines/r5s7t9u1",text:"二文目の「ただし、...あり得る。」"},{url:"crypto_guidelines/n5p7q9r1",text:"二文目の「ただし、...あり得る。」"}]},{index:"2",question:"暗号資産交換業者から、暗号資産の売買等の媒介に至らない行為の事務処理の委託を受ける場合において、当該委託業務に対して当該暗号資産交換業者から支払われる経済的対価の算出方法が取引の成約高に連動する場合であっても、当該事実をもって直ちに当該委託事務が暗号資産の売買等の媒介に該当するものではなく、また、媒介に該当する可能性を高めるわけでもないと考えるが、どうか。",answer:"ある行為が暗号資産の売買等の媒介に該当するかは、個別事例ごとに実態に即して実質的に判断する必要があるため、一概に回答することは困難ですが、一般に、暗号資産交換業者から支払われる経済的対価が取引の成約高に連動するという事情は、当該行為の媒介該当性を判断する上で考慮すべき事情となるものと考えます。
ただし、暗号資産の売買等の媒介に至らない行為の事務処理の委託を受ける場合には、その委託を受ける事務の内容も暗号資産の売買等の媒介に該当しないと考えられるため、委託者である暗号資産交換業者から支払われる経済的対価が取引の成約高に連動するものであるとしても、暗号資産の売買等の媒介に該当しないと考えます。",id:"3TynlWMqsruNlO5j"},{index:"3",question:"「当該業者によって当該商品等を推奨、説明するような行為が伴う場合には、暗号資産の売買等の媒介に当たることがあり得る」とあるが、当該業者が管理するウェブサイトやアプリ画面上において、暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載を行う場合、当該コンテンツの内容に当該暗号資産交換業者に係るサービスの内容や取引条件が記載されていても、媒介と評価されるものではないと考えているが、どうか。",answer:"ご理解のとおりです。ご質問の点が明確となるよう事務ガイドライン(暗号資産交換業者)の該当箇所を修正しました。",id:"nENuabqvTZBFvWdA",links:[{url:"crypto_guidelines/m7n9p1q3",text:"当該業者によって"}]},{index:"4",question:"(暗号資産交換業者に係るサービスの内容や取引条件が記載された)暗号資産交換業者から提供を受けた商品案内等のコンテンツを転載することに加えて、当該業者が管理するウェブサイトやアプリ画面上において、1暗号資産交換業者のサイトへのリンクの設定、2当該業者と暗号資産交換業者の関係又は当該暗号資産交換業者の業務内容について説明といった行為の全部又は一部を組み合わせた場合であっても、暗号資産の売買等を内容とする契約の締結に至る交渉や手続に当該業者が関与しないのであれば、直ちに媒介と評価されるものではないと考えているが、どうか。",answer:"事務ガイドライン(暗号資産交換業者)I-1-2-2②(注2)a ないし c に掲げる各行為の全部又は一部を組み合わせるものであったとしても「紹介」に含まれる場合があると考えます。ご質問につきましては、1が c に、2が b にそれぞれ該当するものと考えられるところ、ある行為が暗号資産の売買等の媒介に該当するかは、個別事例ごとに実態に即して実質的に判断する必要がありますが、その行為が暗号資産の売買等を内容とする契約の締結に至る交渉や手続に当該業者が関与しないのであれば、「紹介」に該当し直ちに媒介と評価されるものではないと考えます。",id:"Rev6CKAAcQv5pmWY"},{index:"5",question:"「当該業者のウェブサイト上等において、(中略)暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行い」とあるが、暗号資産交換業者から提供を受けたコンテンツをそのまま転載する場合において、コンテンツが掲載されるウェブサイト上の表示内容から、当該コンテンツの提供主体が暗号資産交換業者であることが判別できるような外形があれば足り、その表記の仕方は、一般人をして合理的に理解できるものであればよいか。",answer:"ウェブサイトの外形やコンテンツの内容を踏まえ、利用者から見て誰をコンテンツの提供主体と認識することとなるのかという事情も、媒介該当性を判断する上での考慮要素となるものと考えられます。そして、例えば、ウェブサイト上の外形の表示からコンテンツの提供主体が暗号資産交換業者であることを明確に判別できる等、利用者にとってコンテンツの提供主体が暗号資産交換業者であることを合理的に認識可能な方法で提供する場合、「コンテンツの転載のみを行い」に該当し媒介に該当するものではないと考えます。",id:"DEv4g0wQnvrnktBO",links:[{url:"crypto_guidelines/n5p7q9r1",text:"当該業者のウェブサイト上等において"}]},{index:"6",question:"「暗号資産交換業者から提供を受けた商品案内等のコンテンツを単にウェブサイト上に転載することは差し支えないが、加工したコンテンツを掲載したり、例えば、自らが推奨する商品のコンテンツを上位に表示されるようなデザインやアルゴリズムの仕組みを設けること等をしたりする場合には、媒介に当たることがあり得る」との点は、暗号資産交換業者から提供を受けた情報を恣意的に推奨しようとする点に媒介性が生じうるものとの理解である。したがって、例えば、一定のアルゴリズムを用いるとしても、それ自体が媒介該当性を高めるものではなく、自社のウェブサイト上の商品一覧中のランダムな順位、場所に表示されるなど表示者の恣意性を排除する仕組みとすることで媒介該当性の懸念を低減できるものと考えるが、どうか。",answer:"どのような行為が「媒介」に該当するか否かについては、個別事例ごとに実態に即して実質的に判断されるため、アルゴリズムを用いる場合にはその内容を踏まえて判断する必要があるものと考えます。
ただし、例えば、商品を提供する暗号資産交換業者の名称の五十音順やアルファベット順で表示するなど機械的・画一的に表示するものと認められる場合には、当該事業者が恣意的に特定の暗号資産交換業者や特定の商品を推奨しようとするものではないため、暗号資産の売買等の媒介に該当しないものと考えます。",id:"JT0dNnfdI4wcyx1D",links:[{url:"crypto_guidelines/m7n9p1q3",text:"暗号資産交換業者から提供を受けた"}]},{index:"7",question:"ウェブサイトに商品案内等のコンテンツの転載を行う際には、スペース確保のために自社サイト内に広告スペースを構築するなど暗号資産交換業者のために一定のシステム上の対応や開発を行うケースがあるが、そのようなシステム対応や開発を行うことは、実店舗にチラシを置くための物理的スペースを貸与するケースと同様であって、直ちに媒介該当性を高めるものではないと考えてよいか。",answer:"事業者が自己のウェブサイト上等において、暗号資産交換業者の商品案内等のコンテンツの転載を行うために、自己のウェブサイト内において必要なシステム上の対応や開発を行うことは、暗号資産の売買等の媒介に該当するものではないと考えます。
また、システム上の対応や開発を行った後に、事業者のウェブサイト上等において、暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行うことも、暗号資産の売買等の媒介には該当しないものと考えます。",id:"okNj1b2MnaC6HBk2"},{index:"8",question:"当該業者のウェブサイト等において、特定の暗号資産交換業者が自らを紹介する宣伝媒体(バナー広告等)を設置する行為は、I-1-2-2②(注2)cの紹介行為に該当し、それのみでは直ちに媒介と評価されるものではないとの理解でよいか。",answer:"ご理解のとおりです。",id:"0X6iL8G3ASDsolI8",links:[{url:"crypto_guidelines/n5p7q9r1",text:"I-1-2-2②(注2)c"}]},{index:"9",question:"事業会社がウェブサイト等において、複数の暗号資産交換業者でなく特定の1社の広告を行うことは、その内容自体が勧誘に至らない場合、媒介にはあたらないという理解でよいか。",answer:"広告の内容が明らかではなく一概に回答することは困難ですが、「媒介」に該当するか否かについては、当該ウェブサイトの画面構成、具体的な表示内容等を踏まえた上で、個別事例ごとに実態に即して実質的に判断されるべきものと考えます。そして、例えば、事業者のウェブサイト等において暗号資産交換業者のウェブサイトへの単なるリンクの設定や暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行うものであると認められる場合においては、たとえ当該リンクの設定や当該コンテンツの転載が特定の 1 社の暗号資産交換業者の広告を行うものであるとしても、基本的には暗号資産の売買等の媒介には該当しないものと考えます。",id:"LzYXzIuLe5WTIXB1"},{index:"10",question:"フィンテックサービス事業者のアプリにいくつかの暗号資産の価格をリアルタイムで表示し、同アプリ上にユーザーが暗号資産交換業者に開設しているアカウントにおける暗号資産の残高、価格(変動)、現在価値(変動)を表示する(各種データは交換業者からAPIでとってくる)ことは暗号資産の売買等の媒介に該当しないという理解でよいか。また、当該表示に加えて、フィンテックサービス事業者のアプリ画面上に、アカウント開設先である暗号資産交換業者のサイトへのリンクを設定する場合においても、媒介に該当しないという理解でよいか。",answer:"当該アプリにおいて、単に暗号資産交換業者から各種データ(暗号資産の残高、価格(変動)、現在価値(変動))を取得・表示する機能を提供するのみであれば、暗号資産の売買等の媒介には該当しないと考えます。
ただし、当該アプリにおいて暗号資産交換業者のサイトへのリンクを設定する行為が暗号資産の売買等の媒介に該当するかは、リンクの設定の態様や、委託元の暗号資産交換業者のサイトの内容等を踏まえて、個別事例ごとに実態に即して実質的に判断されるべきものであるところ、その詳細が明らかではなく、一概に回答することが困難です。",id:"BFAoLHHAhZoFHlDZ"},{index:"11",question:"以下の1.及び2.の行為は、「電子決済手段の売買の媒介」等に該当する可能性がありますでしょうか。それとも、電子決済手段の発行及び償還という為替取引を媒介しているにすぎず、「電子決済手段の売買の媒介」等に当たらないことになりますでしょうか。
1.顧客が電子決済手段の発行者から当該電子決済手段を取得する(当該電子決済手段の発行を受ける)にあたり、当該顧客の委託を受けてその取得を仲介する行為
2.電子決済手段を保有する顧客が、当該電子決済手段の発行会社との間で、当該電子決済手段を法定通貨に換金する(当該電子決済手段の償還を受ける)にあたり、当該顧客の委託を受けてその換金を仲介する行為",answer:"電子決済手段の発行者が行う電子決済手段の発行及び償還は、「電子決済手段の売買又は他の電子決済手段との交換」(法第2条第 10 項第1号)に該当しないと解されることから、これを仲介する行為についても基本的には電子決済手段の売買等の媒介(法第2条第 10 項第2号)に該当しないと考えられます。
なお、いずれの行為も具体的な内容が明らかではありませんが、例えば、仲介者が顧客に代わって発行者との間で電子決済手段の授受を行うような事情が認められる場合には、「他人のために電子決済手段の管理をすること」(法第2条第 10項第3号)に該当する可能性があるものと考えます。",id:"Mmwwa51vRwNkoM2H"},{index:"12",question:"ASP を通したアフィリエイト広告において、アフィリエイターからのサービス紹介(サービスの申込方法・口座開設方法・サービスの特徴・概要説明)は媒介行為にあたるのか?",answer:"どのような行為が媒介に該当するかは、アフィリエイト広告の内容、サービス紹介の態様等を踏まえた上で、個別事例ごとに実態に即して実質的に判断されるべきものと考えます。アフィリエイターの各行為については広告の内容、サービス紹介の態様等が明らかではなく一概に回答することは困難ですが、例えば、各行為がウェブサイト等において暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行うものであると認められる場合には、基本的には暗号資産の売買等の媒介には該当しないものと考えます。ただし、当該コンテンツの転載とあわせて、アフィリエイター独自の見解として当該商品等を推奨・説明する場合には、暗号資産の売買等の媒介に当たることがあり得るものと考えます。",id:"OZbMSMaoT33HZbNL"},{index:"13",question:"どのような行為が媒介に該当するかは、アフィリエイト広告の内容、サービス紹介の態様等を踏まえた上で、個別事例ごとに実態に即して実質的に判断されるべきものと考えます。アフィリエイターの各行為については広告の内容、サービス紹介の態様等が明らかではなく一概に回答することは困難ですが、例えば、各行為がウェブサイト等において暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行うものであると認められる場合には、基本的には暗号資産の売買等の媒介には該当しないものと考えます。ただし、当該コンテンツの転載とあわせて、アフィリエイター独自の見解として当該商品等を推奨・説明する場合には、暗号資産の売買等の媒介に当たることがあり得るものと考えます。",answer:"「暗号資産の売買等を内容とする契約に係る以下の各行為を第三者のために行う場合は、原則として、特定の者に対して第三者との暗号資産の売買等を内容とする契約の締結に向けた誘引行為を行っていると評価できることから、暗号資産の売買等の媒介に該当する。」とありますが、ASP を通したアフィリエイト広告において、アフィリエイターが暗号資産交換業者が開催している以下のキャンペーンを紹介する場合、媒介に該当するのでしょうか?
・口座開設後に現金プレゼントキャンペーン
・暗号資産の購入・取引で現金プレゼントキャンペーン
・取引所での取引手数料「無料」キャンペーン",id:"V6C5YuFxryMS8NIo"}]},ba={displayName:"金融庁事務ガイドライン(暗号資産)
2023/11/17 パブリックコメント",accountId:"crypto_guidelines_public_20231117",public_comment:!0,url:"https://www.fsa.go.jp/news/r5/sonota/20231117/01.pdf",questions:[{index:"1",question:"「海外親会社等を有する場合には、グループの状況やそれに伴うリスクについて、あらかじめ利用者に開示しているか」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (2)⑪、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2 (3) ⑫)の追加は、先般のグローバルな暗号資産交換業者の事案を踏まえたものと思われる。
「それに伴うリスクについて、あらかじめ利用者に開示しているか」という点は、現行のガイドラインよりもより踏み込んだ記載となっているが、先般の事案では、日本顧客は、グローバルのプラットフォームから日本法人への取引先の切替えが実施されたが、当時から現在に至るまで、顧客の資産が日本の資金決済法下の分別管理の対象なのか、対象外で資産保護されないのかを確認することが困難な状況であった。
日本の顧客において、自己の資産が保護されると思っていたが、実際には保護されないケースがあるというのは、その意思決定に大きな影響を与えることから、海外事業者が日本に参入する際には、顧客において自らの資産が資金決済法の分別管理の対象かどうかが分かる情報を、事業者が開示すべき情報として指定されたい。",answer:"貴重なご意見として承ります。
なお、ご指摘のような、海外を拠点として暗号資産に係るサービスを展開する企業グループにおいて、暗号資産交換業登録を受けた日本法人が日本国内にある者に対してサービスを提供する場合、日本法人が管理する顧客資産は資金決済法上の分別管理の対象となります。したがって、顧客において自らが提供を受けるサービスが海外のグループ企業ではなく当該日本法人が提供するものであるかどうかを判別できるよう、自らの提供するサービスの範囲について顧客に説明すべきものと考えております。",id:"2sl2chxwZeCW5QaY"},{index:"2",question:"「海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (2)⑪、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2 (3) ⑫)に該当する日本の暗号資産交換業者等において、「グループの状況やそれに伴うリスク」の利用者への開示内容については、具体的にどのような頻度および項目の開示が求められるのか。海外親会社等において事業の状況やリスクに関する開示を既に行っている場合は、当該海外親会社等のインターネットでの開示ページのリンクを日本の暗号資産交換業者等のホームページに貼る等の対応で足りるか。",answer:"例えば、当該暗号資産交換業者等の親会社が米国にある場合には、当該暗号資産交換業者等が米国連邦破産法第 11 章手続の対象に含まれる可能性があるため、そうした状況やそれに伴い当該暗号資産交換業者等に発生し得るリスクについて、あらかじめ利用者に開示していただくことなどを想定しております。
この点が、より明確になるよう、事務ガイドライン案を修正いたします。

また、開示の頻度等の開示方法については、各事業者の実態を踏まえて個別に検討いただくべきものと思われますが、利用者にとって明確で分かりやすい方法により開示を行っていただくことが重要です。

なお、ご質問の「海外親会社等において事業の状況やリスクに関する開示を既に行っている場合は、当該海外親会社等のインターネットでの開示ページのリンクを日本の暗号資産交換業者等のホームページに貼る等の対応で足りるか」については、「当該海外親会社等のインターネットでの開示ページ」の指す内容が必ずしも明確ではなく一概にお答えすることは困難ですが、海外親会社等の状況やそれに伴い当該暗号資産交換業者等に発生し得るリスクについて、日本に居住する利用者にとって明確で分かりやすい方法により開示する必要があります。",id:"blvjzPzFB10zeEZY"},{index:"3",question:"「海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (2)⑪、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2 (3) ⑫)に該当する暗号資産交換業者等に対して「利用者への開示」を求めているが、この「海外親会社等」は、財務諸表等の用語、様式及び作成方法に関する規則第8条第1項に定義される「親会社」として当社の財務及び営業又は事業の方針を決定する機関を直接または間接に支配している会社等を指すものと理解してよいか。

仮にそうだとした場合、当社を支配する持株会社が国内に所在しており、当該持株会社の支配する海外の現地法人は当社に対して支配力を持たないことを理由として、当社は新たに求められる「利用者への開示」を行う必要はないと理解してよいか。",answer:"「海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合」とは、必ずしも暗号資産交換業者等と直接又は間接的な支配関係を有する場合に限らず、具体的な範囲については、当該海外親会社等に適用される現地の法令等が、当該暗号資産交換業者等に影響を与える可能性があるかという観点から、個別事例ごとに実態に即して実質的に判断されるものと考えられます。
また、「利用者への開示」を行う必要性についても、海外親会社等に適用される現地の法令等が、当該暗号資産交換業者等に影響を与える可能性があるかという観点から、個別事例ごとに実態に即して実質的に判断されるべきものと考えられます。【No2】を合わせてご参照ください。",id:"wTYUvJcysR6ja8Al"},{index:"4",question:"改正案において、新たに「海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合には、・・」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (2) ⑪、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2 (3) ⑫)「親会社を含めたグループ会社・・」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (12) 、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2 (13) 、信託会社監督指針3-5-1 (5) ⑦、同 (6) ⑦)等を追加予定とのことですが、グループ会社の定義についてご教示いただけますでしょうか。",answer:"「海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合」については、当該海外親会社等に適用される現地の法令等が、当該暗号資産交換業者等に影響を与える可能性があるかという観点から、個別事例ごとに実態に即して実質的に判断されるものと考えられます。【No3】を合わせてご参照ください。
「親会社を含めたグループ会社(以下「親会社等」という。)」については、親会社等と共通のシステムを利用してサービスを提供する場合に、親会社等の経営上の理由により共通システムが利用できなくなる等の影響を受ける可能性があるかという観点から、個別事例ごとに実態に即して実質的に判断されるものと考えられます。",id:"lIMBtmIchsccB1Dh"},{index:"5",question:"「海外親会社等」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (2) ⑪、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2(3) ⑫)を有するが、暗号資産交換業等に関連のない海外親会社等のみの場合は、「海外親会社等に適用される現地の法令等が当該暗��資産交換業者等に影響を与える可能性」に該当しないため、その旨の説明を開示するという理解で相違ないでしょうか。またはこの場合は開示自体の必要がないでしょうか。",answer:"現地の法令等が当該暗号資産交換業者等に影響を与える可能性のある海外親会社等は、必ずしも暗号資産交換業等に関連する海外親会社等に限られないものと考えております。具体的な事例については、【No2】をご参照ください。",id:"acYBPmm47gdcTL36"}]},Ut={crypto_guidelines:Ia,anti_money_laundering_act:pa,payment_services_act:ha,crypto_guidelines_public_20240906:xa,crypto_guidelines_public_20231117:ba,"a613ff2b-fe43-42c4-80e3-8f9dbcd802cf":{accountId:"a613ff2b-fe43-42c4-80e3-8f9dbcd802cf",displayName:"金融庁事務ガイドライン(暗号資産)2024/10/30 パブリックコメント",url:"https://www.fsa.go.jp/news/r6/shouken/20241030-2/01.pdf",public_comment:!0,questions:[{id:"c4637cd5-547d-4f32-ad11-ffc3ba880314",index:1,question:"事務ガイドライン(暗号資産交換業者関係)II-2-1-7について、貴庁が想定されている、顧客の最善の利益を勘案した取り組み事例があれば、参考としてお示し頂きたい。",answer:"貴重なご意見として参考にさせていただきます。"}]},"519615f0-a7c7-43fc-8183-305a68d40d8d":{accountId:"519615f0-a7c7-43fc-8183-305a68d40d8d",displayName:"金融庁事務ガイドライン(暗号資産)2023/03/24 パブリックコメント",url:"https://www.fsa.go.jp/news/r4/sonota/20230324-2/20230324-2.html",public_comment:!0,questions:[{id:"175dc030-2388-472c-ac8b-7718fa7a2d7f",index:1,question:`暗号資産の範囲及び該当性の判断基準(事務ガイドラインI-1-1) +また、マネー・ローンダリング及びテロ資金供与対策分野においては、登録を受けた暗号資産交換業者の「マネー・ローンダリング及びテロ資金供与対策にかかる年次実態把握報告表」の内容も参照し、態勢の整備状況の参考とする。`}],publicCommentLinks:["519615f0-a7c7-43fc-8183-305a68d40d8d"]}]},ha={displayName:"犯罪による収益の移転防止に関する法律",accountId:"anti_money_laundering_act",title:"第二章 特定事業者による措置",tweets:[{index:"章題",content:"特定事業者による措置",id:"2654c6b8"},{index:"条題",content:"(取引時確認等)",id:"bf0b60cb"},{index:"第4条1項",content:"特定事業者(第二条第二項第四十五号に掲げる特定事業者(第十二条において「弁護士等」という。)を除く。以下同じ。)は、顧客等との間で、別表の上欄に掲げる特定事業者の区分に応じそれぞれ同表の中欄に定める業務(以下「特定業務」という。)のうち同表の下欄に定める取引(次項第二号において「特定取引」といい、同項前段に規定する取引に該当するものを除く。)を行うに際しては、主務省令で定める方法により、当該顧客等について、次に掲げる事項の確認を行わなければならない。",id:"761ad3e2"},{index:"第4条1項1号",content:"本人特定事項(自然人にあっては氏名、住居(本邦内に住居を有しない外国人で政令で定めるものにあっては、主務省令で定める事項)及び生年月日をいい、法人にあっては名称及び本店又は主たる事務所の所在地をいう。以下同じ。)",id:"c7d08fad"},{index:"第4条1項2号",content:"取引を行う目的",id:"db00bc77"},{index:"第4条1項3号",content:"当該顧客等が自然人である場合にあっては職業、当該顧客等が法人である場合にあっては事業の内容",id:"703c702e"},{index:"第4条1項4号",content:"当該顧客等が法人である場合において、その事業経営を実質的に支配することが可能となる関係にあるものとして主務省令で定める者があるときにあっては、その者の本人特定事項",id:"7c89ee8f"},{index:"第4条2項",content:"特定事業者は、顧客等との間で、特定業務のうち次の各号のいずれかに該当する取引を行うに際しては、主務省令で定めるところにより、当該顧客等について、前項各号に掲げる事項並びに当該取引がその価額が政令で定める額を超える財産の移転を伴う場合にあっては、資産及び収入の状況(第二条第二項第四十六号に掲げる特定事業者にあっては、前項各号に掲げる事項)の確認を行わなければならない。この場合において、第一号イ又はロに掲げる取引に際して行う同項第一号に掲げる事項の確認は、第一号イ又はロに規定する関連取引時確認を行った際に採った当該事項の確認の方法とは異なる方法により行うものとし、資産及び収入の状況の確認は、第八条第一項又は第二項の規定による届出を行うべき場合に該当するかどうかの判断に必要な限度において行うものとする。",id:"489d54a5"},{index:"第4条2項1号",content:"次のいずれかに該当する取引として政令で定めるもの",id:"f25d79e8"},{index:"第4条2項1号イ",content:"取引の相手方が、その取引に関連する他の取引の際に行われた前項若しくはこの項(これらの規定を第五項の規定により読み替えて適用する場合を含む。)又は第四項の規定による確認(ロにおいて「関連取引時確認」という。)に係る顧客等又は代表者等(第六項に規定する代表者等をいう。ロにおいて同じ。)になりすましている疑いがある場合における当該取引",id:"77235286"},{index:"第4条2項1号ロ",content:"関連取引時確認が行われた際に当該関連取引時確認に係る事項を偽っていた疑いがある顧客等(その代表者等が当該事項を偽っていた疑いがある顧客等を含む。)との取引",id:"c6bdbc00"},{index:"第4条2項2号",content:"特定取引のうち、犯罪による収益の移転防止に関する制度の整備が十分に行われていないと認められる国又は地域として政令で定めるもの(以下この号において「特定国等」という。)に居住し又は所在する顧客等との間におけるものその他特定国等に居住し又は所在する者に対する財産の移転を伴うもの",id:"45c73086"},{index:"第4条2項3号",content:"前二号に掲げるもののほか、犯罪による収益の移転防止のために厳格な顧客管理を行う必要性が特に高いと認められる取引として政令で定めるもの",id:"b5e602b6"}]},xa={displayName:"資金決済に関する法律",accountId:"payment_services_act",title:"",tweets:[{index:"第2条第14項",content:"この法律において「暗号資産」とは、次に掲げるものをいう。ただし、金融商品取引法第二十九条の二第一項第八号に規定する権利を表示するものを除く。",id:"26sa66b8",links:[{url:"payment_services_act/sa8u60cb",text:"資金決済に関する法律第2条第14項"},{url:"payment_services_act/87td60cb",text:"資金決済に関する法律第2条第14項"}]},{index:"第2条第14項",content:"一 物品等を購入し、若しくは借り受け、又は役務の提供を受ける場合に、これらの代価の弁済のために不特定の者に対して使用することができ、かつ、不特定の者を相手方として購入及び売却を行うことができる財産的価値(電子機器その他の物に電子的方法により記録されているものに限り、本邦通貨及び外国通貨、通貨建資産並びに電子決済手段(通貨建資産に該当するものを除く。)を除く。次号において同じ。)であって、電子情報処理組織を用いて移転することができるもの",id:"sa8u60cb"},{index:"第2条第14項",content:"二 不特定の者を相手方として前号に掲げるものと相互に交換を行うことができる財産的価値であって、電子情報処理組織を用いて移転することができるもの",id:"87td60cb"},{index:"第2条第15項",content:"この法律において「暗号資産交換業」とは、次に掲げる行為のいずれかを業として行うことをいい、「暗号資産の交換等」とは、第一号又は第二号に掲げる行為をいい、「暗号資産の管理」とは、第四号に掲げる行為をいう。",id:"kDfQkHbRccSOO5qQ",links:[{url:"payment_services_act/WTBpivxVjlqbEuBv",text:"第2条第15項"},{url:"payment_services_act/O66upnQIwpiBhBXx",text:"第2条第15項"},{url:"payment_services_act/iONqowDTNmajZULQ",text:"第2条第15項"},{url:"payment_services_act/vznIGvoCREX7h5fj",text:"第2条第15項"}]},{index:"第2条第15項",content:"一 暗号資産の売買又は他の暗号資産との交換",id:"WTBpivxVjlqbEuBv"},{index:"第2条第15項",content:"二 前号に掲げる行為の媒介、取次ぎ又は代理",id:"O66upnQIwpiBhBXx"},{index:"第2条第15項",content:"三そ の行う前二号に掲げる行為に関して、利用者の金銭の管理をすること。",id:"iONqowDTNmajZULQ"},{index:"第2条第15項",content:"四 他人のために暗号資産の管理をすること(当該管理を業として行うことにつき他の法律に特別の規定のある場合を除く。)。",id:"vznIGvoCREX7h5fj"},{index:"第六十三条の十一(利用者財産の管理)",content:"",id:"9dSFmj4r2CElKQSy"},{index:"第六十三条の十一",content:"暗号資産交換業者は、その行う暗号資産交換業に関して、暗号資産交換業の利用者の金銭を、自己の金銭と分別して管理し、内閣府令で定めるところにより、信託会社等に信託しなければならない。",id:"tiMyIMVIoB2Dk5Ku"},{index:"第六十三条の十一",content:"2 暗号資産交換業者は、その行う暗号資産交換業に関して、内閣府令で定めるところにより、暗号資産交換業の利用者の暗号資産を自己の暗号資産と分別して管理しなければならない。この場合において、当該暗号資産交換業者は、利用者の暗号資産(利用者の利便の確保及び暗号資産交換業の円滑な遂行を図るために必要なものとして内閣府令で定める要件に該当するものを除く。)を利用者の保護に欠けるおそれが少ないものとして内閣府令で定める方法で管理しなければならない。",id:"uHHJrL0U1RKUAhBG"},{index:"第六十三条の十一",content:"3 暗号資産交換業者は、前二項の規定による管理の状況について、内閣府令で定めるところにより、定期に、公認会計士又は監査法人の監査を受けなければならない。",id:"00vVk0RXWDie7gqO"}]},ba={displayName:"金融庁事務ガイドライン(暗号資産)
2024/09/06 パブリックコメント",accountId:"crypto_guidelines_public_20240906",public_comment:!0,url:"https://www.fsa.go.jp/news/r6/sonota/20240830-2/01.pdf",questions:[{index:"1",question:"事務ガイドライン(暗号資産交換業者)I-1-2-2②(注2)の一つ目の「・」の二文目の「ただし、...あり得る。」の記載、及び二つ目の「・」の二文目の「ただし、...あり得る。」の記載は、どちらも「原則的に・概ね、媒介に当たる」の方が実務担当者に分かり易い。c後段の「但し 、当該業者・・・」の箇所も同様。",answer:"ご指摘の箇所につきましては、いずれも「媒介に至らない行為」として、商品案内チラシ・パンフレット・契約申込書等の単なる配布等、契約申込書・その添付書類等の受領・回収、暗号資産交換業者のサイトへのリンクの設定・暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載、といった行為を原則論として掲げ、例外的にこれらの行為を伴う場合であっても、資料・書類の記載方法・内容等の説明を行ったり、商品等の推奨・説明を行ったりする場合には媒介に該当する場合があることを記載したものです。そのため、原案でも内容は明確であり、また記述の正確性の観点から原案を維持させていただきます。",id:"lHWzwPvtmmxCIBCw",links:[{url:"crypto_guidelines/m7n9p1q3",text:"事務ガイドライン(暗号資産交換業者)I-1-2-2②(注2)"},{url:"crypto_guidelines/r5s7t9u1",text:"二文目の「ただし、...あり得る。」"},{url:"crypto_guidelines/n5p7q9r1",text:"二文目の「ただし、...あり得る。」"}]},{index:"2",question:"暗号資産交換業者から、暗号資産の売買等の媒介に至らない行為の事務処理の委託を受ける場合において、当該委託業務に対して当該暗号資産交換業者から支払われる経済的対価の算出方法が取引の成約高に連動する場合であっても、当該事実をもって直ちに当該委託事務が暗号資産の売買等の媒介に該当するものではなく、また、媒介に該当する可能性を高めるわけでもないと考えるが、どうか。",answer:"ある行為が暗号資産の売買等の媒介に該当するかは、個別事例ごとに実態に即して実質的に判断する必要があるため、一概に回答することは困難ですが、一般に、暗号資産交換業者から支払われる経済的対価が取引の成約高に連動するという事情は、当該行為の媒介該当性を判断する上で考慮すべき事情となるものと考えます。
ただし、暗号資産の売買等の媒介に至らない行為の事務処理の委託を受ける場合には、その委託を受ける事務の内容も暗号資産の売買等の媒介に該当しないと考えられるため、委託者である暗号資産交換業者から支払われる経済的対価が取引の成約高に連動するものであるとしても、暗号資産の売買等の媒介に該当しないと考えます。",id:"3TynlWMqsruNlO5j"},{index:"3",question:"「当該業者によって当該商品等を推奨、説明するような行為が伴う場合には、暗号資産の売買等の媒介に当たることがあり得る」とあるが、当該業者が管理するウェブサイトやアプリ画面上において、暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載を行う場合、当該コンテンツの内容に当該暗号資産交換業者に係るサービスの内容や取引条件が記載されていても、媒介と評価されるものではないと考えているが、どうか。",answer:"ご理解のとおりです。ご質問の点が明確となるよう事務ガイドライン(暗号資産交換業者)の該当箇所を修正しました。",id:"nENuabqvTZBFvWdA",links:[{url:"crypto_guidelines/m7n9p1q3",text:"当該業者によって"}]},{index:"4",question:"(暗号資産交換業者に係るサービスの内容や取引条件が記載された)暗号資産交換業者から提供を受けた商品案内等のコンテンツを転載することに加えて、当該業者が管理するウェブサイトやアプリ画面上において、1暗号資産交換業者のサイトへのリンクの設定、2当該業者と暗号資産交換業者の関係又は当該暗号資産交換業者の業務内容について説明といった行為の全部又は一部を組み合わせた場合であっても、暗号資産の売買等を内容とする契約の締結に至る交渉や手続に当該業者が関与しないのであれば、直ちに媒介と評価されるものではないと考えているが、どうか。",answer:"事務ガイドライン(暗号資産交換業者)I-1-2-2②(注2)a ないし c に掲げる各行為の全部又は一部を組み合わせるものであったとしても「紹介」に含まれる場合があると考えます。ご質問につきましては、1が c に、2が b にそれぞれ該当するものと考えられるところ、ある行為が暗号資産の売買等の媒介に該当するかは、個別事例ごとに実態に即して実質的に判断する必要がありますが、その行為が暗号資産の売買等を内容とする契約の締結に至る交渉や手続に当該業者が関与しないのであれば、「紹介」に該当し直ちに媒介と評価されるものではないと考えます。",id:"Rev6CKAAcQv5pmWY"},{index:"5",question:"「当該業者のウェブサイト上等において、(中略)暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行い」とあるが、暗号資産交換業者から提供を受けたコンテンツをそのまま転載する場合において、コンテンツが掲載されるウェブサイト上の表示内容から、当該コンテンツの提供主体が暗号資産交換業者であることが判別できるような外形があれば足り、その表記の仕方は、一般人をして合理的に理解できるものであればよいか。",answer:"ウェブサイトの外形やコンテンツの内容を踏まえ、利用者から見て誰をコンテンツの提供主体と認識することとなるのかという事情も、媒介該当性を判断する上での考慮要素となるものと考えられます。そして、例えば、ウェブサイト上の外形の表示からコンテンツの提供主体が暗号資産交換業者であることを明確に判別できる等、利用者にとってコンテンツの提供主体が暗号資産交換業者であることを合理的に認識可能な方法で提供する場合、「コンテンツの転載のみを行い」に該当し媒介に該当するものではないと考えます。",id:"DEv4g0wQnvrnktBO",links:[{url:"crypto_guidelines/n5p7q9r1",text:"当該業者のウェブサイト上等において"}]},{index:"6",question:"「暗号資産交換業者から提供を受けた商品案内等のコンテンツを単にウェブサイト上に転載することは差し支えないが、加工したコンテンツを掲載したり、例えば、自らが推奨する商品のコンテンツを上位に表示されるようなデザインやアルゴリズムの仕組みを設けること等をしたりする場合には、媒介に当たることがあり得る」との点は、暗号資産交換業者から提供を受けた情報を恣意的に推奨しようとする点に媒介性が生じうるものとの理解である。したがって、例えば、一定のアルゴリズムを用いるとしても、それ自体が媒介該当性を高めるものではなく、自社のウェブサイト上の商品一覧中のランダムな順位、場所に表示されるなど表示者の恣意性を排除する仕組みとすることで媒介該当性の懸念を低減できるものと考えるが、どうか。",answer:"どのような行為が「媒介」に該当するか否かについては、個別事例ごとに実態に即して実質的に判断されるため、アルゴリズムを用いる場合にはその内容を踏まえて判断する必要があるものと考えます。
ただし、例えば、商品を提供する暗号資産交換業者の名称の五十音順やアルファベット順で表示するなど機械的・画一的に表示するものと認められる場合には、当該事業者が恣意的に特定の暗号資産交換業者や特定の商品を推奨しようとするものではないため、暗号資産の売買等の媒介に該当しないものと考えます。",id:"JT0dNnfdI4wcyx1D",links:[{url:"crypto_guidelines/m7n9p1q3",text:"暗号資産交換業者から提供を受けた"}]},{index:"7",question:"ウェブサイトに商品案内等のコンテンツの転載を行う際には、スペース確保のために自社サイト内に広告スペースを構築するなど暗号資産交換業者のために一定のシステム上の対応や開発を行うケースがあるが、そのようなシステム対応や開発を行うことは、実店舗にチラシを置くための物理的スペースを貸与するケースと同様であって、直ちに媒介該当性を高めるものではないと考えてよいか。",answer:"事業者が自己のウェブサイト上等において、暗号資産交換業者の商品案内等のコンテンツの転載を行うために、自己のウェブサイト内において必要なシステム上の対応や開発を行うことは、暗号資産の売買等の媒介に該当するものではないと考えます。
また、システム上の対応や開発を行った後に、事業者のウェブサイト上等において、暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行うことも、暗号資産の売買等の媒介には該当しないものと考えます。",id:"okNj1b2MnaC6HBk2"},{index:"8",question:"当該業者のウェブサイト等において、特定の暗号資産交換業者が自らを紹介する宣伝媒体(バナー広告等)を設置する行為は、I-1-2-2②(注2)cの紹介行為に該当し、それのみでは直ちに媒介と評価されるものではないとの理解でよいか。",answer:"ご理解のとおりです。",id:"0X6iL8G3ASDsolI8",links:[{url:"crypto_guidelines/n5p7q9r1",text:"I-1-2-2②(注2)c"}]},{index:"9",question:"事業会社がウェブサイト等において、複数の暗号資産交換業者でなく特定の1社の広告を行うことは、その内容自体が勧誘に至らない場合、媒介にはあたらないという理解でよいか。",answer:"広告の内容が明らかではなく一概に回答することは困難ですが、「媒介」に該当するか否かについては、当該ウェブサイトの画面構成、具体的な表示内容等を踏まえた上で、個別事例ごとに実態に即して実質的に判断されるべきものと考えます。そして、例えば、事業者のウェブサイト等において暗号資産交換業者のウェブサイトへの単なるリンクの設定や暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行うものであると認められる場合においては、たとえ当該リンクの設定や当該コンテンツの転載が特定の 1 社の暗号資産交換業者の広告を行うものであるとしても、基本的には暗号資産の売買等の媒介には該当しないものと考えます。",id:"LzYXzIuLe5WTIXB1"},{index:"10",question:"フィンテックサービス事業者のアプリにいくつかの暗号資産の価格をリアルタイムで表示し、同アプリ上にユーザーが暗号資産交換業者に開設しているアカウントにおける暗号資産の残高、価格(変動)、現在価値(変動)を表示する(各種データは交換業者からAPIでとってくる)ことは暗号資産の売買等の媒介に該当しないという理解でよいか。また、当該表示に加えて、フィンテックサービス事業者のアプリ画面上に、アカウント開設先である暗号資産交換業者のサイトへのリンクを設定する場合においても、媒介に該当しないという理解でよいか。",answer:"当該アプリにおいて、単に暗号資産交換業者から各種データ(暗号資産の残高、価格(変動)、現在価値(変動))を取得・表示する機能を提供するのみであれば、暗号資産の売買等の媒介には該当しないと考えます。
ただし、当該アプリにおいて暗号資産交換業者のサイトへのリンクを設定する行為が暗号資産の売買等の媒介に該当するかは、リンクの設定の態様や、委託元の暗号資産交換業者のサイトの内容等を踏まえて、個別事例ごとに実態に即して実質的に判断されるべきものであるところ、その詳細が明らかではなく、一概に回答することが困難です。",id:"BFAoLHHAhZoFHlDZ"},{index:"11",question:"以下の1.及び2.の行為は、「電子決済手段の売買の媒介」等に該当する可能性がありますでしょうか。それとも、電子決済手段の発行及び償還という為替取引を媒介しているにすぎず、「電子決済手段の売買の媒介」等に当たらないことになりますでしょうか。
1.顧客が電子決済手段の発行者から当該電子決済手段を取得する(当該電子決済手段の発行を受ける)にあたり、当該顧客の委託を受けてその取得を仲介する行為
2.電子決済手段を保有する顧客が、当該電子決済手段の発行会社との間で、当該電子決済手段を法定通貨に換金する(当該電子決済手段の償還を受ける)にあたり、当該顧客の委託を受けてその換金を仲介する行為",answer:"電子決済手段の発行者が行う電子決済手段の発行及び償還は、「電子決済手段の売買又は他の電子決済手段との交換」(法第2条第 10 項第1号)に該当しないと解されることから、これを仲介する行為についても基本的には電子決済手段の売買等の媒介(法第2条第 10 項第2号)に該当しないと考えられます。
なお、いずれの行為も具体的な内容が明らかではありませんが、例えば、仲介者が顧客に代わって発行者との間で電子決済手段の授受を行うような事情が認められる場合には、「他人のために電子決済手段の管理をすること」(法第2条第 10項第3号)に該当する可能性があるものと考えます。",id:"Mmwwa51vRwNkoM2H"},{index:"12",question:"ASP を通したアフィリエイト広告において、アフィリエイターからのサービス紹介(サービスの申込方法・口座開設方法・サービスの特徴・概要説明)は媒介行為にあたるのか?",answer:"どのような行為が媒介に該当するかは、アフィリエイト広告の内容、サービス紹介の態様等を踏まえた上で、個別事例ごとに実態に即して実質的に判断されるべきものと考えます。アフィリエイターの各行為については広告の内容、サービス紹介の態様等が明らかではなく一概に回答することは困難ですが、例えば、各行為がウェブサイト等において暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行うものであると認められる場合には、基本的には暗号資産の売買等の媒介には該当しないものと考えます。ただし、当該コンテンツの転載とあわせて、アフィリエイター独自の見解として当該商品等を推奨・説明する場合には、暗号資産の売買等の媒介に当たることがあり得るものと考えます。",id:"OZbMSMaoT33HZbNL"},{index:"13",question:"どのような行為が媒介に該当するかは、アフィリエイト広告の内容、サービス紹介の態様等を踏まえた上で、個別事例ごとに実態に即して実質的に判断されるべきものと考えます。アフィリエイターの各行為については広告の内容、サービス紹介の態様等が明らかではなく一概に回答することは困難ですが、例えば、各行為がウェブサイト等において暗号資産交換業者から提供を受けた商品案内等のコンテンツの転載のみを行うものであると認められる場合には、基本的には暗号資産の売買等の媒介には該当しないものと考えます。ただし、当該コンテンツの転載とあわせて、アフィリエイター独自の見解として当該商品等を推奨・説明する場合には、暗号資産の売買等の媒介に当たることがあり得るものと考えます。",answer:"「暗号資産の売買等を内容とする契約に係る以下の各行為を第三者のために行う場合は、原則として、特定の者に対して第三者との暗号資産の売買等を内容とする契約の締結に向けた誘引行為を行っていると評価できることから、暗号資産の売買等の媒介に該当する。」とありますが、ASP を通したアフィリエイト広告において、アフィリエイターが暗号資産交換業者が開催している以下のキャンペーンを紹介する場合、媒介に該当するのでしょうか?
・口座開設後に現金プレゼントキャンペーン
・暗号資産の購入・取引で現金プレゼントキャンペーン
・取引所での取引手数料「無料」キャンペーン",id:"V6C5YuFxryMS8NIo"}]},ma={displayName:"金融庁事務ガイドライン(暗号資産)
2023/11/17 パブリックコメント",accountId:"crypto_guidelines_public_20231117",public_comment:!0,url:"https://www.fsa.go.jp/news/r5/sonota/20231117/01.pdf",questions:[{index:"1",question:"「海外親会社等を有する場合には、グループの状況やそれに伴うリスクについて、あらかじめ利用者に開示しているか」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (2)⑪、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2 (3) ⑫)の追加は、先般のグローバルな暗号資産交換業者の事案を踏まえたものと思われる。
「それに伴うリスクについて、あらかじめ利用者に開示しているか」という点は、現行のガイドラインよりもより踏み込んだ記載となっているが、先般の事案では、日本顧客は、グローバルのプラットフォームから日本法人への取引先の切替えが実施されたが、当時から現在に至るまで、顧客の資産が日本の資金決済法下の分別管理の対象なのか、対象外で資産保護されないのかを確認することが困難な状況であった。
日本の顧客において、自己の資産が保護されると思っていたが、実際には保護されないケースがあるというのは、その意思決定に大きな影響を与えることから、海外事業者が日本に参入する際には、顧客において自らの資産が資金決済法の分別管理の対象かどうかが分かる情報を、事業者が開示すべき情報として指定されたい。",answer:"貴重なご意見として承ります。
なお、ご指摘のような、海外を拠点として暗号資産に係るサービスを展開する企業グループにおいて、暗号資産交換業登録を受けた日本法人が日本国内にある者に対してサービスを提供する場合、日本法人が管理する顧客資産は資金決済法上の分別管理の対象となります。したがって、顧客において自らが提供を受けるサービスが海外のグループ企業ではなく当該日本法人が提供するものであるかどうかを判別できるよう、自らの提供するサービスの範囲について顧客に説明すべきものと考えております。",id:"2sl2chxwZeCW5QaY"},{index:"2",question:"「海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (2)⑪、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2 (3) ⑫)に該当する日本の暗号資産交換業者等において、「グループの状況やそれに伴うリスク」の利用者への開示内容については、具体的にどのような頻度および項目の開示が求められるのか。海外親会社等において事業の状況やリスクに関する開示を既に行っている場合は、当該海外親会社等のインターネットでの開示ページのリンクを日本の暗号資産交換業者等のホームページに貼る等の対応で足りるか。",answer:"例えば、当該暗号資産交換業者等の親会社が米国にある場合には、当該暗号資産交換業者等が米国連邦破産法第 11 章手続の対象に含まれる可能性があるため、そうした状況やそれに伴い当該暗号資産交換業者等に発生し得るリスクについて、あらかじめ利用者に開示していただくことなどを想定しております。
この点が、より明確になるよう、事務ガイドライン案を修正いたします。

また、開示の頻度等の開示方法については、各事業者の実態を踏まえて個別に検討いただくべきものと思われますが、利用者にとって明確で分かりやすい方法により開示を行っていただくことが重要です。

なお、ご質問の「海外親会社等において事業の状況やリスクに関する開示を既に行っている場合は、当該海外親会社等のインターネットでの開示ページのリンクを日本の暗号資産交換業者等のホームページに貼る等の対応で足りるか」については、「当該海外親会社等のインターネットでの開示ページ」の指す内容が必ずしも明確ではなく一概にお答えすることは困難ですが、海外親会社等の状況やそれに伴い当該暗号資産交換業者等に発生し得るリスクについて、日本に居住する利用者にとって明確で分かりやすい方法により開示する必要があります。",id:"blvjzPzFB10zeEZY"},{index:"3",question:"「海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (2)⑪、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2 (3) ⑫)に該当する暗号資産交換業者等に対して「利用者への開示」を求めているが、この「海外親会社等」は、財務諸表等の用語、様式及び作成方法に関する規則第8条第1項に定義される「親会社」として当社の財務及び営業又は事業の方針を決定する機関を直接または間接に支配している会社等を指すものと理解してよいか。

仮にそうだとした場合、当社を支配する持株会社が国内に所在しており、当該持株会社の支配する海外の現地法人は当社に対して支配力を持たないことを理由として、当社は新たに求められる「利用者への開示」を行う必要はないと理解してよいか。",answer:"「海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合」とは、必ずしも暗号資産交換業者等と直接又は間接的な支配関係を有する場合に限らず、具体的な範囲については、当該海外親会社等に適用される現地の法令等が、当該暗号資産交換業者等に影響を与える可能性があるかという観点から、個別事例ごとに実態に即して実質的に判断されるものと考えられます。
また、「利用者への開示」を行う必要性についても、海外親会社等に適用される現地の法令等が、当該暗号資産交換業者等に影響を与える可能性があるかという観点から、個別事例ごとに実態に即して実質的に判断されるべきものと考えられます。【No2】を合わせてご参照ください。",id:"wTYUvJcysR6ja8Al"},{index:"4",question:"改正案において、新たに「海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合には、・・」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (2) ⑪、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2 (3) ⑫)「親会社を含めたグループ会社・・」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (12) 、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2 (13) 、信託会社監督指針3-5-1 (5) ⑦、同 (6) ⑦)等を追加予定とのことですが、グループ会社の定義についてご教示いただけますでしょうか。",answer:"「海外に親会社を含めたグループ会社(以下「海外親会社等」という。)を有する場合」については、当該海外親会社等に適用される現地の法令等が、当該暗号資産交換業者等に影響を与える可能性があるかという観点から、個別事例ごとに実態に即して実質的に判断されるものと考えられます。【No3】を合わせてご参照ください。
「親会社を含めたグループ会社(以下「親会社等」という。)」については、親会社等と共通のシステムを利用してサービスを提供する場合に、親会社等の経営上の理由により共通システムが利用できなくなる等の影響を受ける可能性があるかという観点から、個別事例ごとに実態に即して実質的に判断されるものと考えられます。",id:"lIMBtmIchsccB1Dh"},{index:"5",question:"「海外親会社等」(事務ガイドライン(暗号資産交換業者)II-2-2-1-2 (2) ⑪、事務ガイドライン(電子決済手段等取引業者)II-2-2-1-2(3) ⑫)を有するが、暗号資産交換業等に関連のない海外親会社等のみの場合は、「海外親会社等に適用される現地の法令等が当該暗��資産交換業者等に影響を与える可能性」に該当しないため、その旨の説明を開示するという理解で相違ないでしょうか。またはこの場合は開示自体の必要がないでしょうか。",answer:"現地の法令等が当該暗号資産交換業者等に影響を与える可能性のある海外親会社等は、必ずしも暗号資産交換業等に関連する海外親会社等に限られないものと考えております。具体的な事例については、【No2】をご参照ください。",id:"acYBPmm47gdcTL36"}]},Ut={crypto_guidelines:pa,anti_money_laundering_act:ha,payment_services_act:xa,crypto_guidelines_public_20240906:ba,crypto_guidelines_public_20231117:ma,"a613ff2b-fe43-42c4-80e3-8f9dbcd802cf":{accountId:"a613ff2b-fe43-42c4-80e3-8f9dbcd802cf",displayName:"金融庁事務ガイドライン(暗号資産)2024/10/30 パブリックコメント",url:"https://www.fsa.go.jp/news/r6/shouken/20241030-2/01.pdf",public_comment:!0,questions:[{id:"c4637cd5-547d-4f32-ad11-ffc3ba880314",index:1,question:"事務ガイドライン(暗号資産交換業者関係)II-2-1-7について、貴庁が想定されている、顧客の最善の利益を勘案した取り組み事例があれば、参考としてお示し頂きたい。",answer:"貴重なご意見として参考にさせていただきます。"}]},"519615f0-a7c7-43fc-8183-305a68d40d8d":{accountId:"519615f0-a7c7-43fc-8183-305a68d40d8d",displayName:"金融庁事務ガイドライン(暗号資産)2023/03/24 パブリックコメント",url:"https://www.fsa.go.jp/news/r4/sonota/20230324-2/20230324-2.html",public_comment:!0,questions:[{id:"175dc030-2388-472c-ac8b-7718fa7a2d7f",index:1,question:`暗号資産の範囲及び該当性の判断基準(事務ガイドラインI-1-1) 暗号資産の範囲及び該当性の判断基準において「例えば、発行者又は取扱事業者の規約や商品説明等において決済手段としての使用の禁止を明示している、又はシステム上決済手段として使用されない仕様となっていること」とあるが、後者のシステム上の手当てによりそのような利用形態を許容させないことを求めるべきである。 @@ -524,7 +524,7 @@ NFT においては、発行数量は 200 万個を超えるもの(例えば 事務ガイドラインII-2-2-8-2(1)①「また、その検証結果は適切なものとなっているか」、II-2-2-8-2(2)④「必要なモニタリングを行うための規程の整備など、体制整備が図られているか。また、モニタリングを適切に行っているか」など、適切な体制整備や適切に検証するというのは、より具体的にどういう主体がどういう内容を行うものなのか、例示等を可能な限りした方が読み手にとってより分かりやすくなるのではないか。`,answer:"貴重なご意見として承ります。"},{id:"5e87cb7e-5b01-43db-abaa-9a0fc1a4729f",index:57,question:`新規サービス(新商品・新規業務)への対応(事務ガイドラインIII-1-7) -事務ガイドラインIII-1-7で当局による確認の対象とされている「暗号資産関連業務」及び「新規サービス」が定義されていないが、資金決済法上、暗号資産交換業者には兼業規制は課されておらず、暗号資産交換業に該当しない他業の開始については事後届出の義務が課されているのみであることを踏まえると、これらはいずれも暗号資産交換業に該当するサービスを指すものと考えてよいか(資金決済法第 63 条の6第2項及び第 63 条の3第1項第 10 号)。`,answer:"ご指摘を踏まえ、当局が確認を行う対象が明確となるよう、事務ガイドライン案を修正いたします。"}]}};function It(){}It.prototype={diff:function(t,n){var i,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=o.callback;typeof o=="function"&&(s=o,o={}),this.options=o;var r=this;function c(_){return s?(setTimeout(function(){s(void 0,_)},0),!0):_}t=this.castInput(t),n=this.castInput(n),t=this.removeEmpty(this.tokenize(t)),n=this.removeEmpty(this.tokenize(n));var d=n.length,l=t.length,a=1,I=d+l;o.maxEditLength&&(I=Math.min(I,o.maxEditLength));var h=(i=o.timeout)!==null&&i!==void 0?i:1/0,x=Date.now()+h,g=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(g[0],n,t,0);if(g[0].oldPos+1>=l&&m+1>=d)return c([{value:this.join(n),count:n.length}]);var S=-1/0,N=1/0;function v(){for(var _=Math.max(S,-a);_<=Math.min(N,a);_+=2){var O=void 0,M=g[_-1],J=g[_+1];M&&(g[_-1]=void 0);var G=!1;if(J){var he=J.oldPos-_;G=J&&0<=he&&he=l&&m+1>=d)return c(ma(r,O.lastComponent,n,t,r.useLongestToken));g[_]=O,O.oldPos+1>=l&&(N=Math.min(N,_-1)),m+1>=d&&(S=Math.max(S,_+1))}a++}if(s)(function _(){setTimeout(function(){if(a>I||Date.now()>x)return s();v()||_()},0)})();else for(;a<=I&&Date.now()<=x;){var E=v();if(E)return E}},addToPath:function(t,n,i,o){var s=t.lastComponent;return s&&s.added===n&&s.removed===i?{oldPos:t.oldPos+o,lastComponent:{count:s.count+1,added:n,removed:i,previousComponent:s.previousComponent}}:{oldPos:t.oldPos+o,lastComponent:{count:1,added:n,removed:i,previousComponent:s}}},extractCommon:function(t,n,i,o){for(var s=n.length,r=i.length,c=t.oldPos,d=c-o,l=0;d+1m.length?N:m}),I.value=e.join(h)}else I.value=e.join(n.slice(l,l+I.count));l+=I.count,I.added||(a+=I.count)}}var g=s[d-1];return d>1&&typeof g.value=="string"&&(g.added||g.removed)&&e.equals("",g.value)&&(s[d-2].value+=g.value,s.pop()),s}var va=new It;function fo(e,t,n){return va.diff(e,t,n)}var ls=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,as=/\S/,Fr=new It;Fr.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!as.test(e)&&!as.test(t)};Fr.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n"u"?n:r}:i;return typeof e=="string"?e:JSON.stringify(Hi(e,null,null,o),o," ")};Cn.equals=function(e,t){return It.prototype.equals.call(Cn,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};function Hi(e,t,n,i,o){t=t||[],n=n||[],i&&(e=i(o,e));var s;for(s=0;s/g,">").replace(/"/g,""").replace(/'/g,"'")}function qr(e,t){if(e===t)return!0;if(e===null||t===null)return e===t;if(typeof e!=typeof t)return!1;if(typeof e=="object"){const n=Object.keys(e),i=Object.keys(t);return n.length!==i.length?!1:n.every(o=>qr(e[o],t[o]))}return!1}function $r(e,t,n=""){const i=[],o=new Set([...Object.keys(e||{}),...Object.keys(t||{})]);for(const s of o){const r=n?`${n}.${s}`:s,c=e==null?void 0:e[s],d=t==null?void 0:t[s];qr(c,d)||(typeof c=="object"&&c!==null&&typeof d=="object"&&d!==null?i.push(...$r(c,d,r)):i.push({path:r,bundled:c,local:d}))}return i}function wa(e,t){if(e==null)return'null';const n=Jn(e),i=t!=null?Jn(t):"";if(!i)return`${Gn(n)}`;let o="";return fo(n,i).forEach(r=>{const c=Gn(r.value);r.removed?o+=`${c}`:r.added||(o+=c)}),o}function Ta(e,t){if(e==null)return'null';const n=Jn(e),i=t!=null?Jn(t):"";if(!i)return`${Gn(n)}`;let o="";return fo(i,n).forEach(r=>{const c=Gn(r.value);r.added?o+=`${c}`:r.removed||(o+=c)}),o}const Ca={name:"JsonDiffViewer",data(){return{differences:[],hasDifferences:!1,bundledJson:null,localJson:null}},created(){this.loadData()},methods:{async loadData(){try{this.bundledJson=Ut;const e=localStorage.getItem("legal-documents-data");this.localJson=e?JSON.parse(e):{},this.compareDocuments()}catch(e){console.error("Failed to load documents:",e),this.differences=[],this.hasDifferences=!1}},compareDocuments(){if(!this.bundledJson||!this.localJson){this.hasDifferences=!1;return}try{this.differences=$r(this.bundledJson,this.localJson),this.hasDifferences=this.differences.length>0}catch(e){console.error("Failed to compare documents:",e),this.differences=[],this.hasDifferences=!1}},formatBundledDiff:wa,formatLocalDiff:Ta}},ka={class:"modal-header"},Sa={class:"modal-body"},Ea={key:0,class:"diff-container"},Ra={class:"diff-content"},Na={class:"diff-path"},La={class:"diff-comparison"},Aa={class:"diff-side bundled"},Oa=["innerHTML"],Da={key:1,class:"no-content"},Pa={class:"diff-side local"},Fa=["innerHTML"],Ma={key:1,class:"no-content"},qa={key:1,class:"no-diff"};function $a(e,t,n,i,o,s){return y(),C("div",{class:"modal-overlay",onClick:t[2]||(t[2]=r=>e.$emit("close"))},[u("div",{class:"modal-content",onClick:t[1]||(t[1]=ci(()=>{},["stop"]))},[u("div",ka,[t[3]||(t[3]=u("h2",null,"JSON差分表示",-1)),u("button",{class:"close-button",onClick:t[0]||(t[0]=r=>e.$emit("close"))},"×")]),u("div",Sa,[o.hasDifferences?(y(),C("div",Ea,[t[4]||(t[4]=u("div",{class:"diff-header"},[u("div",{class:"diff-title"},"バンドル版"),u("div",{class:"diff-title"},"ローカル版")],-1)),u("div",Ra,[(y(!0),C(de,null,ye(o.differences,(r,c)=>(y(),C("div",{key:c,class:"diff-section"},[u("div",Na,K(r.path),1),u("div",La,[u("div",Aa,[r.bundled!==void 0?(y(),C("pre",{key:0,innerHTML:s.formatBundledDiff(r.bundled,r.local)},null,8,Oa)):(y(),C("div",Da,"データなし"))]),u("div",Pa,[r.local!==void 0?(y(),C("pre",{key:0,innerHTML:s.formatLocalDiff(r.local,r.bundled)},null,8,Fa)):(y(),C("div",Ma,"データなし"))])])]))),128))])])):(y(),C("div",qa," 差分は見つかりませんでした "))])])])}const Ua=Be(Ca,[["render",$a]]);const us="legal-documents-data",Ha={name:"Index",components:{JsonDiffViewer:Ua},setup(){const e=Ot(),t=At(),n=ue(!1),i=ue(Ut),o=ue(!1),s=ue("");wt(()=>{const v=localStorage.getItem(us);if(v)try{i.value=JSON.parse(v)}catch(E){console.error("Failed to parse stored documents:",E),r(Ut)}else r(Ut);s.value=e.query.q||""});const r=v=>{try{localStorage.setItem(us,JSON.stringify(v)),i.value=v}catch(E){console.error("Failed to save documents to localStorage:",E)}};zt(s,v=>{t.replace({query:{...e.query,q:v||void 0}})});const c=z(()=>{if(!s.value)return i.value;const v=s.value.toLowerCase().split(" ").filter(E=>E.length>0);return Object.fromEntries(Object.entries(i.value).filter(([E,_])=>{const O=l(_);return v.every(M=>O.toLowerCase().includes(M))}))}),d=v=>v.replace(/
/gi,""),l=v=>{let E=[];return v.tweets&&(E=E.concat(v.tweets.map(_=>_.content))),v.public_comment&&(E=E.concat(v.questions.map(_=>`${_.question} ${_.answer}`))),v.revisions&&(E=E.concat(v.revisions.flatMap(_=>{const O=[_.title];return _.description&&O.push(_.description),O.push(..._.articles.map(M=>`${M.before||""} ${M.after||""}`)),O}))),E.join(" ")},a=(v,E)=>v.type.startsWith("改訂")?{path:`/revisions/${E}/${v.revisionId}`,query:{highlight:v.content}}:v.type.startsWith("質問")||v.type.startsWith("回答")?{path:`/document/${E}/${v.id}`,query:{type:"public_comment",back:"/",highlight:v.content}}:{path:`/document/${E}/${v.id}`,query:{back:"/",highlight:v.content}},I=(v,E)=>{if(!s.value)return[];const _=[],O=150;return s.value.toLowerCase().split(" ").filter(M=>M.length>0),v.tweets&&v.tweets.forEach(M=>{h(M.content)&&_.push({type:`${M.index}`,content:x(M.content,O),id:M.id})}),v.public_comment&&v.questions.forEach(M=>{h(M.question)&&_.push({type:`質問 ${M.index}`,content:x(M.question,O),id:M.id}),h(M.answer)&&_.push({type:`回答 ${M.index}`,content:x(M.answer,O),id:M.id})}),v.revisions&&v.revisions.forEach(M=>{(h(M.title)||h(M.description))&&_.push({type:`改訂 ${M.title}`,content:x(M.description||M.title,O),revisionId:M.id}),M.articles.forEach(J=>{const G=J.before||"",he=J.after||"";(h(G)||h(he))&&_.push({type:`改訂 ${M.title}`,content:x(`${G} ${he}`,O),revisionId:M.id})})}),_},h=v=>{if(!v)return!1;const E=v.toLowerCase();return s.value.toLowerCase().split(" ").filter(_=>_.length>0).every(_=>E.includes(_))},x=(v,E)=>{if(!v||v.length<=E)return v;const _=s.value.toLowerCase().split(" ").filter(pe=>pe.length>0),O=[];if(_.forEach(pe=>{let Ne=v.toLowerCase().indexOf(pe.toLowerCase());for(;Ne!==-1;)O.push({start:Ne,end:Ne+pe.length}),Ne=v.toLowerCase().indexOf(pe.toLowerCase(),Ne+1)}),O.length===0)return v.substring(0,E)+"...";const M=Math.min(...O.map(pe=>pe.start)),J=Math.max(...O.map(pe=>pe.end));let G=Math.max(0,M-40),he=Math.min(v.length,J+40);return he-G>E&&(M-G>J-he?G=he-E:he=G+E),(G>0?"...":"")+v.substring(G,he)+(he{if(!v||!s.value)return v;let E=v;return s.value.toLowerCase().split(" ").filter(O=>O.length>0).forEach(O=>{const M=new RegExp(`(${O})`,"gi");E=E.replace(M,'$1')}),E},downloadDocuments:()=>{const v=JSON.stringify(i.value,null,2),E=new Blob([v],{type:"application/json"}),_=URL.createObjectURL(E),O=document.createElement("a");O.href=_,O.download="documents.json",document.body.appendChild(O),O.click(),document.body.removeChild(O),URL.revokeObjectURL(_)},showJsonDiffViewer:()=>{o.value=!0},resetToDefault:()=>{confirm(`データをリセットしてもよろしいですか? -※この操作は元に戻せません。`)&&r(Ut)}}}},ja={class:"layout"},Va={class:"main-content"},Ba={class:"container"},Ka={class:"search-container"},Wa={class:"document-list"},za={class:"document-icon"},Ja={class:"document-info"},Ga={class:"document-name"},Qa={key:0,class:"revision-badge"},Ya={class:"document-actions"},Xa=["href"],Za={key:0,class:"search-matches"},eu={class:"match-header"},tu={class:"match-index"},nu=["innerHTML"],iu={class:"footer"},ou={class:"footer-content"},su={class:"footer-buttons"};function ru(e,t,n,i,o,s){const r=Ae("router-link"),c=Ae("json-diff-viewer");return y(),C("div",ja,[u("main",Va,[u("div",Ba,[t[9]||(t[9]=u("h1",null,"法律文書一覧",-1)),u("div",Ka,[_e(u("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=d=>i.searchQuery=d),placeholder:"全文検索...",class:"search-input",onFocus:t[1]||(t[1]=d=>i.isSearchFocused=!0),onBlur:t[2]||(t[2]=d=>i.isSearchFocused=!1)},null,544),[[qe,i.searchQuery]])]),u("div",Wa,[(y(!0),C(de,null,ye(i.filteredDocuments,(d,l)=>(y(),C("div",{key:l,class:"document-item"},[Z(r,{to:`/document/${l}`,class:"document-header"},{default:xe(()=>[u("div",za,K(d.displayName.charAt(0)),1),u("div",Ja,[u("div",Ga,K(i.formatDisplayName(d.displayName)),1),d.revisions?(y(),C("div",Qa," 改訂あり ("+K(d.revisions.length)+"件) ",1)):Y("",!0)])]),_:2},1032,["to"]),u("div",Ya,[Z(r,{to:`/revisions/${l}`,class:"action-button revision-button"},{default:xe(()=>[t[7]||(t[7]=u("i",{class:"fas fa-history"},null,-1)),X(" "+K(d.revisions?"改訂履歴を表示":"改訂履歴を追加"),1)]),_:2},1032,["to"]),d.public_comment&&d.url?(y(),C("a",{key:0,href:d.url,target:"_blank",rel:"noopener noreferrer",class:"action-button original-button"},t[8]||(t[8]=[u("i",{class:"fas fa-external-link-alt"},null,-1),X(" 原文を表示 ")]),8,Xa)):Y("",!0)]),i.searchQuery&&i.getMatchingContent(d,l).length>0?(y(),C("div",Za,[(y(!0),C(de,null,ye(i.getMatchingContent(d,l),(a,I)=>(y(),C("div",{key:I,class:"match-item"},[Z(r,{to:i.getMatchLink(a,l),class:"match-link"},{default:xe(()=>[u("div",eu,[u("span",tu,K(a.type),1)]),u("div",{class:"match-content",innerHTML:i.highlightSearchTerms(a.content)},null,8,nu)]),_:2},1032,["to"])]))),128))])):Y("",!0)]))),128))])])]),u("footer",iu,[u("div",ou,[u("div",su,[Z(r,{to:"/public-comment/new",class:"footer-button"},{default:xe(()=>t[10]||(t[10]=[u("i",{class:"fas fa-plus"},null,-1),u("span",null,"パブリックコメントを追加",-1)])),_:1}),u("button",{class:"footer-button",onClick:t[3]||(t[3]=(...d)=>i.downloadDocuments&&i.downloadDocuments(...d))},t[11]||(t[11]=[u("i",{class:"fas fa-download"},null,-1),u("span",null,"JSONをダウンロード",-1)])),u("button",{class:"footer-button",onClick:t[4]||(t[4]=(...d)=>i.showJsonDiffViewer&&i.showJsonDiffViewer(...d))},t[12]||(t[12]=[u("i",{class:"fas fa-code"},null,-1),u("span",null,"JSON差分を表示",-1)])),u("button",{class:"footer-button warning",onClick:t[5]||(t[5]=(...d)=>i.resetToDefault&&i.resetToDefault(...d))},t[13]||(t[13]=[u("i",{class:"fas fa-sync-alt"},null,-1),u("span",null,"データをリセット",-1)]))])])]),i.showingJsonDiffViewer?(y(),ut(c,{key:0,onClose:t[6]||(t[6]=d=>i.showingJsonDiffViewer=!1)})):Y("",!0)])}const cu=Be(Ha,[["render",ru],["__scopeId","data-v-8ff61192"]]);const fs="legal-documents-data",du={name:"Document",setup(){const e=Ot(),t=At(),n=ue(null),i=ue(!1),o=z({get:()=>e.query.q||"",set:h=>{t.replace({query:{...e.query,q:h||void 0}})}}),s=z(()=>{if(!n.value)return[];const h=n.value.public_comment?n.value.questions:n.value.tweets;if(!o.value)return h;const x=o.value.toLowerCase().split(" ").filter(g=>g.length>0);return h.filter(g=>{const S=(n.value.public_comment?`${g.question} ${g.answer}`:g.content).toLowerCase();return x.every(N=>S.includes(N))})}),r=z(()=>{var g;if(!((g=n.value)!=null&&g.public_comment))return[];const h=[],x=localStorage.getItem(fs);if(x)try{const m=JSON.parse(x);Object.entries(m).forEach(([S,N])=>{N.revisions&&N.revisions.forEach(v=>{var E;(E=v.publicCommentLinks)!=null&&E.includes(e.params.id)&&h.push({documentId:S,documentName:N.displayName,...v})})})}catch(m){console.error("Failed to parse stored documents:",m)}return h.sort((m,S)=>new Date(S.date)-new Date(m.date))}),c=h=>(h==null?void 0:h.replace(/
/gi,""))||"",d=h=>new Date(h).toLocaleDateString("ja-JP",{year:"numeric",month:"2-digit",day:"2-digit"}),l=h=>{if(!h)return"";let x=h.replace(/
/gi,` -`);return o.value&&o.value.toLowerCase().split(" ").filter(m=>m.length>0).forEach(m=>{const S=new RegExp(`(${m})`,"gi");x=x.replace(S,'$1')}),x},a=h=>{var x,g;return((x=h.links)==null?void 0:x.length)>0||((g=h.public_comment_links)==null?void 0:g.length)>0},I=h=>{t.push({path:`/document/${e.params.id}/${h}`,query:{back:e.fullPath}})};return wt(()=>{const h=localStorage.getItem(fs);if(h)try{const x=JSON.parse(h);n.value=x[e.params.id]}catch(x){console.error("Failed to parse stored documents:",x)}}),{document:n,isSearchFocused:i,searchQuery:o,filteredItems:s,linkedRevisions:r,formatDisplayName:c,formatDate:d,highlightContent:l,goToItem:I,hasMetaInfo:a}}},lu={key:0},au={class:"profile-header"},uu={class:"document-actions"},fu={key:0,class:"revision-count"},Iu=["href"],pu={key:0,class:"linked-revisions"},hu={class:"revision-links"},xu={class:"revision-link-header"},bu={class:"document-name"},mu={class:"revision-title"},vu={key:0,class:"revision-description"},gu={class:"revision-date"},_u={class:"search-container"},yu={class:"tweets"},wu=["onClick"],Tu={class:"tweet-header"},Cu={class:"index"},ku={key:0,class:"qa-content"},Su={class:"question"},Eu=["innerHTML"],Ru={class:"answer"},Nu=["innerHTML"],Lu={key:0,class:"meta-info"},Au={class:"link-count"},Ou=["innerHTML"],Du={key:0,class:"meta-info"},Pu={key:0,class:"link-count"},Fu={key:1,class:"public-comment-count"};function Mu(e,t,n,i,o,s){const r=Ae("router-link");return i.document?(y(),C("div",lu,[u("div",au,[Z(r,{to:"/",class:"back-link"},{default:xe(()=>t[3]||(t[3]=[X("←")])),_:1}),u("h1",null,K(i.formatDisplayName(i.document.displayName)),1),u("div",uu,[Z(r,{to:`/revisions/${e.$route.params.id}`,class:"revision-link"},{default:xe(()=>[t[4]||(t[4]=u("i",{class:"fas fa-history"},null,-1)),X(" "+K(i.document.revisions?"改訂履歴を表示":"改訂履歴を追加")+" ",1),i.document.revisions?(y(),C("span",fu," ("+K(i.document.revisions.length)+"件) ",1)):Y("",!0)]),_:1},8,["to"]),i.document.public_comment?(y(),ut(r,{key:0,to:`/public-comment/new?edit=${e.$route.params.id}`,class:"edit-button"},{default:xe(()=>t[5]||(t[5]=[u("i",{class:"fas fa-edit"},null,-1),X(" 編集 ")])),_:1},8,["to"])):Y("",!0),i.document.public_comment&&i.document.url?(y(),C("a",{key:1,href:i.document.url,target:"_blank",rel:"noopener noreferrer",class:"original-doc-btn"},t[6]||(t[6]=[u("i",{class:"fas fa-external-link-alt"},null,-1),X(" 原文を表示 ")]),8,Iu)):Y("",!0)])]),i.document.public_comment&&i.linkedRevisions.length>0?(y(),C("div",pu,[t[7]||(t[7]=u("h2",null,"関連する改訂履歴",-1)),u("div",hu,[(y(!0),C(de,null,ye(i.linkedRevisions,c=>(y(),ut(r,{key:`${c.documentId}-${c.id}`,to:`/revisions/${c.documentId}/${c.id}`,class:"revision-link-item"},{default:xe(()=>[u("div",xu,[u("span",bu,K(i.formatDisplayName(c.documentName)),1),u("span",mu,K(c.title),1)]),c.description?(y(),C("div",vu,K(c.description),1)):Y("",!0),u("div",gu,K(i.formatDate(c.date)),1)]),_:2},1032,["to"]))),128))])])):Y("",!0),u("div",_u,[_e(u("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=c=>i.searchQuery=c),placeholder:"検索...",class:"search-input",onFocus:t[1]||(t[1]=c=>i.isSearchFocused=!0),onBlur:t[2]||(t[2]=c=>i.isSearchFocused=!1)},null,544),[[qe,i.searchQuery]])]),u("div",yu,[(y(!0),C(de,null,ye(i.filteredItems,c=>{var d,l,a;return y(),C("div",{key:c.id,class:"tweet",onClick:I=>i.goToItem(c.id)},[u("div",Tu,[u("span",Cu,K(c.index),1)]),i.document.public_comment?(y(),C("div",ku,[u("div",Su,[t[8]||(t[8]=u("div",{class:"qa-label"},[u("i",{class:"fas fa-question-circle"}),X(" 質問 ")],-1)),u("p",{class:"tweet-content",innerHTML:i.highlightContent(c.question)},null,8,Eu)]),u("div",Ru,[t[9]||(t[9]=u("div",{class:"qa-label"},[u("i",{class:"fas fa-comment-dots"}),X(" 回答 ")],-1)),u("p",{class:"tweet-content",innerHTML:i.highlightContent(c.answer)},null,8,Nu)]),(d=c.links)!=null&&d.length?(y(),C("div",Lu,[u("span",Au,[t[10]||(t[10]=u("i",{class:"fas fa-link"},null,-1)),X(" 関連リンク("+K(c.links.length)+") ",1)])])):Y("",!0)])):(y(),C(de,{key:1},[u("p",{class:"tweet-content",innerHTML:i.highlightContent(c.content)},null,8,Ou),i.hasMetaInfo(c)?(y(),C("div",Du,[(l=c.links)!=null&&l.length?(y(),C("span",Pu,[t[11]||(t[11]=u("i",{class:"fas fa-link"},null,-1)),X(" 関連リンク("+K(c.links.length)+") ",1)])):Y("",!0),(a=c.public_comment_links)!=null&&a.length?(y(),C("span",Fu," パブリックコメント("+K(c.public_comment_links.length)+") ",1)):Y("",!0)])):Y("",!0)],64))],8,wu)}),128))])])):Y("",!0)}const qu=Be(du,[["render",Mu],["__scopeId","data-v-804b1857"]]);const $u={name:"TweetLinks",props:{links:{type:Array,required:!0},baseUrl:{type:String,default:""}},methods:{getLinkTo(e){const[t,n]=this.getFullUrl(e).split("/");return{name:"tweet",params:{documentId:t,tweetId:n},query:{back:this.$route.fullPath}}},debugLink(e){const t=this.getLinkTo(e),n=`/document/${t.params.documentId}/${t.params.tweetId}`;console.log("Debug: Clicked link",{text:e.text,url:e.url,to:t,fullPath:n})},highlightContent(e){if(!e||!e.links)return e.content;let t=e.content;return e.links.forEach(n=>{const i=n.text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=new RegExp(`(${i})`,"gi");t=t.replace(o,'$1')}),t},getFullUrl(e){return e.url.includes("/")?e.url:`${this.baseUrl}/${e.url}`},getBaseUrl(e){return this.getFullUrl(e).split("/")[0]},getLinkContent(e){const[t,n]=this.getFullUrl(e).split("/"),i=Ut[t];if(i){const o=i.tweets.find(s=>s.id===n);if(o)return o}return null}},created(){this.links.forEach(e=>{e.content||(e.content=this.getLinkContent(e))})}},Uu={class:"tweet-links-list"},Hu={key:0,class:"linked-content"},ju=["innerHTML"];function Vu(e,t,n,i,o,s){const r=Ae("router-link"),c=Ae("tweet-links",!0);return y(),C("ul",Uu,[(y(!0),C(de,null,ye(n.links,d=>(y(),C("li",{key:d.url,class:"tweet-link-item"},[Z(r,{to:s.getLinkTo(d),class:"link-title",onClick:l=>s.debugLink(d)},{default:xe(()=>[X(K(d.text),1)]),_:2},1032,["to","onClick"]),d.content?(y(),C("div",Hu,[d.content.content?(y(),C("p",{key:0,innerHTML:s.highlightContent(d.content)},null,8,ju)):Y("",!0),d.content.links&&d.content.links.length>0?(y(),ut(c,{key:1,links:d.content.links,"base-url":s.getBaseUrl(d)},null,8,["links","base-url"])):Y("",!0)])):Y("",!0)]))),128))])}const Bu=Be($u,[["render",Vu],["__scopeId","data-v-7a618d33"]]);const Ku={name:"RevisionSelector",props:{document:{type:Object,required:!0},initialSelections:{type:Array,default:()=>[]}},emits:["save","close"],setup(e,{emit:t}){const n=ue([...e.initialSelections]),i=ue(""),o=z(()=>e.document.revisions?i.value?e.document.revisions.filter(l=>{const a=i.value.toLowerCase().split(" "),I=[l.title,l.description,...l.articles.map(h=>`${h.before||""} ${h.after||""}`)].join(" ").toLowerCase();return a.every(h=>I.includes(h))}):e.document.revisions:[]);return{selectedRevisions:n,searchQuery:i,filteredRevisions:o,filteredArticles:l=>{if(!i.value)return l.articles;const a=i.value.toLowerCase().split(" ");return l.articles.filter(I=>{const h=`${I.before||""} ${I.after||""}`;return a.every(x=>h.toLowerCase().includes(x))})},formatDate:l=>new Date(l).toLocaleDateString("ja-JP",{year:"numeric",month:"2-digit",day:"2-digit"}),highlightSearchTerms:l=>{if(!i.value||!l)return l;let a=l;return i.value.toLowerCase().split(" ").forEach(h=>{const x=new RegExp(`(${h})`,"gi");a=a.replace(x,'$1')}),a},save:()=>{t("save",n.value),t("close")}}}},Wu={class:"modal-header"},zu={class:"search-container"},Ju={class:"search-input-wrapper"},Gu={class:"modal-body"},Qu={key:0},Yu={class:"revision-header"},Xu={class:"revision-date"},Zu={class:"article-checkbox"},ef=["value"],tf={class:"article-preview"},nf={class:"article-header"},of={class:"revision-title"},sf={class:"article-content"},rf={key:0,class:"before-content"},cf=["innerHTML"],df={key:1,class:"after-content"},lf=["innerHTML"],af={key:1,class:"no-revisions"},uf={class:"modal-footer"};function ff(e,t,n,i,o,s){return y(),C("div",{class:"modal-overlay",onClick:t[7]||(t[7]=r=>e.$emit("close"))},[u("div",{class:"modal-content",onClick:t[6]||(t[6]=ci(()=>{},["stop"]))},[u("div",Wu,[t[8]||(t[8]=u("h2",null,"改訂履歴の追加",-1)),u("button",{class:"close-button",onClick:t[0]||(t[0]=r=>e.$emit("close"))},"×")]),u("div",zu,[u("div",Ju,[t[10]||(t[10]=u("i",{class:"fas fa-search search-icon"},null,-1)),_e(u("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=r=>i.searchQuery=r),placeholder:"改訂履歴を検索...",class:"search-input"},null,512),[[qe,i.searchQuery]]),i.searchQuery?(y(),C("button",{key:0,class:"clear-button",onClick:t[2]||(t[2]=r=>i.searchQuery="")},t[9]||(t[9]=[u("i",{class:"fas fa-times"},null,-1)]))):Y("",!0)])]),u("div",Gu,[n.document.revisions&&n.document.revisions.length>0?(y(),C("div",Qu,[(y(!0),C(de,null,ye(i.filteredRevisions,r=>(y(),C("div",{key:r.id,class:"revision-item"},[u("div",Yu,[u("span",Xu,K(i.formatDate(r.date)),1)]),(y(!0),C(de,null,ye(i.filteredArticles(r),c=>(y(),C("div",{key:c.id,class:"article-item"},[u("label",Zu,[_e(u("input",{type:"checkbox",value:`${n.document.accountId}/revisions/${r.id}/${c.id}`,"onUpdate:modelValue":t[3]||(t[3]=d=>i.selectedRevisions=d)},null,8,ef),[[yr,i.selectedRevisions]]),u("div",tf,[u("div",nf,[u("span",of,K(r.title),1),u("span",{class:en(["article-status",c.status])},K(c.status),3)]),u("div",sf,[c.before?(y(),C("div",rf,[t[11]||(t[11]=u("strong",null,"改正前:",-1)),u("span",{innerHTML:i.highlightSearchTerms(c.before)},null,8,cf)])):Y("",!0),c.after?(y(),C("div",df,[t[12]||(t[12]=u("strong",null,"改正後:",-1)),u("span",{innerHTML:i.highlightSearchTerms(c.after)},null,8,lf)])):Y("",!0)])])])]))),128))]))),128))])):(y(),C("div",af," 改訂履歴がありません "))]),u("div",uf,[u("button",{class:"cancel-button",onClick:t[4]||(t[4]=r=>e.$emit("close"))},"キャンセル"),u("button",{class:"save-button",onClick:t[5]||(t[5]=(...r)=>i.save&&i.save(...r))},"保存")])])])}const If=Be(Ku,[["render",ff],["__scopeId","data-v-150e8811"]]);const Ti="legal-documents-data",pf={name:"Tweet",components:{TweetLinks:Bu,RevisionSelector:If},setup(){const e=Ot();At();const t=ue(null),n=ue(null),i=ue(!1),o=z(()=>`/document/${e.params.documentId}/${e.params.tweetId}`),s=z(()=>e.query.back||`/document/${e.params.documentId}`),r=z(()=>{var m;if(!((m=n.value)!=null&&m.content))return"";let g=n.value.content;return n.value.links&&n.value.links.forEach(S=>{const N=S.text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),v=new RegExp(`(${N})`,"gi");g=g.replace(v,'$1')}),g}),c=g=>{const m=g.split("/");return m.length!==4?(console.error("Invalid revision path format:",g),{documentId:"",revisionId:"",articleId:""}):{documentId:m[0],revisionId:m[2],articleId:m[3]}},d=g=>{const m=c(g);if(!t.value||!m.documentId)return null;const S=t.value;return S.revisions?S.revisions.find(N=>N.id===m.revisionId):null},l=g=>{const m=d(g),S=c(g);return!m||!m.articles?[]:m.articles.filter(N=>N.id===S.articleId)},a=()=>{const g=window.location.href;navigator.clipboard.writeText(g).then(()=>{alert("URLがコピーされました")}).catch(m=>{console.error("URLのコピーに失敗しました:",m)})},I=(g,m)=>{if(!g)return m;const S=fo(g,m);let N="";return S.forEach(v=>{v.added?N+=`${v.value}`:v.removed||(N+=v.value)}),N},h=g=>{const m=localStorage.getItem(Ti);if(m)try{const S=JSON.parse(m),N=S[e.params.documentId],v=N.tweets.find(E=>E.id===e.params.tweetId);v&&(v.revision=g,localStorage.setItem(Ti,JSON.stringify(S)),t.value=N,n.value=v)}catch(S){console.error("Failed to save revision links:",S)}},x=()=>{const g=localStorage.getItem(Ti);if(g)try{const m=JSON.parse(g);t.value=m[e.params.documentId],t.value&&(t.value.public_comment?n.value=t.value.questions.find(S=>S.id===e.params.tweetId):n.value=t.value.tweets.find(S=>S.id===e.params.tweetId))}catch(m){console.error("Failed to load documents:",m)}};return zt(()=>e.params,()=>{x()},{immediate:!0}),{document:t,tweet:n,currentUrl:o,backUrl:s,highlightedContent:r,showRevisionSelector:i,getRevisionContent:d,getRevisionArticles:l,copyUrl:a,saveRevisionLinks:h,highlightChanges:I}}},hf={class:"tweet-page"},xf={key:0,class:"tweet-container"},bf={class:"tweet-profile-header"},mf={key:0,class:"tweet"},vf={class:"tweet-header"},gf={class:"index"},_f={class:"document-title"},yf={key:0,class:"qa-content"},wf={class:"question"},Tf=["innerHTML"],Cf={class:"answer"},kf=["innerHTML"],Sf=["innerHTML"],Ef={class:"tweet-actions"},Rf={key:2,class:"tweet-links"},Nf={key:3,class:"revision-links"},Lf={class:"revision-content"},Af={key:0,class:"revision-details"},Of={key:0,class:"revision-description"},Df={key:1,class:"revision-source"},Pf=["href"],Ff={class:"comparison-container"},Mf={class:"comparison-column before"},qf={key:0,class:"content"},$f={key:1,class:"no-content"},Uf={class:"comparison-column after"},Hf=["innerHTML"],jf={key:1,class:"no-content"},Vf={key:1,class:"error-message"},Bf={key:1,class:"error-message"};function Kf(e,t,n,i,o,s){const r=Ae("router-link"),c=Ae("tweet-links"),d=Ae("revision-selector");return y(),C("div",hf,[i.document?(y(),C("div",xf,[u("div",bf,[Z(r,{to:i.backUrl,class:"tweet-back-link"},{default:xe(()=>t[3]||(t[3]=[X("←")])),_:1},8,["to"]),u("h1",null,K(i.document.displayName),1)]),i.tweet?(y(),C("div",mf,[u("div",vf,[u("span",gf,K(i.tweet.index),1),u("span",_f,K(i.document.displayName),1)]),i.document.public_comment?(y(),C("div",yf,[u("div",wf,[t[4]||(t[4]=u("div",{class:"qa-label"},[u("i",{class:"fas fa-question-circle"}),X(" 質問 ")],-1)),u("p",{class:"tweet-content",innerHTML:i.tweet.question},null,8,Tf)]),u("div",Cf,[t[5]||(t[5]=u("div",{class:"qa-label"},[u("i",{class:"fas fa-comment-dots"}),X(" 回答 ")],-1)),u("p",{class:"tweet-content",innerHTML:i.tweet.answer},null,8,kf)])])):(y(),C("p",{key:1,class:"tweet-content",innerHTML:i.highlightedContent},null,8,Sf)),u("div",Ef,[u("button",{class:"copy-url-btn",onClick:t[0]||(t[0]=(...l)=>i.copyUrl&&i.copyUrl(...l))},t[6]||(t[6]=[u("i",{class:"fas fa-link"},null,-1),X(" URLをコピー ")])),i.document.revisions?(y(),C("button",{key:0,class:"add-revision-link-btn",onClick:t[1]||(t[1]=l=>i.showRevisionSelector=!0)},t[7]||(t[7]=[u("i",{class:"fas fa-history"},null,-1),X(" 改訂履歴を追加 ")]))):Y("",!0)]),i.tweet.links&&i.tweet.links.length>0?(y(),C("div",Rf,[t[8]||(t[8]=u("h3",null,"関連リンク:",-1)),Z(c,{links:i.tweet.links,"base-url":i.currentUrl},null,8,["links","base-url"])])):Y("",!0),i.tweet.revision&&i.tweet.revision.length>0?(y(),C("div",Nf,[t[11]||(t[11]=u("h3",null,"改訂履歴:",-1)),(y(!0),C(de,null,ye(i.tweet.revision,l=>(y(),C("div",{key:l,class:"revision-item"},[u("div",Lf,[i.getRevisionContent(l)?(y(),C("div",Af,[u("h4",null,K(i.getRevisionContent(l).title),1),i.getRevisionContent(l).description?(y(),C("div",Of,K(i.getRevisionContent(l).description),1)):Y("",!0),i.getRevisionContent(l).sourceUrl?(y(),C("div",Df,[u("a",{href:i.getRevisionContent(l).sourceUrl,target:"_blank",rel:"noopener noreferrer"}," 参考リンク ",8,Pf)])):Y("",!0),(y(!0),C(de,null,ye(i.getRevisionArticles(l),a=>(y(),C("div",{key:a.id,class:"article-container"},[u("div",{class:en(["article-status",a.status])},K(a.status),3),u("div",Ff,[u("div",Mf,[t[9]||(t[9]=u("h4",null,"改正前",-1)),a.before?(y(),C("div",qf,K(a.before),1)):(y(),C("div",$f,"改正前の内容なし"))]),u("div",Uf,[t[10]||(t[10]=u("h4",null,"改正後",-1)),a.after?(y(),C("div",{key:0,class:"content",innerHTML:i.highlightChanges(a.before,a.after)},null,8,Hf)):(y(),C("div",jf,"改正後の内容なし"))])])]))),128))])):Y("",!0)])]))),128))])):Y("",!0)])):(y(),C("div",Vf," 指定されたツイートが見つかりません。 "))])):(y(),C("div",Bf," 指定された文書が見つかりません。 ")),i.showRevisionSelector?(y(),ut(d,{key:2,document:i.document,"initial-selections":i.tweet.revision||[],onSave:i.saveRevisionLinks,onClose:t[2]||(t[2]=l=>i.showRevisionSelector=!1)},null,8,["document","initial-selections","onSave"])):Y("",!0)])}const Wf=Be(pf,[["render",Kf],["__scopeId","data-v-4a346623"]]);const Is="legal-documents-data",zf={name:"RevisionPage",setup(){const e=Ot(),t=At(),n=ue(null),i=z(()=>e.params.documentId),o=z(()=>e.params.revisionId),s=z(()=>`/document/${i.value}`),r=z(()=>!n.value||!i.value?null:n.value[i.value]),c=z(()=>{var m;return(m=r.value)!=null&&m.revisions?[...r.value.revisions].sort((S,N)=>new Date(N.date)-new Date(S.date)):[]}),d=z(()=>r.value?`${l(r.value.displayName)} - 改訂履歴`:"改訂履歴"),l=m=>(m==null?void 0:m.replace(/
/gi,""))||"",a=m=>new Date(m).toLocaleDateString("ja-JP",{year:"numeric",month:"2-digit",day:"2-digit"}),I=()=>{t.push(`/revisions/${i.value}/new`)},h=m=>{t.push(`/revisions/${i.value}/edit/${m.id}`)},x=async m=>{if(confirm("この改訂履歴を削除してもよろしいですか?")){const S={...n.value},N=S[i.value];N.revisions=N.revisions.filter(v=>v.id!==m.id);try{localStorage.setItem(Is,JSON.stringify(S)),n.value=S}catch(v){console.error("Failed to save documents:",v),alert("改訂履歴の削除に失敗しました")}}},g=m=>!m.publicCommentLinks||!n.value?[]:m.publicCommentLinks.map(S=>n.value[S]).filter(S=>S&&S.public_comment);return wt(()=>{const m=localStorage.getItem(Is);if(m)try{n.value=JSON.parse(m)}catch(S){console.error("Failed to parse stored documents:",S)}}),{documentId:i,revisionId:o,currentDocument:r,sortedRevisions:c,backLink:s,pageTitle:d,formatDisplayName:l,formatDate:a,addNewRevision:I,editRevision:h,deleteRevision:x,getPublicComments:g}}},Jf={class:"revision-page"},Gf={class:"page-header"},Qf={class:"page-content"},Yf={key:0,class:"revisions-list"},Xf={class:"revisions-header"},Zf={key:0,class:"no-revisions"},eI={class:"revision-header"},tI={class:"revision-actions"},nI=["onClick"],iI=["onClick"],oI={class:"revision-info"},sI={class:"info-row"},rI={key:0,class:"info-row"},cI={key:1,class:"info-row"},dI=["href"],lI={key:2,class:"info-row"},aI={class:"public-comments-list"},uI={key:1,class:"no-revisions"};function fI(e,t,n,i,o,s){const r=Ae("router-link");return y(),C("div",Jf,[u("header",Gf,[Z(r,{to:i.backLink,class:"back-link"},{default:xe(()=>t[1]||(t[1]=[u("i",{class:"fas fa-arrow-left"},null,-1),u("span",null,"戻る",-1)])),_:1},8,["to"]),u("h1",null,K(i.pageTitle),1)]),u("main",Qf,[i.currentDocument?(y(),C("div",Yf,[u("div",Xf,[t[3]||(t[3]=u("h2",null,"改訂一覧",-1)),u("button",{class:"add-revision-button",onClick:t[0]||(t[0]=(...c)=>i.addNewRevision&&i.addNewRevision(...c))},t[2]||(t[2]=[u("i",{class:"fas fa-plus"},null,-1),X(" 新規改訂を追加 ")]))]),!i.currentDocument.revisions||i.currentDocument.revisions.length===0?(y(),C("div",Zf," 改訂履歴がありません ")):(y(!0),C(de,{key:1},ye(i.sortedRevisions,c=>(y(),C("div",{key:c.id,class:"revision-item"},[u("div",eI,[u("h3",null,K(c.title),1),u("div",tI,[Z(r,{to:`/revisions/${i.documentId}/${c.id}`,class:"view-button"},{default:xe(()=>t[4]||(t[4]=[u("i",{class:"fas fa-eye"},null,-1),X(" 表示 ")])),_:2},1032,["to"]),u("button",{class:"edit-button",onClick:d=>i.editRevision(c)},t[5]||(t[5]=[u("i",{class:"fas fa-pencil-alt"},null,-1),X(" 編集 ")]),8,nI),u("button",{class:"delete-button",onClick:d=>i.deleteRevision(c)},t[6]||(t[6]=[u("i",{class:"fas fa-trash"},null,-1),X(" 削除 ")]),8,iI)])]),u("div",oI,[u("div",sI,[t[7]||(t[7]=u("span",{class:"label"},"日付:",-1)),u("span",null,K(i.formatDate(c.date)),1)]),c.description?(y(),C("div",rI,[t[8]||(t[8]=u("span",{class:"label"},"説明:",-1)),u("span",null,K(c.description),1)])):Y("",!0),c.sourceUrl?(y(),C("div",cI,[t[9]||(t[9]=u("span",{class:"label"},"URL:",-1)),u("a",{href:c.sourceUrl,target:"_blank",rel:"noopener noreferrer"},K(c.sourceUrl),9,dI)])):Y("",!0),i.getPublicComments(c).length>0?(y(),C("div",lI,[t[10]||(t[10]=u("span",{class:"label"},"パブリックコメント:",-1)),u("div",aI,[(y(!0),C(de,null,ye(i.getPublicComments(c),d=>(y(),ut(r,{key:d.id,to:`/document/${d.id}`,class:"public-comment-link"},{default:xe(()=>[X(K(i.formatDisplayName(d.displayName)),1)]),_:2},1032,["to"]))),128))])])):Y("",!0)])]))),128))])):(y(),C("div",uI," 指定された文書が見つかりません "))])])}const II=Be(zf,[["render",fI],["__scopeId","data-v-bdf9f51b"]]);const pI="legal-documents-data",hI={name:"RevisionDetail",setup(){const e=Ot();At();const t=ue(null),n=z(()=>e.params.documentId),i=z(()=>e.params.revisionId),o=z(()=>`/revisions/${n.value}`),s=z(()=>!t.value||!n.value?null:t.value[n.value]),r=z(()=>{var h;return(h=s.value)!=null&&h.revisions?s.value.revisions.find(x=>x.id===i.value):null}),c=z(()=>s.value?`${l(s.value.displayName)} - 改訂詳細`:"改訂詳細"),d=z(()=>{var h;return!((h=r.value)!=null&&h.publicCommentLinks)||!t.value?[]:r.value.publicCommentLinks.map(x=>t.value[x]).filter(x=>x&&x.public_comment)}),l=h=>(h==null?void 0:h.replace(/
/gi,""))||"",a=h=>new Date(h).toLocaleDateString("ja-JP",{year:"numeric",month:"2-digit",day:"2-digit"}),I=h=>h?h.replace(/\n/g,"
"):"";return wt(()=>{const h=localStorage.getItem(pI);if(h)try{t.value=JSON.parse(h)}catch(x){console.error("Failed to parse stored documents:",x)}}),{currentDocument:s,currentRevision:r,backLink:o,pageTitle:c,publicComments:d,formatDisplayName:l,formatDate:a,formatText:I}}},xI={class:"revision-page"},bI={class:"page-header"},mI={class:"page-content"},vI={key:0,class:"revision-content"},gI={class:"revision-header"},_I={class:"revision-title"},yI={class:"revision-date"},wI=["innerHTML"],TI={key:1,class:"revision-source"},CI=["href"],kI={key:2,class:"public-comments"},SI={class:"public-comments-list"},EI={class:"articles-list"},RI={class:"comparison-container"},NI={class:"comparison-column before"},LI=["innerHTML"],AI={key:1,class:"no-content"},OI={class:"comparison-column after"},DI={key:0,class:"content deleted"},PI=["innerHTML"],FI={key:2,class:"no-content"},MI={key:1,class:"no-revision"};function qI(e,t,n,i,o,s){const r=Ae("router-link");return y(),C("div",xI,[u("header",bI,[Z(r,{to:i.backLink,class:"back-link"},{default:xe(()=>t[0]||(t[0]=[u("i",{class:"fas fa-arrow-left"},null,-1),u("span",null,"戻る",-1)])),_:1},8,["to"]),u("h1",null,K(i.pageTitle),1)]),u("main",mI,[i.currentRevision?(y(),C("div",vI,[u("div",gI,[u("div",_I,K(i.currentRevision.title),1),u("div",yI,K(i.formatDate(i.currentRevision.date)),1)]),i.currentRevision.description?(y(),C("div",{key:0,class:"revision-description",innerHTML:i.formatText(i.currentRevision.description)},null,8,wI)):Y("",!0),i.currentRevision.sourceUrl?(y(),C("div",TI,[u("a",{href:i.currentRevision.sourceUrl,target:"_blank",rel:"noopener noreferrer"},t[1]||(t[1]=[u("i",{class:"fas fa-external-link-alt"},null,-1),X(" 参考リンク ")]),8,CI)])):Y("",!0),i.publicComments.length>0?(y(),C("div",kI,[t[2]||(t[2]=u("h2",null,"関連するパブリックコメント",-1)),u("div",SI,[(y(!0),C(de,null,ye(i.publicComments,c=>(y(),ut(r,{key:c.id,to:`/document/${c.id}`,class:"public-comment-link"},{default:xe(()=>[X(K(i.formatDisplayName(c.displayName)),1)]),_:2},1032,["to"]))),128))])])):Y("",!0),u("div",EI,[(y(!0),C(de,null,ye(i.currentRevision.articles,c=>(y(),C("div",{key:c.id,class:"article-container"},[u("div",{class:en(["article-status",c.status])},K(c.status),3),u("div",RI,[u("div",NI,[t[3]||(t[3]=u("h4",null,"改正前",-1)),c.before?(y(),C("div",{key:0,class:"content",innerHTML:i.formatText(c.before)},null,8,LI)):(y(),C("div",AI,"改正前の内容なし"))]),u("div",OI,[t[4]||(t[4]=u("h4",null,"改正後",-1)),c.status==="削除"?(y(),C("div",DI,"削除")):c.after?(y(),C("div",{key:1,class:"content",innerHTML:i.formatText(c.after)},null,8,PI)):(y(),C("div",FI,"改正後の内容なし"))])])]))),128))])])):(y(),C("div",MI," 指定された改訂が見つかりません "))])])}const $I=Be(hI,[["render",qI],["__scopeId","data-v-cba56555"]]);let Dn;const UI=new Uint8Array(16);function HI(){if(!Dn&&(Dn=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Dn))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Dn(UI)}const ge=[];for(let e=0;e<256;++e)ge.push((e+256).toString(16).slice(1));function jI(e,t=0){return ge[e[t+0]]+ge[e[t+1]]+ge[e[t+2]]+ge[e[t+3]]+"-"+ge[e[t+4]]+ge[e[t+5]]+"-"+ge[e[t+6]]+ge[e[t+7]]+"-"+ge[e[t+8]]+ge[e[t+9]]+"-"+ge[e[t+10]]+ge[e[t+11]]+ge[e[t+12]]+ge[e[t+13]]+ge[e[t+14]]+ge[e[t+15]]}const VI=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ps={randomUUID:VI};function Jt(e,t,n){if(ps.randomUUID&&!t&&!e)return ps.randomUUID();e=e||{};const i=e.random||(e.rng||HI)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){n=n||0;for(let o=0;o<16;++o)t[n+o]=i[o];return t}return jI(i)}const hs="legal-documents-data",BI={name:"RevisionEditorPage",setup(){const e=Ot(),t=At(),n=ue(null),i=ue(""),o=ue(""),s=ue(""),r=ue(""),c=ue([]),d=ue([]),l=z(()=>e.params.documentId),a=z(()=>e.params.revisionId),I=z(()=>e.params.action==="new"),h=z(()=>`/revisions/${l.value}`),x=z(()=>n.value?Object.entries(n.value).filter(([_,O])=>O.public_comment).map(([_,O])=>({id:_,displayName:O.displayName})):[]),g=z(()=>i.value&&o.value&&c.value.length>0&&c.value.every(_=>_.status==="新設"?!!_.after:_.status==="削除"?!!_.before:_.before&&_.after)),m=_=>(_==null?void 0:_.replace(/
/gi,""))||"",S=()=>{c.value.push({id:Jt(),status:"改正",before:"",after:""})},N=_=>{c.value.splice(_,1)},v=()=>{const _=n.value[l.value];if(_!=null&&_.revisions){const O=_.revisions.find(M=>M.id===a.value);O&&(i.value=O.title,o.value=O.date,s.value=O.description||"",r.value=O.sourceUrl||"",c.value=O.articles.map(M=>({...M,id:M.id||Jt()})),d.value=O.publicCommentLinks||[])}},E=async()=>{const _={id:a.value||Jt(),title:i.value,date:o.value,description:s.value,sourceUrl:r.value,articles:c.value.map(G=>({...G,before:G.status==="新設"?null:G.before,after:G.status==="削除"?null:G.after})),publicCommentLinks:d.value},O={...n.value},M=O[l.value];M.revisions||(M.revisions=[]);const J=M.revisions.findIndex(G=>G.id===_.id);J!==-1?M.revisions[J]=_:M.revisions.push(_);try{localStorage.setItem(hs,JSON.stringify(O)),t.push(h.value)}catch(G){console.error("Failed to save revision:",G),alert("改訂の保存に失敗しました")}};return wt(()=>{const _=localStorage.getItem(hs);if(_)try{n.value=JSON.parse(_),!I.value&&a.value&&v()}catch(O){console.error("Failed to parse stored documents:",O)}}),{isNew:I,backLink:h,title:i,date:o,description:s,sourceUrl:r,articles:c,selectedPublicComments:d,availablePublicComments:x,isValid:g,formatDisplayName:m,addArticle:S,removeArticle:N,saveRevision:E}}},KI={class:"editor-page"},WI={class:"page-header"},zI={class:"page-content"},JI={class:"form-group"},GI={class:"form-group"},QI={class:"form-group"},YI={class:"form-group"},XI={class:"public-comments-section"},ZI={key:0,class:"no-comments"},e1={key:1,class:"comments-list"},t1={class:"comment-checkbox"},n1=["value"],i1={class:"comment-preview"},o1={class:"comment-header"},s1={class:"document-name"},r1={class:"articles-section"},c1={class:"section-header"},d1={key:0,class:"no-items"},l1={class:"article-header"},a1=["onClick"],u1={class:"article-content"},f1={class:"form-group"},I1=["onUpdate:modelValue"],p1={class:"form-group"},h1={key:0,class:"no-content"},x1=["onUpdate:modelValue"],b1={class:"form-group"},m1={key:0,class:"no-content deleted"},v1=["onUpdate:modelValue"],g1={class:"form-actions"},_1=["disabled"];function y1(e,t,n,i,o,s){const r=Ae("router-link");return y(),C("div",KI,[u("header",WI,[Z(r,{to:i.backLink,class:"back-link"},{default:xe(()=>t[7]||(t[7]=[u("i",{class:"fas fa-arrow-left"},null,-1),u("span",null,"戻る",-1)])),_:1},8,["to"]),u("h1",null,K(i.isNew?"新規改訂の追加":"改訂の編集"),1)]),u("main",zI,[u("form",{onSubmit:t[6]||(t[6]=ci((...c)=>i.saveRevision&&i.saveRevision(...c),["prevent"])),class:"editor-form"},[u("div",JI,[t[8]||(t[8]=u("label",null,"改訂タイトル",-1)),_e(u("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=c=>i.title=c),class:"form-control",placeholder:"例: 令和5年改正",required:""},null,512),[[qe,i.title]])]),u("div",GI,[t[9]||(t[9]=u("label",null,"改訂日",-1)),_e(u("input",{type:"date","onUpdate:modelValue":t[1]||(t[1]=c=>i.date=c),class:"form-control",required:""},null,512),[[qe,i.date]])]),u("div",QI,[t[10]||(t[10]=u("label",null,"改訂説明",-1)),_e(u("textarea",{"onUpdate:modelValue":t[2]||(t[2]=c=>i.description=c),class:"form-control",rows:"3",placeholder:"改訂の概要を入力してください"},null,512),[[qe,i.description]])]),u("div",YI,[t[11]||(t[11]=u("label",null,"改訂ソースURL",-1)),_e(u("input",{type:"url","onUpdate:modelValue":t[3]||(t[3]=c=>i.sourceUrl=c),class:"form-control",placeholder:"https://..."},null,512),[[qe,i.sourceUrl]])]),u("div",XI,[t[13]||(t[13]=u("h2",null,"関連するパブリックコメント",-1)),i.availablePublicComments.length===0?(y(),C("div",ZI," 利用可能なパブリックコメントがありません ")):(y(),C("div",e1,[(y(!0),C(de,null,ye(i.availablePublicComments,c=>(y(),C("div",{key:c.id,class:"comment-item"},[u("label",t1,[_e(u("input",{type:"checkbox",value:c.id,"onUpdate:modelValue":t[4]||(t[4]=d=>i.selectedPublicComments=d)},null,8,n1),[[yr,i.selectedPublicComments]]),u("div",i1,[u("div",o1,[u("span",s1,K(i.formatDisplayName(c.displayName)),1),Z(r,{to:`/document/${c.id}`,class:"view-link",target:"_blank"},{default:xe(()=>t[12]||(t[12]=[u("i",{class:"fas fa-external-link-alt"},null,-1),X(" 表示 ")])),_:2},1032,["to"])])])])]))),128))]))]),u("div",r1,[u("div",c1,[t[15]||(t[15]=u("h2",null,"条文の編集",-1)),u("button",{type:"button",class:"add-button",onClick:t[5]||(t[5]=(...c)=>i.addArticle&&i.addArticle(...c))},t[14]||(t[14]=[u("i",{class:"fas fa-plus"},null,-1),X(" 条文を追加 ")]))]),i.articles.length===0?(y(),C("div",d1," 条文が追加されていません ")):(y(!0),C(de,{key:1},ye(i.articles,(c,d)=>(y(),C("div",{key:c.id,class:"article-item"},[u("div",l1,[u("h3",null,"条文 "+K(d+1),1),u("button",{type:"button",class:"remove-button",onClick:l=>i.removeArticle(d)},t[16]||(t[16]=[u("i",{class:"fas fa-trash"},null,-1)]),8,a1)]),u("div",u1,[u("div",f1,[t[18]||(t[18]=u("label",null,"状態",-1)),_e(u("select",{"onUpdate:modelValue":l=>c.status=l,class:"form-control",required:""},t[17]||(t[17]=[u("option",{value:"改正"},"改正",-1),u("option",{value:"新設"},"新設",-1),u("option",{value:"削除"},"削除",-1)]),8,I1),[[el,c.status]])]),u("div",p1,[t[19]||(t[19]=u("label",null,"改正前",-1)),c.status==="新設"?(y(),C("div",h1," 改正前の内容なし ")):_e((y(),C("textarea",{key:1,"onUpdate:modelValue":l=>c.before=l,class:"form-control",rows:"4",required:""},null,8,x1)),[[qe,c.before]])]),u("div",b1,[t[20]||(t[20]=u("label",null,"改正後",-1)),c.status==="削除"?(y(),C("div",m1," 削除 ")):_e((y(),C("textarea",{key:1,"onUpdate:modelValue":l=>c.after=l,class:"form-control",rows:"4",required:""},null,8,v1)),[[qe,c.after]])])])]))),128))]),u("div",g1,[Z(r,{to:i.backLink,class:"cancel-button"},{default:xe(()=>t[21]||(t[21]=[X("キャンセル")])),_:1},8,["to"]),u("button",{type:"submit",class:"save-button",disabled:!i.isValid},"保存",8,_1)])],32)])])}const xs=Be(BI,[["render",y1],["__scopeId","data-v-16b1000e"]]);const w1={name:"ScrollToTop",setup(){const e=ue(!1),t=()=>{e.value=window.scrollY>300},n=()=>{window.scrollTo({top:0,behavior:"smooth"})};return wt(()=>{window.addEventListener("scroll",t)}),so(()=>{window.removeEventListener("scroll",t)}),{showButton:e,scrollToTop:n}}};function T1(e,t,n,i,o,s){return _e((y(),C("button",{class:"scroll-to-top",onClick:t[0]||(t[0]=(...r)=>i.scrollToTop&&i.scrollToTop(...r)),"aria-label":"ページの先頭へ戻る"},t[1]||(t[1]=[u("i",{class:"fas fa-arrow-up"},null,-1)]),512)),[[$d,i.showButton]])}const C1=Be(w1,[["render",T1],["__scopeId","data-v-57de1376"]]);const Ci="legal-documents-data",k1={name:"PublicCommentEditor",components:{ScrollToTop:C1},setup(){const e=Ot(),t=At(),n=ue(""),i=ue(""),o=ue([]),s=ue(""),r=z(()=>e.query.edit),c=z(()=>n.value&&o.value.length>0&&o.value.every(g=>g.question&&g.answer)),d=g=>{g==="displayName"&&(n.value=n.value.replace(/\n/g,""))},l=(g,m)=>{o.value[g]&&(o.value[g][m]=o.value[g][m].replace(/\n/g,""))},a=()=>{o.value.push({id:Jt(),index:o.value.length+1,question:"",answer:""})},I=g=>{o.value.splice(g,1),o.value.forEach((m,S)=>{m.index=S+1})},h=()=>{if(!r.value)return;const g=e.query.edit,m=localStorage.getItem(Ci);if(m)try{const N=JSON.parse(m)[g];N&&N.public_comment&&(s.value=g,n.value=N.displayName,i.value=N.url||"",o.value=N.questions.map(v=>({...v,id:v.id||Jt()})))}catch(S){console.error("Failed to load document:",S)}},x=()=>{const g=s.value||Jt(),m={accountId:g,displayName:n.value,url:i.value||null,public_comment:!0,questions:o.value};try{const S=localStorage.getItem(Ci),N=S?JSON.parse(S):{};N[g]=m,localStorage.setItem(Ci,JSON.stringify(N)),t.push("/")}catch(S){console.error("Failed to save public comment:",S),alert("パブリックコメントの保存に失敗しました")}};return wt(()=>{h()}),{displayName:n,url:i,questions:o,isValid:c,isEditing:r,formatText:d,formatQuestionText:l,addQuestion:a,removeQuestion:I,savePublicComment:x}}},S1={class:"editor-page"},E1={class:"page-header"},R1={class:"page-content"},N1={class:"form-group"},L1={class:"input-group"},A1={class:"form-group"},O1={class:"questions-section"},D1={class:"section-header"},P1={key:0,class:"no-items"},F1={class:"question-header"},M1=["onClick"],q1={class:"question-content"},$1={class:"form-group"},U1={class:"input-group"},H1=["onUpdate:modelValue"],j1=["onClick"],V1={class:"form-group"},B1={class:"input-group"},K1=["onUpdate:modelValue"],W1=["onClick"],z1={class:"pre-action-buttons"},J1={class:"form-actions"},G1=["disabled"];function Q1(e,t,n,i,o,s){const r=Ae("router-link"),c=Ae("ScrollToTop");return y(),C("div",S1,[u("header",E1,[Z(r,{to:"/",class:"back-link"},{default:xe(()=>t[6]||(t[6]=[u("i",{class:"fas fa-arrow-left"},null,-1),u("span",null,"戻る",-1)])),_:1}),u("h1",null,K(i.isEditing?"パブリックコメントの編集":"パブリックコメントの追加"),1)]),u("main",R1,[u("form",{onSubmit:t[5]||(t[5]=ci((...d)=>i.savePublicComment&&i.savePublicComment(...d),["prevent"])),class:"editor-form"},[u("div",N1,[t[8]||(t[8]=u("label",null,"文書名",-1)),u("div",L1,[_e(u("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=d=>i.displayName=d),class:"form-control",placeholder:"例: 暗号資産関連法令に関するパブリックコメント",required:""},null,512),[[qe,i.displayName]]),u("button",{type:"button",class:"format-button",onClick:t[1]||(t[1]=d=>i.formatText("displayName"))},t[7]||(t[7]=[u("i",{class:"fas fa-magic"},null,-1),X(" フォーマット ")]))])]),u("div",A1,[t[9]||(t[9]=u("label",null,"原文URL",-1)),_e(u("input",{type:"url","onUpdate:modelValue":t[2]||(t[2]=d=>i.url=d),class:"form-control",placeholder:"https://..."},null,512),[[qe,i.url]])]),u("div",O1,[u("div",D1,[t[11]||(t[11]=u("h2",null,"質問と回答",-1)),u("button",{type:"button",class:"add-button",onClick:t[3]||(t[3]=(...d)=>i.addQuestion&&i.addQuestion(...d))},t[10]||(t[10]=[u("i",{class:"fas fa-plus"},null,-1),X(" 質問を追加 ")]))]),i.questions.length===0?(y(),C("div",P1," 質問が追加されていません ")):(y(!0),C(de,{key:1},ye(i.questions,(d,l)=>(y(),C("div",{key:d.id,class:"question-item"},[u("div",F1,[u("h3",null,"質問 "+K(l+1),1),u("button",{type:"button",class:"remove-button",onClick:a=>i.removeQuestion(l)},t[12]||(t[12]=[u("i",{class:"fas fa-trash"},null,-1)]),8,M1)]),u("div",q1,[u("div",$1,[t[14]||(t[14]=u("label",null,"質問内容",-1)),u("div",U1,[_e(u("textarea",{"onUpdate:modelValue":a=>d.question=a,class:"form-control",rows:"4",required:""},null,8,H1),[[qe,d.question]]),u("button",{type:"button",class:"format-button",onClick:a=>i.formatQuestionText(l,"question")},t[13]||(t[13]=[u("i",{class:"fas fa-magic"},null,-1),X(" フォーマット ")]),8,j1)])]),u("div",V1,[t[16]||(t[16]=u("label",null,"回答内容",-1)),u("div",B1,[_e(u("textarea",{"onUpdate:modelValue":a=>d.answer=a,class:"form-control",rows:"4",required:""},null,8,K1),[[qe,d.answer]]),u("button",{type:"button",class:"format-button",onClick:a=>i.formatQuestionText(l,"answer")},t[15]||(t[15]=[u("i",{class:"fas fa-magic"},null,-1),X(" フォーマット ")]),8,W1)])])])]))),128))]),u("div",z1,[u("button",{type:"button",class:"add-question-button",onClick:t[4]||(t[4]=(...d)=>i.addQuestion&&i.addQuestion(...d))},t[17]||(t[17]=[u("i",{class:"fas fa-plus"},null,-1),X(" 質問を追加 ")]))]),u("div",J1,[Z(r,{to:"/",class:"cancel-button"},{default:xe(()=>t[18]||(t[18]=[X("キャンセル")])),_:1}),u("button",{type:"submit",class:"save-button",disabled:!i.isValid},"保存",8,G1)])],32)]),Z(c)])}const Y1=Be(k1,[["render",Q1],["__scopeId","data-v-eaa13145"]]),Ur=ua({history:Hl(),routes:[{path:"/",component:cu},{path:"/document/:id",component:qu},{path:"/document/:documentId/:tweetId",component:Wf,name:"tweet"},{path:"/revisions/:documentId",component:II,name:"revisions"},{path:"/revisions/:documentId/:revisionId",component:$I,name:"revision-detail"},{path:"/revisions/:documentId/new",component:xs,name:"revision-editor-new",props:!0},{path:"/revisions/:documentId/edit/:revisionId",component:xs,name:"revision-editor-edit",props:!0},{path:"/public-comment/new",component:Y1,name:"public-comment-new"}]}),Hr=sl(al);Hr.use(Ur);Hr.mount("#app");window.$router=Ur; +事務ガイドラインIII-1-7で当局による確認の対象とされている「暗号資産関連業務」及び「新規サービス」が定義されていないが、資金決済法上、暗号資産交換業者には兼業規制は課されておらず、暗号資産交換業に該当しない他業の開始については事後届出の義務が課されているのみであることを踏まえると、これらはいずれも暗号資産交換業に該当するサービスを指すものと考えてよいか(資金決済法第 63 条の6第2項及び第 63 条の3第1項第 10 号)。`,answer:"ご指摘を踏まえ、当局が確認を行う対象が明確となるよう、事務ガイドライン案を修正いたします。"}]}};function It(){}It.prototype={diff:function(t,n){var i,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=o.callback;typeof o=="function"&&(s=o,o={}),this.options=o;var r=this;function c(_){return s?(setTimeout(function(){s(void 0,_)},0),!0):_}t=this.castInput(t),n=this.castInput(n),t=this.removeEmpty(this.tokenize(t)),n=this.removeEmpty(this.tokenize(n));var d=n.length,l=t.length,a=1,I=d+l;o.maxEditLength&&(I=Math.min(I,o.maxEditLength));var h=(i=o.timeout)!==null&&i!==void 0?i:1/0,x=Date.now()+h,g=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(g[0],n,t,0);if(g[0].oldPos+1>=l&&m+1>=d)return c([{value:this.join(n),count:n.length}]);var S=-1/0,N=1/0;function v(){for(var _=Math.max(S,-a);_<=Math.min(N,a);_+=2){var O=void 0,M=g[_-1],J=g[_+1];M&&(g[_-1]=void 0);var G=!1;if(J){var he=J.oldPos-_;G=J&&0<=he&&he=l&&m+1>=d)return c(va(r,O.lastComponent,n,t,r.useLongestToken));g[_]=O,O.oldPos+1>=l&&(N=Math.min(N,_-1)),m+1>=d&&(S=Math.max(S,_+1))}a++}if(s)(function _(){setTimeout(function(){if(a>I||Date.now()>x)return s();v()||_()},0)})();else for(;a<=I&&Date.now()<=x;){var E=v();if(E)return E}},addToPath:function(t,n,i,o){var s=t.lastComponent;return s&&s.added===n&&s.removed===i?{oldPos:t.oldPos+o,lastComponent:{count:s.count+1,added:n,removed:i,previousComponent:s.previousComponent}}:{oldPos:t.oldPos+o,lastComponent:{count:1,added:n,removed:i,previousComponent:s}}},extractCommon:function(t,n,i,o){for(var s=n.length,r=i.length,c=t.oldPos,d=c-o,l=0;d+1m.length?N:m}),I.value=e.join(h)}else I.value=e.join(n.slice(l,l+I.count));l+=I.count,I.added||(a+=I.count)}}var g=s[d-1];return d>1&&typeof g.value=="string"&&(g.added||g.removed)&&e.equals("",g.value)&&(s[d-2].value+=g.value,s.pop()),s}var ga=new It;function ai(e,t,n){return ga.diff(e,t,n)}var as=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,us=/\S/,Mr=new It;Mr.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!us.test(e)&&!us.test(t)};Mr.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n"u"?n:r}:i;return typeof e=="string"?e:JSON.stringify(Vi(e,null,null,o),o," ")};Cn.equals=function(e,t){return It.prototype.equals.call(Cn,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};function Vi(e,t,n,i,o){t=t||[],n=n||[],i&&(e=i(o,e));var s;for(s=0;s/g,">").replace(/"/g,""").replace(/'/g,"'")}function $r(e,t){if(e===t)return!0;if(e===null||t===null)return e===t;if(typeof e!=typeof t)return!1;if(typeof e=="object"){const n=Object.keys(e),i=Object.keys(t);return n.length!==i.length?!1:n.every(o=>$r(e[o],t[o]))}return!1}function Ur(e,t,n=""){const i=[],o=new Set([...Object.keys(e||{}),...Object.keys(t||{})]);for(const s of o){const r=n?`${n}.${s}`:s,c=e==null?void 0:e[s],d=t==null?void 0:t[s];$r(c,d)||(typeof c=="object"&&c!==null&&typeof d=="object"&&d!==null?i.push(...Ur(c,d,r)):i.push({path:r,bundled:c,local:d}))}return i}function Ta(e,t){if(e==null)return'null';const n=Jn(e),i=t!=null?Jn(t):"";if(!i)return`${Gn(n)}`;let o="";return ai(n,i).forEach(r=>{const c=Gn(r.value);r.removed?o+=`${c}`:r.added||(o+=c)}),o}function Ca(e,t){if(e==null)return'null';const n=Jn(e),i=t!=null?Jn(t):"";if(!i)return`${Gn(n)}`;let o="";return ai(i,n).forEach(r=>{const c=Gn(r.value);r.added?o+=`${c}`:r.removed||(o+=c)}),o}const ka={name:"JsonDiffViewer",data(){return{differences:[],hasDifferences:!1,bundledJson:null,localJson:null}},created(){this.loadData()},methods:{async loadData(){try{this.bundledJson=Ut;const e=localStorage.getItem("legal-documents-data");this.localJson=e?JSON.parse(e):{},this.compareDocuments()}catch(e){console.error("Failed to load documents:",e),this.differences=[],this.hasDifferences=!1}},compareDocuments(){if(!this.bundledJson||!this.localJson){this.hasDifferences=!1;return}try{this.differences=Ur(this.bundledJson,this.localJson),this.hasDifferences=this.differences.length>0}catch(e){console.error("Failed to compare documents:",e),this.differences=[],this.hasDifferences=!1}},formatBundledDiff:Ta,formatLocalDiff:Ca}},Sa={class:"modal-header"},Ea={class:"modal-body"},Ra={key:0,class:"diff-container"},Na={class:"diff-content"},La={class:"diff-path"},Aa={class:"diff-comparison"},Oa={class:"diff-side bundled"},Da=["innerHTML"],Pa={key:1,class:"no-content"},Fa={class:"diff-side local"},Ma=["innerHTML"],qa={key:1,class:"no-content"},$a={key:1,class:"no-diff"};function Ua(e,t,n,i,o,s){return y(),C("div",{class:"modal-overlay",onClick:t[2]||(t[2]=r=>e.$emit("close"))},[u("div",{class:"modal-content",onClick:t[1]||(t[1]=ci(()=>{},["stop"]))},[u("div",Sa,[t[3]||(t[3]=u("h2",null,"JSON差分表示",-1)),u("button",{class:"close-button",onClick:t[0]||(t[0]=r=>e.$emit("close"))},"×")]),u("div",Ea,[o.hasDifferences?(y(),C("div",Ra,[t[4]||(t[4]=u("div",{class:"diff-header"},[u("div",{class:"diff-title"},"バンドル版"),u("div",{class:"diff-title"},"ローカル版")],-1)),u("div",Na,[(y(!0),C(de,null,ye(o.differences,(r,c)=>(y(),C("div",{key:c,class:"diff-section"},[u("div",La,K(r.path),1),u("div",Aa,[u("div",Oa,[r.bundled!==void 0?(y(),C("pre",{key:0,innerHTML:s.formatBundledDiff(r.bundled,r.local)},null,8,Da)):(y(),C("div",Pa,"データなし"))]),u("div",Fa,[r.local!==void 0?(y(),C("pre",{key:0,innerHTML:s.formatLocalDiff(r.local,r.bundled)},null,8,Ma)):(y(),C("div",qa,"データなし"))])])]))),128))])])):(y(),C("div",$a," 差分は見つかりませんでした "))])])])}const Ha=Be(ka,[["render",Ua]]);const fs="legal-documents-data",ja={name:"Index",components:{JsonDiffViewer:Ha},setup(){const e=Ot(),t=At(),n=ue(!1),i=ue(Ut),o=ue(!1),s=ue("");wt(()=>{const v=localStorage.getItem(fs);if(v)try{i.value=JSON.parse(v)}catch(E){console.error("Failed to parse stored documents:",E),r(Ut)}else r(Ut);s.value=e.query.q||""});const r=v=>{try{localStorage.setItem(fs,JSON.stringify(v)),i.value=v}catch(E){console.error("Failed to save documents to localStorage:",E)}};zt(s,v=>{t.replace({query:{...e.query,q:v||void 0}})});const c=z(()=>{if(!s.value)return i.value;const v=s.value.toLowerCase().split(" ").filter(E=>E.length>0);return Object.fromEntries(Object.entries(i.value).filter(([E,_])=>{const O=l(_);return v.every(M=>O.toLowerCase().includes(M))}))}),d=v=>v.replace(/
/gi,""),l=v=>{let E=[];return v.tweets&&(E=E.concat(v.tweets.map(_=>_.content))),v.public_comment&&(E=E.concat(v.questions.map(_=>`${_.question} ${_.answer}`))),v.revisions&&(E=E.concat(v.revisions.flatMap(_=>{const O=[_.title];return _.description&&O.push(_.description),O.push(..._.articles.map(M=>`${M.before||""} ${M.after||""}`)),O}))),E.join(" ")},a=(v,E)=>v.type.startsWith("改訂")?{path:`/revisions/${E}/${v.revisionId}`,query:{highlight:v.content}}:v.type.startsWith("質問")||v.type.startsWith("回答")?{path:`/document/${E}/${v.id}`,query:{type:"public_comment",back:"/",highlight:v.content}}:{path:`/document/${E}/${v.id}`,query:{back:"/",highlight:v.content}},I=(v,E)=>{if(!s.value)return[];const _=[],O=150;return s.value.toLowerCase().split(" ").filter(M=>M.length>0),v.tweets&&v.tweets.forEach(M=>{h(M.content)&&_.push({type:`${M.index}`,content:x(M.content,O),id:M.id})}),v.public_comment&&v.questions.forEach(M=>{h(M.question)&&_.push({type:`質問 ${M.index}`,content:x(M.question,O),id:M.id}),h(M.answer)&&_.push({type:`回答 ${M.index}`,content:x(M.answer,O),id:M.id})}),v.revisions&&v.revisions.forEach(M=>{(h(M.title)||h(M.description))&&_.push({type:`改訂 ${M.title}`,content:x(M.description||M.title,O),revisionId:M.id}),M.articles.forEach(J=>{const G=J.before||"",he=J.after||"";(h(G)||h(he))&&_.push({type:`改訂 ${M.title}`,content:x(`${G} ${he}`,O),revisionId:M.id})})}),_},h=v=>{if(!v)return!1;const E=v.toLowerCase();return s.value.toLowerCase().split(" ").filter(_=>_.length>0).every(_=>E.includes(_))},x=(v,E)=>{if(!v||v.length<=E)return v;const _=s.value.toLowerCase().split(" ").filter(pe=>pe.length>0),O=[];if(_.forEach(pe=>{let Ne=v.toLowerCase().indexOf(pe.toLowerCase());for(;Ne!==-1;)O.push({start:Ne,end:Ne+pe.length}),Ne=v.toLowerCase().indexOf(pe.toLowerCase(),Ne+1)}),O.length===0)return v.substring(0,E)+"...";const M=Math.min(...O.map(pe=>pe.start)),J=Math.max(...O.map(pe=>pe.end));let G=Math.max(0,M-40),he=Math.min(v.length,J+40);return he-G>E&&(M-G>J-he?G=he-E:he=G+E),(G>0?"...":"")+v.substring(G,he)+(he{if(!v||!s.value)return v;let E=v;return s.value.toLowerCase().split(" ").filter(O=>O.length>0).forEach(O=>{const M=new RegExp(`(${O})`,"gi");E=E.replace(M,'$1')}),E},downloadDocuments:()=>{const v=JSON.stringify(i.value,null,2),E=new Blob([v],{type:"application/json"}),_=URL.createObjectURL(E),O=document.createElement("a");O.href=_,O.download="documents.json",document.body.appendChild(O),O.click(),document.body.removeChild(O),URL.revokeObjectURL(_)},showJsonDiffViewer:()=>{o.value=!0},resetToDefault:()=>{confirm(`データをリセットしてもよろしいですか? +※この操作は元に戻せません。`)&&r(Ut)}}}},Va={class:"layout"},Ba={class:"main-content"},Ka={class:"container"},Wa={class:"search-container"},za={class:"document-list"},Ja={class:"document-icon"},Ga={class:"document-info"},Qa={class:"document-name"},Ya={key:0,class:"revision-badge"},Xa={class:"document-actions"},Za=["href"],eu={key:0,class:"search-matches"},tu={class:"match-header"},nu={class:"match-index"},iu=["innerHTML"],ou={class:"footer"},su={class:"footer-content"},ru={class:"footer-buttons"};function cu(e,t,n,i,o,s){const r=Ae("router-link"),c=Ae("json-diff-viewer");return y(),C("div",Va,[u("main",Ba,[u("div",Ka,[t[9]||(t[9]=u("h1",null,"法律文書一覧",-1)),u("div",Wa,[_e(u("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=d=>i.searchQuery=d),placeholder:"全文検索...",class:"search-input",onFocus:t[1]||(t[1]=d=>i.isSearchFocused=!0),onBlur:t[2]||(t[2]=d=>i.isSearchFocused=!1)},null,544),[[qe,i.searchQuery]])]),u("div",za,[(y(!0),C(de,null,ye(i.filteredDocuments,(d,l)=>(y(),C("div",{key:l,class:"document-item"},[Z(r,{to:`/document/${l}`,class:"document-header"},{default:xe(()=>[u("div",Ja,K(d.displayName.charAt(0)),1),u("div",Ga,[u("div",Qa,K(i.formatDisplayName(d.displayName)),1),d.revisions?(y(),C("div",Ya," 改訂あり ("+K(d.revisions.length)+"件) ",1)):Y("",!0)])]),_:2},1032,["to"]),u("div",Xa,[Z(r,{to:`/revisions/${l}`,class:"action-button revision-button"},{default:xe(()=>[t[7]||(t[7]=u("i",{class:"fas fa-history"},null,-1)),X(" "+K(d.revisions?"改訂履歴を表示":"改訂履歴を追加"),1)]),_:2},1032,["to"]),d.public_comment&&d.url?(y(),C("a",{key:0,href:d.url,target:"_blank",rel:"noopener noreferrer",class:"action-button original-button"},t[8]||(t[8]=[u("i",{class:"fas fa-external-link-alt"},null,-1),X(" 原文を表示 ")]),8,Za)):Y("",!0)]),i.searchQuery&&i.getMatchingContent(d,l).length>0?(y(),C("div",eu,[(y(!0),C(de,null,ye(i.getMatchingContent(d,l),(a,I)=>(y(),C("div",{key:I,class:"match-item"},[Z(r,{to:i.getMatchLink(a,l),class:"match-link"},{default:xe(()=>[u("div",tu,[u("span",nu,K(a.type),1)]),u("div",{class:"match-content",innerHTML:i.highlightSearchTerms(a.content)},null,8,iu)]),_:2},1032,["to"])]))),128))])):Y("",!0)]))),128))])])]),u("footer",ou,[u("div",su,[u("div",ru,[Z(r,{to:"/public-comment/new",class:"footer-button"},{default:xe(()=>t[10]||(t[10]=[u("i",{class:"fas fa-plus"},null,-1),u("span",null,"パブリックコメントを追加",-1)])),_:1}),u("button",{class:"footer-button",onClick:t[3]||(t[3]=(...d)=>i.downloadDocuments&&i.downloadDocuments(...d))},t[11]||(t[11]=[u("i",{class:"fas fa-download"},null,-1),u("span",null,"JSONをダウンロード",-1)])),u("button",{class:"footer-button",onClick:t[4]||(t[4]=(...d)=>i.showJsonDiffViewer&&i.showJsonDiffViewer(...d))},t[12]||(t[12]=[u("i",{class:"fas fa-code"},null,-1),u("span",null,"JSON差分を表示",-1)])),u("button",{class:"footer-button warning",onClick:t[5]||(t[5]=(...d)=>i.resetToDefault&&i.resetToDefault(...d))},t[13]||(t[13]=[u("i",{class:"fas fa-sync-alt"},null,-1),u("span",null,"データをリセット",-1)]))])])]),i.showingJsonDiffViewer?(y(),ut(c,{key:0,onClose:t[6]||(t[6]=d=>i.showingJsonDiffViewer=!1)})):Y("",!0)])}const du=Be(ja,[["render",cu],["__scopeId","data-v-8ff61192"]]);const Is="legal-documents-data",lu={name:"Document",setup(){const e=Ot(),t=At(),n=ue(null),i=ue(!1),o=z({get:()=>e.query.q||"",set:h=>{t.replace({query:{...e.query,q:h||void 0}})}}),s=z(()=>{if(!n.value)return[];const h=n.value.public_comment?n.value.questions:n.value.tweets;if(!o.value)return h;const x=o.value.toLowerCase().split(" ").filter(g=>g.length>0);return h.filter(g=>{const S=(n.value.public_comment?`${g.question} ${g.answer}`:g.content).toLowerCase();return x.every(N=>S.includes(N))})}),r=z(()=>{var g;if(!((g=n.value)!=null&&g.public_comment))return[];const h=[],x=localStorage.getItem(Is);if(x)try{const m=JSON.parse(x);Object.entries(m).forEach(([S,N])=>{N.revisions&&N.revisions.forEach(v=>{var E;(E=v.publicCommentLinks)!=null&&E.includes(e.params.id)&&h.push({documentId:S,documentName:N.displayName,...v})})})}catch(m){console.error("Failed to parse stored documents:",m)}return h.sort((m,S)=>new Date(S.date)-new Date(m.date))}),c=h=>(h==null?void 0:h.replace(/
/gi,""))||"",d=h=>new Date(h).toLocaleDateString("ja-JP",{year:"numeric",month:"2-digit",day:"2-digit"}),l=h=>{if(!h)return"";let x=h.replace(/
/gi,` +`);return o.value&&o.value.toLowerCase().split(" ").filter(m=>m.length>0).forEach(m=>{const S=new RegExp(`(${m})`,"gi");x=x.replace(S,'$1')}),x},a=h=>{var x,g;return((x=h.links)==null?void 0:x.length)>0||((g=h.public_comment_links)==null?void 0:g.length)>0},I=h=>{t.push({path:`/document/${e.params.id}/${h}`,query:{back:e.fullPath}})};return wt(()=>{const h=localStorage.getItem(Is);if(h)try{const x=JSON.parse(h);n.value=x[e.params.id]}catch(x){console.error("Failed to parse stored documents:",x)}}),{document:n,isSearchFocused:i,searchQuery:o,filteredItems:s,linkedRevisions:r,formatDisplayName:c,formatDate:d,highlightContent:l,goToItem:I,hasMetaInfo:a}}},au={key:0},uu={class:"profile-header"},fu={class:"document-actions"},Iu={key:0,class:"revision-count"},pu=["href"],hu={key:0,class:"linked-revisions"},xu={class:"revision-links"},bu={class:"revision-link-header"},mu={class:"document-name"},vu={class:"revision-title"},gu={key:0,class:"revision-description"},_u={class:"revision-date"},yu={class:"search-container"},wu={class:"tweets"},Tu=["onClick"],Cu={class:"tweet-header"},ku={class:"index"},Su={key:0,class:"qa-content"},Eu={class:"question"},Ru=["innerHTML"],Nu={class:"answer"},Lu=["innerHTML"],Au={key:0,class:"meta-info"},Ou={class:"link-count"},Du=["innerHTML"],Pu={key:0,class:"meta-info"},Fu={key:0,class:"link-count"},Mu={key:1,class:"public-comment-count"};function qu(e,t,n,i,o,s){const r=Ae("router-link");return i.document?(y(),C("div",au,[u("div",uu,[Z(r,{to:"/",class:"back-link"},{default:xe(()=>t[3]||(t[3]=[X("←")])),_:1}),u("h1",null,K(i.formatDisplayName(i.document.displayName)),1),u("div",fu,[Z(r,{to:`/revisions/${e.$route.params.id}`,class:"revision-link"},{default:xe(()=>[t[4]||(t[4]=u("i",{class:"fas fa-history"},null,-1)),X(" "+K(i.document.revisions?"改訂履歴を表示":"改訂履歴を追加")+" ",1),i.document.revisions?(y(),C("span",Iu," ("+K(i.document.revisions.length)+"件) ",1)):Y("",!0)]),_:1},8,["to"]),i.document.public_comment?(y(),ut(r,{key:0,to:`/public-comment/new?edit=${e.$route.params.id}`,class:"edit-button"},{default:xe(()=>t[5]||(t[5]=[u("i",{class:"fas fa-edit"},null,-1),X(" 編集 ")])),_:1},8,["to"])):Y("",!0),i.document.public_comment&&i.document.url?(y(),C("a",{key:1,href:i.document.url,target:"_blank",rel:"noopener noreferrer",class:"original-doc-btn"},t[6]||(t[6]=[u("i",{class:"fas fa-external-link-alt"},null,-1),X(" 原文を表示 ")]),8,pu)):Y("",!0)])]),i.document.public_comment&&i.linkedRevisions.length>0?(y(),C("div",hu,[t[7]||(t[7]=u("h2",null,"関連する改訂履歴",-1)),u("div",xu,[(y(!0),C(de,null,ye(i.linkedRevisions,c=>(y(),ut(r,{key:`${c.documentId}-${c.id}`,to:`/revisions/${c.documentId}/${c.id}`,class:"revision-link-item"},{default:xe(()=>[u("div",bu,[u("span",mu,K(i.formatDisplayName(c.documentName)),1),u("span",vu,K(c.title),1)]),c.description?(y(),C("div",gu,K(c.description),1)):Y("",!0),u("div",_u,K(i.formatDate(c.date)),1)]),_:2},1032,["to"]))),128))])])):Y("",!0),u("div",yu,[_e(u("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=c=>i.searchQuery=c),placeholder:"検索...",class:"search-input",onFocus:t[1]||(t[1]=c=>i.isSearchFocused=!0),onBlur:t[2]||(t[2]=c=>i.isSearchFocused=!1)},null,544),[[qe,i.searchQuery]])]),u("div",wu,[(y(!0),C(de,null,ye(i.filteredItems,c=>{var d,l,a;return y(),C("div",{key:c.id,class:"tweet",onClick:I=>i.goToItem(c.id)},[u("div",Cu,[u("span",ku,K(c.index),1)]),i.document.public_comment?(y(),C("div",Su,[u("div",Eu,[t[8]||(t[8]=u("div",{class:"qa-label"},[u("i",{class:"fas fa-question-circle"}),X(" 質問 ")],-1)),u("p",{class:"tweet-content",innerHTML:i.highlightContent(c.question)},null,8,Ru)]),u("div",Nu,[t[9]||(t[9]=u("div",{class:"qa-label"},[u("i",{class:"fas fa-comment-dots"}),X(" 回答 ")],-1)),u("p",{class:"tweet-content",innerHTML:i.highlightContent(c.answer)},null,8,Lu)]),(d=c.links)!=null&&d.length?(y(),C("div",Au,[u("span",Ou,[t[10]||(t[10]=u("i",{class:"fas fa-link"},null,-1)),X(" 関連リンク("+K(c.links.length)+") ",1)])])):Y("",!0)])):(y(),C(de,{key:1},[u("p",{class:"tweet-content",innerHTML:i.highlightContent(c.content)},null,8,Du),i.hasMetaInfo(c)?(y(),C("div",Pu,[(l=c.links)!=null&&l.length?(y(),C("span",Fu,[t[11]||(t[11]=u("i",{class:"fas fa-link"},null,-1)),X(" 関連リンク("+K(c.links.length)+") ",1)])):Y("",!0),(a=c.public_comment_links)!=null&&a.length?(y(),C("span",Mu," パブリックコメント("+K(c.public_comment_links.length)+") ",1)):Y("",!0)])):Y("",!0)],64))],8,Tu)}),128))])])):Y("",!0)}const $u=Be(lu,[["render",qu],["__scopeId","data-v-804b1857"]]);const Uu={name:"TweetLinks",props:{links:{type:Array,required:!0},baseUrl:{type:String,default:""}},methods:{getLinkTo(e){const[t,n]=this.getFullUrl(e).split("/");return{name:"tweet",params:{documentId:t,tweetId:n},query:{back:this.$route.fullPath}}},debugLink(e){const t=this.getLinkTo(e),n=`/document/${t.params.documentId}/${t.params.tweetId}`;console.log("Debug: Clicked link",{text:e.text,url:e.url,to:t,fullPath:n})},highlightContent(e){if(!e||!e.links)return e.content;let t=e.content;return e.links.forEach(n=>{const i=n.text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=new RegExp(`(${i})`,"gi");t=t.replace(o,'$1')}),t},getFullUrl(e){return e.url.includes("/")?e.url:`${this.baseUrl}/${e.url}`},getBaseUrl(e){return this.getFullUrl(e).split("/")[0]},getLinkContent(e){const[t,n]=this.getFullUrl(e).split("/"),i=Ut[t];if(i){const o=i.tweets.find(s=>s.id===n);if(o)return o}return null}},created(){this.links.forEach(e=>{e.content||(e.content=this.getLinkContent(e))})}},Hu={class:"tweet-links-list"},ju={key:0,class:"linked-content"},Vu=["innerHTML"];function Bu(e,t,n,i,o,s){const r=Ae("router-link"),c=Ae("tweet-links",!0);return y(),C("ul",Hu,[(y(!0),C(de,null,ye(n.links,d=>(y(),C("li",{key:d.url,class:"tweet-link-item"},[Z(r,{to:s.getLinkTo(d),class:"link-title",onClick:l=>s.debugLink(d)},{default:xe(()=>[X(K(d.text),1)]),_:2},1032,["to","onClick"]),d.content?(y(),C("div",ju,[d.content.content?(y(),C("p",{key:0,innerHTML:s.highlightContent(d.content)},null,8,Vu)):Y("",!0),d.content.links&&d.content.links.length>0?(y(),ut(c,{key:1,links:d.content.links,"base-url":s.getBaseUrl(d)},null,8,["links","base-url"])):Y("",!0)])):Y("",!0)]))),128))])}const Ku=Be(Uu,[["render",Bu],["__scopeId","data-v-7a618d33"]]);const Wu={name:"RevisionSelector",props:{document:{type:Object,required:!0},initialSelections:{type:Array,default:()=>[]}},emits:["save","close"],setup(e,{emit:t}){const n=ue([...e.initialSelections]),i=ue(""),o=z(()=>e.document.revisions?i.value?e.document.revisions.filter(l=>{const a=i.value.toLowerCase().split(" "),I=[l.title,l.description,...l.articles.map(h=>`${h.before||""} ${h.after||""}`)].join(" ").toLowerCase();return a.every(h=>I.includes(h))}):e.document.revisions:[]);return{selectedRevisions:n,searchQuery:i,filteredRevisions:o,filteredArticles:l=>{if(!i.value)return l.articles;const a=i.value.toLowerCase().split(" ");return l.articles.filter(I=>{const h=`${I.before||""} ${I.after||""}`;return a.every(x=>h.toLowerCase().includes(x))})},formatDate:l=>new Date(l).toLocaleDateString("ja-JP",{year:"numeric",month:"2-digit",day:"2-digit"}),highlightSearchTerms:l=>{if(!i.value||!l)return l;let a=l;return i.value.toLowerCase().split(" ").forEach(h=>{const x=new RegExp(`(${h})`,"gi");a=a.replace(x,'$1')}),a},save:()=>{t("save",n.value),t("close")}}}},zu={class:"modal-header"},Ju={class:"search-container"},Gu={class:"search-input-wrapper"},Qu={class:"modal-body"},Yu={key:0},Xu={class:"revision-header"},Zu={class:"revision-date"},ef={class:"article-checkbox"},tf=["value"],nf={class:"article-preview"},of={class:"article-header"},sf={class:"revision-title"},rf={class:"article-content"},cf={key:0,class:"before-content"},df=["innerHTML"],lf={key:1,class:"after-content"},af=["innerHTML"],uf={key:1,class:"no-revisions"},ff={class:"modal-footer"};function If(e,t,n,i,o,s){return y(),C("div",{class:"modal-overlay",onClick:t[7]||(t[7]=r=>e.$emit("close"))},[u("div",{class:"modal-content",onClick:t[6]||(t[6]=ci(()=>{},["stop"]))},[u("div",zu,[t[8]||(t[8]=u("h2",null,"改訂履歴の追加",-1)),u("button",{class:"close-button",onClick:t[0]||(t[0]=r=>e.$emit("close"))},"×")]),u("div",Ju,[u("div",Gu,[t[10]||(t[10]=u("i",{class:"fas fa-search search-icon"},null,-1)),_e(u("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=r=>i.searchQuery=r),placeholder:"改訂履歴を検索...",class:"search-input"},null,512),[[qe,i.searchQuery]]),i.searchQuery?(y(),C("button",{key:0,class:"clear-button",onClick:t[2]||(t[2]=r=>i.searchQuery="")},t[9]||(t[9]=[u("i",{class:"fas fa-times"},null,-1)]))):Y("",!0)])]),u("div",Qu,[n.document.revisions&&n.document.revisions.length>0?(y(),C("div",Yu,[(y(!0),C(de,null,ye(i.filteredRevisions,r=>(y(),C("div",{key:r.id,class:"revision-item"},[u("div",Xu,[u("span",Zu,K(i.formatDate(r.date)),1)]),(y(!0),C(de,null,ye(i.filteredArticles(r),c=>(y(),C("div",{key:c.id,class:"article-item"},[u("label",ef,[_e(u("input",{type:"checkbox",value:`${n.document.accountId}/revisions/${r.id}/${c.id}`,"onUpdate:modelValue":t[3]||(t[3]=d=>i.selectedRevisions=d)},null,8,tf),[[wr,i.selectedRevisions]]),u("div",nf,[u("div",of,[u("span",sf,K(r.title),1),u("span",{class:en(["article-status",c.status])},K(c.status),3)]),u("div",rf,[c.before?(y(),C("div",cf,[t[11]||(t[11]=u("strong",null,"改正前:",-1)),u("span",{innerHTML:i.highlightSearchTerms(c.before)},null,8,df)])):Y("",!0),c.after?(y(),C("div",lf,[t[12]||(t[12]=u("strong",null,"改正後:",-1)),u("span",{innerHTML:i.highlightSearchTerms(c.after)},null,8,af)])):Y("",!0)])])])]))),128))]))),128))])):(y(),C("div",uf," 改訂履歴がありません "))]),u("div",ff,[u("button",{class:"cancel-button",onClick:t[4]||(t[4]=r=>e.$emit("close"))},"キャンセル"),u("button",{class:"save-button",onClick:t[5]||(t[5]=(...r)=>i.save&&i.save(...r))},"保存")])])])}const pf=Be(Wu,[["render",If],["__scopeId","data-v-150e8811"]]);const Ci="legal-documents-data",hf={name:"Tweet",components:{TweetLinks:Ku,RevisionSelector:pf},setup(){const e=Ot();At();const t=ue(null),n=ue(null),i=ue(!1),o=z(()=>`/document/${e.params.documentId}/${e.params.tweetId}`),s=z(()=>e.query.back||`/document/${e.params.documentId}`),r=z(()=>{var m;if(!((m=n.value)!=null&&m.content))return"";let g=n.value.content;return n.value.links&&n.value.links.forEach(S=>{const N=S.text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),v=new RegExp(`(${N})`,"gi");g=g.replace(v,'$1')}),g}),c=g=>{const m=g.split("/");return m.length!==4?(console.error("Invalid revision path format:",g),{documentId:"",revisionId:"",articleId:""}):{documentId:m[0],revisionId:m[2],articleId:m[3]}},d=g=>{const m=c(g);if(!t.value||!m.documentId)return null;const S=t.value;return S.revisions?S.revisions.find(N=>N.id===m.revisionId):null},l=g=>{const m=d(g),S=c(g);return!m||!m.articles?[]:m.articles.filter(N=>N.id===S.articleId)},a=()=>{const g=window.location.href;navigator.clipboard.writeText(g).then(()=>{alert("URLがコピーされました")}).catch(m=>{console.error("URLのコピーに失敗しました:",m)})},I=(g,m)=>{if(!g)return m;const S=ai(g,m);let N="";return S.forEach(v=>{v.added?N+=`${v.value}`:v.removed||(N+=v.value)}),N},h=g=>{const m=localStorage.getItem(Ci);if(m)try{const S=JSON.parse(m),N=S[e.params.documentId],v=N.tweets.find(E=>E.id===e.params.tweetId);v&&(v.revision=g,localStorage.setItem(Ci,JSON.stringify(S)),t.value=N,n.value=v)}catch(S){console.error("Failed to save revision links:",S)}},x=()=>{const g=localStorage.getItem(Ci);if(g)try{const m=JSON.parse(g);t.value=m[e.params.documentId],t.value&&(t.value.public_comment?n.value=t.value.questions.find(S=>S.id===e.params.tweetId):n.value=t.value.tweets.find(S=>S.id===e.params.tweetId))}catch(m){console.error("Failed to load documents:",m)}};return zt(()=>e.params,()=>{x()},{immediate:!0}),{document:t,tweet:n,currentUrl:o,backUrl:s,highlightedContent:r,showRevisionSelector:i,getRevisionContent:d,getRevisionArticles:l,copyUrl:a,saveRevisionLinks:h,highlightChanges:I}}},xf={class:"tweet-page"},bf={key:0,class:"tweet-container"},mf={class:"tweet-profile-header"},vf={key:0,class:"tweet"},gf={class:"tweet-header"},_f={class:"index"},yf={class:"document-title"},wf={key:0,class:"qa-content"},Tf={class:"question"},Cf=["innerHTML"],kf={class:"answer"},Sf=["innerHTML"],Ef=["innerHTML"],Rf={class:"tweet-actions"},Nf={key:2,class:"tweet-links"},Lf={key:3,class:"revision-links"},Af={class:"revision-content"},Of={key:0,class:"revision-details"},Df={key:0,class:"revision-description"},Pf={key:1,class:"revision-source"},Ff=["href"],Mf={class:"comparison-container"},qf={class:"comparison-column before"},$f={key:0,class:"content"},Uf={key:1,class:"no-content"},Hf={class:"comparison-column after"},jf=["innerHTML"],Vf={key:1,class:"no-content"},Bf={key:1,class:"error-message"},Kf={key:1,class:"error-message"};function Wf(e,t,n,i,o,s){const r=Ae("router-link"),c=Ae("tweet-links"),d=Ae("revision-selector");return y(),C("div",xf,[i.document?(y(),C("div",bf,[u("div",mf,[Z(r,{to:i.backUrl,class:"tweet-back-link"},{default:xe(()=>t[3]||(t[3]=[X("←")])),_:1},8,["to"]),u("h1",null,K(i.document.displayName),1)]),i.tweet?(y(),C("div",vf,[u("div",gf,[u("span",_f,K(i.tweet.index),1),u("span",yf,K(i.document.displayName),1)]),i.document.public_comment?(y(),C("div",wf,[u("div",Tf,[t[4]||(t[4]=u("div",{class:"qa-label"},[u("i",{class:"fas fa-question-circle"}),X(" 質問 ")],-1)),u("p",{class:"tweet-content",innerHTML:i.tweet.question},null,8,Cf)]),u("div",kf,[t[5]||(t[5]=u("div",{class:"qa-label"},[u("i",{class:"fas fa-comment-dots"}),X(" 回答 ")],-1)),u("p",{class:"tweet-content",innerHTML:i.tweet.answer},null,8,Sf)])])):(y(),C("p",{key:1,class:"tweet-content",innerHTML:i.highlightedContent},null,8,Ef)),u("div",Rf,[u("button",{class:"copy-url-btn",onClick:t[0]||(t[0]=(...l)=>i.copyUrl&&i.copyUrl(...l))},t[6]||(t[6]=[u("i",{class:"fas fa-link"},null,-1),X(" URLをコピー ")])),i.document.revisions?(y(),C("button",{key:0,class:"add-revision-link-btn",onClick:t[1]||(t[1]=l=>i.showRevisionSelector=!0)},t[7]||(t[7]=[u("i",{class:"fas fa-history"},null,-1),X(" 改訂履歴を追加 ")]))):Y("",!0)]),i.tweet.links&&i.tweet.links.length>0?(y(),C("div",Nf,[t[8]||(t[8]=u("h3",null,"関連リンク:",-1)),Z(c,{links:i.tweet.links,"base-url":i.currentUrl},null,8,["links","base-url"])])):Y("",!0),i.tweet.revision&&i.tweet.revision.length>0?(y(),C("div",Lf,[t[11]||(t[11]=u("h3",null,"改訂履歴:",-1)),(y(!0),C(de,null,ye(i.tweet.revision,l=>(y(),C("div",{key:l,class:"revision-item"},[u("div",Af,[i.getRevisionContent(l)?(y(),C("div",Of,[u("h4",null,K(i.getRevisionContent(l).title),1),i.getRevisionContent(l).description?(y(),C("div",Df,K(i.getRevisionContent(l).description),1)):Y("",!0),i.getRevisionContent(l).sourceUrl?(y(),C("div",Pf,[u("a",{href:i.getRevisionContent(l).sourceUrl,target:"_blank",rel:"noopener noreferrer"}," 参考リンク ",8,Ff)])):Y("",!0),(y(!0),C(de,null,ye(i.getRevisionArticles(l),a=>(y(),C("div",{key:a.id,class:"article-container"},[u("div",{class:en(["article-status",a.status])},K(a.status),3),u("div",Mf,[u("div",qf,[t[9]||(t[9]=u("h4",null,"改正前",-1)),a.before?(y(),C("div",$f,K(a.before),1)):(y(),C("div",Uf,"改正前の内容なし"))]),u("div",Hf,[t[10]||(t[10]=u("h4",null,"改正後",-1)),a.after?(y(),C("div",{key:0,class:"content",innerHTML:i.highlightChanges(a.before,a.after)},null,8,jf)):(y(),C("div",Vf,"改正後の内容なし"))])])]))),128))])):Y("",!0)])]))),128))])):Y("",!0)])):(y(),C("div",Bf," 指定されたツイートが見つかりません。 "))])):(y(),C("div",Kf," 指定された文書が見つかりません。 ")),i.showRevisionSelector?(y(),ut(d,{key:2,document:i.document,"initial-selections":i.tweet.revision||[],onSave:i.saveRevisionLinks,onClose:t[2]||(t[2]=l=>i.showRevisionSelector=!1)},null,8,["document","initial-selections","onSave"])):Y("",!0)])}const zf=Be(hf,[["render",Wf],["__scopeId","data-v-4a346623"]]);const ps="legal-documents-data",Jf={name:"RevisionPage",setup(){const e=Ot(),t=At(),n=ue(null),i=z(()=>e.params.documentId),o=z(()=>e.params.revisionId),s=z(()=>`/document/${i.value}`),r=z(()=>!n.value||!i.value?null:n.value[i.value]),c=z(()=>{var m;return(m=r.value)!=null&&m.revisions?[...r.value.revisions].sort((S,N)=>new Date(N.date)-new Date(S.date)):[]}),d=z(()=>r.value?`${l(r.value.displayName)} - 改訂履歴`:"改訂履歴"),l=m=>(m==null?void 0:m.replace(/
/gi,""))||"",a=m=>new Date(m).toLocaleDateString("ja-JP",{year:"numeric",month:"2-digit",day:"2-digit"}),I=()=>{t.push(`/revisions/${i.value}/new`)},h=m=>{t.push(`/revisions/${i.value}/edit/${m.id}`)},x=async m=>{if(confirm("この改訂履歴を削除してもよろしいですか?")){const S={...n.value},N=S[i.value];N.revisions=N.revisions.filter(v=>v.id!==m.id);try{localStorage.setItem(ps,JSON.stringify(S)),n.value=S}catch(v){console.error("Failed to save documents:",v),alert("改訂履歴の削除に失敗しました")}}},g=m=>!m.publicCommentLinks||!n.value?[]:m.publicCommentLinks.map(S=>n.value[S]).filter(S=>S&&S.public_comment);return wt(()=>{const m=localStorage.getItem(ps);if(m)try{n.value=JSON.parse(m)}catch(S){console.error("Failed to parse stored documents:",S)}}),{documentId:i,revisionId:o,currentDocument:r,sortedRevisions:c,backLink:s,pageTitle:d,formatDisplayName:l,formatDate:a,addNewRevision:I,editRevision:h,deleteRevision:x,getPublicComments:g}}},Gf={class:"revision-page"},Qf={class:"page-header"},Yf={class:"page-content"},Xf={key:0,class:"revisions-list"},Zf={class:"revisions-header"},eI={key:0,class:"no-revisions"},tI={class:"revision-header"},nI={class:"revision-actions"},iI=["onClick"],oI=["onClick"],sI={class:"revision-info"},rI={class:"info-row"},cI={key:0,class:"info-row"},dI={key:1,class:"info-row"},lI=["href"],aI={key:2,class:"info-row"},uI={class:"public-comments-list"},fI={key:1,class:"no-revisions"};function II(e,t,n,i,o,s){const r=Ae("router-link");return y(),C("div",Gf,[u("header",Qf,[Z(r,{to:i.backLink,class:"back-link"},{default:xe(()=>t[1]||(t[1]=[u("i",{class:"fas fa-arrow-left"},null,-1),u("span",null,"戻る",-1)])),_:1},8,["to"]),u("h1",null,K(i.pageTitle),1)]),u("main",Yf,[i.currentDocument?(y(),C("div",Xf,[u("div",Zf,[t[3]||(t[3]=u("h2",null,"改訂一覧",-1)),u("button",{class:"add-revision-button",onClick:t[0]||(t[0]=(...c)=>i.addNewRevision&&i.addNewRevision(...c))},t[2]||(t[2]=[u("i",{class:"fas fa-plus"},null,-1),X(" 新規改訂を追加 ")]))]),!i.currentDocument.revisions||i.currentDocument.revisions.length===0?(y(),C("div",eI," 改訂履歴がありません ")):(y(!0),C(de,{key:1},ye(i.sortedRevisions,c=>(y(),C("div",{key:c.id,class:"revision-item"},[u("div",tI,[u("h3",null,K(c.title),1),u("div",nI,[Z(r,{to:`/revisions/${i.documentId}/${c.id}`,class:"view-button"},{default:xe(()=>t[4]||(t[4]=[u("i",{class:"fas fa-eye"},null,-1),X(" 表示 ")])),_:2},1032,["to"]),u("button",{class:"edit-button",onClick:d=>i.editRevision(c)},t[5]||(t[5]=[u("i",{class:"fas fa-pencil-alt"},null,-1),X(" 編集 ")]),8,iI),u("button",{class:"delete-button",onClick:d=>i.deleteRevision(c)},t[6]||(t[6]=[u("i",{class:"fas fa-trash"},null,-1),X(" 削除 ")]),8,oI)])]),u("div",sI,[u("div",rI,[t[7]||(t[7]=u("span",{class:"label"},"日付:",-1)),u("span",null,K(i.formatDate(c.date)),1)]),c.description?(y(),C("div",cI,[t[8]||(t[8]=u("span",{class:"label"},"説明:",-1)),u("span",null,K(c.description),1)])):Y("",!0),c.sourceUrl?(y(),C("div",dI,[t[9]||(t[9]=u("span",{class:"label"},"URL:",-1)),u("a",{href:c.sourceUrl,target:"_blank",rel:"noopener noreferrer"},K(c.sourceUrl),9,lI)])):Y("",!0),i.getPublicComments(c).length>0?(y(),C("div",aI,[t[10]||(t[10]=u("span",{class:"label"},"パブリックコメント:",-1)),u("div",uI,[(y(!0),C(de,null,ye(i.getPublicComments(c),d=>(y(),ut(r,{key:d.id,to:`/document/${d.id}`,class:"public-comment-link"},{default:xe(()=>[X(K(i.formatDisplayName(d.displayName)),1)]),_:2},1032,["to"]))),128))])])):Y("",!0)])]))),128))])):(y(),C("div",fI," 指定された文書が見つかりません "))])])}const pI=Be(Jf,[["render",II],["__scopeId","data-v-bdf9f51b"]]);function ki(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function hI(e,t){if(!e&&!t)return"";if(!e)return`${ki(t)}`;if(!t)return`${ki(e)}`;let n="";return ai(e,t).forEach(o=>{const s=ki(o.value);o.added?n+=`${s}`:o.removed?n+=`${s}`:n+=s}),n}const xI="legal-documents-data",bI={name:"RevisionDetail",setup(){const e=Ot();At();const t=ue(null),n=z(()=>e.params.documentId),i=z(()=>e.params.revisionId),o=z(()=>`/revisions/${n.value}`),s=z(()=>!t.value||!n.value?null:t.value[n.value]),r=z(()=>{var h;return(h=s.value)!=null&&h.revisions?s.value.revisions.find(x=>x.id===i.value):null}),c=z(()=>s.value?`${l(s.value.displayName)} - 改訂詳細`:"改訂詳細"),d=z(()=>{var h;return!((h=r.value)!=null&&h.publicCommentLinks)||!t.value?[]:r.value.publicCommentLinks.map(x=>t.value[x]).filter(x=>x&&x.public_comment)}),l=h=>(h==null?void 0:h.replace(/
/gi,""))||"",a=h=>new Date(h).toLocaleDateString("ja-JP",{year:"numeric",month:"2-digit",day:"2-digit"}),I=h=>h?h.replace(/\n/g,"
"):"";return wt(()=>{const h=localStorage.getItem(xI);if(h)try{t.value=JSON.parse(h)}catch(x){console.error("Failed to parse stored documents:",x)}}),{currentDocument:s,currentRevision:r,backLink:o,pageTitle:c,publicComments:d,formatDisplayName:l,formatDate:a,formatText:I,formatTextDiff:hI}}},mI={class:"revision-page"},vI={class:"page-header"},gI={class:"page-content"},_I={key:0,class:"revision-content"},yI={class:"revision-header"},wI={class:"revision-title"},TI={class:"revision-date"},CI=["innerHTML"],kI={key:1,class:"revision-source"},SI=["href"],EI={key:2,class:"public-comments"},RI={class:"public-comments-list"},NI={class:"articles-list"},LI={class:"comparison-container"},AI={class:"comparison-column before"},OI=["innerHTML"],DI={key:1,class:"no-content"},PI={class:"comparison-column after"},FI={key:0,class:"content deleted"},MI=["innerHTML"],qI={key:2,class:"no-content"},$I={key:0,class:"diff-view"},UI=["innerHTML"],HI={key:1,class:"no-revision"};function jI(e,t,n,i,o,s){const r=Ae("router-link");return y(),C("div",mI,[u("header",vI,[Z(r,{to:i.backLink,class:"back-link"},{default:xe(()=>t[0]||(t[0]=[u("i",{class:"fas fa-arrow-left"},null,-1),u("span",null,"戻る",-1)])),_:1},8,["to"]),u("h1",null,K(i.pageTitle),1)]),u("main",gI,[i.currentRevision?(y(),C("div",_I,[u("div",yI,[u("div",wI,K(i.currentRevision.title),1),u("div",TI,K(i.formatDate(i.currentRevision.date)),1)]),i.currentRevision.description?(y(),C("div",{key:0,class:"revision-description",innerHTML:i.formatText(i.currentRevision.description)},null,8,CI)):Y("",!0),i.currentRevision.sourceUrl?(y(),C("div",kI,[u("a",{href:i.currentRevision.sourceUrl,target:"_blank",rel:"noopener noreferrer"},t[1]||(t[1]=[u("i",{class:"fas fa-external-link-alt"},null,-1),X(" 参考リンク ")]),8,SI)])):Y("",!0),i.publicComments.length>0?(y(),C("div",EI,[t[2]||(t[2]=u("h2",null,"関連するパブリックコメント",-1)),u("div",RI,[(y(!0),C(de,null,ye(i.publicComments,c=>(y(),ut(r,{key:c.id,to:`/document/${c.id}`,class:"public-comment-link"},{default:xe(()=>[X(K(i.formatDisplayName(c.displayName)),1)]),_:2},1032,["to"]))),128))])])):Y("",!0),u("div",NI,[(y(!0),C(de,null,ye(i.currentRevision.articles,c=>(y(),C("div",{key:c.id,class:"article-container"},[u("div",{class:en(["article-status",c.status])},K(c.status),3),u("div",LI,[u("div",AI,[t[3]||(t[3]=u("h4",null,"改正前",-1)),c.before?(y(),C("div",{key:0,class:"content",innerHTML:i.formatText(c.before)},null,8,OI)):(y(),C("div",DI,"改正前の内容なし"))]),u("div",PI,[t[4]||(t[4]=u("h4",null,"改正後",-1)),c.status==="削除"?(y(),C("div",FI,"削除")):c.after?(y(),C("div",{key:1,class:"content",innerHTML:i.formatText(c.after)},null,8,MI)):(y(),C("div",qI,"改正後の内容なし"))])]),c.status==="改正"?(y(),C("div",$I,[t[5]||(t[5]=u("h4",null,"変更内容",-1)),u("div",{class:"diff-content",innerHTML:i.formatTextDiff(c.before,c.after)},null,8,UI)])):Y("",!0)]))),128))])])):(y(),C("div",HI," 指定された改訂が見つかりません "))])])}const VI=Be(bI,[["render",jI],["__scopeId","data-v-99033245"]]);let Dn;const BI=new Uint8Array(16);function KI(){if(!Dn&&(Dn=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Dn))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Dn(BI)}const ge=[];for(let e=0;e<256;++e)ge.push((e+256).toString(16).slice(1));function WI(e,t=0){return ge[e[t+0]]+ge[e[t+1]]+ge[e[t+2]]+ge[e[t+3]]+"-"+ge[e[t+4]]+ge[e[t+5]]+"-"+ge[e[t+6]]+ge[e[t+7]]+"-"+ge[e[t+8]]+ge[e[t+9]]+"-"+ge[e[t+10]]+ge[e[t+11]]+ge[e[t+12]]+ge[e[t+13]]+ge[e[t+14]]+ge[e[t+15]]}const zI=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),hs={randomUUID:zI};function Jt(e,t,n){if(hs.randomUUID&&!t&&!e)return hs.randomUUID();e=e||{};const i=e.random||(e.rng||KI)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){n=n||0;for(let o=0;o<16;++o)t[n+o]=i[o];return t}return WI(i)}const xs="legal-documents-data",JI={name:"RevisionEditorPage",setup(){const e=Ot(),t=At(),n=ue(null),i=ue(""),o=ue(""),s=ue(""),r=ue(""),c=ue([]),d=ue([]),l=z(()=>e.params.documentId),a=z(()=>e.params.revisionId),I=z(()=>e.params.action==="new"),h=z(()=>`/revisions/${l.value}`),x=z(()=>n.value?Object.entries(n.value).filter(([_,O])=>O.public_comment).map(([_,O])=>({id:_,displayName:O.displayName})):[]),g=z(()=>i.value&&o.value&&c.value.length>0&&c.value.every(_=>_.status==="新設"?!!_.after:_.status==="削除"?!!_.before:_.before&&_.after)),m=_=>(_==null?void 0:_.replace(/
/gi,""))||"",S=()=>{c.value.push({id:Jt(),status:"改正",before:"",after:""})},N=_=>{c.value.splice(_,1)},v=()=>{const _=n.value[l.value];if(_!=null&&_.revisions){const O=_.revisions.find(M=>M.id===a.value);O&&(i.value=O.title,o.value=O.date,s.value=O.description||"",r.value=O.sourceUrl||"",c.value=O.articles.map(M=>({...M,id:M.id||Jt()})),d.value=O.publicCommentLinks||[])}},E=async()=>{const _={id:a.value||Jt(),title:i.value,date:o.value,description:s.value,sourceUrl:r.value,articles:c.value.map(G=>({...G,before:G.status==="新設"?null:G.before,after:G.status==="削除"?null:G.after})),publicCommentLinks:d.value},O={...n.value},M=O[l.value];M.revisions||(M.revisions=[]);const J=M.revisions.findIndex(G=>G.id===_.id);J!==-1?M.revisions[J]=_:M.revisions.push(_);try{localStorage.setItem(xs,JSON.stringify(O)),t.push(h.value)}catch(G){console.error("Failed to save revision:",G),alert("改訂の保存に失敗しました")}};return wt(()=>{const _=localStorage.getItem(xs);if(_)try{n.value=JSON.parse(_),!I.value&&a.value&&v()}catch(O){console.error("Failed to parse stored documents:",O)}}),{isNew:I,backLink:h,title:i,date:o,description:s,sourceUrl:r,articles:c,selectedPublicComments:d,availablePublicComments:x,isValid:g,formatDisplayName:m,addArticle:S,removeArticle:N,saveRevision:E}}},GI={class:"editor-page"},QI={class:"page-header"},YI={class:"page-content"},XI={class:"form-group"},ZI={class:"form-group"},e1={class:"form-group"},t1={class:"form-group"},n1={class:"public-comments-section"},i1={key:0,class:"no-comments"},o1={key:1,class:"comments-list"},s1={class:"comment-checkbox"},r1=["value"],c1={class:"comment-preview"},d1={class:"comment-header"},l1={class:"document-name"},a1={class:"articles-section"},u1={class:"section-header"},f1={key:0,class:"no-items"},I1={class:"article-header"},p1=["onClick"],h1={class:"article-content"},x1={class:"form-group"},b1=["onUpdate:modelValue"],m1={class:"form-group"},v1={key:0,class:"no-content"},g1=["onUpdate:modelValue"],_1={class:"form-group"},y1={key:0,class:"no-content deleted"},w1=["onUpdate:modelValue"],T1={class:"form-actions"},C1=["disabled"];function k1(e,t,n,i,o,s){const r=Ae("router-link");return y(),C("div",GI,[u("header",QI,[Z(r,{to:i.backLink,class:"back-link"},{default:xe(()=>t[7]||(t[7]=[u("i",{class:"fas fa-arrow-left"},null,-1),u("span",null,"戻る",-1)])),_:1},8,["to"]),u("h1",null,K(i.isNew?"新規改訂の追加":"改訂の編集"),1)]),u("main",YI,[u("form",{onSubmit:t[6]||(t[6]=ci((...c)=>i.saveRevision&&i.saveRevision(...c),["prevent"])),class:"editor-form"},[u("div",XI,[t[8]||(t[8]=u("label",null,"改訂タイトル",-1)),_e(u("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=c=>i.title=c),class:"form-control",placeholder:"例: 令和5年改正",required:""},null,512),[[qe,i.title]])]),u("div",ZI,[t[9]||(t[9]=u("label",null,"改訂日",-1)),_e(u("input",{type:"date","onUpdate:modelValue":t[1]||(t[1]=c=>i.date=c),class:"form-control",required:""},null,512),[[qe,i.date]])]),u("div",e1,[t[10]||(t[10]=u("label",null,"改訂説明",-1)),_e(u("textarea",{"onUpdate:modelValue":t[2]||(t[2]=c=>i.description=c),class:"form-control",rows:"3",placeholder:"改訂の概要を入力してください"},null,512),[[qe,i.description]])]),u("div",t1,[t[11]||(t[11]=u("label",null,"改訂ソースURL",-1)),_e(u("input",{type:"url","onUpdate:modelValue":t[3]||(t[3]=c=>i.sourceUrl=c),class:"form-control",placeholder:"https://..."},null,512),[[qe,i.sourceUrl]])]),u("div",n1,[t[13]||(t[13]=u("h2",null,"関連するパブリックコメント",-1)),i.availablePublicComments.length===0?(y(),C("div",i1," 利用可能なパブリックコメントがありません ")):(y(),C("div",o1,[(y(!0),C(de,null,ye(i.availablePublicComments,c=>(y(),C("div",{key:c.id,class:"comment-item"},[u("label",s1,[_e(u("input",{type:"checkbox",value:c.id,"onUpdate:modelValue":t[4]||(t[4]=d=>i.selectedPublicComments=d)},null,8,r1),[[wr,i.selectedPublicComments]]),u("div",c1,[u("div",d1,[u("span",l1,K(i.formatDisplayName(c.displayName)),1),Z(r,{to:`/document/${c.id}`,class:"view-link",target:"_blank"},{default:xe(()=>t[12]||(t[12]=[u("i",{class:"fas fa-external-link-alt"},null,-1),X(" 表示 ")])),_:2},1032,["to"])])])])]))),128))]))]),u("div",a1,[u("div",u1,[t[15]||(t[15]=u("h2",null,"条文の編集",-1)),u("button",{type:"button",class:"add-button",onClick:t[5]||(t[5]=(...c)=>i.addArticle&&i.addArticle(...c))},t[14]||(t[14]=[u("i",{class:"fas fa-plus"},null,-1),X(" 条文を追加 ")]))]),i.articles.length===0?(y(),C("div",f1," 条文が追加されていません ")):(y(!0),C(de,{key:1},ye(i.articles,(c,d)=>(y(),C("div",{key:c.id,class:"article-item"},[u("div",I1,[u("h3",null,"条文 "+K(d+1),1),u("button",{type:"button",class:"remove-button",onClick:l=>i.removeArticle(d)},t[16]||(t[16]=[u("i",{class:"fas fa-trash"},null,-1)]),8,p1)]),u("div",h1,[u("div",x1,[t[18]||(t[18]=u("label",null,"状態",-1)),_e(u("select",{"onUpdate:modelValue":l=>c.status=l,class:"form-control",required:""},t[17]||(t[17]=[u("option",{value:"改正"},"改正",-1),u("option",{value:"新設"},"新設",-1),u("option",{value:"削除"},"削除",-1)]),8,b1),[[tl,c.status]])]),u("div",m1,[t[19]||(t[19]=u("label",null,"改正前",-1)),c.status==="新設"?(y(),C("div",v1," 改正前の内容なし ")):_e((y(),C("textarea",{key:1,"onUpdate:modelValue":l=>c.before=l,class:"form-control",rows:"4",required:""},null,8,g1)),[[qe,c.before]])]),u("div",_1,[t[20]||(t[20]=u("label",null,"改正後",-1)),c.status==="削除"?(y(),C("div",y1," 削除 ")):_e((y(),C("textarea",{key:1,"onUpdate:modelValue":l=>c.after=l,class:"form-control",rows:"4",required:""},null,8,w1)),[[qe,c.after]])])])]))),128))]),u("div",T1,[Z(r,{to:i.backLink,class:"cancel-button"},{default:xe(()=>t[21]||(t[21]=[X("キャンセル")])),_:1},8,["to"]),u("button",{type:"submit",class:"save-button",disabled:!i.isValid},"保存",8,C1)])],32)])])}const bs=Be(JI,[["render",k1],["__scopeId","data-v-16b1000e"]]);const S1={name:"ScrollToTop",setup(){const e=ue(!1),t=()=>{e.value=window.scrollY>300},n=()=>{window.scrollTo({top:0,behavior:"smooth"})};return wt(()=>{window.addEventListener("scroll",t)}),co(()=>{window.removeEventListener("scroll",t)}),{showButton:e,scrollToTop:n}}};function E1(e,t,n,i,o,s){return _e((y(),C("button",{class:"scroll-to-top",onClick:t[0]||(t[0]=(...r)=>i.scrollToTop&&i.scrollToTop(...r)),"aria-label":"ページの先頭へ戻る"},t[1]||(t[1]=[u("i",{class:"fas fa-arrow-up"},null,-1)]),512)),[[Ud,i.showButton]])}const R1=Be(S1,[["render",E1],["__scopeId","data-v-57de1376"]]);const Si="legal-documents-data",N1={name:"PublicCommentEditor",components:{ScrollToTop:R1},setup(){const e=Ot(),t=At(),n=ue(""),i=ue(""),o=ue([]),s=ue(""),r=z(()=>e.query.edit),c=z(()=>n.value&&o.value.length>0&&o.value.every(g=>g.question&&g.answer)),d=g=>{g==="displayName"&&(n.value=n.value.replace(/\n/g,""))},l=(g,m)=>{o.value[g]&&(o.value[g][m]=o.value[g][m].replace(/\n/g,""))},a=()=>{o.value.push({id:Jt(),index:o.value.length+1,question:"",answer:""})},I=g=>{o.value.splice(g,1),o.value.forEach((m,S)=>{m.index=S+1})},h=()=>{if(!r.value)return;const g=e.query.edit,m=localStorage.getItem(Si);if(m)try{const N=JSON.parse(m)[g];N&&N.public_comment&&(s.value=g,n.value=N.displayName,i.value=N.url||"",o.value=N.questions.map(v=>({...v,id:v.id||Jt()})))}catch(S){console.error("Failed to load document:",S)}},x=()=>{const g=s.value||Jt(),m={accountId:g,displayName:n.value,url:i.value||null,public_comment:!0,questions:o.value};try{const S=localStorage.getItem(Si),N=S?JSON.parse(S):{};N[g]=m,localStorage.setItem(Si,JSON.stringify(N)),t.push("/")}catch(S){console.error("Failed to save public comment:",S),alert("パブリックコメントの保存に失敗しました")}};return wt(()=>{h()}),{displayName:n,url:i,questions:o,isValid:c,isEditing:r,formatText:d,formatQuestionText:l,addQuestion:a,removeQuestion:I,savePublicComment:x}}},L1={class:"editor-page"},A1={class:"page-header"},O1={class:"page-content"},D1={class:"form-group"},P1={class:"input-group"},F1={class:"form-group"},M1={class:"questions-section"},q1={class:"section-header"},$1={key:0,class:"no-items"},U1={class:"question-header"},H1=["onClick"],j1={class:"question-content"},V1={class:"form-group"},B1={class:"input-group"},K1=["onUpdate:modelValue"],W1=["onClick"],z1={class:"form-group"},J1={class:"input-group"},G1=["onUpdate:modelValue"],Q1=["onClick"],Y1={class:"pre-action-buttons"},X1={class:"form-actions"},Z1=["disabled"];function ep(e,t,n,i,o,s){const r=Ae("router-link"),c=Ae("ScrollToTop");return y(),C("div",L1,[u("header",A1,[Z(r,{to:"/",class:"back-link"},{default:xe(()=>t[6]||(t[6]=[u("i",{class:"fas fa-arrow-left"},null,-1),u("span",null,"戻る",-1)])),_:1}),u("h1",null,K(i.isEditing?"パブリックコメントの編集":"パブリックコメントの追加"),1)]),u("main",O1,[u("form",{onSubmit:t[5]||(t[5]=ci((...d)=>i.savePublicComment&&i.savePublicComment(...d),["prevent"])),class:"editor-form"},[u("div",D1,[t[8]||(t[8]=u("label",null,"文書名",-1)),u("div",P1,[_e(u("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=d=>i.displayName=d),class:"form-control",placeholder:"例: 暗号資産関連法令に関するパブリックコメント",required:""},null,512),[[qe,i.displayName]]),u("button",{type:"button",class:"format-button",onClick:t[1]||(t[1]=d=>i.formatText("displayName"))},t[7]||(t[7]=[u("i",{class:"fas fa-magic"},null,-1),X(" フォーマット ")]))])]),u("div",F1,[t[9]||(t[9]=u("label",null,"原文URL",-1)),_e(u("input",{type:"url","onUpdate:modelValue":t[2]||(t[2]=d=>i.url=d),class:"form-control",placeholder:"https://..."},null,512),[[qe,i.url]])]),u("div",M1,[u("div",q1,[t[11]||(t[11]=u("h2",null,"質問と回答",-1)),u("button",{type:"button",class:"add-button",onClick:t[3]||(t[3]=(...d)=>i.addQuestion&&i.addQuestion(...d))},t[10]||(t[10]=[u("i",{class:"fas fa-plus"},null,-1),X(" 質問を追加 ")]))]),i.questions.length===0?(y(),C("div",$1," 質問が追加されていません ")):(y(!0),C(de,{key:1},ye(i.questions,(d,l)=>(y(),C("div",{key:d.id,class:"question-item"},[u("div",U1,[u("h3",null,"質問 "+K(l+1),1),u("button",{type:"button",class:"remove-button",onClick:a=>i.removeQuestion(l)},t[12]||(t[12]=[u("i",{class:"fas fa-trash"},null,-1)]),8,H1)]),u("div",j1,[u("div",V1,[t[14]||(t[14]=u("label",null,"質問内容",-1)),u("div",B1,[_e(u("textarea",{"onUpdate:modelValue":a=>d.question=a,class:"form-control",rows:"4",required:""},null,8,K1),[[qe,d.question]]),u("button",{type:"button",class:"format-button",onClick:a=>i.formatQuestionText(l,"question")},t[13]||(t[13]=[u("i",{class:"fas fa-magic"},null,-1),X(" フォーマット ")]),8,W1)])]),u("div",z1,[t[16]||(t[16]=u("label",null,"回答内容",-1)),u("div",J1,[_e(u("textarea",{"onUpdate:modelValue":a=>d.answer=a,class:"form-control",rows:"4",required:""},null,8,G1),[[qe,d.answer]]),u("button",{type:"button",class:"format-button",onClick:a=>i.formatQuestionText(l,"answer")},t[15]||(t[15]=[u("i",{class:"fas fa-magic"},null,-1),X(" フォーマット ")]),8,Q1)])])])]))),128))]),u("div",Y1,[u("button",{type:"button",class:"add-question-button",onClick:t[4]||(t[4]=(...d)=>i.addQuestion&&i.addQuestion(...d))},t[17]||(t[17]=[u("i",{class:"fas fa-plus"},null,-1),X(" 質問を追加 ")]))]),u("div",X1,[Z(r,{to:"/",class:"cancel-button"},{default:xe(()=>t[18]||(t[18]=[X("キャンセル")])),_:1}),u("button",{type:"submit",class:"save-button",disabled:!i.isValid},"保存",8,Z1)])],32)]),Z(c)])}const tp=Be(N1,[["render",ep],["__scopeId","data-v-eaa13145"]]),Hr=fa({history:jl(),routes:[{path:"/",component:du},{path:"/document/:id",component:$u},{path:"/document/:documentId/:tweetId",component:zf,name:"tweet"},{path:"/revisions/:documentId",component:pI,name:"revisions"},{path:"/revisions/:documentId/:revisionId",component:VI,name:"revision-detail"},{path:"/revisions/:documentId/new",component:bs,name:"revision-editor-new",props:!0},{path:"/revisions/:documentId/edit/:revisionId",component:bs,name:"revision-editor-edit",props:!0},{path:"/public-comment/new",component:tp,name:"public-comment-new"}]}),jr=rl(ul);jr.use(Hr);jr.mount("#app");window.$router=Hr; diff --git a/index.html b/index.html index 6680952..11bc94d 100644 --- a/index.html +++ b/index.html @@ -18,8 +18,8 @@ } })(); - - + +