(MSIN+) db.msin.jp improved

Check the Porn code to MISSAV and Sukebei if it exist.

// ==UserScript==
// @name         (MSIN+) db.msin.jp improved
// @namespace    https://github.com/KememChan
// @version      1.4.0
// @author       KememChan
// @description  Check the Porn code to MISSAV and Sukebei if it exist.
// @icon         https://db.msin.jp/favicon.ico
// @match        https://db.msin.jp/*page/*
// @match        https://db.msin.jp/*search/*
// @match        https://db.msin.jp/*ranking/*
// @require      https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js
// @grant        GM.xmlHttpRequest
// @grant        GM_addElement
// @grant        GM_addStyle
// @grant        GM_xmlhttpRequest
// ==/UserScript==

(t=>{const e=document.createElement("style");e.dataset.source="vite-plugin-monkey",e.innerText=t,document.head.appendChild(e)})('@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@100;400;500;600;900&display=swap";:root{--font-size:1em}video.svelte-5u5jjm.svelte-5u5jjm{width:100%}.hidden.svelte-5u5jjm.svelte-5u5jjm{display:none}.link.svelte-5u5jjm.svelte-5u5jjm{height:1.2rem;margin-top:.2rem;padding:5px;background-color:#6c738033;display:flex;gap:5px;justify-content:center}.movie_desc.svelte-5u5jjm.svelte-5u5jjm{font-size:var(--font-size);font-family:Century Gothic,CenturyGothic,Geneva,AppleGothic,sans-serif;font-weight:700;text-align:center}.rounded.svelte-5u5jjm.svelte-5u5jjm{border-radius:5px}img.svelte-5u5jjm.svelte-5u5jjm{height:100%}.movie_thumbnail.svelte-5u5jjm.svelte-5u5jjm{aspect-ratio:16 / 9;background:rgb(15 17 18);overflow:hidden;text-align:center;display:flex;justify-content:center;margin:.5rem .5rem 0}a.svelte-5u5jjm.svelte-5u5jjm{color:#bfbdb6;text-decoration:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.movie_desc.svelte-5u5jjm>.svelte-5u5jjm:hover{color:#ff8c00}.movie.svelte-5u5jjm.svelte-5u5jjm{background:rgb(36 39 41);display:flex;flex-direction:column;opacity:0;transition:cubic-bezier(1,0,0,1) .8s}.movie_desc.svelte-5u5jjm.svelte-5u5jjm{display:grid;padding:.5rem}.movie_code.svelte-5u5jjm.svelte-5u5jjm{color:#bfbdb6;font-size:calc(var(--font-size) + .2em)}.movie_actress.svelte-5u5jjm.svelte-5u5jjm{color:#39bae6}@media screen and (min-width: 1400px){:root{--font-size:.8rem}}@media screen and (min-width: 1700px){:root{--font-size:.9rem}}.getmagnetbutton.svelte-5wqp10{display:flex;justify-content:center}.btn.svelte-5wqp10{-webkit-border-radius:28;-moz-border-radius:28;border-radius:28px;font-family:Arial;color:#fff;font-size:15px;background:#823a58;padding:10px 20px;text-decoration:none}.btn.svelte-5wqp10:hover{background:#b36183;text-decoration:none}.movie_grid.svelte-11wt7vu{--grid-count:auto-fit;margin:1rem 0;display:grid;grid-template-columns:repeat(var(--grid-count),minmax(min(100px,100%),1fr));gap:1rem}@media screen and (max-width: 500px){.movie_grid.svelte-11wt7vu{--grid-count:2}:root{--font-size:.8em}}@media screen and (min-width: 1600px){.movie_grid.svelte-11wt7vu{--grid-count:6}}.body.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{background-color:#0a0a0a;color:#fff;font-size:13px;display:flex;justify-content:center}:root{--primary-color:linear-gradient( 0deg, hsla(0, 0%, 9%, 1) 0%, hsla(0, 0%, 10%, 1) 100% )}.hidden.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{display:none}video.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{width:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10}#gbtn.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{height:auto;width:10rem;height:3rem;margin-top:1.1rem;background-color:#873ed6;cursor:pointer}.grid.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{display:grid;grid-gap:25px;padding:10px;width:100%;max-width:65em}.grid.svelte-5bq3e0>.svelte-5bq3e0.svelte-5bq3e0{position:relative;border-radius:10px;border:2px solid #6b32a8}.grid.svelte-5bq3e0>.svelte-5bq3e0.svelte-5bq3e0:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;z-index:-1;background:linear-gradient(-45deg,#e81cff 0%,#40c9ff 100%);border-radius:10px}.image-poster.svelte-5bq3e0 img.svelte-5bq3e0.svelte-5bq3e0{width:100%;padding:1px;border-radius:10px;position:relative;display:flex;justify-content:center}.actress-thumbnail.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{display:flex;justify-content:center;align-items:center;position:relative}.actress-thumbnail.svelte-5bq3e0 img.svelte-5bq3e0.svelte-5bq3e0{border-radius:20%;width:100%}.total-movie.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{position:absolute;top:2px;left:5px;background-color:#873ed6;padding:5px;border-radius:100%;font-size:11px}.movie-actress.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{background:var(--primary-color);display:flex;justify-content:center;align-items:center;flex-direction:column;padding:1rem}.actress-row.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{display:flex;justify-content:center;flex-direction:row;flex-wrap:wrap}.actress.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{padding:.5rem;width:90px}.actress-name.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{text-align:center}.movie-details.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{background:var(--primary-color);display:grid;grid-auto-columns:auto;gap:.6rem;padding:1rem 0;padding:.8rem;text-align:center}.genre-box.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{background:var(--primary-color);padding:1rem 0;text-align:center}.genre-list.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.genre-list.svelte-5bq3e0>label.svelte-5bq3e0.svelte-5bq3e0{background-color:#442d60;user-select:none;padding:.5rem;cursor:pointer}.genre-list.svelte-5bq3e0 label.svelte-5bq3e0.svelte-5bq3e0:hover{background-color:#c863c9}.genre-list.svelte-5bq3e0 input.svelte-5bq3e0.svelte-5bq3e0{display:none}.genre-list.svelte-5bq3e0 input.svelte-5bq3e0:checked+label.svelte-5bq3e0{background-color:#873ed6}@media screen and (min-width: 35em){.body.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{font-size:15px}.grid.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{grid-template-columns:repeat(4,minmax(min(120px,100%),1fr))}.image-poster.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{grid-area:1 / 1 / -1 / -1}.movie-details.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{grid-area:var(--movie-details)}.genre-box.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{grid-area:auto / 1 / auto / -1}.movie-actress.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{grid-area:var(--movie-actress)}.actress.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{width:120px}}');

