function openHelpWindow(inHandler, inLanguage, inType, inID, inPermGroup) { var type = inType; if(type.length == 0) { type = 'page'; } var url = '/help/index_destination_HelpMain.html' + inHandler + ':' + type + ':' + inLanguage + ':' + inID + '&permgroup=' + inPermGroup; helpWindow = window.open(url, inHandler + 'help', 'left=20,top=20,height=560,width=780,toolbar=0,location=no,menubar=0,status=0,scrollbars=0,resizable=1'); helpWindow.focus(); } // ------------- var pickerElementID; var pickerChangeAction; function openPicker(inURL, inElementID, inChangeAction) { pickerElementID = inElementID; pickerChangeAction = inChangeAction; open(inURL, 'picker', 'width=440,height=440,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no'); } function getPickerElement() { if(pickerElementID) { var element = document.getElementById(pickerElementID); if(element) { return element.value; } } return null; } function updatePickerElement(inValue, inHTML) { if(pickerElementID) { var fireChange = false; var element = document.getElementById(pickerElementID); if(element) { element.value = inValue; } var elementHTML = document.getElementById(pickerElementID + "_html"); if(elementHTML) { elementHTML.innerHTML = inHTML; } if(pickerChangeAction) { eval(pickerChangeAction); } } pickerElementID = null; } // ------------- var colorElementID; function openColorPicker(inElementID) { colorElementID = inElementID; var url = "/server/colorpicker/picker.html"; open(url, 'picker', 'width=300,height=300,menubar=no,resizable=yes,scrollbars=no,status=no,toolbar=no'); } function getColor() { var colorElement = getColorPicker(); if(colorElement) { return colorElement.value; } return "ffffff"; } function setColor(inColor) { var colorElement = getColorPicker(); if(colorElement) { colorElement.value = inColor; updateColorPicker(colorElementID); } self.focus(); } function getColorPicker() { if(colorElementID) { return document.getElementById(colorElementID); } return null; } function updateColorPicker(inElementID) { var colorElement = document.getElementById(inElementID); if(colorElement) { var color = "ffffff"; var defaultColorElement = document.getElementById(inElementID + "_default"); var swatchElement = document.getElementById(inElementID + "_swatch"); if(swatchElement) { if(colorElement.value.length == 6) { color = colorElement.value; } else if(defaultColorElement.value.length == 6) { color = defaultColorElment.value; } swatchElement.style.backgroundColor = color; } var footnote = document.getElementById(inElementID + "_footnote"); if(footnote) { var recommendedColorElement = document.getElementById(inElementID + "_footnote"); if(recommendedColorElement.value == color) { footnote.style.visibility = "hidden" } else { footnote.style.visibility = "visible" } } } } // ------------- var dateElementID; function openDatePicker(inElementID, inLocale) { dateElementID = inElementID; var url = "/server/calendar/calendar.html"; if(inLocale) { url += "?locale=" + inLocale; } open(url, 'picker', 'width=220,height=220,menubar=no,resizable=yes,scrollbars=no,status=no,toolbar=no'); } function getDatePicker() { if(dateElementID) { return document.getElementById(dateElementID); } return null; } function setDatePicker(inYear, inMonth, inDay) { var dateElement = getDatePicker(); if(dateElement) { var hourElement = document.getElementById(dateElement.id + "_hour"); var minuteElement = document.getElementById(dateElement.id + "_min"); var hour = 0; var minute = 0; if(hourElement) { hour = parseInt(hourElement.value); minute = parseInt(minuteElement.value); } dateElement.value = "" + inYear + "-" + inMonth + "-" + inDay + "-" + hour + "-" + minute; updateDateControls(dateElementID); } self.focus(); } function updateDatePicker(inElementID) { var dateElement = document.getElementById(inElementID); if(dateElement) { var yearElement = document.getElementById(inElementID + "_year"); var monthElement = document.getElementById(inElementID + "_month"); var dayElement = document.getElementById(inElementID + "_day"); var hourElement = document.getElementById(inElementID + "_hour"); var minuteElement = document.getElementById(inElementID + "_min"); var year = parseInt(yearElement.value); var month = parseInt(monthElement.value); var day = parseInt(dayElement.value); var hour = 0; var minute = 0; if(hourElement) { hour = parseInt(hourElement.value); minute = parseInt(minuteElement.value); } dateElement.value = year + "-" + month + "-" + day + "-" + hour + "-" + minute; updateDateControls(inElementID); } } function updateDateControls(inElementID) { var dateElement = document.getElementById(inElementID); var yearElement = document.getElementById(inElementID + "_year"); var monthElement = document.getElementById(inElementID + "_month"); var dayElement = document.getElementById(inElementID + "_day"); var hourElement = document.getElementById(inElementID + "_hour"); var minuteElement = document.getElementById(inElementID + "_min"); var parts = dateElement.value.split("-"); var year = parseInt(parts[0]); var month = parseInt(parts[1]); var day = parseInt(parts[2]); var hour = 0; var minute = 0; if(parts.length > 3) { hour = parseInt(parts[3]); minute = parseInt(parts[4]); } var i; if(yearElement) { yearElement.value = year; } if(monthElement) { for(i = 0; i < monthElement.options.length; i++) { if(monthElement.options[i].value == month) { monthElement.options[i].selected = true; } else { monthElement.options[i].selected = false; } } var daysInMonth = new Date(year, month, 0).getDate(); if(day > daysInMonth) { day = daysInMonth; dateElement.value = year + "-" + month + "-" + day + "-" + hour + "-" + minute; } } if(dayElement) { var count = 0; for(i = 1; i <= 31; i++) { if(i <= daysInMonth) { var name = new String(i); dayElement.options[count] = new Option(name, name); if(i == day) { dayElement.options[count].selected = true; } count++; } else { dayElement.options[count] = null; } } } if(hourElement) { for(i = 0; i < hourElement.options.length; i++) { if(hourElement.options[i].value == hour) { hourElement.options[i].selected = true; } else { hourElement.options[i].selected = false; } } } if(minuteElement) { for(i = 0; i < minuteElement.options.length; i++) { if(minuteElement.options[i].value == minute) { minuteElement.options[i].selected = true; } else { minuteElement.options[i].selected = false; } } } } // ------------- function checkCookies() { var cookietest = getCookie("cookietest"); var cookies = false; if(cookietest) { cookies = cookietest == "ok"; } var detector = document.getElementById("cookiedetector"); if(!cookies) { detector.style.display = ""; } else { detector.style.display = "none"; } } // ------------- function checkCapsLock(e) { var myKeyCode = 0; var myShiftKey = false; var myCapsLock = false; if(document.all) // Internet Explorer { e = window.event; myKeyCode = e.keyCode; myShiftKey = e.shiftKey; } else if(document.layers) // Netscape 4 { myKeyCode = e.which; myShiftKey = (myKeyCode == 16) ? true : false; } else if(document.getElementById) // Netscape 6 { myKeyCode = e.which; myShiftKey = e.shiftKey || ( e.modifiers && ( e.modifiers & 4 ) ); } if((myKeyCode >= 65 && myKeyCode <= 90) && !myShiftKey) { myCapsLock = true; } else if((myKeyCode >= 97 && myKeyCode <= 122) && myShiftKey) { myCapsLock = true; } var detector = document.getElementById("capslockdetector"); if(myCapsLock) { detector.style.display = ""; } else { detector.style.display = "none"; } } // ------------- function displayElement(inId) { var element = document.getElementById(inId); if(element) { element.style.display = ''; } } // ------------- var trees = new Array(); function Tree(inName, inExpandedURL, inCollapsedURL, inStopRedraw) { this.name = inName; this.expandedURL = inExpandedURL; this.collapsedURL = inCollapsedURL; this.stopRedraw = inStopRedraw; } function addTree(inName, inExpandedURL, inCollapsedURL, inStopRedraw) { trees[trees.length] = new Tree(inName, inExpandedURL, inCollapsedURL, inStopRedraw); } function getTree(inName) { for(i = 0; i < trees.length; i++) { if(trees[i].name == inName) { return trees[i]; } } } function toggleTree(event, inToggle, inName, inToggleID, inID, isLarge) { var tree = getTree(inName); if(tree) { var element = document.getElementById(inToggleID); if(element) { if(element.style.display == 'none') { if(isLarge.indexOf("false") > -1) { element.style.display = ''; inToggle.src = tree.expandedURL; } toggle(inName, inID, true); if(isLarge.indexOf("false") == -1) { window.location.reload(); } } else { element.style.display = 'none'; inToggle.src = tree.collapsedURL; toggle(inName, inID, false) } } if(browser.ie) { window.ie.needs.help = true; } } } function toggleTreeTable(event, inToggle, inName, inID, parentNum, startNum, endNum, isLarge) { var tree = getTree(inName); if(tree) { var parentClassName = inName + parentNum; for(i = startNum; i <= endNum; i++) { var row = document.getElementById(inName + i); if(row) { if(row.className == parentClassName && !isLarge) { row.className = ''; row.style.display = ''; } else if(row.className == '') { row.className = parentClassName; row.style.display = 'none'; } } } if(inToggle) { var source = inToggle.src; if(source.substring(source.length - tree.collapsedURL.length) == tree.collapsedURL) { inToggle.src = tree.expandedURL; toggle(inName, inID, true); if(isLarge) { window.update(); } } else { inToggle.src = tree.collapsedURL; toggle(inName, inID, false); } cancelEvent(event); } } } function toggle(inName, inID, inExpanded) { var expanded = document.getElementById(inName + "_expanded"); if(expanded) { var expansions = expanded.value.split(","); // remove for(i = 0; i < expansions.length; i++) { if(expansions[i] == inID) { expansions[i] = null; break; } } // append if(inExpanded) { expansions[expansions.length] = inID; } // rewrite html element expanded.value = ''; for(i = 0; i < expansions.length; i++) { if(expansions[i]) { if(expanded.value.length > 0) { expanded.value += ','; } expanded.value += expansions[i]; } } // store in cookie var persistent = document.getElementById(inName + "_persistent"); if(persistent) { setCookie(persistent.value, expanded.value, 0, "/index.html"); } } } function setSort(inName, inValue) { var sort = document.getElementById(inName + "_sort"); if(sort) { sort.value = inValue; } } var selectGroups = new Array(); function SelectGroup(inName, inColor, isTree) { this.name = inName; this.color = inColor; this.selectors = new Array(); this.listeners = new Array(); this.singleListeners = new Array(); this.lastSelection = 0; this.lastState = false; this.positions = new Array(); this.positionAction = null; this.positionPrefix = null; this.isTree = isTree; } function Selector(inNumber, inID, inSelected) { this.number = inNumber; this.id = inID; this.selected = inSelected; } function addSelectGroup(inName, inColor, isTree) { var position = -1; for(i = 0; i < selectGroups.length; i++) { if(selectGroups[i].name == inName) { position = i; } } if(position < 0) { position = selectGroups.length; } selectGroups[position] = new SelectGroup(inName, inColor, isTree); } function getSelectGroup(inName) { for(i = 0; i < selectGroups.length; i++) { if(selectGroups[i].name == inName) { return selectGroups[i]; } } } function getSelectedIDs(inGroupName) { var selectGroup = getSelectGroup(inGroupName); var results = new Array(); if(selectGroup) { for(var i = 0; i < selectGroup.selectors.length; i++) { if(selectGroup.selectors[i].selected == true) { results[results.length] = selectGroup.selectors[i].id; } } } return results; } function addSelector(inName, inNumber, inID, inSelected) { if(inID) { var selectGroup = getSelectGroup(inName); if(selectGroup) { selectGroup.selectors[selectGroup.selectors.length] = new Selector(inNumber, inID, inSelected); } } } function addSelectListener(inName, inListener) { if(inListener) { var selectGroup = getSelectGroup(inName); if(selectGroup) { selectGroup.listeners[selectGroup.listeners.length] = inListener; } } } function addSingleSelectListener(inName, inListener) { if(inListener) { var selectGroup = getSelectGroup(inName); if(selectGroup) { selectGroup.singleListeners[selectGroup.singleListeners.length] = inListener; } } } function updateSelection(inName) { var selectGroup = getSelectGroup(inName); if(selectGroup) { var selectors = selectGroup.selectors; var hidden = document.getElementById(selectGroup.name + "selected"); var totalSelected = 0; hidden.value = ""; for(i = 0; i < selectors.length; i++) { if(selectors[i]) { var element = document.getElementById(selectGroup.name + selectors[i].number); if(element) { if(selectors[i].selected) { if(hidden.value.length > 0) { hidden.value += ","; } hidden.value += selectors[i].id; totalSelected++; element.style.backgroundColor = selectGroup.color; } else { element.style.backgroundColor = ''; } } } } var listener; var listeners = selectGroup.listeners; for(i = 0; i < listeners.length; i++) { listener = document.getElementById(listeners[i]); if(listener) { listener.disabled = (totalSelected < 1); } } listeners = selectGroup.singleListeners; for(i = 0; i < listeners.length; i++) { listener = document.getElementById(listeners[i]); if(listener) { listener.disabled = (totalSelected != 1); } } updatePositionMask(); } } function selectElement(inEvent, inName, inNumber) { if(inEvent.shiftKey || inEvent.ctrlKey || inEvent.altKey) { cancelEvent(inEvent); preventEvent(inEvent); selectMultiple(inEvent, inName, inNumber); } else { selectSingle(inEvent, inName, inNumber); } } function selectAllElements(inEvent, inName) { var selectGroup = getSelectGroup(inName); if(selectGroup) { for(i = 0; i < selectGroup.selectors.length; i++) { selectGroup.selectors[i].selected = true; } selectGroup.lastSelection = 0; selectGroup.lastState = false; } updateSelection(inName); } function selectSingle(inEvent, inName, inNumber) { var selectGroup = getSelectGroup(inName); if(selectGroup) { for(var i = 0; i < selectGroup.selectors.length; i++) { if(selectGroup.selectors[i].number == inNumber) { selectGroup.selectors[i].selected = true; selectGroup.lastSelection = inNumber; selectGroup.lastState = true; } else { selectGroup.selectors[i].selected = false; } } } updateSelection(inName); } function selectMultiple(inEvent, inName, inNumber) { var selectGroup = getSelectGroup(inName); if(selectGroup) { if(inEvent.ctrlKey || inEvent.altKey) { for(var i = 0; i < selectGroup.selectors.length; i++) { if(selectGroup.selectors[i].number == inNumber) { selectGroup.selectors[i].selected = !selectGroup.selectors[i].selected; selectGroup.lastState = selectGroup.selectors[i].selected; break; } } selectGroup.lastSelection = inNumber; } if(inEvent.shiftKey && selectGroup.lastSelection > 0) { var start = selectGroup.lastSelection; var end = inNumber; if(start > end) { start = inNumber; end = selectGroup.lastSelection; } for(var i = 0; i < selectGroup.selectors.length; i++) { if(selectGroup.selectors[i].number >= start && selectGroup.selectors[i].number <= end) { selectGroup.selectors[i].selected = selectGroup.lastState; } } } } updateSelection(inName); } var positionStartX; var positionStartY; var positionBegin = false; var positionGroup; var positionSource; var positionTarget; var positionType; function setPositionable(inName, inAction, inPrefix) { var selectGroup = getSelectGroup(inName); if(selectGroup) { selectGroup.positionAction = inAction; selectGroup.positionPrefix = inPrefix; } } function resetPositioning() { positionStartX = -1; positionStartY = -1; positionBegin = false; positionGroup = null; positionSource = null; positionTarget = null; positionType = null; document.getElementById("positionmask").style.display = 'none'; document.getElementById("positionarrow").style.display = 'none'; } function startPositioning(event, inName) { clearPositioning(); resetPositioning(); positionGroup = getSelectGroup(inName); if(positionGroup) { updatePositions(); positionSource = getPosition(event); } } function movePositioning(event) { if(positionBegin) { if(positionSource) { var position = getPosition(event); if(position) { positionTarget = position; var x = getX(event); var y = getY(event); if(positionGroup.isTree) { var topQuarter = position.top + (position.bottom - position.top) / 4; var bottomQuarter = position.top + (position.bottom - position.top) * 3 / 4; if(y < topQuarter) { positionType = "before"; } else if(y >= bottomQuarter) { positionType = "after"; } else { positionType = "in"; } } else { var middle = (position.top + position.bottom) / 2; if(y < middle) { positionType = "before"; } else { positionType = "after"; } } clearPositioning(); hilitePosition(positionType, position); } } else { resetPositioning(); } } else { if(positionSource) { if(Math.abs(getX(event) - positionStartX) > 1 || Math.abs(getY(event) - positionStartY) > 5) { positionBegin = true; document.getElementById("positionmask").style.display = ''; } } } } function endPositioning(event) { var action; if(positionGroup) { if(positionTarget && positionTarget != positionSource) { var reposition = document.getElementById(positionGroup.name + "reposition"); reposition.value = positionSource.id + " " + positionType + " " + positionTarget.id; action = positionGroup.positionAction; } } clearPositioning(); resetPositioning(); if(action) { eval(action); } } function hilitePosition(inType, inPosition) { var arrow = document.getElementById("positionarrow"); var hoffset = 11; var voffset = 5; arrow.style.display = ''; if(inPosition.node.nodeName == "TR") { for(var j = 0; j < inPosition.node.cells.length; j++) { if(inType == "before") { inPosition.node.cells[j].style.borderTopWidth = '2'; inPosition.node.cells[j].style.borderTopStyle = 'solid'; inPosition.node.cells[j].style.borderTopColor = positionGroup.color; arrow.style.left = inPosition.left - hoffset; arrow.style.top = inPosition.top - voffset; } else if(inType == "after") { inPosition.node.cells[j].style.borderBottomWidth = '2'; inPosition.node.cells[j].style.borderBottomStyle = 'solid'; inPosition.node.cells[j].style.borderBottomColor = positionGroup.color; arrow.style.left = inPosition.left - hoffset; arrow.style.top = inPosition.bottom - voffset; } } } else { if(inType == "before") { inPosition.node.style.borderTopWidth = '2'; inPosition.node.style.borderTopStyle = 'solid'; inPosition.node.style.borderTopColor = positionGroup.color; arrow.style.left = inPosition.left - hoffset; arrow.style.top = inPosition.top - voffset; } else if(inType == "after") { inPosition.node.style.borderBottomWidth = '2'; inPosition.node.style.borderBottomStyle = 'solid'; inPosition.node.style.borderBottomColor = positionGroup.color; arrow.style.left = inPosition.left - hoffset; arrow.style.top = inPosition.bottom - voffset; } else if(inType == "in") { inPosition.node.style.backgroundColor = positionGroup.color; arrow.style.left = inPosition.left - hoffset; arrow.style.top = ((inPosition.top + inPosition.bottom) / 2) - voffset; } } } function clearPositioning() { if(positionGroup) { var positions = positionGroup.positions; for(var i = 0; i < positions.length; i++) { if(positions[i].node.nodeName == "TR") { for(var j = 0; j < positions[i].node.cells.length; j++) { if(positions[i].node.cells[j].style) { positions[i].node.cells[j].style.borderTopWidth = ''; positions[i].node.cells[j].style.borderTopStyle = ''; positions[i].node.cells[j].style.borderTopColor = ''; positions[i].node.cells[j].style.borderBottomWidth = ''; positions[i].node.cells[j].style.borderBottomStyle = ''; positions[i].node.cells[j].style.borderBottomColor = ''; } } } else { if(positions[i].node.style) { positions[i].node.style.borderTopWidth = ''; positions[i].node.style.borderTopStyle = ''; positions[i].node.style.borderTopColor = ''; positions[i].node.style.borderBottomWidth = ''; positions[i].node.style.borderBottomStyle = ''; positions[i].node.style.borderBottomColor = ''; if(positionGroup.isTree) { positions[i].node.style.backgroundColor = ''; } } } } } } function Position(inNode, inID, inLeft, inTop) { this.node = inNode; this.id = inID; this.originalLeft = inLeft; this.originalTop = inTop; this.width = inNode.offsetWidth; this.height = inNode.offsetHeight; if(inNode.nodeName == "TR") { this.width = 0; for(var i = 0; i < inNode.cells.length; i++) { this.width += inNode.cells[i].offsetWidth; } this.height = inNode.cells[0].offsetHeight; } this.left = inLeft; this.top = inTop; this.right = inLeft + this.width; this.bottom = inTop + this.height; } function getPosition(event) { if(positionGroup) { var x = getX(event); var y = getY(event); var positions = positionGroup.positions; for(var i = 0; i < positions.length; i++) { if(x >= positions[i].left && x < positions[i].right && y >= positions[i].top && y < positions[i].bottom) { return positions[i]; } } } } function updatePositions() { if(positionGroup) { var prefix = positionGroup.positionPrefix; if(prefix) { positionGroup.positions = new Array(); var selectors = positionGroup.selectors; for(var i = 0; i < selectors.length; i++) { var positionNode = document.getElementById(prefix + selectors[i].number); if(positionNode) { var left = 0; var top = 0; var node = positionNode; while(node) { if(node.nodeName == "TR") { left += node.cells[0].offsetLeft; top += node.cells[0].offsetTop; } else { left += node.offsetLeft; top += node.offsetTop; } node = node.offsetParent; } positionGroup.positions[positionGroup.positions.length] = new Position(positionNode, selectors[i].id, left, top); } } } } } var lastX; var lastY; function getX(event) { if(browser.ie) { if(window.event) { lastX = window.event.x + document.body.scrollLeft; } } else { if(event) { lastX = event.pageX; } } return lastX; } function getY(event) { if(browser.ie) { if(window.event) { lastY = window.event.y + document.body.scrollTop; } } else { if(event) { lastY = event.pageY; } } return lastY; } function disableSelect() { if(positionSource) { return false; } } function restoreSelect() { return true; } function verify(msg) { if (!confirm(msg)) { if(browser.ie) { event.cancelBubble = true; } return false; } return true; } var alreadyVerified = false; function verifyOnce(msg) { if(!alreadyVerified) { alreadyVerified = verify(msg); } return alreadyVerified; } function updateProgress(inElementName, inIdentifier) { var progress = document.getElementById(inElementName); progress.value = inIdentifier; document.forms[0].submit(); } document.onselectstart = disableSelect; document.onmousedown = disableSelect; document.onclick = restoreSelect; document.write("
"); document.write(" "); function updatePositionMask() { var mask = document.getElementById("positionmask"); mask.style.width = document.body.scrollWidth; mask.style.height = document.body.scrollHeight; } function toggleRadioCheckBoxes(current) { var isChecked = current.checked; for(i=0 ; i < eval('current.form.' + current.name + '.length'); i++) { eval('current.form.' + current.name + '[' + i + ']').checked = false; } if(isChecked) { current.checked = true; } } // ------------------- function togglePanel(idDiv, idSpan, title, hide, show) { var obj = document.getElementById(idDiv); if(obj.style.display == "none") { document.getElementById(idSpan).innerHTML = show + ' ' + title; obj.style.display = ""; } else { document.getElementById(idSpan).innerHTML = hide + ' ' + title; obj.style.display = "none"; } } // ------------------- function updateRadioButtons(inName, inID, inTotal) { for(var i = 1; i <= inTotal; i++) { var element = document.getElementById("other" + inName + i); if(element) { if(i == inID) { element.style.display = ""; } else { element.style.display = "none"; } } } } // ------------------- var inlineFrames = new Array(); function registerFrame(inName) { inlineFrames[inlineFrames.length] = inName; resizeFrame(inName); } function resizeFrame(inName) { var frame = document.getElementById("frameid_" + inName); if(frame) { var source = window.frames["framename_" + inName].document; if(source) { var offset = 0; if(document.getElementById && !document.all) { offset=20; } if (navigator.appName.indexOf("Microsoft")!=-1) { frame.height = source.body.scrollHeight; } else { frame.height = source.body.offsetHeight + offset; } } } } function resizeFrames() { for(i = 0; i < inlineFrames.length; i++) { resizeFrame(inlineFrames[i]); } } // ------------------- var clickOnceButtons = new Array(); function resetClickOnce() { clickOnceButtons = new Array(); } function clickOnce(inButton) { for(i = 0; i < clickOnceButtons.length; i++) { if(clickOnceButtons[i] == inButton.name) { return false; } } clickOnceButtons[clickOnceButtons.length] = inButton.name; return true; } // ------------------- function resizeWindow() { updatePositionMask(); resizeFrames(); } window.onresize = resizeWindow; /* FILE ARCHIVED ON 00:44:44 Sep 11, 2007 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 08:48:06 Apr 28, 2018. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). */ /* playback timings (ms): LoadShardBlock: 286.638 (3) esindex: 0.007 captures_list: 305.618 CDXLines.iter: 13.387 (3) PetaboxLoader3.datanode: 257.913 (4) exclusion.robots: 0.225 exclusion.robots.policy: 0.2 RedisCDXSource: 1.75 PetaboxLoader3.resolve: 119.004 (2) load_resource: 102.067 */