{"version":3,"sources":["jsdelivr-header.js","/gh/theme-next/theme-next-canvas-ribbon@1.1.0/canvas-ribbon.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCCE,WACA,SAAS,EAAK,EAAM,EAAM,GACxB,OAAO,OAAO,EAAK,aAAa,KAAU,CAC5C,CAGA,IAAI,EAAU,SAAS,qBAAqB,UAC1C,EAAS,EAAQ,EAAQ,OAAS,GACpC,OAAS,CACP,EAAG,EAAK,EAAQ,UAAW,GAC3B,EAAG,EAAK,EAAQ,QAAS,IACzB,EAAG,EAAK,EAAQ,OAAQ,KAG1B,IAME,EAAG,EAND,EAAS,SAAS,cAAc,UAClC,EAAM,EAAO,WAAW,MACxB,EAAK,OAAO,kBAAoB,EAChC,EAAQ,OAAO,WACf,EAAS,OAAO,YAChB,EAAI,OAAO,EAEX,EAAI,KACJ,EAAI,EACJ,EAAU,EAAL,EAAE,GACP,EAAM,EAAE,IACR,EAAS,EAAE,OASb,SAAS,IAGP,IAFA,EAAI,UAAU,EAAG,EAAG,EAAO,GAC3B,EAAI,CAAC,CAAC,EAAG,EAAG,EAAY,GAAT,EAAe,GAAI,CAAC,EAAG,EAAG,EAAY,GAAT,EAAe,IACrD,EAAE,GAAG,EAAI,EAAQ,GAAG,EAAK,EAAE,GAAI,EAAE,GACzC,CACA,SAAS,EAAK,EAAG,GACf,EAAI,YACJ,EAAI,OAAO,EAAE,EAAG,EAAE,GAClB,EAAI,OAAO,EAAE,EAAG,EAAE,GAClB,IAAI,EAAI,EAAE,GAAc,EAAT,IAAW,KAAM,EAAG,EAAI,EAAK,EAAE,GAC9C,EAAI,OAAO,EAAG,GACd,EAAI,YACJ,GAAK,GAAM,GACX,EAAI,UAAY,KAAY,IAAP,EAAI,GAAO,KAAK,GAAiB,IAAZ,EAAI,EAAE,EAAG,GAAO,KAAK,EAAkB,IAAd,EAAI,EAAE,EAAG,EAAE,GAAO,KAAK,SAAS,IACnG,EAAI,OACJ,EAAE,GAAK,EAAE,GACT,EAAE,GAAK,CAAC,EAAG,EAAG,EAAG,EACnB,CACA,SAAS,EAAK,GAEZ,OADA,EAAI,GAAgB,EAAX,IAAe,KAAO,GACnB,GAAU,EAAI,EAAK,EAAK,GAAK,CAC3C,CA7BA,EAAO,MAAQ,EAAQ,EACvB,EAAO,OAAS,EAAS,EACzB,EAAI,MAAM,EAAI,GACd,EAAI,YAAc,OAAO,EACzB,EAAO,MAAM,QAAU,YAAc,OAAO,EAAI,yCAA2C,OAAO,EAAI,+CAEtG,SAAS,qBAAqB,QAAQ,GAAG,YAAY,GAyBrD,SAAS,QAAU,EACnB,SAAS,aAAe,EACxB,GACF,CA5DE","file":"/gh/theme-next/theme-next-canvas-ribbon@1.1.0/canvas-ribbon.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /gh/theme-next/theme-next-canvas-ribbon@1.1.0/canvas-ribbon.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * Copyright (c) 2016 hustcc\n * License: MIT\n * Version: v1.0.1\n * GitHub: https://github.com/hustcc/ribbon.js\n**/\n/*jshint -W030 */\n! function() {\n  function attr(node, attr, default_value) {\n    return Number(node.getAttribute(attr)) || default_value;\n  }\n\n  // get user config\n  var scripts = document.getElementsByTagName('script'),\n    script = scripts[scripts.length - 1]; // 当前加载的script\n  config = {\n    z: attr(script, \"zIndex\", -1), // z-index\n    a: attr(script, \"alpha\", 0.6), // alpha\n    s: attr(script, \"size\", 90), // size\n  };\n\n  var canvas = document.createElement('canvas'),\n    g2d = canvas.getContext('2d'),\n    pr = window.devicePixelRatio || 1,\n    width = window.innerWidth,\n    height = window.innerHeight,\n    f = config.s,\n    q, t,\n    m = Math,\n    r = 0,\n    pi = m.PI*2,\n    cos = m.cos,\n    random = m.random;\n  canvas.width = width * pr;\n  canvas.height = height * pr;\n  g2d.scale(pr, pr);\n  g2d.globalAlpha = config.a;\n  canvas.style.cssText = 'opacity: ' + config.a + ';position:fixed;top:0;left:0;z-index: ' + config.z + ';width:100%;height:100%;pointer-events:none;';\n  // create canvas\n  document.getElementsByTagName('body')[0].appendChild(canvas);\n\n  function redraw() {\n    g2d.clearRect(0, 0, width, height);\n    q = [{x: 0, y: height * 0.7 + f}, {x: 0, y: height * 0.7 - f}];\n    while(q[1].x < width + f) draw(q[0], q[1]);\n  }\n  function draw(i, j) {\n    g2d.beginPath();\n    g2d.moveTo(i.x, i.y);\n    g2d.lineTo(j.x, j.y);\n    var k = j.x + (random()*2-0.25)*f, n = line(j.y);\n    g2d.lineTo(k, n);\n    g2d.closePath();\n    r -= pi / -50;\n    g2d.fillStyle = '#'+(cos(r)*127+128<<16 | cos(r+pi/3)*127+128<<8 | cos(r+pi/3*2)*127+128).toString(16);\n    g2d.fill();\n    q[0] = q[1];\n    q[1] = {x: k, y: n};\n  }\n  function line(p){\n    t = p + (random() * 2 - 1.1) * f;\n    return (t > height || t < 0) ? line(p) : t;\n  }\n\n  document.onclick = redraw;\n  document.ontouchstart = redraw;\n  redraw();\n}();\n"]}