var __plugin_monkey_exposed = function($2) {
  "use strict";
  function noop() {
  }
  function assign(tar, src) {
    for (const k in src)
      tar[k] = src[k];
    return tar;
  }
  function run(fn) {
    return fn();
  }
  function blank_object() {
    return /* @__PURE__ */ Object.create(null);
  }
  function run_all(fns) {
    fns.forEach(run);
  }
  function is_function(thing) {
    return typeof thing === "function";
  }
  function safe_not_equal(a, b) {
    return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");
  }
  let src_url_equal_anchor;
  function src_url_equal(element_src, url) {
    if (!src_url_equal_anchor) {
      src_url_equal_anchor = document.createElement("a");
    }
    src_url_equal_anchor.href = url;
    return element_src === src_url_equal_anchor.href;
  }
  function is_empty(obj) {
    return Object.keys(obj).length === 0;
  }
  function action_destroyer(action_result) {
    return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;
  }
  function append(target, node) {
    target.appendChild(node);
  }
  function insert(target, node, anchor) {
    target.insertBefore(node, anchor || null);
  }
  function detach(node) {
    if (node.parentNode) {
      node.parentNode.removeChild(node);
    }
  }
  function destroy_each(iterations, detaching) {
    for (let i = 0; i < iterations.length; i += 1) {
      if (iterations[i])
        iterations[i].d(detaching);
    }
  }
  function element(name) {
    return document.createElement(name);
  }
  function text(data) {
    return document.createTextNode(data);
  }
  function space() {
    return text(" ");
  }
  function listen(node, event, handler, options) {
    node.addEventListener(event, handler, options);
    return () => node.removeEventListener(event, handler, options);
  }
  function attr(node, attribute, value) {
    if (value == null)
      node.removeAttribute(attribute);
    else if (node.getAttribute(attribute) !== value)
      node.setAttribute(attribute, value);
  }
  function children(element2) {
    return Array.from(element2.childNodes);
  }
  function set_data(text2, data) {
    data = "" + data;
    if (text2.wholeText !== data)
      text2.data = data;
  }
  function set_style(node, key, value, important) {
    if (value === null) {
      node.style.removeProperty(key);
    } else {
      node.style.setProperty(key, value, important ? "important" : "");
    }
  }
  function toggle_class(element2, name, toggle) {
    element2.classList[toggle ? "add" : "remove"](name);
  }
  let current_component;
  function set_current_component(component) {
    current_component = component;
  }
  function get_current_component() {
    if (!current_component)
      throw new Error("Function called outside component initialization");
    return current_component;
  }
  function onMount(fn) {
    get_current_component().$$.on_mount.push(fn);
  }
  const dirty_components = [];
  const binding_callbacks = [];
  const render_callbacks = [];
  const flush_callbacks = [];
  const resolved_promise = Promise.resolve();
  let update_scheduled = false;
  function schedule_update() {
    if (!update_scheduled) {
      update_scheduled = true;
      resolved_promise.then(flush);
    }
  }
  function add_render_callback(fn) {
    render_callbacks.push(fn);
  }
  const seen_callbacks = /* @__PURE__ */ new Set();
  let flushidx = 0;
  function flush() {
    if (flushidx !== 0) {
      return;
    }
    const saved_component = current_component;
    do {
      try {
        while (flushidx < dirty_components.length) {
          const component = dirty_components[flushidx];
          flushidx++;
          set_current_component(component);
          update(component.$$);
        }
      } catch (e) {
        dirty_components.length = 0;
        flushidx = 0;
        throw e;
      }
      set_current_component(null);
      dirty_components.length = 0;
      flushidx = 0;
      while (binding_callbacks.length)
        binding_callbacks.pop()();
      for (let i = 0; i < render_callbacks.length; i += 1) {
        const callback = render_callbacks[i];
        if (!seen_callbacks.has(callback)) {
          seen_callbacks.add(callback);
          callback();
        }
      }
      render_callbacks.length = 0;
    } while (dirty_components.length);
    while (flush_callbacks.length) {
      flush_callbacks.pop()();
    }
    update_scheduled = false;
    seen_callbacks.clear();
    set_current_component(saved_component);
  }
  function update($$) {
    if ($$.fragment !== null) {
      $$.update();
      run_all($$.before_update);
      const dirty = $$.dirty;
      $$.dirty = [-1];
      $$.fragment && $$.fragment.p($$.ctx, dirty);
      $$.after_update.forEach(add_render_callback);
    }
  }
  const outroing = /* @__PURE__ */ new Set();
  let outros;
  function group_outros() {
    outros = {
      r: 0,
      c: [],
      p: outros
      // parent group
    };
  }
  function check_outros() {
    if (!outros.r) {
      run_all(outros.c);
    }
    outros = outros.p;
  }
  function transition_in(block, local) {
    if (block && block.i) {
      outroing.delete(block);
      block.i(local);
    }
  }
  function transition_out(block, local, detach2, callback) {
    if (block && block.o) {
      if (outroing.has(block))
        return;
      outroing.add(block);
      outros.c.push(() => {
        outroing.delete(block);
        if (callback) {
          if (detach2)
            block.d(1);
          callback();
        }
      });
      block.o(local);
    } else if (callback) {
      callback();
    }
  }
  function get_spread_update(levels, updates) {
    const update2 = {};
    const to_null_out = {};
    const accounted_for = { $$scope: 1 };
    let i = levels.length;
    while (i--) {
      const o = levels[i];
      const n = updates[i];
      if (n) {
        for (const key in o) {
          if (!(key in n))
            to_null_out[key] = 1;
        }
        for (const key in n) {
          if (!accounted_for[key]) {
            update2[key] = n[key];
            accounted_for[key] = 1;
          }
        }
        levels[i] = n;
      } else {
        for (const key in o) {
          accounted_for[key] = 1;
        }
      }
    }
    for (const key in to_null_out) {
      if (!(key in update2))
        update2[key] = void 0;
    }
    return update2;
  }
  function get_spread_object(spread_props) {
    return typeof spread_props === "object" && spread_props !== null ? spread_props : {};
  }
  function create_component(block) {
    block && block.c();
  }
  function mount_component(component, target, anchor, customElement) {
    const { fragment, after_update } = component.$$;
    fragment && fragment.m(target, anchor);
    if (!customElement) {
      add_render_callback(() => {
        const new_on_destroy = component.$$.on_mount.map(run).filter(is_function);
        if (component.$$.on_destroy) {
          component.$$.on_destroy.push(...new_on_destroy);
        } else {
          run_all(new_on_destroy);
        }
        component.$$.on_mount = [];
      });
    }
    after_update.forEach(add_render_callback);
  }
  function destroy_component(component, detaching) {
    const $$ = component.$$;
    if ($$.fragment !== null) {
      run_all($$.on_destroy);
      $$.fragment && $$.fragment.d(detaching);
      $$.on_destroy = $$.fragment = null;
      $$.ctx = [];
    }
  }
  function make_dirty(component, i) {
    if (component.$$.dirty[0] === -1) {
      dirty_components.push(component);
      schedule_update();
      component.$$.dirty.fill(0);
    }
    component.$$.dirty[i / 31 | 0] |= 1 << i % 31;
  }
  function init(component, options, instance2, create_fragment2, not_equal, props, append_styles, dirty = [-1]) {
    const parent_component = current_component;
    set_current_component(component);
    const $$ = component.$$ = {
      fragment: null,
      ctx: [],
      // state
      props,
      update: noop,
      not_equal,
      bound: blank_object(),
      // lifecycle
      on_mount: [],
      on_destroy: [],
      on_disconnect: [],
      before_update: [],
      after_update: [],
      context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),
      // everything else
      callbacks: blank_object(),
      dirty,
      skip_bound: false,
      root: options.target || parent_component.$$.root
    };
    append_styles && append_styles($$.root);
    let ready = false;
    $$.ctx = instance2 ? instance2(component, options.props || {}, (i, ret, ...rest) => {
      const value = rest.length ? rest[0] : ret;
      if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {
        if (!$$.skip_bound && $$.bound[i])
          $$.bound[i](value);
        if (ready)
          make_dirty(component, i);
      }
      return ret;
    }) : [];
    $$.update();
    ready = true;
    run_all($$.before_update);
    $$.fragment = create_fragment2 ? create_fragment2($$.ctx) : false;
    if (options.target) {
      if (options.hydrate) {
        const nodes = children(options.target);
        $$.fragment && $$.fragment.l(nodes);
        nodes.forEach(detach);
      } else {
        $$.fragment && $$.fragment.c();
      }
      if (options.intro)
        transition_in(component.$$.fragment);
      mount_component(component, options.target, options.anchor, options.customElement);
      flush();
    }
    set_current_component(parent_component);
  }
  class SvelteComponent {
    $destroy() {
      destroy_component(this, 1);
      this.$destroy = noop;
    }
    $on(type, callback) {
      if (!is_function(callback)) {
        return noop;
      }
      const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);
      callbacks.push(callback);
      return () => {
        const index = callbacks.indexOf(callback);
        if (index !== -1)
          callbacks.splice(index, 1);
      };
    }
    $set($$props) {
      if (this.$$set && !is_empty($$props)) {
        this.$$.skip_bound = true;
        this.$$set($$props);
        this.$$.skip_bound = false;
      }
    }
  }
  var monkeyWindow = window;
  var GM_addElement = /* @__PURE__ */ (() => monkeyWindow.GM_addElement)();
  var GM_addStyle = /* @__PURE__ */ (() => monkeyWindow.GM_addStyle)();
  var GM_xmlhttpRequest = /* @__PURE__ */ (() => monkeyWindow.GM_xmlhttpRequest)();
  const xmlhttpRequest = /* @__PURE__ */ (() => {
    return monkeyWindow.GM_xmlhttpRequest ?? monkeyWindow.GM.xmlHttpRequest;
  })();
  const fixUrl = (url = "") => {
    try {
      return url === "" && location.href ? location.href : url;
    } catch {
      return url;
    }
  };
  const delay = async (n = 0) => new Promise((res) => {
    setTimeout(res, n);
  });
  const parseHeaders = (rawHeaders = "") => {
    const headers = new Headers();
    const preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, " ");
    preProcessedHeaders.split("\r").map(function(header) {
      return header.startsWith(`
`) ? header.substring(1) : header;
    }).forEach(function(line) {
      var _a;
      let parts = line.split(":");
      let key = (_a = parts.shift()) == null ? void 0 : _a.trim();
      if (key) {
        let value = parts.join(":").trim();
        headers.append(key, value);
      }
    });
    return headers;
  };
  const GM_fetch = async (input, init2 = {}) => {
    const request = new Request(input, init2);
    if (request.signal && request.signal.aborted) {
      throw new DOMException("Aborted", "AbortError");
    }
    let data = await request.text();
    let binary = true;
    const headers = {};
    request.headers.forEach((value, key) => {
      headers[key] = value;
    });
    new Headers(init2.headers).forEach((value, key) => {
      headers[key] = value;
    });
    return new Promise((resolve, reject) => {
      var _a;
      const handle = xmlhttpRequest({
        method: request.method.toUpperCase(),
        url: fixUrl(request.url),
        headers,
        data,
        binary,
        responseType: "blob",
        async onload(e) {
          await delay();
          const resp = new Response(e.response ?? e.responseText, {
            status: e.status,
            statusText: e.statusText,
            headers: parseHeaders(e.responseHeaders)
          });
          Object.defineProperty(resp, "url", { value: e.finalUrl });
          resolve(resp);
        },
        async onerror() {
          await delay();
          reject(new TypeError("Network request failed"));
        },
        async ontimeout() {
          await delay();
          reject(new TypeError("Network request failed"));
        },
        async onabort() {
          await delay();
          reject(new DOMException("Aborted", "AbortError"));
        },
        async onreadystatechange(response) {
          var _a2;
          if (response.readyState === 4) {
            (_a2 = request.signal) == null ? void 0 : _a2.removeEventListener("abort", abortXhr);
          }
        }
      });
      function abortXhr() {
        handle.abort();
      }
      (_a = request.signal) == null ? void 0 : _a.addEventListener("abort", abortXhr);
    });
  };
  let intersectionObserver;
  function ensureIntersectionObserver() {
    if (intersectionObserver)
      return;
    intersectionObserver = new IntersectionObserver(
      (entries) => {
        entries.forEach((entry) => {
          const eventName = entry.isIntersecting ? "enterViewport" : "exitViewport";
          entry.target.dispatchEvent(new CustomEvent(eventName));
        });
      }
    );
  }
  function viewport(element2) {
    ensureIntersectionObserver();
    intersectionObserver.observe(element2);
    return {
      destroy() {
        intersectionObserver.unobserve(element2);
      }
    };
  }
  function MissAV(code, card) {
    const missavUrl = `https://missav.com/en/search/${code.getAttribute(
      "missavcode"
    )}`;
    console.log(`requesting ${missavUrl}`);
    GM_xmlhttpRequest({
      url: missavUrl,
      onload(response) {
        const grid = $2(response.responseText).find("div.grid div.relative");
        let previewUrl;
        const uncen = $2(response.responseText).find("span:contains('Uncensored Leak')").parent().parent().find("video").attr("data-src");
        if (uncen) {
          previewUrl = uncen;
        } else {
          previewUrl = $2(response.responseText).find("video").first().attr("data-src");
        }
        if (grid.length) {
          code.setAttribute("href", missavUrl);
          code.setAttribute("target", "_blank");
          code.setAttribute("preview", previewUrl);
          if (uncen) {
            code.style.color = "#50e1d0";
          } else {
            code.style.color = "#e15062";
          }
        } else {
          card.style.filter = "brightness(0.5)";
        }
      }
    });
  }
  const _Content_svelte_svelte_type_style_lang = "";
  function create_fragment$5(ctx) {
    let div3;
    let div0;
    let video;
    let t0;
    let img;
    let img_src_value;
    let t1;
    let div2;
    let a0;
    let t2;
    let t3;
    let a1;
    let t4;
    let t5;
    let t6;
    let t7;
    let a2;
    let t8;
    let t9;
    let a3;
    let t10;
    let t11;
    let a4;
    let t12;
    let t13;
    let a5;
    let t14;
    let t15;
    let div1;
    let mounted;
    let dispose;
    return {
      c() {
        div3 = element("div");
        div0 = element("div");
        video = element("video");
        t0 = space();
        img = element("img");
        t1 = space();
        div2 = element("div");
        a0 = element("a");
        t2 = text(
          /*movieCode*/
          ctx[1]
        );
        t3 = space();
        a1 = element("a");
        t4 = text(
          /*movieDate*/
          ctx[2]
        );
        t5 = space();
        t6 = text(
          /*ageWhenRelease*/
          ctx[9]
        );
        t7 = space();
        a2 = element("a");
        t8 = text(
          /*movieTitle*/
          ctx[5]
        );
        t9 = space();
        a3 = element("a");
        t10 = text(
          /*mfr*/
          ctx[3]
        );
        t11 = space();
        a4 = element("a");
        t12 = text(
          /*movieMaker*/
          ctx[4]
        );
        t13 = space();
        a5 = element("a");
        t14 = text(
          /*name*/
          ctx[6]
        );
        t15 = space();
        div1 = element("div");
        video.autoplay = true;
        video.loop = true;
        video.muted = true;
        video.playsInline = true;
        attr(video, "class", "svelte-5u5jjm");
        toggle_class(
          video,
          "hidden",
          /*hidden*/
          ctx[17] === true
        );
        if (!src_url_equal(img.src, img_src_value = /*thumbnail*/
        ctx[0]))
          attr(img, "src", img_src_value);
        attr(img, "loading", "lazy");
        attr(img, "alt", "thumbnail image");
        attr(img, "class", "svelte-5u5jjm");
        toggle_class(
          img,
          "hidden",
          /*hidden*/
          ctx[17] === false
        );
        attr(div0, "class", "movie_thumbnail rounded text-center width-ratio svelte-5u5jjm");
        attr(
          a0,
          "href",
          /*movieCodeUrl*/
          ctx[7]
        );
        attr(a0, "class", "movie_code svelte-5u5jjm");
        attr(
          a1,
          "href",
          /*movieDateUrl*/
          ctx[8]
        );
        attr(a1, "class", "movie_date svelte-5u5jjm");
        attr(
          a2,
          "href",
          /*movieTitleUrl*/
          ctx[12]
        );
        attr(a2, "class", "movie_title svelte-5u5jjm");
        attr(
          a3,
          "href",
          /*mfrUrl*/
          ctx[10]
        );
        attr(a3, "class", "mfr svelte-5u5jjm");
        attr(
          a4,
          "href",
          /*movieMakerUrl*/
          ctx[11]
        );
        attr(a4, "class", "movie_maker svelte-5u5jjm");
        attr(
          a5,
          "href",
          /*nameUrl*/
          ctx[13]
        );
        attr(a5, "class", "movie_actress svelte-5u5jjm");
        attr(div1, "class", "link rounded svelte-5u5jjm");
        attr(div2, "class", "movie_desc svelte-5u5jjm");
        attr(div3, "class", "movie rounded svelte-5u5jjm");
      },
      m(target, anchor) {
        insert(target, div3, anchor);
        append(div3, div0);
        append(div0, video);
        append(div0, t0);
        append(div0, img);
        ctx[23](div0);
        append(div3, t1);
        append(div3, div2);
        append(div2, a0);
        append(a0, t2);
        ctx[24](a0);
        append(div2, t3);
        append(div2, a1);
        append(a1, t4);
        append(a1, t5);
        append(a1, t6);
        append(div2, t7);
        append(div2, a2);
        append(a2, t8);
        append(div2, t9);
        append(div2, a3);
        append(a3, t10);
        append(div2, t11);
        append(div2, a4);
        append(a4, t12);
        append(div2, t13);
        append(div2, a5);
        append(a5, t14);
        append(div2, t15);
        append(div2, div1);
        ctx[25](div3);
        if (!mounted) {
          dispose = [
            listen(
              div0,
              "mouseenter",
              /*setPreview*/
              ctx[19]
            ),
            listen(
              div0,
              "mouseleave",
              /*unSetPreview*/
              ctx[20]
            ),
            listen(
              div0,
              "keydown",
              /*setPreview*/
              ctx[19]
            ),
            action_destroyer(viewport.call(null, div3)),
            listen(
              div3,
              "enterViewport",
              /*enterViewport_handler*/
              ctx[26]
            ),
            listen(
              div3,
              "exitViewport",
              /*exitViewport_handler*/
              ctx[27]
            )
          ];
          mounted = true;
        }
      },
      p(ctx2, [dirty]) {
        if (dirty & /*hidden*/
        131072) {
          toggle_class(
            video,
            "hidden",
            /*hidden*/
            ctx2[17] === true
          );
        }
        if (dirty & /*thumbnail*/
        1 && !src_url_equal(img.src, img_src_value = /*thumbnail*/
        ctx2[0])) {
          attr(img, "src", img_src_value);
        }
        if (dirty & /*hidden*/
        131072) {
          toggle_class(
            img,
            "hidden",
            /*hidden*/
            ctx2[17] === false
          );
        }
        if (dirty & /*movieCode*/
        2)
          set_data(
            t2,
            /*movieCode*/
            ctx2[1]
          );
        if (dirty & /*movieCodeUrl*/
        128) {
          attr(
            a0,
            "href",
            /*movieCodeUrl*/
            ctx2[7]
          );
        }
        if (dirty & /*movieDate*/
        4)
          set_data(
            t4,
            /*movieDate*/
            ctx2[2]
          );
        if (dirty & /*ageWhenRelease*/
        512)
          set_data(
            t6,
            /*ageWhenRelease*/
            ctx2[9]
          );
        if (dirty & /*movieDateUrl*/
        256) {
          attr(
            a1,
            "href",
            /*movieDateUrl*/
            ctx2[8]
          );
        }
        if (dirty & /*movieTitle*/
        32)
          set_data(
            t8,
            /*movieTitle*/
            ctx2[5]
          );
        if (dirty & /*movieTitleUrl*/
        4096) {
          attr(
            a2,
            "href",
            /*movieTitleUrl*/
            ctx2[12]
          );
        }
        if (dirty & /*mfr*/
        8)
          set_data(
            t10,
            /*mfr*/
            ctx2[3]
          );
        if (dirty & /*mfrUrl*/
        1024) {
          attr(
            a3,
            "href",
            /*mfrUrl*/
            ctx2[10]
          );
        }
        if (dirty & /*movieMaker*/
        16)
          set_data(
            t12,
            /*movieMaker*/
            ctx2[4]
          );
        if (dirty & /*movieMakerUrl*/
        2048) {
          attr(
            a4,
            "href",
            /*movieMakerUrl*/
            ctx2[11]
          );
        }
        if (dirty & /*name*/
        64)
          set_data(
            t14,
            /*name*/
            ctx2[6]
          );
        if (dirty & /*nameUrl*/
        8192) {
          attr(
            a5,
            "href",
            /*nameUrl*/
            ctx2[13]
          );
        }
      },
      i: noop,
      o: noop,
      d(detaching) {
        if (detaching)
          detach(div3);
        ctx[23](null);
        ctx[24](null);
        ctx[25](null);
        mounted = false;
        run_all(dispose);
      }
    };
  }
  function instance$5($$self, $$props, $$invalidate) {
    let { thumbnail } = $$props;
    let { movieCode } = $$props;
    let { missAVCode } = $$props;
    let { sukebeiCode } = $$props;
    let { movieDate } = $$props;
    let { mfr } = $$props;
    let { movieMaker } = $$props;
    let { movieTitle } = $$props;
    let { name } = $$props;
    let { movieCodeUrl } = $$props;
    let { movieDateUrl } = $$props;
    let { ageWhenRelease } = $$props;
    let { mfrUrl } = $$props;
    let { movieMakerUrl } = $$props;
    let { movieTitleUrl } = $$props;
    let { nameUrl } = $$props;
    let preview, code;
    let card;
    onMount(() => {
      code.setAttribute("missavcode", missAVCode);
      code.setAttribute("sukebeicode", sukebeiCode);
    });
    function entervp() {
      if (!code.getAttribute("scanned")) {
        code.getAttribute("missavcode");
        MissAV(code, card);
      }
      code.setAttribute("scanned", "true");
      $$invalidate(16, card.style.opacity = "1", card);
    }
    let hidden = true;
    async function setPreview() {
      if (!code.getAttribute("preview")) {
        return;
      }
      if (!preview.querySelector("video").getAttribute("src")) {
        const url = code.getAttribute("preview");
        const resp = await GM_fetch(url, {
          headers: { referer: "https://missav.com/en" }
        });
        const blob = await resp.blob();
        const previewUrl = URL.createObjectURL(blob);
        preview.querySelector("video").setAttribute("src", previewUrl);
      }
      $$invalidate(17, hidden = false);
    }
    function unSetPreview() {
      $$invalidate(17, hidden = true);
    }
    function div0_binding($$value) {
      binding_callbacks[$$value ? "unshift" : "push"](() => {
        preview = $$value;
        $$invalidate(14, preview);
      });
    }
    function a0_binding($$value) {
      binding_callbacks[$$value ? "unshift" : "push"](() => {
        code = $$value;
        $$invalidate(15, code);
      });
    }
    function div3_binding($$value) {
      binding_callbacks[$$value ? "unshift" : "push"](() => {
        card = $$value;
        $$invalidate(16, card);
      });
    }
    const enterViewport_handler = () => {
      entervp();
    };
    const exitViewport_handler = () => {
    };
    $$self.$$set = ($$props2) => {
      if ("thumbnail" in $$props2)
        $$invalidate(0, thumbnail = $$props2.thumbnail);
      if ("movieCode" in $$props2)
        $$invalidate(1, movieCode = $$props2.movieCode);
      if ("missAVCode" in $$props2)
        $$invalidate(21, missAVCode = $$props2.missAVCode);
      if ("sukebeiCode" in $$props2)
        $$invalidate(22, sukebeiCode = $$props2.sukebeiCode);
      if ("movieDate" in $$props2)
        $$invalidate(2, movieDate = $$props2.movieDate);
      if ("mfr" in $$props2)
        $$invalidate(3, mfr = $$props2.mfr);
      if ("movieMaker" in $$props2)
        $$invalidate(4, movieMaker = $$props2.movieMaker);
      if ("movieTitle" in $$props2)
        $$invalidate(5, movieTitle = $$props2.movieTitle);
      if ("name" in $$props2)
        $$invalidate(6, name = $$props2.name);
      if ("movieCodeUrl" in $$props2)
        $$invalidate(7, movieCodeUrl = $$props2.movieCodeUrl);
      if ("movieDateUrl" in $$props2)
        $$invalidate(8, movieDateUrl = $$props2.movieDateUrl);
      if ("ageWhenRelease" in $$props2)
        $$invalidate(9, ageWhenRelease = $$props2.ageWhenRelease);
      if ("mfrUrl" in $$props2)
        $$invalidate(10, mfrUrl = $$props2.mfrUrl);
      if ("movieMakerUrl" in $$props2)
        $$invalidate(11, movieMakerUrl = $$props2.movieMakerUrl);
      if ("movieTitleUrl" in $$props2)
        $$invalidate(12, movieTitleUrl = $$props2.movieTitleUrl);
      if ("nameUrl" in $$props2)
        $$invalidate(13, nameUrl = $$props2.nameUrl);
    };
    return [
      thumbnail,
      movieCode,
      movieDate,
      mfr,
      movieMaker,
      movieTitle,
      name,
      movieCodeUrl,
      movieDateUrl,
      ageWhenRelease,
      mfrUrl,
      movieMakerUrl,
      movieTitleUrl,
      nameUrl,
      preview,
      code,
      card,
      hidden,
      entervp,
      setPreview,
      unSetPreview,
      missAVCode,
      sukebeiCode,
      div0_binding,
      a0_binding,
      div3_binding,
      enterViewport_handler,
      exitViewport_handler
    ];
  }
  class Content extends SvelteComponent {
    constructor(options) {
      super();
      init(this, options, instance$5, create_fragment$5, safe_not_equal, {
        thumbnail: 0,
        movieCode: 1,
        missAVCode: 21,
        sukebeiCode: 22,
        movieDate: 2,
        mfr: 3,
        movieMaker: 4,
        movieTitle: 5,
        name: 6,
        movieCodeUrl: 7,
        movieDateUrl: 8,
        ageWhenRelease: 9,
        mfrUrl: 10,
        movieMakerUrl: 11,
        movieTitleUrl: 12,
        nameUrl: 13
      });
    }
  }
  const _GetAllMagnet_svelte_svelte_type_style_lang = "";
  function create_fragment$4(ctx) {
    let div;
    let button;
    let mounted;
    let dispose;
    return {
      c() {
        div = element("div");
        button = element("button");
        button.textContent = "Copy All Magnet";
        attr(button, "class", "btn svelte-5wqp10");
        attr(div, "class", "getmagnetbutton svelte-5wqp10");
      },
      m(target, anchor) {
        insert(target, div, anchor);
        append(div, button);
        if (!mounted) {
          dispose = listen(
            button,
            "click",
            /*getAllMagnet*/
            ctx[0]
          );
          mounted = true;
        }
      },
      p: noop,
      i: noop,
      o: noop,
      d(detaching) {
        if (detaching)
          detach(div);
        mounted = false;
        dispose();
      }
    };
  }
  function instance$4($$self) {
    function getAllMagnet() {
      let magnets = [];
      for (let magnetel of $2(".fa-magnet")) {
        const magnet = $2(magnetel).attr("href");
        magnets.push(magnet);
      }
      navigator.clipboard.writeText(magnets.join("\n"));
    }
    return [getAllMagnet];
  }
  class GetAllMagnet extends SvelteComponent {
    constructor(options) {
      super();
      init(this, options, instance$4, create_fragment$4, safe_not_equal, {});
    }
  }
  function CalculateDate(past, present) {
    if (past.length === 0) {
      return "";
    }
    const pastDate = new Date(past);
    const presentDate = new Date(present);
    const yearDiff = presentDate.getFullYear() - pastDate.getFullYear();
    const monthDiff = presentDate.getMonth() - pastDate.getMonth();
    let totalMonths = yearDiff * 12 + monthDiff;
    if (presentDate.getDate() < pastDate.getDate()) {
      totalMonths--;
    }
    const years = Math.floor(totalMonths / 12);
    const months = totalMonths % 12;
    return `| ${years} years and ${months} months old`;
  }
  function MovieElement() {
    let movies = [];
    const regex = /^(carib|caribpr|1pon|10mu|paco)+-(\d.+)/i;
    const pacomama = /^(paco)+-(\d.+)/i;
    const movie_infos = $2(".movie_info");
    const birthDate = $2(".mv_barth").text();
    for (const movie_info of movie_infos) {
      let sukebeiCode = $2(movie_info).find(".movie_pn").text().toUpperCase();
      if (sukebeiCode.length === 0) {
        sukebeiCode = $2(movie_info).find(".movie_fileName").text().toUpperCase();
      }
      let missAVCode = sukebeiCode;
      if (regex.test(sukebeiCode)) {
        if (pacomama.test(missAVCode)) {
          missAVCode = pacomama.exec(missAVCode)[2];
        }
        sukebeiCode = regex.exec(sukebeiCode)[2];
      }
      let name = $2(movie_info).find(".movie_artist").children().children();
      if (name.length === 0) {
        name = "No Name";
      } else {
        name = name.text();
      }
      const movie = {
        thumbnail: $2(movie_info).find("img").attr("src"),
        movieCode: sukebeiCode,
        missAVCode: sukebeiCode,
        sukebeiCode,
        movieCodeUrl: $2(movie_info).find(".movie_title").children().attr("href"),
        movieDate: $2(movie_info).find(".movie_create").children().text(),
        ageWhenRelease: CalculateDate(birthDate, $2(movie_info).find(".movie_create").children().text()),
        movieDateUrl: $2(movie_info).find(".movie_create").children().attr("href"),
        mfr: $2(movie_info).find(".movie_mfr").children().text(),
        mfrUrl: $2(movie_info).find(".movie_mfr").children().attr("href"),
        movieMaker: $2(movie_info).find(".movie_writer").children().text(),
        movieMakerUrl: $2(movie_info).find(".movie_writer").children().attr("href"),
        name,
        nameUrl: $2(movie_info).find(".movie_artist").children().children().attr("href"),
        movieTitle: $2(movie_info).find(".movie_title").children().text(),
        movieTitleUrl: $2(movie_info).find(".movie_title").children().attr("href")
      };
      movies.push(movie);
    }
    return movies;
  }
  const _Movies_svelte_svelte_type_style_lang = "";
  function get_each_context$1(ctx, list, i) {
    const child_ctx = ctx.slice();
    child_ctx[1] = list[i];
    return child_ctx;
  }
  function create_else_block$2(ctx) {
    let p;
    return {
      c() {
        p = element("p");
        p.textContent = "loading...";
      },
      m(target, anchor) {
        insert(target, p, anchor);
      },
      p: noop,
      d(detaching) {
        if (detaching)
          detach(p);
      }
    };
  }
  function create_each_block$1(ctx) {
    let content;
    let current;
    const content_spread_levels = [
      /*movie*/
      ctx[1]
    ];
    let content_props = {};
    for (let i = 0; i < content_spread_levels.length; i += 1) {
      content_props = assign(content_props, content_spread_levels[i]);
    }
    content = new Content({ props: content_props });
    return {
      c() {
        create_component(content.$$.fragment);
      },
      m(target, anchor) {
        mount_component(content, target, anchor);
        current = true;
      },
      p(ctx2, dirty) {
        const content_changes = dirty & /*movies*/
        1 ? get_spread_update(content_spread_levels, [get_spread_object(
          /*movie*/
          ctx2[1]
        )]) : {};
        content.$set(content_changes);
      },
      i(local) {
        if (current)
          return;
        transition_in(content.$$.fragment, local);
        current = true;
      },
      o(local) {
        transition_out(content.$$.fragment, local);
        current = false;
      },
      d(detaching) {
        destroy_component(content, detaching);
      }
    };
  }
  function create_fragment$3(ctx) {
    let getallmagnet;
    let t;
    let div;
    let current;
    getallmagnet = new GetAllMagnet({});
    let each_value = (
      /*movies*/
      ctx[0]
    );
    let each_blocks = [];
    for (let i = 0; i < each_value.length; i += 1) {
      each_blocks[i] = create_each_block$1(get_each_context$1(ctx, each_value, i));
    }
    const out = (i) => transition_out(each_blocks[i], 1, 1, () => {
      each_blocks[i] = null;
    });
    let each_1_else = null;
    if (!each_value.length) {
      each_1_else = create_else_block$2();
    }
    return {
      c() {
        create_component(getallmagnet.$$.fragment);
        t = space();
        div = element("div");
        for (let i = 0; i < each_blocks.length; i += 1) {
          each_blocks[i].c();
        }
        if (each_1_else) {
          each_1_else.c();
        }
        attr(div, "class", "movie_grid svelte-11wt7vu");
      },
      m(target, anchor) {
        mount_component(getallmagnet, target, anchor);
        insert(target, t, anchor);
        insert(target, div, anchor);
        for (let i = 0; i < each_blocks.length; i += 1) {
          each_blocks[i].m(div, null);
        }
        if (each_1_else) {
          each_1_else.m(div, null);
        }
        current = true;
      },
      p(ctx2, [dirty]) {
        if (dirty & /*movies*/
        1) {
          each_value = /*movies*/
          ctx2[0];
          let i;
          for (i = 0; i < each_value.length; i += 1) {
            const child_ctx = get_each_context$1(ctx2, each_value, i);
            if (each_blocks[i]) {
              each_blocks[i].p(child_ctx, dirty);
              transition_in(each_blocks[i], 1);
            } else {
              each_blocks[i] = create_each_block$1(child_ctx);
              each_blocks[i].c();
              transition_in(each_blocks[i], 1);
              each_blocks[i].m(div, null);
            }
          }
          group_outros();
          for (i = each_value.length; i < each_blocks.length; i += 1) {
            out(i);
          }
          check_outros();
          if (!each_value.length && each_1_else) {
            each_1_else.p(ctx2, dirty);
          } else if (!each_value.length) {
            each_1_else = create_else_block$2();
            each_1_else.c();
            each_1_else.m(div, null);
          } else if (each_1_else) {
            each_1_else.d(1);
            each_1_else = null;
          }
        }
      },
      i(local) {
        if (current)
          return;
        transition_in(getallmagnet.$$.fragment, local);
        for (let i = 0; i < each_value.length; i += 1) {
          transition_in(each_blocks[i]);
        }
        current = true;
      },
      o(local) {
        transition_out(getallmagnet.$$.fragment, local);
        each_blocks = each_blocks.filter(Boolean);
        for (let i = 0; i < each_blocks.length; i += 1) {
          transition_out(each_blocks[i]);
        }
        current = false;
      },
      d(detaching) {
        destroy_component(getallmagnet, detaching);
        if (detaching)
          detach(t);
        if (detaching)
          detach(div);
        destroy_each(each_blocks, detaching);
        if (each_1_else)
          each_1_else.d();
      }
    };
  }
  function instance$3($$self, $$props, $$invalidate) {
    let movies = [];
    onMount(() => {
      $$invalidate(0, movies = MovieElement());
    });
    return [movies];
  }
  class Movies extends SvelteComponent {
    constructor(options) {
      super();
      init(this, options, instance$3, create_fragment$3, safe_not_equal, {});
    }
  }
  function moviePage() {
    let movieCode;
    if ($2(".mv_pn").text().length) {
      movieCode = $2(".mv_pn").text();
    } else {
      movieCode = $2(".mv_fileName").text();
    }
    let movieGenre;
    if ($2(".mv_genre").find("input").length) {
      movieGenre = $2(".mv_genre").find("input");
    } else {
      movieGenre = $2(".mv_tag").find("input");
    }
    let genreEl = movieGenre;
    let movieGenres = [];
    for (const genre of genreEl) {
      const gen = $2(genre).attr("value");
      movieGenres.push(gen);
    }
    console.log(movieGenres);
    let performers = [];
    const perfmboxs = $2(".mv_artist").next().next(".performer_view").first().find(".performer_box");
    for (const perfm of perfmboxs) {
      const performer = {
        performThumb: $2(perfm).first().find("img").attr("src"),
        performCount: $2(perfm).first().find(".performer_cnt").text(),
        // Jumlah Movie
        performName: $2(perfm).first().find(".performer_text").text(),
        linkPerformer: $2(perfm).first().find(".performer_text a").attr("href")
      };
      performers.push(performer);
    }
    const movieDetail = {
      movieThumb: $2(".movie_top").find("img").attr("src"),
      // TO DO Multiple Performer
      performers,
      movieTitle: $2(".mv_title").text(),
      movieCode,
      movieDuration: $2(".mv_duration").text(),
      movieDate: $2(".mv_createDate").text(),
      movieMaker: $2(".mv_writer").text(),
      // sama link
      linkMaker: $2(".mv_writer").attr("href"),
      // sama link
      movieManucfacturer: $2(".mv_mfr").text(),
      // sama link
      linkManucfacturer: $2(".mv_mfr").attr("href"),
      // sama link
      movieLabel: $2(".mv_label").text(),
      // sama link
      linkLabel: $2(".mv_label").attr("href"),
      // sama link
      movieGenres,
      // ini list
      // link url
      linkDate: $2(".mv_createDate").attr("href")
    };
    return movieDetail;
  }
  const _MoviePageContent_svelte_svelte_type_style_lang = "";
  function get_each_context(ctx, list, i) {
    const child_ctx = ctx.slice();
    child_ctx[29] = list[i];
    child_ctx[31] = i;
    return child_ctx;
  }
  function get_each_context_1(ctx, list, i) {
    const child_ctx = ctx.slice();
    child_ctx[32] = list[i];
    child_ctx[31] = i;
    return child_ctx;
  }
  function create_if_block_3(ctx) {
    let div;
    let p;
    let t1;
    let a;
    let t2;
    let a_href_value;
    return {
      c() {
        div = element("div");
        p = element("p");
        p.textContent = "Maker:";
        t1 = space();
        a = element("a");
        t2 = text(
          /*movieMaker*/
          ctx[7]
        );
        attr(a, "href", a_href_value = "https://db.msin.jp" + /*linkMaker*/
        ctx[8]);
        attr(div, "class", "movie-maker");
      },
      m(target, anchor) {
        insert(target, div, anchor);
        append(div, p);
        append(div, t1);
        append(div, a);
        append(a, t2);
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*movieMaker*/
        128)
          set_data(
            t2,
            /*movieMaker*/
            ctx2[7]
          );
        if (dirty[0] & /*linkMaker*/
        256 && a_href_value !== (a_href_value = "https://db.msin.jp" + /*linkMaker*/
        ctx2[8])) {
          attr(a, "href", a_href_value);
        }
      },
      d(detaching) {
        if (detaching)
          detach(div);
      }
    };
  }
  function create_if_block_2(ctx) {
    let div;
    let p;
    let t1;
    let a;
    let t2;
    let a_href_value;
    return {
      c() {
        div = element("div");
        p = element("p");
        p.textContent = "Manufacture:";
        t1 = space();
        a = element("a");
        t2 = text(
          /*movieManucfacturer*/
          ctx[9]
        );
        attr(a, "href", a_href_value = "https://db.msin.jp" + /*linkManucfacturer*/
        ctx[10]);
        attr(div, "class", "movie-manufacture");
      },
      m(target, anchor) {
        insert(target, div, anchor);
        append(div, p);
        append(div, t1);
        append(div, a);
        append(a, t2);
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*movieManucfacturer*/
        512)
          set_data(
            t2,
            /*movieManucfacturer*/
            ctx2[9]
          );
        if (dirty[0] & /*linkManucfacturer*/
        1024 && a_href_value !== (a_href_value = "https://db.msin.jp" + /*linkManucfacturer*/
        ctx2[10])) {
          attr(a, "href", a_href_value);
        }
      },
      d(detaching) {
        if (detaching)
          detach(div);
      }
    };
  }
  function create_if_block_1(ctx) {
    let div;
    let p;
    let t1;
    let a;
    let t2;
    let a_href_value;
    return {
      c() {
        div = element("div");
        p = element("p");
        p.textContent = "Labels:";
        t1 = space();
        a = element("a");
        t2 = text(
          /*movieLabel*/
          ctx[11]
        );
        attr(a, "href", a_href_value = "https://db.msin.jp" + /*linkLabel*/
        ctx[12]);
        attr(div, "class", "movie-label");
      },
      m(target, anchor) {
        insert(target, div, anchor);
        append(div, p);
        append(div, t1);
        append(div, a);
        append(a, t2);
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*movieLabel*/
        2048)
          set_data(
            t2,
            /*movieLabel*/
            ctx2[11]
          );
        if (dirty[0] & /*linkLabel*/
        4096 && a_href_value !== (a_href_value = "https://db.msin.jp" + /*linkLabel*/
        ctx2[12])) {
          attr(a, "href", a_href_value);
        }
      },
      d(detaching) {
        if (detaching)
          detach(div);
      }
    };
  }
  function create_if_block$1(ctx) {
    let p;
    return {
      c() {
        p = element("p");
        p.textContent = "Unkown?";
      },
      m(target, anchor) {
        insert(target, p, anchor);
      },
      d(detaching) {
        if (detaching)
          detach(p);
      }
    };
  }
  function create_each_block_1(ctx) {
    let div2;
    let div0;
    let a0;
    let img;
    let img_src_value;
    let a0_href_value;
    let t0;
    let p;
    let t1_value = (
      /*performer*/
      ctx[32].performCount + ""
    );
    let t1;
    let t2;
    let div1;
    let a1;
    let t3_value = (
      /*performer*/
      ctx[32].performName + ""
    );
    let t3;
    let a1_href_value;
    let t4;
    return {
      c() {
        div2 = element("div");
        div0 = element("div");
        a0 = element("a");
        img = element("img");
        t0 = space();
        p = element("p");
        t1 = text(t1_value);
        t2 = space();
        div1 = element("div");
        a1 = element("a");
        t3 = text(t3_value);
        t4 = space();
        attr(img, "class", " svelte-5bq3e0");
        if (!src_url_equal(img.src, img_src_value = /*performer*/
        ctx[32].performThumb))
          attr(img, "src", img_src_value);
        attr(img, "loading", "lazy");
        attr(img, "alt", "Actress Thumbnail");
        attr(a0, "href", a0_href_value = "https://db.msin.jp" + /*performer*/
        ctx[32].linkPerformer);
        attr(p, "class", "total-movie svelte-5bq3e0");
        attr(div0, "class", "actress-thumbnail svelte-5bq3e0");
        attr(a1, "href", a1_href_value = "https://db.msin.jp" + /*performer*/
        ctx[32].linkPerformer);
        attr(div1, "class", "actress-name svelte-5bq3e0");
        attr(div2, "class", "actress svelte-5bq3e0");
      },
      m(target, anchor) {
        insert(target, div2, anchor);
        append(div2, div0);
        append(div0, a0);
        append(a0, img);
        append(div0, t0);
        append(div0, p);
        append(p, t1);
        append(div2, t2);
        append(div2, div1);
        append(div1, a1);
        append(a1, t3);
        append(div2, t4);
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*performers*/
        1 && !src_url_equal(img.src, img_src_value = /*performer*/
        ctx2[32].performThumb)) {
          attr(img, "src", img_src_value);
        }
        if (dirty[0] & /*performers*/
        1 && a0_href_value !== (a0_href_value = "https://db.msin.jp" + /*performer*/
        ctx2[32].linkPerformer)) {
          attr(a0, "href", a0_href_value);
        }
        if (dirty[0] & /*performers*/
        1 && t1_value !== (t1_value = /*performer*/
        ctx2[32].performCount + ""))
          set_data(t1, t1_value);
        if (dirty[0] & /*performers*/
        1 && t3_value !== (t3_value = /*performer*/
        ctx2[32].performName + ""))
          set_data(t3, t3_value);
        if (dirty[0] & /*performers*/
        1 && a1_href_value !== (a1_href_value = "https://db.msin.jp" + /*performer*/
        ctx2[32].linkPerformer)) {
          attr(a1, "href", a1_href_value);
        }
      },
      d(detaching) {
        if (detaching)
          detach(div2);
      }
    };
  }
  function create_else_block$1(ctx) {
    let p;
    return {
      c() {
        p = element("p");
        p.textContent = "-";
      },
      m(target, anchor) {
        insert(target, p, anchor);
      },
      p: noop,
      d(detaching) {
        if (detaching)
          detach(p);
      }
    };
  }
  function create_each_block(ctx) {
    let input;
    let input_value_value;
    let t0;
    let label;
    let t1_value = (
      /*genre*/
      ctx[29] + ""
    );
    let t1;
    return {
      c() {
        input = element("input");
        t0 = space();
        label = element("label");
        t1 = text(t1_value);
        attr(input, "id", "genree" + /*i*/
        ctx[31]);
        attr(input, "class", "genree_checkbox svelte-5bq3e0");
        attr(input, "type", "checkbox");
        attr(input, "name", "genre");
        input.value = input_value_value = /*genre*/
        ctx[29];
        attr(label, "for", "genree" + /*i*/
        ctx[31]);
        attr(label, "class", "svelte-5bq3e0");
      },
      m(target, anchor) {
        insert(target, input, anchor);
        insert(target, t0, anchor);
        insert(target, label, anchor);
        append(label, t1);
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*movieGenres*/
        2 && input_value_value !== (input_value_value = /*genre*/
        ctx2[29])) {
          input.value = input_value_value;
        }
        if (dirty[0] & /*movieGenres*/
        2 && t1_value !== (t1_value = /*genre*/
        ctx2[29] + ""))
          set_data(t1, t1_value);
      },
      d(detaching) {
        if (detaching)
          detach(input);
        if (detaching)
          detach(t0);
        if (detaching)
          detach(label);
      }
    };
  }
  function create_fragment$2(ctx) {
    let div15;
    let div14;
    let div0;
    let video;
    let t0;
    let img;
    let img_src_value;
    let t1;
    let div6;
    let div1;
    let p0;
    let t3;
    let p1;
    let t4;
    let t5;
    let div2;
    let p2;
    let t7;
    let a0;
    let t8;
    let t9;
    let div4;
    let p3;
    let t11;
    let div3;
    let t12;
    let t13;
    let div5;
    let p4;
    let t15;
    let a1;
    let t16;
    let a1_href_value;
    let t17;
    let t18;
    let t19;
    let t20;
    let div9;
    let div7;
    let t22;
    let div8;
    let t23;
    let t24;
    let div13;
    let div10;
    let t26;
    let div11;
    let t27;
    let div12;
    let input;
    let input_onclick_value;
    let mounted;
    let dispose;
    let if_block0 = (
      /*isMaker*/
      ctx[20] && create_if_block_3(ctx)
    );
    let if_block1 = (
      /*isMfr*/
      ctx[21] && create_if_block_2(ctx)
    );
    let if_block2 = (
      /*isLabel*/
      ctx[22] && create_if_block_1(ctx)
    );
    let if_block3 = !/*isPerformer*/
    ctx[23] && create_if_block$1();
    let each_value_1 = (
      /*performers*/
      ctx[0]
    );
    let each_blocks_1 = [];
    for (let i = 0; i < each_value_1.length; i += 1) {
      each_blocks_1[i] = create_each_block_1(get_each_context_1(ctx, each_value_1, i));
    }
    let each_value = (
      /*movieGenres*/
      ctx[1]
    );
    let each_blocks = [];
    for (let i = 0; i < each_value.length; i += 1) {
      each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
    }
    let each1_else = null;
    if (!each_value.length) {
      each1_else = create_else_block$1();
    }
    return {
      c() {
        div15 = element("div");
        div14 = element("div");
        div0 = element("div");
        video = element("video");
        t0 = space();
        img = element("img");
        t1 = space();
        div6 = element("div");
        div1 = element("div");
        p0 = element("p");
        p0.textContent = "Title:";
        t3 = space();
        p1 = element("p");
        t4 = text(
          /*movieTitle*/
          ctx[3]
        );
        t5 = space();
        div2 = element("div");
        p2 = element("p");
        p2.textContent = "Movie Code:";
        t7 = space();
        a0 = element("a");
        t8 = text(
          /*movieCode*/
          ctx[4]
        );
        t9 = space();
        div4 = element("div");
        p3 = element("p");
        p3.textContent = "Duration:";
        t11 = space();
        div3 = element("div");
        t12 = text(
          /*movieDuration*/
          ctx[5]
        );
        t13 = space();
        div5 = element("div");
        p4 = element("p");
        p4.textContent = "Product Release Date:";
        t15 = space();
        a1 = element("a");
        t16 = text(
          /*movieDate*/
          ctx[6]
        );
        t17 = space();
        if (if_block0)
          if_block0.c();
        t18 = space();
        if (if_block1)
          if_block1.c();
        t19 = space();
        if (if_block2)
          if_block2.c();
        t20 = space();
        div9 = element("div");
        div7 = element("div");
        div7.innerHTML = `<p>Performers:</p>`;
        t22 = space();
        div8 = element("div");
        if (if_block3)
          if_block3.c();
        t23 = space();
        for (let i = 0; i < each_blocks_1.length; i += 1) {
          each_blocks_1[i].c();
        }
        t24 = space();
        div13 = element("div");
        div10 = element("div");
        div10.innerHTML = `<p>Genre:</p>`;
        t26 = space();
        div11 = element("div");
        for (let i = 0; i < each_blocks.length; i += 1) {
          each_blocks[i].c();
        }
        if (each1_else) {
          each1_else.c();
        }
        t27 = space();
        div12 = element("div");
        input = element("input");
        video.autoplay = true;
        video.loop = true;
        video.muted = true;
        video.playsInline = true;
        attr(video, "class", "svelte-5bq3e0");
        toggle_class(
          video,
          "hidden",
          /*hidden*/
          ctx[19] === true
        );
        if (!src_url_equal(img.src, img_src_value = /*movieThumb*/
        ctx[2]))
          attr(img, "src", img_src_value);
        attr(img, "class", "movie_img svelte-5bq3e0");
        attr(img, "loading", "lazy");
        attr(img, "alt", "Movie Thumbnail");
        attr(div0, "class", "image-poster svelte-5bq3e0");
        attr(div1, "class", "movie-title");
        attr(a0, "class", "code");
        attr(a0, "href", "todo");
        attr(
          a0,
          "missavcode",
          /*movieCode*/
          ctx[4]
        );
        attr(div2, "class", "movie-code");
        attr(div3, "class", "duration");
        attr(div4, "class", "movie-duration");
        attr(a1, "href", a1_href_value = "https://db.msin.jp" + /*linkDate*/
        ctx[13]);
        attr(div5, "class", "movie-date");
        attr(div6, "class", "movie-details svelte-5bq3e0");
        set_style(
          div6,
          "--movie-details",
          /*movieDetails*/
          ctx[15]
        );
        attr(div8, "class", "actress-row svelte-5bq3e0");
        attr(div9, "class", "movie-actress svelte-5bq3e0");
        set_style(
          div9,
          "--movie-actress",
          /*movieActress*/
          ctx[14]
        );
        attr(div10, "class", "genre-button");
        attr(div11, "class", "genre-list svelte-5bq3e0");
        attr(input, "id", "gbtn");
        attr(input, "type", "submit");
        attr(input, "onclick", input_onclick_value = /*buttonAttr*/
        ctx[16] + ";");
        input.value = "Search Selected Tag";
        attr(input, "class", "svelte-5bq3e0");
        attr(div13, "class", "genre-box svelte-5bq3e0");
        attr(div14, "class", "grid svelte-5bq3e0");
        attr(div15, "class", "body svelte-5bq3e0");
      },
      m(target, anchor) {
        insert(target, div15, anchor);
        append(div15, div14);
        append(div14, div0);
        append(div0, video);
        append(div0, t0);
        append(div0, img);
        ctx[26](div0);
        append(div14, t1);
        append(div14, div6);
        append(div6, div1);
        append(div1, p0);
        append(div1, t3);
        append(div1, p1);
        append(p1, t4);
        append(div6, t5);
        append(div6, div2);
        append(div2, p2);
        append(div2, t7);
        append(div2, a0);
        append(a0, t8);
        ctx[27](a0);
        append(div6, t9);
        append(div6, div4);
        append(div4, p3);
        append(div4, t11);
        append(div4, div3);
        append(div3, t12);
        append(div6, t13);
        append(div6, div5);
        append(div5, p4);
        append(div5, t15);
        append(div5, a1);
        append(a1, t16);
        append(div6, t17);
        if (if_block0)
          if_block0.m(div6, null);
        append(div6, t18);
        if (if_block1)
          if_block1.m(div6, null);
        append(div6, t19);
        if (if_block2)
          if_block2.m(div6, null);
        append(div14, t20);
        append(div14, div9);
        append(div9, div7);
        append(div9, t22);
        append(div9, div8);
        if (if_block3)
          if_block3.m(div8, null);
        append(div8, t23);
        for (let i = 0; i < each_blocks_1.length; i += 1) {
          each_blocks_1[i].m(div8, null);
        }
        append(div14, t24);
        append(div14, div13);
        append(div13, div10);
        append(div13, t26);
        append(div13, div11);
        for (let i = 0; i < each_blocks.length; i += 1) {
          each_blocks[i].m(div11, null);
        }
        if (each1_else) {
          each1_else.m(div11, null);
        }
        append(div13, t27);
        append(div13, div12);
        append(div12, input);
        if (!mounted) {
          dispose = [
            listen(
              div0,
              "mouseenter",
              /*setPreview*/
              ctx[24]
            ),
            listen(
              div0,
              "mouseleave",
              /*unSetPreview*/
              ctx[25]
            ),
            listen(
              div0,
              "keydown",
              /*setPreview*/
              ctx[24]
            )
          ];
          mounted = true;
        }
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*hidden*/
        524288) {
          toggle_class(
            video,
            "hidden",
            /*hidden*/
            ctx2[19] === true
          );
        }
        if (dirty[0] & /*movieThumb*/
        4 && !src_url_equal(img.src, img_src_value = /*movieThumb*/
        ctx2[2])) {
          attr(img, "src", img_src_value);
        }
        if (dirty[0] & /*movieTitle*/
        8)
          set_data(
            t4,
            /*movieTitle*/
            ctx2[3]
          );
        if (dirty[0] & /*movieCode*/
        16)
          set_data(
            t8,
            /*movieCode*/
            ctx2[4]
          );
        if (dirty[0] & /*movieCode*/
        16) {
          attr(
            a0,
            "missavcode",
            /*movieCode*/
            ctx2[4]
          );
        }
        if (dirty[0] & /*movieDuration*/
        32)
          set_data(
            t12,
            /*movieDuration*/
            ctx2[5]
          );
        if (dirty[0] & /*movieDate*/
        64)
          set_data(
            t16,
            /*movieDate*/
            ctx2[6]
          );
        if (dirty[0] & /*linkDate*/
        8192 && a1_href_value !== (a1_href_value = "https://db.msin.jp" + /*linkDate*/
        ctx2[13])) {
          attr(a1, "href", a1_href_value);
        }
        if (
          /*isMaker*/
          ctx2[20]
        )
          if_block0.p(ctx2, dirty);
        if (
          /*isMfr*/
          ctx2[21]
        )
          if_block1.p(ctx2, dirty);
        if (
          /*isLabel*/
          ctx2[22]
        )
          if_block2.p(ctx2, dirty);
        if (dirty[0] & /*movieDetails*/
        32768) {
          set_style(
            div6,
            "--movie-details",
            /*movieDetails*/
            ctx2[15]
          );
        }
        if (dirty[0] & /*performers*/
        1) {
          each_value_1 = /*performers*/
          ctx2[0];
          let i;
          for (i = 0; i < each_value_1.length; i += 1) {
            const child_ctx = get_each_context_1(ctx2, each_value_1, i);
            if (each_blocks_1[i]) {
              each_blocks_1[i].p(child_ctx, dirty);
            } else {
              each_blocks_1[i] = create_each_block_1(child_ctx);
              each_blocks_1[i].c();
              each_blocks_1[i].m(div8, null);
            }
          }
          for (; i < each_blocks_1.length; i += 1) {
            each_blocks_1[i].d(1);
          }
          each_blocks_1.length = each_value_1.length;
        }
        if (dirty[0] & /*movieActress*/
        16384) {
          set_style(
            div9,
            "--movie-actress",
            /*movieActress*/
            ctx2[14]
          );
        }
        if (dirty[0] & /*movieGenres*/
        2) {
          each_value = /*movieGenres*/
          ctx2[1];
          let i;
          for (i = 0; i < each_value.length; i += 1) {
            const child_ctx = get_each_context(ctx2, each_value, i);
            if (each_blocks[i]) {
              each_blocks[i].p(child_ctx, dirty);
            } else {
              each_blocks[i] = create_each_block(child_ctx);
              each_blocks[i].c();
              each_blocks[i].m(div11, null);
            }
          }
          for (; i < each_blocks.length; i += 1) {
            each_blocks[i].d(1);
          }
          each_blocks.length = each_value.length;
          if (!each_value.length && each1_else) {
            each1_else.p(ctx2, dirty);
          } else if (!each_value.length) {
            each1_else = create_else_block$1();
            each1_else.c();
            each1_else.m(div11, null);
          } else if (each1_else) {
            each1_else.d(1);
            each1_else = null;
          }
        }
        if (dirty[0] & /*buttonAttr*/
        65536 && input_onclick_value !== (input_onclick_value = /*buttonAttr*/
        ctx2[16] + ";")) {
          attr(input, "onclick", input_onclick_value);
        }
      },
      i: noop,
      o: noop,
      d(detaching) {
        if (detaching)
          detach(div15);
        ctx[26](null);
        ctx[27](null);
        if (if_block0)
          if_block0.d();
        if (if_block1)
          if_block1.d();
        if (if_block2)
          if_block2.d();
        if (if_block3)
          if_block3.d();
        destroy_each(each_blocks_1, detaching);
        destroy_each(each_blocks, detaching);
        if (each1_else)
          each1_else.d();
        mounted = false;
        run_all(dispose);
      }
    };
  }
  function instance$2($$self, $$props, $$invalidate) {
    let { movieThumb } = $$props;
    let { performers } = $$props;
    let { movieTitle } = $$props;
    let { movieCode } = $$props;
    let { movieDuration } = $$props;
    let { movieDate } = $$props;
    let { movieMaker } = $$props;
    let { linkMaker } = $$props;
    let { movieManucfacturer } = $$props;
    let { linkManucfacturer } = $$props;
    let { movieLabel } = $$props;
    let { linkLabel } = $$props;
    let { movieGenres } = $$props;
    let { linkDate } = $$props;
    movieGenres = [];
    performers = [];
    const perfcount = document.querySelector(".performer_view").querySelectorAll(".performer_box");
    console.log("count" + perfcount.length);
    let movieActress = "auto / 1 / auto / -1";
    let movieDetails = "2 / 1 / 2 / -1";
    if (perfcount.length < 2) {
      movieActress = "2 / 1 / 2 / 2";
      movieDetails = "2 / 2 / 2 / -1";
    }
    let buttonAttr;
    if (document.querySelectorAll("#gbtn").length) {
      buttonAttr = document.querySelector("#gbtn").getAttribute("onclick");
    }
    let isMaker = document.querySelectorAll(".mv_writer").length;
    let isMfr = document.querySelectorAll(".mv_mfr").length;
    let isLabel = document.querySelectorAll(".mv_label").length;
    let isPerformer = $2(".mv_artist").next().next(".performer_view").length;
    let preview, code;
    let hidden = true;
    async function setPreview() {
      if (!code.getAttribute("preview")) {
        return;
      }
      if (!preview.querySelector("video").getAttribute("src")) {
        const url = code.getAttribute("preview");
        const resp = await GM_fetch(url, {
          headers: { referer: "https://missav.com/en" }
        });
        const blob = await resp.blob();
        const previewUrl = URL.createObjectURL(blob);
        preview.querySelector("video").setAttribute("src", previewUrl);
      }
      $$invalidate(19, hidden = false);
      preview.querySelector("img").style.filter = "brightness(0.3)";
    }
    function unSetPreview() {
      $$invalidate(19, hidden = true);
      preview.querySelector("img").style.filter = "brightness(1)";
    }
    function div0_binding($$value) {
      binding_callbacks[$$value ? "unshift" : "push"](() => {
        preview = $$value;
        $$invalidate(17, preview);
      });
    }
    function a0_binding($$value) {
      binding_callbacks[$$value ? "unshift" : "push"](() => {
        code = $$value;
        $$invalidate(18, code);
      });
    }
    $$self.$$set = ($$props2) => {
      if ("movieThumb" in $$props2)
        $$invalidate(2, movieThumb = $$props2.movieThumb);
      if ("performers" in $$props2)
        $$invalidate(0, performers = $$props2.performers);
      if ("movieTitle" in $$props2)
        $$invalidate(3, movieTitle = $$props2.movieTitle);
      if ("movieCode" in $$props2)
        $$invalidate(4, movieCode = $$props2.movieCode);
      if ("movieDuration" in $$props2)
        $$invalidate(5, movieDuration = $$props2.movieDuration);
      if ("movieDate" in $$props2)
        $$invalidate(6, movieDate = $$props2.movieDate);
      if ("movieMaker" in $$props2)
        $$invalidate(7, movieMaker = $$props2.movieMaker);
      if ("linkMaker" in $$props2)
        $$invalidate(8, linkMaker = $$props2.linkMaker);
      if ("movieManucfacturer" in $$props2)
        $$invalidate(9, movieManucfacturer = $$props2.movieManucfacturer);
      if ("linkManucfacturer" in $$props2)
        $$invalidate(10, linkManucfacturer = $$props2.linkManucfacturer);
      if ("movieLabel" in $$props2)
        $$invalidate(11, movieLabel = $$props2.movieLabel);
      if ("linkLabel" in $$props2)
        $$invalidate(12, linkLabel = $$props2.linkLabel);
      if ("movieGenres" in $$props2)
        $$invalidate(1, movieGenres = $$props2.movieGenres);
      if ("linkDate" in $$props2)
        $$invalidate(13, linkDate = $$props2.linkDate);
    };
    return [
      performers,
      movieGenres,
      movieThumb,
      movieTitle,
      movieCode,
      movieDuration,
      movieDate,
      movieMaker,
      linkMaker,
      movieManucfacturer,
      linkManucfacturer,
      movieLabel,
      linkLabel,
      linkDate,
      movieActress,
      movieDetails,
      buttonAttr,
      preview,
      code,
      hidden,
      isMaker,
      isMfr,
      isLabel,
      isPerformer,
      setPreview,
      unSetPreview,
      div0_binding,
      a0_binding
    ];
  }
  class MoviePageContent extends SvelteComponent {
    constructor(options) {
      super();
      init(
        this,
        options,
        instance$2,
        create_fragment$2,
        safe_not_equal,
        {
          movieThumb: 2,
          performers: 0,
          movieTitle: 3,
          movieCode: 4,
          movieDuration: 5,
          movieDate: 6,
          movieMaker: 7,
          linkMaker: 8,
          movieManucfacturer: 9,
          linkManucfacturer: 10,
          movieLabel: 11,
          linkLabel: 12,
          movieGenres: 1,
          linkDate: 13
        },
        null,
        [-1, -1]
      );
    }
  }
  function create_fragment$1(ctx) {
    let moviepagecontent;
    let current;
    const moviepagecontent_spread_levels = [
      /*movieProps*/
      ctx[0]
    ];
    let moviepagecontent_props = {};
    for (let i = 0; i < moviepagecontent_spread_levels.length; i += 1) {
      moviepagecontent_props = assign(moviepagecontent_props, moviepagecontent_spread_levels[i]);
    }
    moviepagecontent = new MoviePageContent({ props: moviepagecontent_props });
    return {
      c() {
        create_component(moviepagecontent.$$.fragment);
      },
      m(target, anchor) {
        mount_component(moviepagecontent, target, anchor);
        current = true;
      },
      p(ctx2, [dirty]) {
        const moviepagecontent_changes = dirty & /*movieProps*/
        1 ? get_spread_update(moviepagecontent_spread_levels, [get_spread_object(
          /*movieProps*/
          ctx2[0]
        )]) : {};
        moviepagecontent.$set(moviepagecontent_changes);
      },
      i(local) {
        if (current)
          return;
        transition_in(moviepagecontent.$$.fragment, local);
        current = true;
      },
      o(local) {
        transition_out(moviepagecontent.$$.fragment, local);
        current = false;
      },
      d(detaching) {
        destroy_component(moviepagecontent, detaching);
      }
    };
  }
  function instance$1($$self, $$props, $$invalidate) {
    let movieProps;
    onMount(() => {
      $$invalidate(0, movieProps = moviePage());
    });
    console.log(movieProps);
    return [movieProps];
  }
  class MoviePage extends SvelteComponent {
    constructor(options) {
      super();
      init(this, options, instance$1, create_fragment$1, safe_not_equal, {});
    }
  }
  function create_else_block(ctx) {
    let movies;
    let current;
    movies = new Movies({});
    return {
      c() {
        create_component(movies.$$.fragment);
      },
      m(target, anchor) {
        mount_component(movies, target, anchor);
        current = true;
      },
      i(local) {
        if (current)
          return;
        transition_in(movies.$$.fragment, local);
        current = true;
      },
      o(local) {
        transition_out(movies.$$.fragment, local);
        current = false;
      },
      d(detaching) {
        destroy_component(movies, detaching);
      }
    };
  }
  function create_if_block(ctx) {
    let moviepage;
    let current;
    moviepage = new MoviePage({});
    return {
      c() {
        create_component(moviepage.$$.fragment);
      },
      m(target, anchor) {
        mount_component(moviepage, target, anchor);
        current = true;
      },
      i(local) {
        if (current)
          return;
        transition_in(moviepage.$$.fragment, local);
        current = true;
      },
      o(local) {
        transition_out(moviepage.$$.fragment, local);
        current = false;
      },
      d(detaching) {
        destroy_component(moviepage, detaching);
      }
    };
  }
  function create_fragment(ctx) {
    let main;
    let current_block_type_index;
    let if_block;
    let current;
    const if_block_creators = [create_if_block, create_else_block];
    const if_blocks = [];
    function select_block_type(ctx2, dirty) {
      if (
        /*isMoviePage*/
        ctx2[0] === true
      )
        return 0;
      return 1;
    }
    current_block_type_index = select_block_type(ctx);
    if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
    return {
      c() {
        main = element("main");
        if_block.c();
      },
      m(target, anchor) {
        insert(target, main, anchor);
        if_blocks[current_block_type_index].m(main, null);
        current = true;
      },
      p(ctx2, [dirty]) {
        let previous_block_index = current_block_type_index;
        current_block_type_index = select_block_type(ctx2);
        if (current_block_type_index !== previous_block_index) {
          group_outros();
          transition_out(if_blocks[previous_block_index], 1, 1, () => {
            if_blocks[previous_block_index] = null;
          });
          check_outros();
          if_block = if_blocks[current_block_type_index];
          if (!if_block) {
            if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
            if_block.c();
          }
          transition_in(if_block, 1);
          if_block.m(main, null);
        }
      },
      i(local) {
        if (current)
          return;
        transition_in(if_block);
        current = true;
      },
      o(local) {
        transition_out(if_block);
        current = false;
      },
      d(detaching) {
        if (detaching)
          detach(main);
        if_blocks[current_block_type_index].d();
      }
    };
  }
  const movie_page_regex$1 = /https:\/\/db.msin.jp\/.*page\/movie\?.*/i;
  function instance($$self, $$props, $$invalidate) {
    const currentUrl2 = window.location.href;
    let isMoviePage = false;
    if (movie_page_regex$1.test(currentUrl2)) {
      isMoviePage = true;
      console.log("movie page here");
    }
    return [isMoviePage];
  }
  class MoviesList extends SvelteComponent {
    constructor(options) {
      super();
      init(this, options, instance, create_fragment, safe_not_equal, {});
    }
  }
  function Sukebei(movies) {
    let codes = "";
    for (const movie of movies) {
      const code = $2(movie).find(".movie_code").attr("sukebeicode");
      codes += `${code}|`;
    }
    const sukebeis = `https://sukebei.nyaa.si/?q=${codes}&s=seeders&o=desc`;
    console.log("Requesting: " + sukebeis);
    GM_xmlhttpRequest({
      url: sukebeis,
      onload(response) {
        for (const movie of movies) {
          const code = $2(movie).find(".movie_code");
          const containCode = $2(response.responseText).find(`tr:contains("${$2(code).attr("sukebeicode")}")`).first();
          if (containCode.length) {
            const torrent = "https://sukebei.nyaa.si/" + containCode.find("i.fa-download").parent().attr("href");
            const magnet = containCode.find("i.fa-magnet").parent().attr("href");
            const seedsNumber = containCode.children().eq(-3).text();
            $2(movie).find(".link").append(
              `<a href='https://sukebei.nyaa.si/?q=${code.attr(
                "sukebeicode"
              )}&s=seeders&o=desc' target='_blank' class='sukebei'> <img style='height: 1.2em;' src='https://sukebei.nyaa.si/static/favicon.png'></img></a>`
            );
            $2(movie).find(".link").append(
              `<a style='font-size: 1.2em;' class="fa fa-fw fa-download" href='${torrent}'></a>`
            );
            $2(movie).find(".link").append(
              `<a style='font-size: 1.2em; bottom: 0; position: relative; bottom: -1px;' class="fa fa-fw fa-magnet" href='${magnet}'></a>`
            );
            $2(movie).find(".link").append(
              `<p style='font-size: 1.2em; color: lawngreen; font-weight: 600; position: relative; bottom: 5px;'>${seedsNumber}</p>`
            );
            $2(movie).css("filter", "brightness(1)");
          }
        }
      }
    });
  }
  function Sukebei2(codeEl) {
    const code = codeEl.text();
    const sukebeis = `https://sukebei.nyaa.si/?q=${code.toUpperCase()}&s=seeders&o=desc`;
    console.log("Requesting: " + sukebeis);
    GM_xmlhttpRequest({
      url: sukebeis,
      onload(response) {
        const containCode = $2(response.responseText).find(`tbody tr`).first();
        if (containCode.length) {
          const torrent = "https://sukebei.nyaa.si/" + containCode.find("i.fa-download").parent().attr("href");
          const magnet = containCode.find("i.fa-magnet").parent().attr("href");
          const seedsNumber = containCode.children().eq(-3).text();
          $2(codeEl).after("<div class='anjime'></div>");
          $2(".anjime").append(
            `<a href='https://sukebei.nyaa.si/?q=${code}&s=seeders&o=desc' target='_blank' class='sukebei'> <img style='height: 1.2em;' src='https://sukebei.nyaa.si/static/favicon.png'></img></a>`
          );
          $2(".anjime").append(
            `<a style='font-size: 1.2em;' class="fa fa-fw fa-download" href='${torrent}'></a>`
          );
          $2(".anjime").append(
            `<a style='font-size: 1.2em; bottom: 0; position: relative; bottom: -1px;' class="fa fa-fw fa-magnet" href='${magnet}'></a>`
          );
          $2(".anjime").append(
            `<a style='font-size: 1.2em; color: lawngreen; font-weight: 600; position: relative; bottom: 5px;'>${seedsNumber}</a>`
          );
          $2(".anjime").css({
            "margin-top": "0.4rem",
            "display": "flex",
            "justify-content": "center",
            "gap": "0.4rem"
          });
        }
      }
    });
  }
  function JavStore(movies) {
    for (const movie of movies) {
      let code = $2(movie).find(".movie_code").attr("missavcode");
      const regex = /^(fc2-ppv)+-(\d.+)/i;
      if (regex.test(code)) {
        code = regex.exec(code)[2];
      }
      $2(movie).find(".link").append(
        `<a href='https://img.javstore.net/search/images/?q="${code}"' target="_blank"><img style='height: 1.2em;' src="https://img.javstore.net/content/images/system/default/favicon.png"></img></a>`
      );
    }
  }
  function tweak() {
    document.cookie = "config_view=filename%2Cunsubscribe%2Cacttag%2Cacttagd%2Cactrank%2C_blank%2Cactview%2Csampleview";
    const css = `
@media screen and (min-width: 610px) {
  #content, #headbarspan, #catchmassage, .content {
    max-width: 2922px;
    width: auto;
  }
  .jp_movie_view .movie_info {
    max-width: 100%;
  }
  .jp_movie_view .movie_image {
    width: auto;
    max-width: 100%;
  }
  .movie_info {
    padding: 0;
  }
}

@media screen and (min-width: 850px) {
  #content, #headbarspan, #catchmassage, .content {
    width: auto;
  }
}

.actress_info_ditail {
    background: #3b3a3a;
    border-radius: 1rem;
    margin: 1rem 0 1rem;
}

.movie_info {
  max-width: 100%;
}

@media screen and (min-width: 2900px) {
  .jp_movie_view_wrap { width: auto; margin-left: 0; }
  .movie_view_wrap { width: auto; margin-left: 0; }
}
@media screen and (min-width: 1780px) {
  .jp_movie_view_wrap { width: auto; margin-left: 0; }
  .movie_view_wrap { width: auto; margin-left: 0; }
}
@media screen and (min-width: 1500px) {
  .jp_movie_view_wrap { width: auto; margin-left: 0; }
  .movie_view_wrap { width: auto; margin-left: 0; }
}

@media screen and (max-width: 609px) {
  .act_left {
    width: auto;
    max-width: 100%;
  }
  .act_image {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 100%;
  }
  .actress_info_ditail {
    flex-direction: column;
    justify-content: center;
  }
  .act_image img {
    height: auto;
    object-fit: contain;
  }
  .movie_info {
      display: flex;
      flex-direction: column;
  }
  .movie_image {
      aspect-ratio: 16 / 9;
      max-width: 100%;
  }
  .movie_ditail {
      max-width: 100%;
  }
}
.movie_image {
      aspect-ratio: 16 / 9;
}
.hidden {
  display: none;
}

a:not( .playbutton, .twitter_icon, .twitter, .no_target, .movie_image a )[target='_blank']::after {
  content: none;
}
img {
  vertical-align: inherit;
}
p {
  margin-top: 0;
}
input[type='checkbox'] + label:before {
  display: none;
}

`;
    GM_addStyle(css);
    GM_addElement(document.head, "link", {
      rel: "stylesheet",
      href: "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css"
    });
    const actTag = $2(".act_tag");
    const actDitail = $2(".act_ditail");
    const edit = $2(".edit");
    edit.remove();
    actDitail.append(actTag);
    actTag.append(`<li>${edit.html()}</li>`);
    const commentJump = $2(".commentjump:contains('サンプル画像モード')");
    const olbreadcumb = $2("ol.breadcrumb");
    commentJump.remove();
    olbreadcumb.after(commentJump);
  }
  tweak();
  const app = new MoviesList({
    target: (() => {
      const app2 = document.createElement("div");
      let movie_view = document.querySelector(".movie_view");
      if (!movie_view) {
        movie_view = document.querySelector(".movie_view_jp");
      }
      if (movie_view) {
        movie_view.after(app2);
      }
      const currentUrl2 = window.location.href;
      const movie_page_regex2 = /https:\/\/db.msin.jp\/.*page\/movie\?.*/i;
      if (movie_page_regex2.test(currentUrl2)) {
        let cwrap = document.querySelector(".content_wrap");
        if (cwrap) {
          cwrap.before(app2);
        }
      }
      return app2;
    })()
  });
  if (!document.querySelector(".movie_view")) {
    $2(".movie_thumbnail").css("aspect-ratio", "3 / 4");
  }
  $2(".movie_view").remove();
  $2(".movie_view_jp").remove();
  const currentUrl = window.location.href;
  const movie_page_regex = /https:\/\/db.msin.jp\/.*page\/movie\?.*/i;
  if (movie_page_regex.test(currentUrl)) {
    $2("#content_wrap").remove();
    const code = document.querySelector("a.code");
    MissAV(code, "");
    Sukebei2($2(".code"));
  } else {
    const movies = $2(".movie");
    JavStore(movies);
    Sukebei(movies);
  }
  return app;
}($);