Last active
January 8, 2022 23:02
-
-
Save lo48576/12f8875677ec6fcde155d50b553e2d32 to your computer and use it in GitHub Desktop.
20220108-iri-string-parser-improvement
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version="1.1" width="1200" height="646" onload="init(evt)" viewBox="0 0 1200 646" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:fg="http://github.com/jonhoo/inferno"><!--Flame graph stack visualization. See https://github.com/brendangregg/FlameGraph for latest version, and http://www.brendangregg.com/flamegraphs.html for examples.--><!--NOTES: --><defs><linearGradient id="background" y1="0" y2="1" x1="0" x2="0"><stop stop-color="#eeeeee" offset="5%"/><stop stop-color="#eeeeb0" offset="95%"/></linearGradient></defs><style type="text/css"> | |
text { font-family:"Verdana"; font-size:12px; fill:rgb(0,0,0); } | |
#title { text-anchor:middle; font-size:17px; } | |
#search { opacity:0.1; cursor:pointer; } | |
#search:hover, #search.show { opacity:1; } | |
#subtitle { text-anchor:middle; font-color:rgb(160,160,160); } | |
#unzoom { cursor:pointer; } | |
#frames > *:hover { stroke:black; stroke-width:0.5; cursor:pointer; } | |
.hide { display:none; } | |
.parent { opacity:0.5; } | |
</style><script type="text/ecmascript"><![CDATA[ | |
var nametype = 'Function:'; | |
var fontsize = 12; | |
var fontwidth = 0.59; | |
var xpad = 10; | |
var inverted = false; | |
var searchcolor = 'rgb(230,0,230)'; | |
var fluiddrawing = true; | |
var truncate_text_right = false; | |
]]><![CDATA["use strict"; | |
var details, searchbtn, unzoombtn, matchedtxt, svg, searching, frames; | |
function init(evt) { | |
details = document.getElementById("details").firstChild; | |
searchbtn = document.getElementById("search"); | |
unzoombtn = document.getElementById("unzoom"); | |
matchedtxt = document.getElementById("matched"); | |
svg = document.getElementsByTagName("svg")[0]; | |
frames = document.getElementById("frames"); | |
total_samples = parseInt(frames.attributes.total_samples.value); | |
searching = 0; | |
// Use GET parameters to restore a flamegraph's state. | |
var restore_state = function() { | |
var params = get_params(); | |
if (params.x && params.y) | |
zoom(find_group(document.querySelector('[*|x="' + params.x + '"][y="' + params.y + '"]'))); | |
if (params.s) | |
search(params.s); | |
}; | |
if (fluiddrawing) { | |
// Make width dynamic so the SVG fits its parent's width. | |
svg.removeAttribute("width"); | |
// Edge requires us to have a viewBox that gets updated with size changes. | |
var isEdge = /Edge\/\d./i.test(navigator.userAgent); | |
if (!isEdge) { | |
svg.removeAttribute("viewBox"); | |
} | |
var update_for_width_change = function() { | |
if (isEdge) { | |
svg.attributes.viewBox.value = "0 0 " + svg.width.baseVal.value + " " + svg.height.baseVal.value; | |
} | |
// Keep consistent padding on left and right of frames container. | |
frames.attributes.width.value = svg.width.baseVal.value - xpad * 2; | |
// Text truncation needs to be adjusted for the current width. | |
var el = frames.children; | |
for(var i = 0; i < el.length; i++) { | |
update_text(el[i]); | |
} | |
// Keep search elements at a fixed distance from right edge. | |
var svgWidth = svg.width.baseVal.value; | |
searchbtn.attributes.x.value = svgWidth - xpad - 100; | |
matchedtxt.attributes.x.value = svgWidth - xpad - 100; | |
}; | |
window.addEventListener('resize', function() { | |
update_for_width_change(); | |
}); | |
// This needs to be done asynchronously for Safari to work. | |
setTimeout(function() { | |
unzoom(); | |
update_for_width_change(); | |
restore_state(); | |
}, 0); | |
} else { | |
restore_state(); | |
} | |
} | |
// event listeners | |
window.addEventListener("click", function(e) { | |
var target = find_group(e.target); | |
if (target) { | |
if (target.nodeName == "a") { | |
if (e.ctrlKey === false) return; | |
e.preventDefault(); | |
} | |
if (target.classList.contains("parent")) unzoom(); | |
zoom(target); | |
// set parameters for zoom state | |
var el = target.querySelector("rect"); | |
if (el && el.attributes && el.attributes.y && el.attributes["fg:x"]) { | |
var params = get_params() | |
params.x = el.attributes["fg:x"].value; | |
params.y = el.attributes.y.value; | |
history.replaceState(null, null, parse_params(params)); | |
} | |
} | |
else if (e.target.id == "unzoom") { | |
unzoom(); | |
// remove zoom state | |
var params = get_params(); | |
if (params.x) delete params.x; | |
if (params.y) delete params.y; | |
history.replaceState(null, null, parse_params(params)); | |
} | |
else if (e.target.id == "search") search_prompt(); | |
}, false) | |
// mouse-over for info | |
// show | |
window.addEventListener("mouseover", function(e) { | |
var target = find_group(e.target); | |
if (target) details.nodeValue = nametype + " " + g_to_text(target); | |
}, false) | |
// clear | |
window.addEventListener("mouseout", function(e) { | |
var target = find_group(e.target); | |
if (target) details.nodeValue = ' '; | |
}, false) | |
// ctrl-F for search | |
window.addEventListener("keydown",function (e) { | |
if (e.keyCode === 114 || (e.ctrlKey && e.keyCode === 70)) { | |
e.preventDefault(); | |
search_prompt(); | |
} | |
}, false) | |
// functions | |
function get_params() { | |
var params = {}; | |
var paramsarr = window.location.search.substr(1).split('&'); | |
for (var i = 0; i < paramsarr.length; ++i) { | |
var tmp = paramsarr[i].split("="); | |
if (!tmp[0] || !tmp[1]) continue; | |
params[tmp[0]] = decodeURIComponent(tmp[1]); | |
} | |
return params; | |
} | |
function parse_params(params) { | |
var uri = "?"; | |
for (var key in params) { | |
uri += key + '=' + encodeURIComponent(params[key]) + '&'; | |
} | |
if (uri.slice(-1) == "&") | |
uri = uri.substring(0, uri.length - 1); | |
if (uri == '?') | |
uri = window.location.href.split('?')[0]; | |
return uri; | |
} | |
function find_child(node, selector) { | |
var children = node.querySelectorAll(selector); | |
if (children.length) return children[0]; | |
return; | |
} | |
function find_group(node) { | |
var parent = node.parentElement; | |
if (!parent) return; | |
if (parent.id == "frames") return node; | |
return find_group(parent); | |
} | |
function orig_save(e, attr, val) { | |
if (e.attributes["fg:orig_" + attr] != undefined) return; | |
if (e.attributes[attr] == undefined) return; | |
if (val == undefined) val = e.attributes[attr].value; | |
e.setAttribute("fg:orig_" + attr, val); | |
} | |
function orig_load(e, attr) { | |
if (e.attributes["fg:orig_"+attr] == undefined) return; | |
e.attributes[attr].value = e.attributes["fg:orig_" + attr].value; | |
e.removeAttribute("fg:orig_" + attr); | |
} | |
function g_to_text(e) { | |
var text = find_child(e, "title").firstChild.nodeValue; | |
return (text) | |
} | |
function g_to_func(e) { | |
var func = g_to_text(e); | |
// if there's any manipulation we want to do to the function | |
// name before it's searched, do it here before returning. | |
return (func); | |
} | |
function update_text(e) { | |
var r = find_child(e, "rect"); | |
var t = find_child(e, "text"); | |
var w = parseFloat(r.attributes.width.value) * frames.attributes.width.value / 100 - 3; | |
var txt = find_child(e, "title").textContent.replace(/\([^(]*\)$/,""); | |
t.attributes.x.value = format_percent((parseFloat(r.attributes.x.value) + (100 * 3 / frames.attributes.width.value))); | |
// Smaller than this size won't fit anything | |
if (w < 2 * fontsize * fontwidth) { | |
t.textContent = ""; | |
return; | |
} | |
t.textContent = txt; | |
// Fit in full text width | |
if (/^ *\$/.test(txt) || t.getComputedTextLength() < w) | |
return; | |
if (truncate_text_right) { | |
// Truncate the right side of the text. | |
for (var x = txt.length - 2; x > 0; x--) { | |
if (t.getSubStringLength(0, x + 2) <= w) { | |
t.textContent = txt.substring(0, x) + ".."; | |
return; | |
} | |
} | |
} else { | |
// Truncate the left side of the text. | |
for (var x = 2; x < txt.length; x++) { | |
if (t.getSubStringLength(x - 2, txt.length) <= w) { | |
t.textContent = ".." + txt.substring(x, txt.length); | |
return; | |
} | |
} | |
} | |
t.textContent = ""; | |
} | |
// zoom | |
function zoom_reset(e) { | |
if (e.tagName == "rect") { | |
e.attributes.x.value = format_percent(100 * parseInt(e.attributes["fg:x"].value) / total_samples); | |
e.attributes.width.value = format_percent(100 * parseInt(e.attributes["fg:w"].value) / total_samples); | |
} | |
if (e.childNodes == undefined) return; | |
for(var i = 0, c = e.childNodes; i < c.length; i++) { | |
zoom_reset(c[i]); | |
} | |
} | |
function zoom_child(e, x, zoomed_width_samples) { | |
if (e.tagName == "text") { | |
var parent_x = parseFloat(find_child(e.parentNode, "rect[x]").attributes.x.value); | |
e.attributes.x.value = format_percent(parent_x + (100 * 3 / frames.attributes.width.value)); | |
} else if (e.tagName == "rect") { | |
e.attributes.x.value = format_percent(100 * (parseInt(e.attributes["fg:x"].value) - x) / zoomed_width_samples); | |
e.attributes.width.value = format_percent(100 * parseInt(e.attributes["fg:w"].value) / zoomed_width_samples); | |
} | |
if (e.childNodes == undefined) return; | |
for(var i = 0, c = e.childNodes; i < c.length; i++) { | |
zoom_child(c[i], x, zoomed_width_samples); | |
} | |
} | |
function zoom_parent(e) { | |
if (e.attributes) { | |
if (e.attributes.x != undefined) { | |
e.attributes.x.value = "0.0%"; | |
} | |
if (e.attributes.width != undefined) { | |
e.attributes.width.value = "100.0%"; | |
} | |
} | |
if (e.childNodes == undefined) return; | |
for(var i = 0, c = e.childNodes; i < c.length; i++) { | |
zoom_parent(c[i]); | |
} | |
} | |
function zoom(node) { | |
var attr = find_child(node, "rect").attributes; | |
var width = parseInt(attr["fg:w"].value); | |
var xmin = parseInt(attr["fg:x"].value); | |
var xmax = xmin + width; | |
var ymin = parseFloat(attr.y.value); | |
unzoombtn.classList.remove("hide"); | |
var el = frames.children; | |
for (var i = 0; i < el.length; i++) { | |
var e = el[i]; | |
var a = find_child(e, "rect").attributes; | |
var ex = parseInt(a["fg:x"].value); | |
var ew = parseInt(a["fg:w"].value); | |
// Is it an ancestor | |
if (!inverted) { | |
var upstack = parseFloat(a.y.value) > ymin; | |
} else { | |
var upstack = parseFloat(a.y.value) < ymin; | |
} | |
if (upstack) { | |
// Direct ancestor | |
if (ex <= xmin && (ex+ew) >= xmax) { | |
e.classList.add("parent"); | |
zoom_parent(e); | |
update_text(e); | |
} | |
// not in current path | |
else | |
e.classList.add("hide"); | |
} | |
// Children maybe | |
else { | |
// no common path | |
if (ex < xmin || ex >= xmax) { | |
e.classList.add("hide"); | |
} | |
else { | |
zoom_child(e, xmin, width); | |
update_text(e); | |
} | |
} | |
} | |
} | |
function unzoom() { | |
unzoombtn.classList.add("hide"); | |
var el = frames.children; | |
for(var i = 0; i < el.length; i++) { | |
el[i].classList.remove("parent"); | |
el[i].classList.remove("hide"); | |
zoom_reset(el[i]); | |
update_text(el[i]); | |
} | |
} | |
// search | |
function reset_search() { | |
var el = document.querySelectorAll("#frames rect"); | |
for (var i = 0; i < el.length; i++) { | |
orig_load(el[i], "fill") | |
} | |
var params = get_params(); | |
delete params.s; | |
history.replaceState(null, null, parse_params(params)); | |
} | |
function search_prompt() { | |
if (!searching) { | |
var term = prompt("Enter a search term (regexp " + | |
"allowed, eg: ^ext4_)", ""); | |
if (term != null) { | |
search(term) | |
} | |
} else { | |
reset_search(); | |
searching = 0; | |
searchbtn.classList.remove("show"); | |
searchbtn.firstChild.nodeValue = "Search" | |
matchedtxt.classList.add("hide"); | |
matchedtxt.firstChild.nodeValue = "" | |
} | |
} | |
function search(term) { | |
var re = new RegExp(term); | |
var el = frames.children; | |
var matches = new Object(); | |
var maxwidth = 0; | |
for (var i = 0; i < el.length; i++) { | |
var e = el[i]; | |
// Skip over frames which are either not visible, or below the zoomed-to frame | |
if (e.classList.contains("hide") || e.classList.contains("parent")) { | |
continue; | |
} | |
var func = g_to_func(e); | |
var rect = find_child(e, "rect"); | |
if (func == null || rect == null) | |
continue; | |
// Save max width. Only works as we have a root frame | |
var w = parseInt(rect.attributes["fg:w"].value); | |
if (w > maxwidth) | |
maxwidth = w; | |
if (func.match(re)) { | |
// highlight | |
var x = parseInt(rect.attributes["fg:x"].value); | |
orig_save(rect, "fill"); | |
rect.attributes.fill.value = searchcolor; | |
// remember matches | |
if (matches[x] == undefined) { | |
matches[x] = w; | |
} else { | |
if (w > matches[x]) { | |
// overwrite with parent | |
matches[x] = w; | |
} | |
} | |
searching = 1; | |
} | |
} | |
if (!searching) | |
return; | |
var params = get_params(); | |
params.s = term; | |
history.replaceState(null, null, parse_params(params)); | |
searchbtn.classList.add("show"); | |
searchbtn.firstChild.nodeValue = "Reset Search"; | |
// calculate percent matched, excluding vertical overlap | |
var count = 0; | |
var lastx = -1; | |
var lastw = 0; | |
var keys = Array(); | |
for (k in matches) { | |
if (matches.hasOwnProperty(k)) | |
keys.push(k); | |
} | |
// sort the matched frames by their x location | |
// ascending, then width descending | |
keys.sort(function(a, b){ | |
return a - b; | |
}); | |
// Step through frames saving only the biggest bottom-up frames | |
// thanks to the sort order. This relies on the tree property | |
// where children are always smaller than their parents. | |
for (var k in keys) { | |
var x = parseInt(keys[k]); | |
var w = matches[keys[k]]; | |
if (x >= lastx + lastw) { | |
count += w; | |
lastx = x; | |
lastw = w; | |
} | |
} | |
// display matched percent | |
matchedtxt.classList.remove("hide"); | |
var pct = 100 * count / maxwidth; | |
if (pct != 100) pct = pct.toFixed(1); | |
matchedtxt.firstChild.nodeValue = "Matched: " + pct + "%"; | |
} | |
function format_percent(n) { | |
return n.toFixed(4) + "%"; | |
} | |
]]></script><rect x="0" y="0" width="100%" height="646" fill="url(#background)"/><text id="title" x="50.0000%" y="24.00">Flame Graph</text><text id="details" x="10" y="629.00"> </text><text id="unzoom" class="hide" x="10" y="24.00">Reset Zoom</text><text id="search" x="1090" y="24.00">Search</text><text id="matched" x="1090" y="629.00"> </text><svg id="frames" x="10" width="1180" total_samples="1164"><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="549" width="0.0859%" height="15" fill="rgb(227,0,7)" fg:x="0" fg:w="1"/><text x="0.2500%" y="559.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="533" width="0.0859%" height="15" fill="rgb(217,0,24)" fg:x="0" fg:w="1"/><text x="0.2500%" y="543.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="517" width="0.0859%" height="15" fill="rgb(221,193,54)" fg:x="0" fg:w="1"/><text x="0.2500%" y="527.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="501" width="0.0859%" height="15" fill="rgb(248,212,6)" fg:x="0" fg:w="1"/><text x="0.2500%" y="511.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="485" width="0.0859%" height="15" fill="rgb(208,68,35)" fg:x="0" fg:w="1"/><text x="0.2500%" y="495.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="469" width="0.0859%" height="15" fill="rgb(232,128,0)" fg:x="0" fg:w="1"/><text x="0.2500%" y="479.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="453" width="0.0859%" height="15" fill="rgb(207,160,47)" fg:x="0" fg:w="1"/><text x="0.2500%" y="463.50"></text></g><g><title>core::str::<impl str>::strip_prefix (2 samples, 0.17%)</title><rect x="2.0619%" y="213" width="0.1718%" height="15" fill="rgb(228,23,34)" fg:x="24" fg:w="2"/><text x="2.3119%" y="223.50"></text></g><g><title><&str as core::str::pattern::Pattern>::strip_prefix_of (2 samples, 0.17%)</title><rect x="2.0619%" y="197" width="0.1718%" height="15" fill="rgb(218,30,26)" fg:x="24" fg:w="2"/><text x="2.3119%" y="207.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (235 samples, 20.19%)</title><rect x="3.0928%" y="197" width="20.1890%" height="15" fill="rgb(220,122,19)" fg:x="36" fg:w="235"/><text x="3.3428%" y="207.50"><core::str::iter::Bytes as core:..</text></g><g><title>core::iter::traits::iterator::Iterator::position (235 samples, 20.19%)</title><rect x="3.0928%" y="181" width="20.1890%" height="15" fill="rgb(250,228,42)" fg:x="36" fg:w="235"/><text x="3.3428%" y="191.50">core::iter::traits::iterator::It..</text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (235 samples, 20.19%)</title><rect x="3.0928%" y="165" width="20.1890%" height="15" fill="rgb(240,193,28)" fg:x="36" fg:w="235"/><text x="3.3428%" y="175.50"><core::iter::adapters::copied::C..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (235 samples, 20.19%)</title><rect x="3.0928%" y="149" width="20.1890%" height="15" fill="rgb(216,20,37)" fg:x="36" fg:w="235"/><text x="3.3428%" y="159.50">core::iter::traits::iterator::It..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (150 samples, 12.89%)</title><rect x="10.3952%" y="133" width="12.8866%" height="15" fill="rgb(206,188,39)" fg:x="121" fg:w="150"/><text x="10.6452%" y="143.50">core::iter::adapter..</text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (150 samples, 12.89%)</title><rect x="10.3952%" y="117" width="12.8866%" height="15" fill="rgb(217,207,13)" fg:x="121" fg:w="150"/><text x="10.6452%" y="127.50">core::iter::traits:..</text></g><g><title>iri_string::parser::str::find_split2_hole::{{closure}} (150 samples, 12.89%)</title><rect x="10.3952%" y="101" width="12.8866%" height="15" fill="rgb(231,73,38)" fg:x="121" fg:w="150"/><text x="10.6452%" y="111.50">iri_string::parser:..</text></g><g><title>iri_string::parser::str::find_split2_hole (253 samples, 21.74%)</title><rect x="2.2337%" y="213" width="21.7354%" height="15" fill="rgb(225,20,46)" fg:x="26" fg:w="253"/><text x="2.4837%" y="223.50">iri_string::parser::str::find_spli..</text></g><g><title>core::option::Option<T>::map (8 samples, 0.69%)</title><rect x="23.2818%" y="197" width="0.6873%" height="15" fill="rgb(210,31,41)" fg:x="271" fg:w="8"/><text x="23.5318%" y="207.50"></text></g><g><title>iri_string::parser::str::find_split2_hole::{{closure}} (7 samples, 0.60%)</title><rect x="23.3677%" y="181" width="0.6014%" height="15" fill="rgb(221,200,47)" fg:x="272" fg:w="7"/><text x="23.6177%" y="191.50"></text></g><g><title>core::str::traits::<impl core::ops::index::Index<I> for str>::index (7 samples, 0.60%)</title><rect x="23.3677%" y="165" width="0.6014%" height="15" fill="rgb(226,26,5)" fg:x="272" fg:w="7"/><text x="23.6177%" y="175.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeTo<usize>>::index (7 samples, 0.60%)</title><rect x="23.3677%" y="149" width="0.6014%" height="15" fill="rgb(249,33,26)" fg:x="272" fg:w="7"/><text x="23.6177%" y="159.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeTo<usize>>::get (7 samples, 0.60%)</title><rect x="23.3677%" y="133" width="0.6014%" height="15" fill="rgb(235,183,28)" fg:x="272" fg:w="7"/><text x="23.6177%" y="143.50"></text></g><g><title>core::str::<impl str>::is_char_boundary (6 samples, 0.52%)</title><rect x="23.4536%" y="117" width="0.5155%" height="15" fill="rgb(221,5,38)" fg:x="273" fg:w="6"/><text x="23.7036%" y="127.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.09%)</title><rect x="24.8282%" y="133" width="0.0859%" height="15" fill="rgb(247,18,42)" fg:x="289" fg:w="1"/><text x="25.0782%" y="143.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (6 samples, 0.52%)</title><rect x="24.4845%" y="197" width="0.5155%" height="15" fill="rgb(241,131,45)" fg:x="285" fg:w="6"/><text x="24.7345%" y="207.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (6 samples, 0.52%)</title><rect x="24.4845%" y="181" width="0.5155%" height="15" fill="rgb(249,31,29)" fg:x="285" fg:w="6"/><text x="24.7345%" y="191.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (6 samples, 0.52%)</title><rect x="24.4845%" y="165" width="0.5155%" height="15" fill="rgb(225,111,53)" fg:x="285" fg:w="6"/><text x="24.7345%" y="175.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (6 samples, 0.52%)</title><rect x="24.4845%" y="149" width="0.5155%" height="15" fill="rgb(238,160,17)" fg:x="285" fg:w="6"/><text x="24.7345%" y="159.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="24.9141%" y="133" width="0.0859%" height="15" fill="rgb(214,148,48)" fg:x="290" fg:w="1"/><text x="25.1641%" y="143.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="24.9141%" y="117" width="0.0859%" height="15" fill="rgb(232,36,49)" fg:x="290" fg:w="1"/><text x="25.1641%" y="127.50"></text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (1 samples, 0.09%)</title><rect x="24.9141%" y="101" width="0.0859%" height="15" fill="rgb(209,103,24)" fg:x="290" fg:w="1"/><text x="25.1641%" y="111.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::index (4 samples, 0.34%)</title><rect x="25.0000%" y="149" width="0.3436%" height="15" fill="rgb(229,88,8)" fg:x="291" fg:w="4"/><text x="25.2500%" y="159.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::get (4 samples, 0.34%)</title><rect x="25.0000%" y="133" width="0.3436%" height="15" fill="rgb(213,181,19)" fg:x="291" fg:w="4"/><text x="25.2500%" y="143.50"></text></g><g><title>iri_string::parser::str::find_split_hole (36 samples, 3.09%)</title><rect x="23.9691%" y="213" width="3.0928%" height="15" fill="rgb(254,191,54)" fg:x="279" fg:w="36"/><text x="24.2191%" y="223.50">iri..</text></g><g><title>core::option::Option<T>::map (24 samples, 2.06%)</title><rect x="25.0000%" y="197" width="2.0619%" height="15" fill="rgb(241,83,37)" fg:x="291" fg:w="24"/><text x="25.2500%" y="207.50">c..</text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (24 samples, 2.06%)</title><rect x="25.0000%" y="181" width="2.0619%" height="15" fill="rgb(233,36,39)" fg:x="291" fg:w="24"/><text x="25.2500%" y="191.50">i..</text></g><g><title>core::str::traits::<impl core::ops::index::Index<I> for str>::index (24 samples, 2.06%)</title><rect x="25.0000%" y="165" width="2.0619%" height="15" fill="rgb(226,3,54)" fg:x="291" fg:w="24"/><text x="25.2500%" y="175.50">c..</text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeTo<usize>>::index (20 samples, 1.72%)</title><rect x="25.3436%" y="149" width="1.7182%" height="15" fill="rgb(245,192,40)" fg:x="295" fg:w="20"/><text x="25.5936%" y="159.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeTo<usize>>::get (20 samples, 1.72%)</title><rect x="25.3436%" y="133" width="1.7182%" height="15" fill="rgb(238,167,29)" fg:x="295" fg:w="20"/><text x="25.5936%" y="143.50"></text></g><g><title>core::str::<impl str>::is_char_boundary (13 samples, 1.12%)</title><rect x="25.9450%" y="117" width="1.1168%" height="15" fill="rgb(232,182,51)" fg:x="302" fg:w="13"/><text x="26.1950%" y="127.50"></text></g><g><title>core::slice::<impl [T]>::get (3 samples, 0.26%)</title><rect x="26.8041%" y="101" width="0.2577%" height="15" fill="rgb(231,60,39)" fg:x="312" fg:w="3"/><text x="27.0541%" y="111.50"></text></g><g><title><usize as core::slice::index::SliceIndex<[T]>>::get (3 samples, 0.26%)</title><rect x="26.8041%" y="85" width="0.2577%" height="15" fill="rgb(208,69,12)" fg:x="312" fg:w="3"/><text x="27.0541%" y="95.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (7 samples, 0.60%)</title><rect x="27.0619%" y="181" width="0.6014%" height="15" fill="rgb(235,93,37)" fg:x="315" fg:w="7"/><text x="27.3119%" y="191.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (7 samples, 0.60%)</title><rect x="27.0619%" y="165" width="0.6014%" height="15" fill="rgb(213,116,39)" fg:x="315" fg:w="7"/><text x="27.3119%" y="175.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (7 samples, 0.60%)</title><rect x="27.0619%" y="149" width="0.6014%" height="15" fill="rgb(222,207,29)" fg:x="315" fg:w="7"/><text x="27.3119%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (7 samples, 0.60%)</title><rect x="27.0619%" y="133" width="0.6014%" height="15" fill="rgb(206,96,30)" fg:x="315" fg:w="7"/><text x="27.3119%" y="143.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::index (1 samples, 0.09%)</title><rect x="27.6632%" y="133" width="0.0859%" height="15" fill="rgb(218,138,4)" fg:x="322" fg:w="1"/><text x="27.9132%" y="143.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::get (1 samples, 0.09%)</title><rect x="27.6632%" y="117" width="0.0859%" height="15" fill="rgb(250,191,14)" fg:x="322" fg:w="1"/><text x="27.9132%" y="127.50"></text></g><g><title>iri_string::parser::str::find_split_hole (12 samples, 1.03%)</title><rect x="27.0619%" y="197" width="1.0309%" height="15" fill="rgb(239,60,40)" fg:x="315" fg:w="12"/><text x="27.3119%" y="207.50"></text></g><g><title>core::option::Option<T>::map (5 samples, 0.43%)</title><rect x="27.6632%" y="181" width="0.4296%" height="15" fill="rgb(206,27,48)" fg:x="322" fg:w="5"/><text x="27.9132%" y="191.50"></text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (5 samples, 0.43%)</title><rect x="27.6632%" y="165" width="0.4296%" height="15" fill="rgb(225,35,8)" fg:x="322" fg:w="5"/><text x="27.9132%" y="175.50"></text></g><g><title>core::str::traits::<impl core::ops::index::Index<I> for str>::index (5 samples, 0.43%)</title><rect x="27.6632%" y="149" width="0.4296%" height="15" fill="rgb(250,213,24)" fg:x="322" fg:w="5"/><text x="27.9132%" y="159.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeTo<usize>>::index (4 samples, 0.34%)</title><rect x="27.7491%" y="133" width="0.3436%" height="15" fill="rgb(247,123,22)" fg:x="323" fg:w="4"/><text x="27.9991%" y="143.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeTo<usize>>::get (4 samples, 0.34%)</title><rect x="27.7491%" y="117" width="0.3436%" height="15" fill="rgb(231,138,38)" fg:x="323" fg:w="4"/><text x="27.9991%" y="127.50"></text></g><g><title>core::str::<impl str>::is_char_boundary (3 samples, 0.26%)</title><rect x="27.8351%" y="101" width="0.2577%" height="15" fill="rgb(231,145,46)" fg:x="324" fg:w="3"/><text x="28.0851%" y="111.50"></text></g><g><title>core::slice::<impl [T]>::get (1 samples, 0.09%)</title><rect x="28.0069%" y="85" width="0.0859%" height="15" fill="rgb(251,118,11)" fg:x="326" fg:w="1"/><text x="28.2569%" y="95.50"></text></g><g><title><usize as core::slice::index::SliceIndex<[T]>>::get (1 samples, 0.09%)</title><rect x="28.0069%" y="69" width="0.0859%" height="15" fill="rgb(217,147,25)" fg:x="326" fg:w="1"/><text x="28.2569%" y="79.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (3 samples, 0.26%)</title><rect x="29.0378%" y="101" width="0.2577%" height="15" fill="rgb(247,81,37)" fg:x="338" fg:w="3"/><text x="29.2878%" y="111.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::all (13 samples, 1.12%)</title><rect x="28.3505%" y="165" width="1.1168%" height="15" fill="rgb(209,12,38)" fg:x="330" fg:w="13"/><text x="28.6005%" y="175.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all (13 samples, 1.12%)</title><rect x="28.3505%" y="149" width="1.1168%" height="15" fill="rgb(227,1,9)" fg:x="330" fg:w="13"/><text x="28.6005%" y="159.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (13 samples, 1.12%)</title><rect x="28.3505%" y="133" width="1.1168%" height="15" fill="rgb(248,47,43)" fg:x="330" fg:w="13"/><text x="28.6005%" y="143.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (13 samples, 1.12%)</title><rect x="28.3505%" y="117" width="1.1168%" height="15" fill="rgb(221,10,30)" fg:x="330" fg:w="13"/><text x="28.6005%" y="127.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (2 samples, 0.17%)</title><rect x="29.2955%" y="101" width="0.1718%" height="15" fill="rgb(210,229,1)" fg:x="341" fg:w="2"/><text x="29.5455%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all::check::{{closure}} (2 samples, 0.17%)</title><rect x="29.2955%" y="85" width="0.1718%" height="15" fill="rgb(222,148,37)" fg:x="341" fg:w="2"/><text x="29.5455%" y="95.50"></text></g><g><title>core::ops::function::FnMut::call_mut (2 samples, 0.17%)</title><rect x="29.2955%" y="69" width="0.1718%" height="15" fill="rgb(234,67,33)" fg:x="341" fg:w="2"/><text x="29.5455%" y="79.50"></text></g><g><title>iri_string::parser::char::is_ascii_frag_query (2 samples, 0.17%)</title><rect x="29.2955%" y="53" width="0.1718%" height="15" fill="rgb(247,98,35)" fg:x="341" fg:w="2"/><text x="29.5455%" y="63.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (18 samples, 1.55%)</title><rect x="28.0928%" y="181" width="1.5464%" height="15" fill="rgb(247,138,52)" fg:x="327" fg:w="18"/><text x="28.3428%" y="191.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (2 samples, 0.17%)</title><rect x="29.4674%" y="165" width="0.1718%" height="15" fill="rgb(213,79,30)" fg:x="343" fg:w="2"/><text x="29.7174%" y="175.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (2 samples, 0.17%)</title><rect x="29.4674%" y="149" width="0.1718%" height="15" fill="rgb(246,177,23)" fg:x="343" fg:w="2"/><text x="29.7174%" y="159.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (2 samples, 0.17%)</title><rect x="29.4674%" y="133" width="0.1718%" height="15" fill="rgb(230,62,27)" fg:x="343" fg:w="2"/><text x="29.7174%" y="143.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (2 samples, 0.17%)</title><rect x="29.4674%" y="117" width="0.1718%" height="15" fill="rgb(216,154,8)" fg:x="343" fg:w="2"/><text x="29.7174%" y="127.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="29.5533%" y="101" width="0.0859%" height="15" fill="rgb(244,35,45)" fg:x="344" fg:w="1"/><text x="29.8033%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="29.5533%" y="85" width="0.0859%" height="15" fill="rgb(251,115,12)" fg:x="344" fg:w="1"/><text x="29.8033%" y="95.50"></text></g><g><title>iri_string::parser::validate::validate_fragment (26 samples, 2.23%)</title><rect x="28.0928%" y="197" width="2.2337%" height="15" fill="rgb(240,54,50)" fg:x="327" fg:w="26"/><text x="28.3428%" y="207.50">i..</text></g><g><title>iri_string::parser::str::satisfy_chars_with_pct_encoded (8 samples, 0.69%)</title><rect x="29.6392%" y="181" width="0.6873%" height="15" fill="rgb(233,84,52)" fg:x="345" fg:w="8"/><text x="29.8892%" y="191.50"></text></g><g><title>iri_string::parser::str::find_split_hole (6 samples, 0.52%)</title><rect x="29.8110%" y="165" width="0.5155%" height="15" fill="rgb(207,117,47)" fg:x="347" fg:w="6"/><text x="30.0610%" y="175.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (6 samples, 0.52%)</title><rect x="29.8110%" y="149" width="0.5155%" height="15" fill="rgb(249,43,39)" fg:x="347" fg:w="6"/><text x="30.0610%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (6 samples, 0.52%)</title><rect x="29.8110%" y="133" width="0.5155%" height="15" fill="rgb(209,38,44)" fg:x="347" fg:w="6"/><text x="30.0610%" y="143.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (6 samples, 0.52%)</title><rect x="29.8110%" y="117" width="0.5155%" height="15" fill="rgb(236,212,23)" fg:x="347" fg:w="6"/><text x="30.0610%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (6 samples, 0.52%)</title><rect x="29.8110%" y="101" width="0.5155%" height="15" fill="rgb(242,79,21)" fg:x="347" fg:w="6"/><text x="30.0610%" y="111.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::all (11 samples, 0.95%)</title><rect x="30.5842%" y="165" width="0.9450%" height="15" fill="rgb(211,96,35)" fg:x="356" fg:w="11"/><text x="30.8342%" y="175.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all (11 samples, 0.95%)</title><rect x="30.5842%" y="149" width="0.9450%" height="15" fill="rgb(253,215,40)" fg:x="356" fg:w="11"/><text x="30.8342%" y="159.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (11 samples, 0.95%)</title><rect x="30.5842%" y="133" width="0.9450%" height="15" fill="rgb(211,81,21)" fg:x="356" fg:w="11"/><text x="30.8342%" y="143.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (11 samples, 0.95%)</title><rect x="30.5842%" y="117" width="0.9450%" height="15" fill="rgb(208,190,38)" fg:x="356" fg:w="11"/><text x="30.8342%" y="127.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.09%)</title><rect x="32.2165%" y="101" width="0.0859%" height="15" fill="rgb(235,213,38)" fg:x="375" fg:w="1"/><text x="32.4665%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (15 samples, 1.29%)</title><rect x="31.5292%" y="117" width="1.2887%" height="15" fill="rgb(237,122,38)" fg:x="367" fg:w="15"/><text x="31.7792%" y="127.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (6 samples, 0.52%)</title><rect x="32.3024%" y="101" width="0.5155%" height="15" fill="rgb(244,218,35)" fg:x="376" fg:w="6"/><text x="32.5524%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (6 samples, 0.52%)</title><rect x="32.3024%" y="85" width="0.5155%" height="15" fill="rgb(240,68,47)" fg:x="376" fg:w="6"/><text x="32.5524%" y="95.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (32 samples, 2.75%)</title><rect x="30.3265%" y="181" width="2.7491%" height="15" fill="rgb(210,16,53)" fg:x="353" fg:w="32"/><text x="30.5765%" y="191.50">ir..</text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (18 samples, 1.55%)</title><rect x="31.5292%" y="165" width="1.5464%" height="15" fill="rgb(235,124,12)" fg:x="367" fg:w="18"/><text x="31.7792%" y="175.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (18 samples, 1.55%)</title><rect x="31.5292%" y="149" width="1.5464%" height="15" fill="rgb(224,169,11)" fg:x="367" fg:w="18"/><text x="31.7792%" y="159.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (18 samples, 1.55%)</title><rect x="31.5292%" y="133" width="1.5464%" height="15" fill="rgb(250,166,2)" fg:x="367" fg:w="18"/><text x="31.7792%" y="143.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (3 samples, 0.26%)</title><rect x="32.8179%" y="117" width="0.2577%" height="15" fill="rgb(242,216,29)" fg:x="382" fg:w="3"/><text x="33.0679%" y="127.50"></text></g><g><title>iri_string::parser::validate::validate_after_path (79 samples, 6.79%)</title><rect x="27.0619%" y="213" width="6.7869%" height="15" fill="rgb(230,116,27)" fg:x="315" fg:w="79"/><text x="27.3119%" y="223.50">iri_strin..</text></g><g><title>iri_string::parser::validate::validate_query (41 samples, 3.52%)</title><rect x="30.3265%" y="197" width="3.5223%" height="15" fill="rgb(228,99,48)" fg:x="353" fg:w="41"/><text x="30.5765%" y="207.50">iri..</text></g><g><title>iri_string::parser::str::satisfy_chars_with_pct_encoded (9 samples, 0.77%)</title><rect x="33.0756%" y="181" width="0.7732%" height="15" fill="rgb(253,11,6)" fg:x="385" fg:w="9"/><text x="33.3256%" y="191.50"></text></g><g><title>iri_string::parser::str::find_split_hole (5 samples, 0.43%)</title><rect x="33.4192%" y="165" width="0.4296%" height="15" fill="rgb(247,143,39)" fg:x="389" fg:w="5"/><text x="33.6692%" y="175.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (4 samples, 0.34%)</title><rect x="33.5052%" y="149" width="0.3436%" height="15" fill="rgb(236,97,10)" fg:x="390" fg:w="4"/><text x="33.7552%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (4 samples, 0.34%)</title><rect x="33.5052%" y="133" width="0.3436%" height="15" fill="rgb(233,208,19)" fg:x="390" fg:w="4"/><text x="33.7552%" y="143.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (4 samples, 0.34%)</title><rect x="33.5052%" y="117" width="0.3436%" height="15" fill="rgb(216,164,2)" fg:x="390" fg:w="4"/><text x="33.7552%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (4 samples, 0.34%)</title><rect x="33.5052%" y="101" width="0.3436%" height="15" fill="rgb(220,129,5)" fg:x="390" fg:w="4"/><text x="33.7552%" y="111.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.09%)</title><rect x="40.2062%" y="117" width="0.0859%" height="15" fill="rgb(242,17,10)" fg:x="468" fg:w="1"/><text x="40.4562%" y="127.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (63 samples, 5.41%)</title><rect x="34.9656%" y="181" width="5.4124%" height="15" fill="rgb(242,107,0)" fg:x="407" fg:w="63"/><text x="35.2156%" y="191.50"><core::..</text></g><g><title>core::iter::traits::iterator::Iterator::position (63 samples, 5.41%)</title><rect x="34.9656%" y="165" width="5.4124%" height="15" fill="rgb(251,28,31)" fg:x="407" fg:w="63"/><text x="35.2156%" y="175.50">core::i..</text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (63 samples, 5.41%)</title><rect x="34.9656%" y="149" width="5.4124%" height="15" fill="rgb(233,223,10)" fg:x="407" fg:w="63"/><text x="35.2156%" y="159.50"><core::..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (63 samples, 5.41%)</title><rect x="34.9656%" y="133" width="5.4124%" height="15" fill="rgb(215,21,27)" fg:x="407" fg:w="63"/><text x="35.2156%" y="143.50">core::i..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="40.2921%" y="117" width="0.0859%" height="15" fill="rgb(232,23,21)" fg:x="469" fg:w="1"/><text x="40.5421%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="40.2921%" y="101" width="0.0859%" height="15" fill="rgb(244,5,23)" fg:x="469" fg:w="1"/><text x="40.5421%" y="111.50"></text></g><g><title>iri_string::parser::str::find_split::{{closure}} (1 samples, 0.09%)</title><rect x="40.2921%" y="85" width="0.0859%" height="15" fill="rgb(226,81,46)" fg:x="469" fg:w="1"/><text x="40.5421%" y="95.50"></text></g><g><title>core::str::<impl str>::get_unchecked (2 samples, 0.17%)</title><rect x="41.0653%" y="133" width="0.1718%" height="15" fill="rgb(247,70,30)" fg:x="478" fg:w="2"/><text x="41.3153%" y="143.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::Range<usize>>::get_unchecked (2 samples, 0.17%)</title><rect x="41.0653%" y="117" width="0.1718%" height="15" fill="rgb(212,68,19)" fg:x="478" fg:w="2"/><text x="41.3153%" y="127.50"></text></g><g><title>iri_string::parser::str::find_split (89 samples, 7.65%)</title><rect x="34.7079%" y="197" width="7.6460%" height="15" fill="rgb(240,187,13)" fg:x="404" fg:w="89"/><text x="34.9579%" y="207.50">iri_string..</text></g><g><title>core::option::Option<T>::map (23 samples, 1.98%)</title><rect x="40.3780%" y="181" width="1.9759%" height="15" fill="rgb(223,113,26)" fg:x="470" fg:w="23"/><text x="40.6280%" y="191.50">c..</text></g><g><title>iri_string::parser::str::find_split::{{closure}} (23 samples, 1.98%)</title><rect x="40.3780%" y="165" width="1.9759%" height="15" fill="rgb(206,192,2)" fg:x="470" fg:w="23"/><text x="40.6280%" y="175.50">i..</text></g><g><title>core::str::<impl str>::split_at (23 samples, 1.98%)</title><rect x="40.3780%" y="149" width="1.9759%" height="15" fill="rgb(241,108,4)" fg:x="470" fg:w="23"/><text x="40.6280%" y="159.50">c..</text></g><g><title>core::str::<impl str>::is_char_boundary (13 samples, 1.12%)</title><rect x="41.2371%" y="133" width="1.1168%" height="15" fill="rgb(247,173,49)" fg:x="480" fg:w="13"/><text x="41.4871%" y="143.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.34%)</title><rect x="46.2199%" y="117" width="0.3436%" height="15" fill="rgb(224,114,35)" fg:x="538" fg:w="4"/><text x="46.4699%" y="127.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::all (28 samples, 2.41%)</title><rect x="44.4158%" y="181" width="2.4055%" height="15" fill="rgb(245,159,27)" fg:x="517" fg:w="28"/><text x="44.6658%" y="191.50"><c..</text></g><g><title>core::iter::traits::iterator::Iterator::all (28 samples, 2.41%)</title><rect x="44.4158%" y="165" width="2.4055%" height="15" fill="rgb(245,172,44)" fg:x="517" fg:w="28"/><text x="44.6658%" y="175.50">co..</text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (28 samples, 2.41%)</title><rect x="44.4158%" y="149" width="2.4055%" height="15" fill="rgb(236,23,11)" fg:x="517" fg:w="28"/><text x="44.6658%" y="159.50"><c..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (28 samples, 2.41%)</title><rect x="44.4158%" y="133" width="2.4055%" height="15" fill="rgb(205,117,38)" fg:x="517" fg:w="28"/><text x="44.6658%" y="143.50">co..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (3 samples, 0.26%)</title><rect x="46.5636%" y="117" width="0.2577%" height="15" fill="rgb(237,72,25)" fg:x="542" fg:w="3"/><text x="46.8136%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all::check::{{closure}} (3 samples, 0.26%)</title><rect x="46.5636%" y="101" width="0.2577%" height="15" fill="rgb(244,70,9)" fg:x="542" fg:w="3"/><text x="46.8136%" y="111.50"></text></g><g><title>core::ops::function::FnMut::call_mut (3 samples, 0.26%)</title><rect x="46.5636%" y="85" width="0.2577%" height="15" fill="rgb(217,125,39)" fg:x="542" fg:w="3"/><text x="46.8136%" y="95.50"></text></g><g><title>iri_string::parser::char::is_ascii_userinfo_ipvfutureaddr (3 samples, 0.26%)</title><rect x="46.5636%" y="69" width="0.2577%" height="15" fill="rgb(235,36,10)" fg:x="542" fg:w="3"/><text x="46.8136%" y="79.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (6 samples, 0.52%)</title><rect x="56.0997%" y="101" width="0.5155%" height="15" fill="rgb(251,123,47)" fg:x="653" fg:w="6"/><text x="56.3497%" y="111.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (95 samples, 8.16%)</title><rect x="48.5395%" y="165" width="8.1615%" height="15" fill="rgb(221,13,13)" fg:x="565" fg:w="95"/><text x="48.7895%" y="175.50"><core::str:..</text></g><g><title>core::iter::traits::iterator::Iterator::position (95 samples, 8.16%)</title><rect x="48.5395%" y="149" width="8.1615%" height="15" fill="rgb(238,131,9)" fg:x="565" fg:w="95"/><text x="48.7895%" y="159.50">core::iter:..</text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (95 samples, 8.16%)</title><rect x="48.5395%" y="133" width="8.1615%" height="15" fill="rgb(211,50,8)" fg:x="565" fg:w="95"/><text x="48.7895%" y="143.50"><core::iter..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (95 samples, 8.16%)</title><rect x="48.5395%" y="117" width="8.1615%" height="15" fill="rgb(245,182,24)" fg:x="565" fg:w="95"/><text x="48.7895%" y="127.50">core::iter:..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="56.6151%" y="101" width="0.0859%" height="15" fill="rgb(242,14,37)" fg:x="659" fg:w="1"/><text x="56.8651%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="56.6151%" y="85" width="0.0859%" height="15" fill="rgb(246,228,12)" fg:x="659" fg:w="1"/><text x="56.8651%" y="95.50"></text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (1 samples, 0.09%)</title><rect x="56.6151%" y="69" width="0.0859%" height="15" fill="rgb(213,55,15)" fg:x="659" fg:w="1"/><text x="56.8651%" y="79.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::index (8 samples, 0.69%)</title><rect x="56.8729%" y="117" width="0.6873%" height="15" fill="rgb(209,9,3)" fg:x="662" fg:w="8"/><text x="57.1229%" y="127.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::get (8 samples, 0.69%)</title><rect x="56.8729%" y="101" width="0.6873%" height="15" fill="rgb(230,59,30)" fg:x="662" fg:w="8"/><text x="57.1229%" y="111.50"></text></g><g><title>iri_string::parser::str::find_split_hole (143 samples, 12.29%)</title><rect x="46.8213%" y="181" width="12.2852%" height="15" fill="rgb(209,121,21)" fg:x="545" fg:w="143"/><text x="47.0713%" y="191.50">iri_string::parser..</text></g><g><title>core::option::Option<T>::map (28 samples, 2.41%)</title><rect x="56.7010%" y="165" width="2.4055%" height="15" fill="rgb(220,109,13)" fg:x="660" fg:w="28"/><text x="56.9510%" y="175.50">co..</text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (26 samples, 2.23%)</title><rect x="56.8729%" y="149" width="2.2337%" height="15" fill="rgb(232,18,1)" fg:x="662" fg:w="26"/><text x="57.1229%" y="159.50">i..</text></g><g><title>core::str::traits::<impl core::ops::index::Index<I> for str>::index (26 samples, 2.23%)</title><rect x="56.8729%" y="133" width="2.2337%" height="15" fill="rgb(215,41,42)" fg:x="662" fg:w="26"/><text x="57.1229%" y="143.50">c..</text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeTo<usize>>::index (18 samples, 1.55%)</title><rect x="57.5601%" y="117" width="1.5464%" height="15" fill="rgb(224,123,36)" fg:x="670" fg:w="18"/><text x="57.8101%" y="127.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeTo<usize>>::get (18 samples, 1.55%)</title><rect x="57.5601%" y="101" width="1.5464%" height="15" fill="rgb(240,125,3)" fg:x="670" fg:w="18"/><text x="57.8101%" y="111.50"></text></g><g><title>core::str::<impl str>::is_char_boundary (11 samples, 0.95%)</title><rect x="58.1615%" y="85" width="0.9450%" height="15" fill="rgb(205,98,50)" fg:x="677" fg:w="11"/><text x="58.4115%" y="95.50"></text></g><g><title>core::slice::<impl [T]>::get (7 samples, 0.60%)</title><rect x="58.5052%" y="69" width="0.6014%" height="15" fill="rgb(205,185,37)" fg:x="681" fg:w="7"/><text x="58.7552%" y="79.50"></text></g><g><title><usize as core::slice::index::SliceIndex<[T]>>::get (7 samples, 0.60%)</title><rect x="58.5052%" y="53" width="0.6014%" height="15" fill="rgb(238,207,15)" fg:x="681" fg:w="7"/><text x="58.7552%" y="63.50"></text></g><g><title>iri_string::parser::str::get_wrapped_inner (12 samples, 1.03%)</title><rect x="59.1065%" y="181" width="1.0309%" height="15" fill="rgb(213,199,42)" fg:x="688" fg:w="12"/><text x="59.3565%" y="191.50"></text></g><g><title>core::str::traits::<impl core::ops::index::Index<I> for str>::index (1 samples, 0.09%)</title><rect x="60.0515%" y="165" width="0.0859%" height="15" fill="rgb(235,201,11)" fg:x="699" fg:w="1"/><text x="60.3015%" y="175.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::Range<usize>>::index (1 samples, 0.09%)</title><rect x="60.0515%" y="149" width="0.0859%" height="15" fill="rgb(207,46,11)" fg:x="699" fg:w="1"/><text x="60.3015%" y="159.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::Range<usize>>::get (1 samples, 0.09%)</title><rect x="60.0515%" y="133" width="0.0859%" height="15" fill="rgb(241,35,35)" fg:x="699" fg:w="1"/><text x="60.3015%" y="143.50"></text></g><g><title>core::str::<impl str>::is_char_boundary (1 samples, 0.09%)</title><rect x="60.0515%" y="117" width="0.0859%" height="15" fill="rgb(243,32,47)" fg:x="699" fg:w="1"/><text x="60.3015%" y="127.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::all (25 samples, 2.15%)</title><rect x="60.7388%" y="165" width="2.1478%" height="15" fill="rgb(247,202,23)" fg:x="707" fg:w="25"/><text x="60.9888%" y="175.50"><..</text></g><g><title>core::iter::traits::iterator::Iterator::all (25 samples, 2.15%)</title><rect x="60.7388%" y="149" width="2.1478%" height="15" fill="rgb(219,102,11)" fg:x="707" fg:w="25"/><text x="60.9888%" y="159.50">c..</text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (25 samples, 2.15%)</title><rect x="60.7388%" y="133" width="2.1478%" height="15" fill="rgb(243,110,44)" fg:x="707" fg:w="25"/><text x="60.9888%" y="143.50"><..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (25 samples, 2.15%)</title><rect x="60.7388%" y="117" width="2.1478%" height="15" fill="rgb(222,74,54)" fg:x="707" fg:w="25"/><text x="60.9888%" y="127.50">c..</text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (6 samples, 0.52%)</title><rect x="62.3711%" y="101" width="0.5155%" height="15" fill="rgb(216,99,12)" fg:x="726" fg:w="6"/><text x="62.6211%" y="111.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.09%)</title><rect x="63.8316%" y="101" width="0.0859%" height="15" fill="rgb(226,22,26)" fg:x="743" fg:w="1"/><text x="64.0816%" y="111.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (27 samples, 2.32%)</title><rect x="63.9175%" y="101" width="2.3196%" height="15" fill="rgb(217,163,10)" fg:x="744" fg:w="27"/><text x="64.1675%" y="111.50">c..</text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (27 samples, 2.32%)</title><rect x="63.9175%" y="85" width="2.3196%" height="15" fill="rgb(213,25,53)" fg:x="744" fg:w="27"/><text x="64.1675%" y="95.50">c..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (40 samples, 3.44%)</title><rect x="62.8866%" y="117" width="3.4364%" height="15" fill="rgb(252,105,26)" fg:x="732" fg:w="40"/><text x="63.1366%" y="127.50">cor..</text></g><g><title>iri_string::parser::str::satisfy_chars (1 samples, 0.09%)</title><rect x="66.2371%" y="101" width="0.0859%" height="15" fill="rgb(220,39,43)" fg:x="771" fg:w="1"/><text x="66.4871%" y="111.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (80 samples, 6.87%)</title><rect x="60.1375%" y="181" width="6.8729%" height="15" fill="rgb(229,68,48)" fg:x="700" fg:w="80"/><text x="60.3875%" y="191.50">iri_strin..</text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (48 samples, 4.12%)</title><rect x="62.8866%" y="165" width="4.1237%" height="15" fill="rgb(252,8,32)" fg:x="732" fg:w="48"/><text x="63.1366%" y="175.50"><cor..</text></g><g><title>core::iter::traits::iterator::Iterator::position (48 samples, 4.12%)</title><rect x="62.8866%" y="149" width="4.1237%" height="15" fill="rgb(223,20,43)" fg:x="732" fg:w="48"/><text x="63.1366%" y="159.50">core..</text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (48 samples, 4.12%)</title><rect x="62.8866%" y="133" width="4.1237%" height="15" fill="rgb(229,81,49)" fg:x="732" fg:w="48"/><text x="63.1366%" y="143.50"><cor..</text></g><g><title>iri_string::parser::str::satisfy_chars (8 samples, 0.69%)</title><rect x="66.3230%" y="117" width="0.6873%" height="15" fill="rgb(236,28,36)" fg:x="772" fg:w="8"/><text x="66.5730%" y="127.50"></text></g><g><title>iri_string::parser::str::satisfy_chars_with_pct_encoded (70 samples, 6.01%)</title><rect x="67.0103%" y="181" width="6.0137%" height="15" fill="rgb(249,185,26)" fg:x="780" fg:w="70"/><text x="67.2603%" y="191.50">iri_stri..</text></g><g><title>iri_string::parser::str::find_split_hole (59 samples, 5.07%)</title><rect x="67.9553%" y="165" width="5.0687%" height="15" fill="rgb(249,174,33)" fg:x="791" fg:w="59"/><text x="68.2053%" y="175.50">iri_st..</text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (52 samples, 4.47%)</title><rect x="68.5567%" y="149" width="4.4674%" height="15" fill="rgb(233,201,37)" fg:x="798" fg:w="52"/><text x="68.8067%" y="159.50"><core..</text></g><g><title>core::iter::traits::iterator::Iterator::position (52 samples, 4.47%)</title><rect x="68.5567%" y="133" width="4.4674%" height="15" fill="rgb(221,78,26)" fg:x="798" fg:w="52"/><text x="68.8067%" y="143.50">core:..</text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (52 samples, 4.47%)</title><rect x="68.5567%" y="117" width="4.4674%" height="15" fill="rgb(250,127,30)" fg:x="798" fg:w="52"/><text x="68.8067%" y="127.50"><core..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (52 samples, 4.47%)</title><rect x="68.5567%" y="101" width="4.4674%" height="15" fill="rgb(230,49,44)" fg:x="798" fg:w="52"/><text x="68.8067%" y="111.50">core:..</text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (3 samples, 0.26%)</title><rect x="72.7663%" y="85" width="0.2577%" height="15" fill="rgb(229,67,23)" fg:x="847" fg:w="3"/><text x="73.0163%" y="95.50"></text></g><g><title>iri_string::parser::str::strip_ascii_char_prefix (5 samples, 0.43%)</title><rect x="73.0241%" y="181" width="0.4296%" height="15" fill="rgb(249,83,47)" fg:x="850" fg:w="5"/><text x="73.2741%" y="191.50"></text></g><g><title>core::str::traits::<impl core::ops::index::Index<I> for str>::index (1 samples, 0.09%)</title><rect x="73.3677%" y="165" width="0.0859%" height="15" fill="rgb(215,43,3)" fg:x="854" fg:w="1"/><text x="73.6177%" y="175.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::index (1 samples, 0.09%)</title><rect x="73.3677%" y="149" width="0.0859%" height="15" fill="rgb(238,154,13)" fg:x="854" fg:w="1"/><text x="73.6177%" y="159.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::get (1 samples, 0.09%)</title><rect x="73.3677%" y="133" width="0.0859%" height="15" fill="rgb(219,56,2)" fg:x="854" fg:w="1"/><text x="73.6177%" y="143.50"></text></g><g><title>core::str::<impl str>::is_char_boundary (1 samples, 0.09%)</title><rect x="73.3677%" y="117" width="0.0859%" height="15" fill="rgb(233,0,4)" fg:x="854" fg:w="1"/><text x="73.6177%" y="127.50"></text></g><g><title>core::slice::<impl [T]>::get (1 samples, 0.09%)</title><rect x="73.3677%" y="101" width="0.0859%" height="15" fill="rgb(235,30,7)" fg:x="854" fg:w="1"/><text x="73.6177%" y="111.50"></text></g><g><title><usize as core::slice::index::SliceIndex<[T]>>::get (1 samples, 0.09%)</title><rect x="73.3677%" y="85" width="0.0859%" height="15" fill="rgb(250,79,13)" fg:x="854" fg:w="1"/><text x="73.6177%" y="95.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::all (6 samples, 0.52%)</title><rect x="73.6254%" y="149" width="0.5155%" height="15" fill="rgb(211,146,34)" fg:x="857" fg:w="6"/><text x="73.8754%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all (6 samples, 0.52%)</title><rect x="73.6254%" y="133" width="0.5155%" height="15" fill="rgb(228,22,38)" fg:x="857" fg:w="6"/><text x="73.8754%" y="143.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (6 samples, 0.52%)</title><rect x="73.6254%" y="117" width="0.5155%" height="15" fill="rgb(235,168,5)" fg:x="857" fg:w="6"/><text x="73.8754%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (6 samples, 0.52%)</title><rect x="73.6254%" y="101" width="0.5155%" height="15" fill="rgb(221,155,16)" fg:x="857" fg:w="6"/><text x="73.8754%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (2 samples, 0.17%)</title><rect x="74.1409%" y="101" width="0.1718%" height="15" fill="rgb(215,215,53)" fg:x="863" fg:w="2"/><text x="74.3909%" y="111.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="74.2268%" y="85" width="0.0859%" height="15" fill="rgb(223,4,10)" fg:x="864" fg:w="1"/><text x="74.4768%" y="95.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="74.2268%" y="69" width="0.0859%" height="15" fill="rgb(234,103,6)" fg:x="864" fg:w="1"/><text x="74.4768%" y="79.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (11 samples, 0.95%)</title><rect x="73.4536%" y="165" width="0.9450%" height="15" fill="rgb(227,97,0)" fg:x="855" fg:w="11"/><text x="73.7036%" y="175.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (3 samples, 0.26%)</title><rect x="74.1409%" y="149" width="0.2577%" height="15" fill="rgb(234,150,53)" fg:x="863" fg:w="3"/><text x="74.3909%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (3 samples, 0.26%)</title><rect x="74.1409%" y="133" width="0.2577%" height="15" fill="rgb(228,201,54)" fg:x="863" fg:w="3"/><text x="74.3909%" y="143.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (3 samples, 0.26%)</title><rect x="74.1409%" y="117" width="0.2577%" height="15" fill="rgb(222,22,37)" fg:x="863" fg:w="3"/><text x="74.3909%" y="127.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (1 samples, 0.09%)</title><rect x="74.3127%" y="101" width="0.0859%" height="15" fill="rgb(237,53,32)" fg:x="865" fg:w="1"/><text x="74.5627%" y="111.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (3 samples, 0.26%)</title><rect x="74.8282%" y="133" width="0.2577%" height="15" fill="rgb(233,25,53)" fg:x="871" fg:w="3"/><text x="75.0782%" y="143.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (3 samples, 0.26%)</title><rect x="74.8282%" y="117" width="0.2577%" height="15" fill="rgb(210,40,34)" fg:x="871" fg:w="3"/><text x="75.0782%" y="127.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (3 samples, 0.26%)</title><rect x="74.8282%" y="101" width="0.2577%" height="15" fill="rgb(241,220,44)" fg:x="871" fg:w="3"/><text x="75.0782%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (3 samples, 0.26%)</title><rect x="74.8282%" y="85" width="0.2577%" height="15" fill="rgb(235,28,35)" fg:x="871" fg:w="3"/><text x="75.0782%" y="95.50"></text></g><g><title>iri_string::parser::validate::authority::validate_authority (382 samples, 32.82%)</title><rect x="42.3540%" y="197" width="32.8179%" height="15" fill="rgb(210,56,17)" fg:x="493" fg:w="382"/><text x="42.6040%" y="207.50">iri_string::parser::validate::authority::validate_aut..</text></g><g><title>iri_string::parser::validate::authority::validate_userinfo (20 samples, 1.72%)</title><rect x="73.4536%" y="181" width="1.7182%" height="15" fill="rgb(224,130,29)" fg:x="855" fg:w="20"/><text x="73.7036%" y="191.50"></text></g><g><title>iri_string::parser::str::satisfy_chars_with_pct_encoded (9 samples, 0.77%)</title><rect x="74.3986%" y="165" width="0.7732%" height="15" fill="rgb(235,212,8)" fg:x="866" fg:w="9"/><text x="74.6486%" y="175.50"></text></g><g><title>iri_string::parser::str::find_split_hole (5 samples, 0.43%)</title><rect x="74.7423%" y="149" width="0.4296%" height="15" fill="rgb(223,33,50)" fg:x="870" fg:w="5"/><text x="74.9923%" y="159.50"></text></g><g><title>core::option::Option<T>::map (1 samples, 0.09%)</title><rect x="75.0859%" y="133" width="0.0859%" height="15" fill="rgb(219,149,13)" fg:x="874" fg:w="1"/><text x="75.3359%" y="143.50"></text></g><g><title>core::str::<impl str>::strip_prefix (19 samples, 1.63%)</title><rect x="75.2577%" y="181" width="1.6323%" height="15" fill="rgb(250,156,29)" fg:x="876" fg:w="19"/><text x="75.5077%" y="191.50"></text></g><g><title><char as core::str::pattern::Pattern>::strip_prefix_of (14 samples, 1.20%)</title><rect x="75.6873%" y="165" width="1.2027%" height="15" fill="rgb(216,193,19)" fg:x="881" fg:w="14"/><text x="75.9373%" y="175.50"></text></g><g><title><&str as core::str::pattern::Pattern>::strip_prefix_of (14 samples, 1.20%)</title><rect x="75.6873%" y="149" width="1.2027%" height="15" fill="rgb(216,135,14)" fg:x="881" fg:w="14"/><text x="75.9373%" y="159.50"></text></g><g><title><&str as core::str::pattern::Pattern>::is_prefix_of (14 samples, 1.20%)</title><rect x="75.6873%" y="133" width="1.2027%" height="15" fill="rgb(241,47,5)" fg:x="881" fg:w="14"/><text x="75.9373%" y="143.50"></text></g><g><title>core::slice::<impl [T]>::starts_with (14 samples, 1.20%)</title><rect x="75.6873%" y="117" width="1.2027%" height="15" fill="rgb(233,42,35)" fg:x="881" fg:w="14"/><text x="75.9373%" y="127.50"></text></g><g><title>core::cmp::impls::<impl core::cmp::PartialEq<&B> for &A>::eq (13 samples, 1.12%)</title><rect x="75.7732%" y="101" width="1.1168%" height="15" fill="rgb(231,13,6)" fg:x="882" fg:w="13"/><text x="76.0232%" y="111.50"></text></g><g><title>core::slice::cmp::<impl core::cmp::PartialEq<[B]> for [A]>::eq (13 samples, 1.12%)</title><rect x="75.7732%" y="85" width="1.1168%" height="15" fill="rgb(207,181,40)" fg:x="882" fg:w="13"/><text x="76.0232%" y="95.50"></text></g><g><title><[A] as core::slice::cmp::SlicePartialEq<B>>::equal (13 samples, 1.12%)</title><rect x="75.7732%" y="69" width="1.1168%" height="15" fill="rgb(254,173,49)" fg:x="882" fg:w="13"/><text x="76.0232%" y="79.50"></text></g><g><title>__memcmp_avx2_movbe (8 samples, 0.69%)</title><rect x="76.2027%" y="53" width="0.6873%" height="15" fill="rgb(221,1,38)" fg:x="887" fg:w="8"/><text x="76.4527%" y="63.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.09%)</title><rect x="81.2715%" y="101" width="0.0859%" height="15" fill="rgb(206,124,46)" fg:x="946" fg:w="1"/><text x="81.5215%" y="111.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::all (46 samples, 3.95%)</title><rect x="77.5773%" y="165" width="3.9519%" height="15" fill="rgb(249,21,11)" fg:x="903" fg:w="46"/><text x="77.8273%" y="175.50"><cor..</text></g><g><title>core::iter::traits::iterator::Iterator::all (46 samples, 3.95%)</title><rect x="77.5773%" y="149" width="3.9519%" height="15" fill="rgb(222,201,40)" fg:x="903" fg:w="46"/><text x="77.8273%" y="159.50">core..</text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (46 samples, 3.95%)</title><rect x="77.5773%" y="133" width="3.9519%" height="15" fill="rgb(235,61,29)" fg:x="903" fg:w="46"/><text x="77.8273%" y="143.50"><cor..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (46 samples, 3.95%)</title><rect x="77.5773%" y="117" width="3.9519%" height="15" fill="rgb(219,207,3)" fg:x="903" fg:w="46"/><text x="77.8273%" y="127.50">core..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (2 samples, 0.17%)</title><rect x="81.3574%" y="101" width="0.1718%" height="15" fill="rgb(222,56,46)" fg:x="947" fg:w="2"/><text x="81.6074%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all::check::{{closure}} (2 samples, 0.17%)</title><rect x="81.3574%" y="85" width="0.1718%" height="15" fill="rgb(239,76,54)" fg:x="947" fg:w="2"/><text x="81.6074%" y="95.50"></text></g><g><title>core::ops::function::FnMut::call_mut (2 samples, 0.17%)</title><rect x="81.3574%" y="69" width="0.1718%" height="15" fill="rgb(231,124,27)" fg:x="947" fg:w="2"/><text x="81.6074%" y="79.50"></text></g><g><title>iri_string::parser::char::is_ascii_pchar_slash (2 samples, 0.17%)</title><rect x="81.3574%" y="53" width="0.1718%" height="15" fill="rgb(249,195,6)" fg:x="947" fg:w="2"/><text x="81.6074%" y="63.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.34%)</title><rect x="83.9347%" y="101" width="0.3436%" height="15" fill="rgb(237,174,47)" fg:x="977" fg:w="4"/><text x="84.1847%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (42 samples, 3.61%)</title><rect x="81.5292%" y="117" width="3.6082%" height="15" fill="rgb(206,201,31)" fg:x="949" fg:w="42"/><text x="81.7792%" y="127.50">core..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (10 samples, 0.86%)</title><rect x="84.2784%" y="101" width="0.8591%" height="15" fill="rgb(231,57,52)" fg:x="981" fg:w="10"/><text x="84.5284%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (10 samples, 0.86%)</title><rect x="84.2784%" y="85" width="0.8591%" height="15" fill="rgb(248,177,22)" fg:x="981" fg:w="10"/><text x="84.5284%" y="95.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (49 samples, 4.21%)</title><rect x="81.5292%" y="165" width="4.2096%" height="15" fill="rgb(215,211,37)" fg:x="949" fg:w="49"/><text x="81.7792%" y="175.50"><core..</text></g><g><title>core::iter::traits::iterator::Iterator::position (49 samples, 4.21%)</title><rect x="81.5292%" y="149" width="4.2096%" height="15" fill="rgb(241,128,51)" fg:x="949" fg:w="49"/><text x="81.7792%" y="159.50">core:..</text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (49 samples, 4.21%)</title><rect x="81.5292%" y="133" width="4.2096%" height="15" fill="rgb(227,165,31)" fg:x="949" fg:w="49"/><text x="81.7792%" y="143.50"><core..</text></g><g><title>iri_string::parser::str::satisfy_chars (7 samples, 0.60%)</title><rect x="85.1375%" y="117" width="0.6014%" height="15" fill="rgb(228,167,24)" fg:x="991" fg:w="7"/><text x="85.3875%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all (25 samples, 2.15%)</title><rect x="85.7388%" y="165" width="2.1478%" height="15" fill="rgb(228,143,12)" fg:x="998" fg:w="25"/><text x="85.9888%" y="175.50">c..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (25 samples, 2.15%)</title><rect x="85.7388%" y="149" width="2.1478%" height="15" fill="rgb(249,149,8)" fg:x="998" fg:w="25"/><text x="85.9888%" y="159.50">c..</text></g><g><title>core::iter::traits::iterator::Iterator::all::check::{{closure}} (16 samples, 1.37%)</title><rect x="86.5120%" y="133" width="1.3746%" height="15" fill="rgb(243,35,44)" fg:x="1007" fg:w="16"/><text x="86.7620%" y="143.50"></text></g><g><title>core::ops::function::FnMut::call_mut (16 samples, 1.37%)</title><rect x="86.5120%" y="117" width="1.3746%" height="15" fill="rgb(246,89,9)" fg:x="1007" fg:w="16"/><text x="86.7620%" y="127.50"></text></g><g><title><iri_string::spec::IriSpec as iri_string::spec::internal::SpecInternal>::is_nonascii_char_unreserved (16 samples, 1.37%)</title><rect x="86.5120%" y="101" width="1.3746%" height="15" fill="rgb(233,213,13)" fg:x="1007" fg:w="16"/><text x="86.7620%" y="111.50"></text></g><g><title>iri_string::parser::char::is_ucschar (16 samples, 1.37%)</title><rect x="86.5120%" y="85" width="1.3746%" height="15" fill="rgb(233,141,41)" fg:x="1007" fg:w="16"/><text x="86.7620%" y="95.50"></text></g><g><title>core::str::<impl str>::get_unchecked (1 samples, 0.09%)</title><rect x="87.9725%" y="149" width="0.0859%" height="15" fill="rgb(239,167,4)" fg:x="1024" fg:w="1"/><text x="88.2225%" y="159.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::Range<usize>>::get_unchecked (1 samples, 0.09%)</title><rect x="87.9725%" y="133" width="0.0859%" height="15" fill="rgb(209,217,16)" fg:x="1024" fg:w="1"/><text x="88.2225%" y="143.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (135 samples, 11.60%)</title><rect x="76.8900%" y="181" width="11.5979%" height="15" fill="rgb(219,88,35)" fg:x="895" fg:w="135"/><text x="77.1400%" y="191.50">iri_string::parse..</text></g><g><title>core::str::<impl str>::split_at (7 samples, 0.60%)</title><rect x="87.8866%" y="165" width="0.6014%" height="15" fill="rgb(220,193,23)" fg:x="1023" fg:w="7"/><text x="88.1366%" y="175.50"></text></g><g><title>core::str::<impl str>::is_char_boundary (5 samples, 0.43%)</title><rect x="88.0584%" y="149" width="0.4296%" height="15" fill="rgb(230,90,52)" fg:x="1025" fg:w="5"/><text x="88.3084%" y="159.50"></text></g><g><title>core::str::traits::<impl core::ops::index::Index<I> for str>::index (1 samples, 0.09%)</title><rect x="89.8625%" y="165" width="0.0859%" height="15" fill="rgb(252,106,19)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="175.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::index (1 samples, 0.09%)</title><rect x="89.8625%" y="149" width="0.0859%" height="15" fill="rgb(206,74,20)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="159.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::get (1 samples, 0.09%)</title><rect x="89.8625%" y="133" width="0.0859%" height="15" fill="rgb(230,138,44)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="143.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::get_unchecked (1 samples, 0.09%)</title><rect x="89.8625%" y="117" width="0.0859%" height="15" fill="rgb(235,182,43)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="127.50"></text></g><g><title>core::ptr::const_ptr::<impl *const T>::add (1 samples, 0.09%)</title><rect x="89.8625%" y="101" width="0.0859%" height="15" fill="rgb(242,16,51)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="111.50"></text></g><g><title>core::ptr::const_ptr::<impl *const T>::offset (1 samples, 0.09%)</title><rect x="89.8625%" y="85" width="0.0859%" height="15" fill="rgb(248,9,4)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="95.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.09%)</title><rect x="94.7595%" y="85" width="0.0859%" height="15" fill="rgb(210,31,22)" fg:x="1103" fg:w="1"/><text x="95.0095%" y="95.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (44 samples, 3.78%)</title><rect x="91.1512%" y="149" width="3.7801%" height="15" fill="rgb(239,54,39)" fg:x="1061" fg:w="44"/><text x="91.4012%" y="159.50"><cor..</text></g><g><title>core::iter::traits::iterator::Iterator::position (44 samples, 3.78%)</title><rect x="91.1512%" y="133" width="3.7801%" height="15" fill="rgb(230,99,41)" fg:x="1061" fg:w="44"/><text x="91.4012%" y="143.50">core..</text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (44 samples, 3.78%)</title><rect x="91.1512%" y="117" width="3.7801%" height="15" fill="rgb(253,106,12)" fg:x="1061" fg:w="44"/><text x="91.4012%" y="127.50"><cor..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (44 samples, 3.78%)</title><rect x="91.1512%" y="101" width="3.7801%" height="15" fill="rgb(213,46,41)" fg:x="1061" fg:w="44"/><text x="91.4012%" y="111.50">core..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="94.8454%" y="85" width="0.0859%" height="15" fill="rgb(215,133,35)" fg:x="1104" fg:w="1"/><text x="95.0954%" y="95.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="94.8454%" y="69" width="0.0859%" height="15" fill="rgb(213,28,5)" fg:x="1104" fg:w="1"/><text x="95.0954%" y="79.50"></text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (1 samples, 0.09%)</title><rect x="94.8454%" y="53" width="0.0859%" height="15" fill="rgb(215,77,49)" fg:x="1104" fg:w="1"/><text x="95.0954%" y="63.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::index (5 samples, 0.43%)</title><rect x="95.1890%" y="101" width="0.4296%" height="15" fill="rgb(248,100,22)" fg:x="1108" fg:w="5"/><text x="95.4390%" y="111.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::get (5 samples, 0.43%)</title><rect x="95.1890%" y="85" width="0.4296%" height="15" fill="rgb(208,67,9)" fg:x="1108" fg:w="5"/><text x="95.4390%" y="95.50"></text></g><g><title>core::str::<impl str>::is_char_boundary (2 samples, 0.17%)</title><rect x="95.4467%" y="69" width="0.1718%" height="15" fill="rgb(219,133,21)" fg:x="1111" fg:w="2"/><text x="95.6967%" y="79.50"></text></g><g><title>iri_string::parser::str::find_split_hole (78 samples, 6.70%)</title><rect x="89.9485%" y="165" width="6.7010%" height="15" fill="rgb(246,46,29)" fg:x="1047" fg:w="78"/><text x="90.1985%" y="175.50">iri_strin..</text></g><g><title>core::option::Option<T>::map (20 samples, 1.72%)</title><rect x="94.9313%" y="149" width="1.7182%" height="15" fill="rgb(246,185,52)" fg:x="1105" fg:w="20"/><text x="95.1813%" y="159.50"></text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (17 samples, 1.46%)</title><rect x="95.1890%" y="133" width="1.4605%" height="15" fill="rgb(252,136,11)" fg:x="1108" fg:w="17"/><text x="95.4390%" y="143.50"></text></g><g><title>core::str::traits::<impl core::ops::index::Index<I> for str>::index (17 samples, 1.46%)</title><rect x="95.1890%" y="117" width="1.4605%" height="15" fill="rgb(219,138,53)" fg:x="1108" fg:w="17"/><text x="95.4390%" y="127.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeTo<usize>>::index (12 samples, 1.03%)</title><rect x="95.6186%" y="101" width="1.0309%" height="15" fill="rgb(211,51,23)" fg:x="1113" fg:w="12"/><text x="95.8686%" y="111.50"></text></g><g><title>core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeTo<usize>>::get (12 samples, 1.03%)</title><rect x="95.6186%" y="85" width="1.0309%" height="15" fill="rgb(247,221,28)" fg:x="1113" fg:w="12"/><text x="95.8686%" y="95.50"></text></g><g><title>core::str::<impl str>::is_char_boundary (7 samples, 0.60%)</title><rect x="96.0481%" y="69" width="0.6014%" height="15" fill="rgb(251,222,45)" fg:x="1118" fg:w="7"/><text x="96.2981%" y="79.50"></text></g><g><title>core::slice::<impl [T]>::get (2 samples, 0.17%)</title><rect x="96.4777%" y="53" width="0.1718%" height="15" fill="rgb(217,162,53)" fg:x="1123" fg:w="2"/><text x="96.7277%" y="63.50"></text></g><g><title><usize as core::slice::index::SliceIndex<[T]>>::get (2 samples, 0.17%)</title><rect x="96.4777%" y="37" width="0.1718%" height="15" fill="rgb(229,93,14)" fg:x="1123" fg:w="2"/><text x="96.7277%" y="47.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.17%)</title><rect x="97.5086%" y="85" width="0.1718%" height="15" fill="rgb(209,67,49)" fg:x="1135" fg:w="2"/><text x="97.7586%" y="95.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::all (10 samples, 0.86%)</title><rect x="96.9931%" y="149" width="0.8591%" height="15" fill="rgb(213,87,29)" fg:x="1129" fg:w="10"/><text x="97.2431%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all (10 samples, 0.86%)</title><rect x="96.9931%" y="133" width="0.8591%" height="15" fill="rgb(205,151,52)" fg:x="1129" fg:w="10"/><text x="97.2431%" y="143.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (10 samples, 0.86%)</title><rect x="96.9931%" y="117" width="0.8591%" height="15" fill="rgb(253,215,39)" fg:x="1129" fg:w="10"/><text x="97.2431%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (10 samples, 0.86%)</title><rect x="96.9931%" y="101" width="0.8591%" height="15" fill="rgb(221,220,41)" fg:x="1129" fg:w="10"/><text x="97.2431%" y="111.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (2 samples, 0.17%)</title><rect x="97.6804%" y="85" width="0.1718%" height="15" fill="rgb(218,133,21)" fg:x="1137" fg:w="2"/><text x="97.9304%" y="95.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all::check::{{closure}} (2 samples, 0.17%)</title><rect x="97.6804%" y="69" width="0.1718%" height="15" fill="rgb(221,193,43)" fg:x="1137" fg:w="2"/><text x="97.9304%" y="79.50"></text></g><g><title>core::ops::function::FnMut::call_mut (2 samples, 0.17%)</title><rect x="97.6804%" y="53" width="0.1718%" height="15" fill="rgb(240,128,52)" fg:x="1137" fg:w="2"/><text x="97.9304%" y="63.50"></text></g><g><title>iri_string::parser::char::is_ascii_pchar_slash (2 samples, 0.17%)</title><rect x="97.6804%" y="37" width="0.1718%" height="15" fill="rgb(253,114,12)" fg:x="1137" fg:w="2"/><text x="97.9304%" y="47.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (16 samples, 1.37%)</title><rect x="96.6495%" y="165" width="1.3746%" height="15" fill="rgb(215,223,47)" fg:x="1125" fg:w="16"/><text x="96.8995%" y="175.50"></text></g><g><title><core::str::iter::Bytes as core::iter::traits::iterator::Iterator>::position (2 samples, 0.17%)</title><rect x="97.8522%" y="149" width="0.1718%" height="15" fill="rgb(248,225,23)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (2 samples, 0.17%)</title><rect x="97.8522%" y="133" width="0.1718%" height="15" fill="rgb(250,108,0)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="143.50"></text></g><g><title><core::iter::adapters::copied::Copied<I> as core::iter::traits::iterator::Iterator>::try_fold (2 samples, 0.17%)</title><rect x="97.8522%" y="117" width="0.1718%" height="15" fill="rgb(228,208,7)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (2 samples, 0.17%)</title><rect x="97.8522%" y="101" width="0.1718%" height="15" fill="rgb(244,45,10)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="111.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (2 samples, 0.17%)</title><rect x="97.8522%" y="85" width="0.1718%" height="15" fill="rgb(207,125,25)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="95.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (2 samples, 0.17%)</title><rect x="97.8522%" y="69" width="0.1718%" height="15" fill="rgb(210,195,18)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="79.50"></text></g><g><title>iri_string::parser::validate::validate_authority_path_abempty (754 samples, 64.78%)</title><rect x="33.8488%" y="213" width="64.7766%" height="15" fill="rgb(249,80,12)" fg:x="394" fg:w="754"/><text x="34.0988%" y="223.50">iri_string::parser::validate::validate_authority_path_abempty</text></g><g><title>iri_string::parser::validate::path::validate_path_abempty (273 samples, 23.45%)</title><rect x="75.1718%" y="197" width="23.4536%" height="15" fill="rgb(221,65,9)" fg:x="875" fg:w="273"/><text x="75.4218%" y="207.50">iri_string::parser::validate::path::v..</text></g><g><title>iri_string::parser::str::satisfy_chars_with_pct_encoded (118 samples, 10.14%)</title><rect x="88.4880%" y="181" width="10.1375%" height="15" fill="rgb(235,49,36)" fg:x="1030" fg:w="118"/><text x="88.7380%" y="191.50">iri_string::par..</text></g><g><title>iri_string::parser::str::starts_with_double_hexdigits (7 samples, 0.60%)</title><rect x="98.0241%" y="165" width="0.6014%" height="15" fill="rgb(225,32,20)" fg:x="1141" fg:w="7"/><text x="98.2741%" y="175.50"></text></g><g><title>core::num::<impl u8>::is_ascii_hexdigit (6 samples, 0.52%)</title><rect x="98.1100%" y="149" width="0.5155%" height="15" fill="rgb(215,141,46)" fg:x="1142" fg:w="6"/><text x="98.3600%" y="159.50"></text></g><g><title>__libc_start_main_impl (1,157 samples, 99.40%)</title><rect x="0.0859%" y="549" width="99.3986%" height="15" fill="rgb(250,160,47)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="559.50">__libc_start_main_impl</text></g><g><title>__libc_start_call_main (1,157 samples, 99.40%)</title><rect x="0.0859%" y="533" width="99.3986%" height="15" fill="rgb(216,222,40)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="543.50">__libc_start_call_main</text></g><g><title>main (1,157 samples, 99.40%)</title><rect x="0.0859%" y="517" width="99.3986%" height="15" fill="rgb(234,217,39)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="527.50">main</text></g><g><title>std::rt::lang_start_internal (1,157 samples, 99.40%)</title><rect x="0.0859%" y="501" width="99.3986%" height="15" fill="rgb(207,178,40)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="511.50">std::rt::lang_start_internal</text></g><g><title>std::panic::catch_unwind (1,157 samples, 99.40%)</title><rect x="0.0859%" y="485" width="99.3986%" height="15" fill="rgb(221,136,13)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="495.50">std::panic::catch_unwind</text></g><g><title>std::panicking::try (1,157 samples, 99.40%)</title><rect x="0.0859%" y="469" width="99.3986%" height="15" fill="rgb(249,199,10)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="479.50">std::panicking::try</text></g><g><title>std::panicking::try::do_call (1,157 samples, 99.40%)</title><rect x="0.0859%" y="453" width="99.3986%" height="15" fill="rgb(249,222,13)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="463.50">std::panicking::try::do_call</text></g><g><title>std::rt::lang_start_internal::{{closure}} (1,157 samples, 99.40%)</title><rect x="0.0859%" y="437" width="99.3986%" height="15" fill="rgb(244,185,38)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="447.50">std::rt::lang_start_internal::{{closure}}</text></g><g><title>std::panic::catch_unwind (1,157 samples, 99.40%)</title><rect x="0.0859%" y="421" width="99.3986%" height="15" fill="rgb(236,202,9)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="431.50">std::panic::catch_unwind</text></g><g><title>std::panicking::try (1,157 samples, 99.40%)</title><rect x="0.0859%" y="405" width="99.3986%" height="15" fill="rgb(250,229,37)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="415.50">std::panicking::try</text></g><g><title>std::panicking::try::do_call (1,157 samples, 99.40%)</title><rect x="0.0859%" y="389" width="99.3986%" height="15" fill="rgb(206,174,23)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="399.50">std::panicking::try::do_call</text></g><g><title>core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once (1,157 samples, 99.40%)</title><rect x="0.0859%" y="373" width="99.3986%" height="15" fill="rgb(211,33,43)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="383.50">core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once</text></g><g><title>std::rt::lang_start::{{closure}} (1,157 samples, 99.40%)</title><rect x="0.0859%" y="357" width="99.3986%" height="15" fill="rgb(245,58,50)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="367.50">std::rt::lang_start::{{closure}}</text></g><g><title>std::sys_common::backtrace::__rust_begin_short_backtrace (1,157 samples, 99.40%)</title><rect x="0.0859%" y="341" width="99.3986%" height="15" fill="rgb(244,68,36)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="351.50">std::sys_common::backtrace::__rust_begin_short_backtrace</text></g><g><title>core::ops::function::FnOnce::call_once (1,157 samples, 99.40%)</title><rect x="0.0859%" y="325" width="99.3986%" height="15" fill="rgb(232,229,15)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="335.50">core::ops::function::FnOnce::call_once</text></g><g><title>flame::main (1,157 samples, 99.40%)</title><rect x="0.0859%" y="309" width="99.3986%" height="15" fill="rgb(254,30,23)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="319.50">flame::main</text></g><g><title>iri_string::types::generic::reference::RiReferenceStr<S>::new (1,157 samples, 99.40%)</title><rect x="0.0859%" y="293" width="99.3986%" height="15" fill="rgb(235,160,14)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="303.50">iri_string::types::generic::reference::RiReferenceStr<S>::new</text></g><g><title><&iri_string::types::generic::reference::RiReferenceStr<S> as core::convert::TryFrom<&str>>::try_from (1,157 samples, 99.40%)</title><rect x="0.0859%" y="277" width="99.3986%" height="15" fill="rgb(212,155,44)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="287.50"><&iri_string::types::generic::reference::RiReferenceStr<S> as core::convert::TryFrom<&str>>::try_from</text></g><g><title>iri_string::validate::iri_reference (1,156 samples, 99.31%)</title><rect x="0.1718%" y="261" width="99.3127%" height="15" fill="rgb(226,2,50)" fg:x="2" fg:w="1156"/><text x="0.4218%" y="271.50">iri_string::validate::iri_reference</text></g><g><title>iri_string::parser::validate::validate_uri_reference (1,156 samples, 99.31%)</title><rect x="0.1718%" y="245" width="99.3127%" height="15" fill="rgb(234,177,6)" fg:x="2" fg:w="1156"/><text x="0.4218%" y="255.50">iri_string::parser::validate::validate_uri_reference</text></g><g><title>iri_string::parser::validate::validate_uri_reference_common (1,155 samples, 99.23%)</title><rect x="0.2577%" y="229" width="99.2268%" height="15" fill="rgb(217,24,9)" fg:x="3" fg:w="1155"/><text x="0.5077%" y="239.50">iri_string::parser::validate::validate_uri_reference_common</text></g><g><title>iri_string::parser::validate::validate_scheme (10 samples, 0.86%)</title><rect x="98.6254%" y="213" width="0.8591%" height="15" fill="rgb(220,13,46)" fg:x="1148" fg:w="10"/><text x="98.8754%" y="223.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::all (4 samples, 0.34%)</title><rect x="99.1409%" y="197" width="0.3436%" height="15" fill="rgb(239,221,27)" fg:x="1154" fg:w="4"/><text x="99.3909%" y="207.50"></text></g><g><title><core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.17%)</title><rect x="99.3127%" y="181" width="0.1718%" height="15" fill="rgb(222,198,25)" fg:x="1156" fg:w="2"/><text x="99.5627%" y="191.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.4845%" y="533" width="0.0859%" height="15" fill="rgb(211,99,13)" fg:x="1158" fg:w="1"/><text x="99.7345%" y="543.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.4845%" y="517" width="0.0859%" height="15" fill="rgb(232,111,31)" fg:x="1158" fg:w="1"/><text x="99.7345%" y="527.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.4845%" y="501" width="0.0859%" height="15" fill="rgb(245,82,37)" fg:x="1158" fg:w="1"/><text x="99.7345%" y="511.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.4845%" y="485" width="0.0859%" height="15" fill="rgb(227,149,46)" fg:x="1158" fg:w="1"/><text x="99.7345%" y="495.50"></text></g><g><title>__GI___tunables_init (1 samples, 0.09%)</title><rect x="99.5704%" y="501" width="0.0859%" height="15" fill="rgb(218,36,50)" fg:x="1159" fg:w="1"/><text x="99.8204%" y="511.50"></text></g><g><title>_dl_start_final (2 samples, 0.17%)</title><rect x="99.5704%" y="533" width="0.1718%" height="15" fill="rgb(226,80,48)" fg:x="1159" fg:w="2"/><text x="99.8204%" y="543.50"></text></g><g><title>_dl_sysdep_start (2 samples, 0.17%)</title><rect x="99.5704%" y="517" width="0.1718%" height="15" fill="rgb(238,224,15)" fg:x="1159" fg:w="2"/><text x="99.8204%" y="527.50"></text></g><g><title>dl_main (1 samples, 0.09%)</title><rect x="99.6564%" y="501" width="0.0859%" height="15" fill="rgb(241,136,10)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="511.50"></text></g><g><title>__access (1 samples, 0.09%)</title><rect x="99.6564%" y="485" width="0.0859%" height="15" fill="rgb(208,32,45)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="495.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.6564%" y="469" width="0.0859%" height="15" fill="rgb(207,135,9)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="479.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.6564%" y="453" width="0.0859%" height="15" fill="rgb(206,86,44)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="463.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.6564%" y="437" width="0.0859%" height="15" fill="rgb(245,177,15)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="447.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.6564%" y="421" width="0.0859%" height="15" fill="rgb(206,64,50)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="431.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.6564%" y="405" width="0.0859%" height="15" fill="rgb(234,36,40)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="415.50"></text></g><g><title>elf_get_dynamic_info (1 samples, 0.09%)</title><rect x="99.7423%" y="533" width="0.0859%" height="15" fill="rgb(213,64,8)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="543.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="517" width="0.0859%" height="15" fill="rgb(210,75,36)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="527.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="501" width="0.0859%" height="15" fill="rgb(229,88,21)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="511.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="485" width="0.0859%" height="15" fill="rgb(252,204,47)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="495.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="469" width="0.0859%" height="15" fill="rgb(208,77,27)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="479.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="453" width="0.0859%" height="15" fill="rgb(221,76,26)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="463.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="437" width="0.0859%" height="15" fill="rgb(225,139,18)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="447.50"></text></g><g><title>elf_machine_load_address (1 samples, 0.09%)</title><rect x="99.8282%" y="533" width="0.0859%" height="15" fill="rgb(230,137,11)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="543.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="517" width="0.0859%" height="15" fill="rgb(212,28,1)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="527.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="501" width="0.0859%" height="15" fill="rgb(248,164,17)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="511.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="485" width="0.0859%" height="15" fill="rgb(222,171,42)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="495.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="469" width="0.0859%" height="15" fill="rgb(243,84,45)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="479.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="453" width="0.0859%" height="15" fill="rgb(252,49,23)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="463.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="437" width="0.0859%" height="15" fill="rgb(215,19,7)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="447.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="421" width="0.0859%" height="15" fill="rgb(238,81,41)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="431.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="405" width="0.0859%" height="15" fill="rgb(210,199,37)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="415.50"></text></g><g><title>all (1,164 samples, 100%)</title><rect x="0.0000%" y="597" width="100.0000%" height="15" fill="rgb(244,192,49)" fg:x="0" fg:w="1164"/><text x="0.2500%" y="607.50"></text></g><g><title>flame (1,164 samples, 100.00%)</title><rect x="0.0000%" y="581" width="100.0000%" height="15" fill="rgb(226,211,11)" fg:x="0" fg:w="1164"/><text x="0.2500%" y="591.50">flame</text></g><g><title>_start (1,164 samples, 100.00%)</title><rect x="0.0000%" y="565" width="100.0000%" height="15" fill="rgb(236,162,54)" fg:x="0" fg:w="1164"/><text x="0.2500%" y="575.50">_start</text></g><g><title>_dl_start (6 samples, 0.52%)</title><rect x="99.4845%" y="549" width="0.5155%" height="15" fill="rgb(220,229,9)" fg:x="1158" fg:w="6"/><text x="99.7345%" y="559.50"></text></g><g><title>rtld_timer_start (1 samples, 0.09%)</title><rect x="99.9141%" y="533" width="0.0859%" height="15" fill="rgb(250,87,22)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="543.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="517" width="0.0859%" height="15" fill="rgb(239,43,17)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="527.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="501" width="0.0859%" height="15" fill="rgb(231,177,25)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="511.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="485" width="0.0859%" height="15" fill="rgb(219,179,1)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="495.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="469" width="0.0859%" height="15" fill="rgb(238,219,53)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="479.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="453" width="0.0859%" height="15" fill="rgb(232,167,36)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="463.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="437" width="0.0859%" height="15" fill="rgb(244,19,51)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="447.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="421" width="0.0859%" height="15" fill="rgb(224,6,22)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="431.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="405" width="0.0859%" height="15" fill="rgb(224,145,5)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="415.50"></text></g></svg></svg> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment