code: function parse_Hyperlink(blob, length) {
  	var end = blob.l + length;
  	var sVer = blob.read_shift(4);
  	if(sVer !== 2) throw new Error("Unrecognized streamVersion: " + sVer);
  	var flags = blob.read_shift(2);
  	blob.l += 2;
  	var displayName, targetFrameName, moniker, oleMoniker, Loc="", guid, fileTime;
  	if(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);
  	if(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);
  	if((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);
  	if((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);
  	if(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);
  	if(flags & 0x0020) guid = blob.read_shift(16);
  	if(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);
  	blob.l = end;
  	var target = targetFrameName||moniker||oleMoniker||"";
  	if(target && Loc) target+="#"+Loc;
  	if(!target) target = "#" + Loc;
  	var out = ({Target:target});
  	if(guid) out.guid = guid;
  	if(fileTime) out.time = fileTime;
  	if(displayName) out.Tooltip = displayName;
  	return out;
  }
docs: /* [MS-OSHARED] 2.3.7.1 Hyperlink Object