2022-11-03 13:54:49 +00:00
<?xml version="1.0" encoding="utf-8"?>
<svg
2023-01-04 00:42:39 +00:00
id="d2-svg"
2022-11-03 13:54:49 +00:00
style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
2023-01-06 20:23:47 +00:00
width="959" height="622" viewBox="-102 -102 959 622"><style type= "text/css" >
2022-11-03 13:54:49 +00:00
< ![CDATA[
.shape {
2022-11-12 18:31:11 +00:00
shape-rendering: geometricPrecision;
stroke-linejoin: round;
2022-11-03 13:54:49 +00:00
}
.connection {
2022-11-12 18:31:11 +00:00
stroke-linecap: round;
stroke-linejoin: round;
2022-11-03 13:54:49 +00:00
}
2022-12-05 19:22:16 +00:00
.blend {
mix-blend-mode: multiply;
2022-12-05 20:09:32 +00:00
opacity: 0.5;
2022-12-05 19:22:16 +00:00
}
2022-11-03 13:54:49 +00:00
]]>
2023-01-04 00:42:39 +00:00
</style> <script type= "application/javascript" > <![CDATA[window.addEventListener("DOMContentLoaded", () => {
if (document.documentElement.getAttribute("id") !== "d2-svg") {
return;
}
const svgEl = document.documentElement;
let width = parseInt(svgEl.getAttribute("width"), 10);
let height = parseInt(svgEl.getAttribute("height"), 10);
let ratio;
if (width > height) {
if (width > window.innerWidth) {
ratio = window.innerWidth / width;
}
} else if (height > window.innerHeight) {
ratio = window.innerHeight / height;
}
if (ratio) {
svgEl.setAttribute("width", width * ratio - 16);
svgEl.setAttribute("height", height * ratio - 16);
}
});
2023-01-06 20:23:47 +00:00
]]></script> <g id= "hey" > <g class= "shape" > </g> <g transform= "translate(0.000000 126.000000)" style= "opacity:1.000000" > <rect class= "shape" width= "755" height= "166" style= "stroke: #0A0F25;fill:#ffffff" /> <g transform= "translate(6 6)" > <text class= "text-mono" x= "0" y= "1.000000em" xml:space= "preserve" > <tspan fill= "#999988" font-style= "italic" > //  RegisterHash  registers  a  function  that  returns  a  new  instance  of  the  given
2022-11-03 13:54:49 +00:00
</tspan> </text> <text class= "text-mono" x= "0" y= "2.000000em" xml:space= "preserve" > <tspan fill= "#999988" font-style= "italic" > </tspan> <tspan fill= "#999988" font-style= "italic" > //  hash  function.  This  is  intended  to  be  called  from  the  init  function  in
</tspan> </text> <text class= "text-mono" x= "0" y= "3.000000em" xml:space= "preserve" > <tspan fill= "#999988" font-style= "italic" > </tspan> <tspan fill= "#999988" font-style= "italic" > //  packages  that  implement  hash  functions.
</tspan> </text> <text class= "text-mono" x= "0" y= "4.000000em" xml:space= "preserve" > <tspan fill= "#999988" font-style= "italic" > </tspan> <tspan fill= "#000000" font-weight= "bold" > func</tspan>   <tspan fill= "#990000" font-weight= "bold" > RegisterHash</tspan> (h  Hash,  f  <tspan fill= "#000000" font-weight= "bold" > func</tspan> ()  hash.Hash)  {
</text> <text class= "text-mono" x= "0" y= "5.000000em" xml:space= "preserve" >         <tspan fill= "#000000" font-weight= "bold" > if</tspan>   h  <tspan fill= "#000000" font-weight= "bold" > > =</tspan>   maxHash  {
</text> <text class= "text-mono" x= "0" y= "6.000000em" xml:space= "preserve" >                 <tspan fill= "#0086b3" > panic</tspan> (<tspan fill= "#dd1144" > " crypto:  RegisterHash  of  unknown  hash  function" </tspan> )
</text> <text class= "text-mono" x= "0" y= "7.000000em" xml:space= "preserve" >         }
</text> <text class= "text-mono" x= "0" y= "8.000000em" xml:space= "preserve" >         hashes[h]  =  f
2023-01-06 20:23:47 +00:00
</text> <text class= "text-mono" x= "0" y= "9.000000em" xml:space= "preserve" > }</text> </g> </g> </g> <g id= "x" > <g class= "shape" > <rect x= "321" y= "0" width= "113" height= "126" style= "fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /> </g> <text class= "text-bold" x= "377.500000" y= "66.000000" style= "text-anchor:middle;font-size:16px;fill:#0A0F25" > x</text> </g> <g id= "y" > <g class= "shape" > <rect x= "321" y= "292" width= "114" height= "126" style= "fill:#F7F8FE;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /> </g> <text class= "text-bold" x= "378.000000" y= "358.000000" style= "text-anchor:middle;font-size:16px;fill:#0A0F25" > y</text> </g> <g id= "(x -> hey)[0]" > <marker id= "mk-3990223579" markerWidth= "10.000000" markerHeight= "12.000000" refX= "7.000000" refY= "6.000000" viewBox= "0.000000 0.000000 10.000000 12.000000" orient= "auto" markerUnits= "userSpaceOnUse" > <polygon class= "connection" fill= "#0D32B2" stroke-width= "2" points= "0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker> <path d= "M NaN NaN C 377.500000 126.000000 377.500000 126.000000 NaN NaN" class= "connection" style= "fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end= "url(#mk-3990223579)" mask= "url(#281855057)" /> </g> <g id= "(hey -> y)[0]" > <path d= "M NaN NaN C 377.500000 292.000000 377.500000 292.000000 NaN NaN" class= "connection" style= "fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end= "url(#mk-3990223579)" mask= "url(#281855057)" /> </g> <mask id= "281855057" maskUnits= "userSpaceOnUse" x= "-100" y= "-100" width= "959" height= "622" >
<rect x= "-100" y= "-100" width= "959" height= "622" fill= "white" > </rect>
2022-12-17 01:17:29 +00:00
</mask> <style type= "text/css" > < ![CDATA[
2022-11-03 13:54:49 +00:00
.text-bold {
font-family: "font-bold";
}
@font-face {
font-family: font-bold;
src: url("data:application/font-woff;base64,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AHQAZQAgAGcAQQBsAHQAZQByAG4AYQB0AGUAIABhAFMAdAByAGEAaQBnAGgAdAAgAGwAUwBsAGEAcwBoAGUAZAAgAHoAZQByAG8AUAByAGUAZgBlAHIAcgBlAGQAIABBAHQAaABhAGIAYQBzAGsAYQBuACAAbwBnAG8AbgBlAGsAcwBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAgAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAaQBzACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoAIABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwALgAgAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAbwBuACAAYQBuACAgGABBAFMAIABJAFMgGQAgAEIAQQBTAEkAUwAsACAAVwBJAFQASABPAFUAVAAgAFcAQQBSAFIAQQBOAFQASQBFAFMAIABPAFIAIABDAE8ATgBEAEkAVABJAE8ATgBTACAATwBGACAAQQBOAFkAIABLAEkATgBEACwAIABlAGkAdABoAGUAcgAgAGUAeABwAHIAZQBzAHMAIABvAHIAIABpAG0AcABsAGkAZQBkAC4AIABTAGUAZQAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUAIABmAG8AcgAgAHQAaABlACAAcwBwAGUAYwBpAGYAaQBjACAAbABhAG4AZwB1AGEAZwBlACwAIABwAGUAcgBtAGkAcwBzAGkAbwBuAHMAIABhAG4AZAAgAGwAaQBtAGkAdABhAHQAaQBvAG4AcwAgAGcAbwB2AGUAcgBuAGkAbgBnACAAeQBvAHUAcgAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgBoAHQAdABwADoALwAvAHcAdwB3AC4AYQBkAG8AYgBlAC4AYwBvAG0ALwB0AHkAcABlAFAAYQB1AGwAIABEAC4AIABIAHUAbgB0AEEAZABvAGIAZQAgAFMAeQBzAHQAZQBtAHMAIABJAG4AYwBvAHIAcABvAHIAYQB0AGUAZABTAG8AdQByAGMAZQAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAEEAZABvAGIAZQAgAFMAeQBzAHQAZQBtAHMAIABJAG4AYwBvAHIAcABvAHIAYQB0AGUAZAAgAGkAbgAgAHQAaABlACAAVQBuAGkAdABlAG
}
.text-mono {
font-family: "font-mono";
}
@font-face {
font-family: font-mono;
src: url("data:application/font-woff;base64,AAEAAAAPAIAAAwBwQkFTRWUeXb0AAejUAAAARkRTSUcAAAABAAIdsAAAAAhHREVG8Yj03gAB6RwAAALqR1BPU6UIFdkAAewIAAAUXEdTVUIB/10FAAIAZAAAHUpPUy8yld/X+AAAAXgAAABgY21hcAdzcEIAAA4cAAAzZmdseWYb7v/zAABNyAABUS5oZWFkGanOOgAAAPwAAAA2aGhlYQYzAIgAAAE0AAAAJGhtdHgMtA+PAAAB2AAADEJsb2NhJ2DThAAAQYQAAAxCbWF4cAZUAmEAAAFYAAAAIG5hbWXcnQMfAAGe+AAAEM5wb3N0K4oCyQABr8gAADkMAAEAAAACCboWS6s0Xw889QADA+gAAAAA3B0N9wAAAADcHHNL/z/+OgMZBCQAAAADAAIAAAAAAAAAAQAAA9j+7wAAAlj/P/8/AxkAAQAAAAAAAAAAAAAAAAAAAAEAAQAABiAB+AAqAGUABgABAAAAAAAAAAAAAAAAAAMAAwADAlgBkAAFAAACigJYAAAASwKKAlgAAAFeADIBIwAAAgsFCQMEAwICBCAAAvcCADgDAAAAAAAAAABBREJPAEAAIP//Au7/BgAAA9gBEWAAAZ8AAAAAAeYClAAAACAAAwJYAD4AAAAgAGMAQQBXAHIAhQA1AE8AXwBRAGIAhgBIAFIAMABmADAAZABDACoATwArAAoANgAmAEEAUQBdAFAAPABEAGcASABdAFoANwBqAEoAOgBdADwAXQA8AJIARwBFAE0AMwAIAEAAMQBHACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIP///////wAaAGMAQQBBAEEAQQBBAFcAVwBXAFcADAAUAHIAcgByAHIAcgByAHIAcgBzAHIAcgByAHIAcgByAHIAcgByADUANQA1ADUANQA1ADUANQA1AE8ATwBPABsATwAKAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAFEAYgBiAGIAfACGAIYAhgA3AIYACgCGAEgASABIAFIAUgBSAFIAUgBSAFIAUgAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAkACQAIQBkAGQAZABkAGQAZABkAEMAQwBDAEMAQwBDAEMAQwBOACoAKgAqACoAKgAqAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwArAAoACgAKAAoAJgAmACYAJgAmACYAJgAmAEEAQQBBAEEAQQBBAAwAZQA7AFUAcABEAFkAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAEkAUQBRAFEAUQBRAFEAUQBRABEAEQARABQAXQBQAFAAUABQAFAANgA8ADwAPAA8AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEgASABIAEgASABIAEgASP/v//UAXQBdACcAXQAUAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaADcAagBqAGoAagBKAEoASgBKAEoASgBKACMAOgA6ADoAXQBdAF0AXQBdAF0AXQBd/+oAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwANQA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAsAkgBmAJIAkgCDAIMAQABHAEcARwBHAEcARwBHAEcAWABnAEUARQBFAEUARQBFAEUATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNADMACAAIAAgACAAxADEAMQAxADEAMQAxADEARwBHAEcARwBHAEcAPABdAF0ANwBd//gAUABeAF0AXQA9AFAAPAA8AD8APABzAEUAFgBbAD4APQA3ADwAPABOADMAPABNAF0AXQBdAFoAVgA4ABwASgBKAEoATwCUACoAKgA6//sAXQBgADwAIQAsAD8APwA/AJIAkgBjAGMARwA4ADgANgBFAAIAMgBNADMACAAxADkARwBHADsAAAAZADAARwBZAEcAUgBUADwAUgA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAOQA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPABjAGMAYwBjAGMAYwBjAGMAYwBjAGMAYwBjAGMAWgBjAFoAYwA4AGMAYwBjAGMAYwBjAGMAYwAt//wAYwBjACAAYwCHACsAcgBBAE8AMABfAGIAKwBIAFIARgAwAE8AZgBLACoAJgAaADYALAAmACQAGAAYABgAXwAYACgAJgAYADkAXQAwAEEAWwB0AF0ASABRAGQAOABUAC8AXABAABsAXQA8AEIATwAsADgANQAiAFoAXQBPACwAJQA5AFsAXQBRAFEAQABPAE8AIgBRAE8AZAA+AFsAkgBEAMUA2wDbAQEA8AEJAPAAiwELAPsA6ADoANwA0QEJAJAAigCQAJQAnwCfAH8AkQCLAJMA5QDkAPYA8ACqAKoAqgCsALYAtgAgAGMAYwCHABYAcgABAD4ATgBOAGYAAgBIAE8AMABPAGYAQQAqAC8AGgA2AE8AQQAoACYAEwA3AGIALgAsAB4AcgByAAUAhwBCAEMAXwBfAFH/+AAnAAUAZgBOAC8ASwAYADAAJgCHADwAAQA+AGYAEwBPAEEAJgAmADYAQQBbAF8AAQAg//8AcgA7AE4AMAAwAC8ALwBRAEsAaACSACoARAAGAD4AZABkAG4AHQBAAF0APABdAF0AUABCADEAIABAAF4AWAA6ADoAIwBGAH0APQAsADcARABEABQAkgBQAEcAWgBaADf/+QA6ABQAbgBkADEAZwApADwARgCiAEgABgA+AG4AIQBdAFAAMwAzAEAAWABdAAYASgBRABEARABFAGQAPAA8ADEAMQA8ADwAVQBjAGMAYwACACoARwBhAEUAOQAnADgATQBGAEQAQwBHAGEARwBhAEUAOQAnADgATgBGAEQAQwBHAGEARwBhAEUAOQAnADgATQBGAEQAQwBHAGEA2wDFANsAxQAgAOMA4wBtAHkA9QCCANEA2QBeAGYA2QBmANQAxQDTAFIAYABVAFUAVQBQAAAAUAAAANsAlwCLAKYAmgCLAHUApgCaAIsAdQCKAHUAmAAAADwAPAA+/2YA0AB6AOEAYgB4AGMAYwEHAGMBBwBUAH8AfwBbAEgAnABdAA4AVwAOAF4AdADhAGIA4QBiALoAYgDiAGIA4QBiAB4AHgBw//sADwAxADEAVwBoAIYAhgCGAFUAjQCvAJIAjgCUAI4AlwCcAJcAkQDsANMA+wD0AI0ArwCSAI4AlACOAJcAnACXAJEA7ADTAPsA9AChANAArQCsAKwArACwALcArwCtAOwA1QD7APQAoQDQAK0ArACsAKwAsAC3AK8ArQDsANUA+wD0AKMAiQCOAKMArAC1AIkAkQDGAJUArwCvAIwAvQDEAEYArwCOAKwAiQDzAKIApACfAIsANACfAIwAkgCRAJEAkQCOAK8AkgCgAIkAiQCtAPsA3gClAD0AOgBVAE0ANQA6AHEAMQBgAE4ALgAqABwAbQAqAFQAPQBgAGwALQA3ADcAKgBFABwAHAAcABsAMAAcABwAHwAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAUwAbAFUAVQBmAFUA1wBVAFUAeABrAFUAVQBVAG8AVQBMAEwAVQBVAGAAVf/8AK8BAQCpAPAAVABMALoBCQCZAD4AKwAmACAARgBPAEYANAAbAHQAGgARACEAHQAhAGAAUQBWAGcAEQAhAB0AIf/0AFUAPABKAD4AVwBJAEkAIQA+AD4APgA+AD4APgAqACoAFf/nAEQAM//n/+f/+gBNAAQACQAJAAUACQAJAB3/uf/g//z/5gAtADz/9P/9AGAAMQEBANEA2QDiAL4AoADKAMoAgACkAOwAkQCRAPkApwDsAKQA+QB/AJQApwCQAL4AxQDqAM0A0gA1AKQAsQDRAOwA6wEJAJ
}]]></style> </svg>