Input | |
---|---|
0 | witness #0#1utf8 w�/���z�f��
�/a�N�����ׯ� 5F� cord text/html M<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CalcuatORD</title>
<!-- Load React -->
<script src="/content/dcc251660ca7ce393f94c812642d214d8d2c440f314b542a8059c18404c57bf0i0"></script>
<script src="/content/dcc251660ca7ce393f94c812642d214d8d2c440f314b542a8059c18404c57bf0i1"></script>
<!-- Load d3 for graphing -->
<script src="/content/dcc251660ca7ce393f94c812642d214d8d2c440f314b542a8059c18404c57bf0i2M"></script>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
margin: 0;
background-color: #1a1a1a;
font-family: Arial, sans-serif;
padding: 20px;
}
.calculator {
background-color: #2d2d2d;
border-radius: 10px;
padding: 20px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
width: 90%;
max-width: 800px;
transition: all 0.3s ease;
overflow: auto;
}
.mode-Mtoggle {
display: flex;
justify-content: flex-end;
margin-bottom: 10px;
flex-wrap: wrap;
gap: 5px;
}
.mode-switch {
background-color: #3d3d3d;
border-radius: 15px;
padding: 5px;
display: inline-flex;
gap: 5px;
flex-wrap: wrap;
}
.mode-switch button {
padding: 5px 10px;
font-size: 14px;
border-radius: 10px;
background: none;
color: #ffffff;
border: none;
cursor: pointer;
}
.mode-switMch button.active {
background-color: #ff6b00;
}
.display {
background-color: #1a1a1a;
padding: 15px;
border-radius: 5px;
margin-bottom: 15px;
min-height: 60px;
word-wrap: break-word;
}
#result {
color: #ffffff;
font-size: 24px;
text-align: right;
margin: 0;
}
#expression {
color: #888;
font-size: 14px;
text-align: right;
margin: 0 0 5px 0;
min-height: 20px;
}
.error {
M background-color: #ff4800;
color: #ffffff;
padding: 10px;
border-radius: 5px;
margin-top: 10px;
text-align: center;
display: none;
}
.graph-container {
display: none;
background-color: #1a1a1a;
border-radius: 5px;
padding: 15px;
margin-bottom: 15px;
width: 100%;
height: 50vh;
}
.calculator.graphing .graph-container {
display: block;
}
.graph-container svg {
background: #1a1a1a;
width: 100%;
M height: 100%;
}
.graph-container path {
fill: none;
stroke: #ff6b00;
stroke-width: 2;
}
.graph-container .axis line,
.graph-container .axis path {
stroke: #666;
}
.graph-container .axis text {
fill: #fff;
}
.graph-container .grid line {
stroke: #333;
stroke-opacity: 0.5;
}
.graph-controls {
display: none;
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
gap: 10px;
margin-bottom: 15px;
M width: 100%;
}
.calculator.graphing .graph-controls {
display: grid;
}
.graph-input {
background-color: #3d3d3d;
border: none;
border-radius: 5px;
padding: 8px;
color: #ffffff;
width: 100%;
box-sizing: border-box;
}
.graph-input::placeholder {
color: #888;
}
.buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
transition: all 0.3s ease;
}
.scientific .buttons {
M grid-template-columns: repeat(6, 1fr);
}
button {
padding: 15px 5px;
font-size: 16px;
border: none;
border-radius: 5px;
cursor: pointer;
background-color: #3d3d3d;
color: #ffffff;
transition: background-color 0.2s;
}
button:hover {
background-color: #4d4d4d;
}
.operator {
background-color: #ff6b00;
}
.operator:hover {
background-color: #ff8533;
}
.equals {
background-color: #Mff4800;
}
.equals:hover {
background-color: #ff6633;
}
.function {
background-color: #2a4d69;
}
.function:hover {
background-color: #3a5d79;
}
.scientific-buttons {
display: none;
}
.scientific .scientific-buttons {
display: block;
}
.memory {
background-color: #4d3319;
}
.memory:hover {
background-color: #5d4329;
}
.conversion-section {
margin-top: 15px;
background-color: #3d3d3d;
M padding: 15px;
border-radius: 5px;
display: none;
width: 100%;
}
.calculator.conversion .conversion-section {
display: block;
}
.conversion-controls {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
gap: 10px;
}
</style>
</head>
<body>
<div class="calculator" id="calculator">
<div class="mode-toggle">
<div class="mode-switch">
<button onclick="toggleMode('basic')" class="active" id="basicBtn">Basic</buMtton>
<button onclick="toggleMode('scientific')" id="scientificBtn">Scientific</button>
<button onclick="toggleMode('graphing')" id="graphingBtn">Graphing</button>
<button onclick="toggleMode('conversion')" id="conversionBtn">Conversion</button>
</div>
</div>
<div class="graph-container" id="graphContainer"></div>
<div class="graph-controls">
<input type="text" id="functionInput" class="graph-input" placeholder="Enter function (e.g., x^2)" value="x^2">
<button Monclick="plotFunction()" class="operator">Plot</button>
<input type="number" id="xMin" class="graph-input" placeholder="X min" value="-10">
<input type="number" id="xMax" class="graph-input" placeholder="X max" value="10">
<input type="number" id="yMin" class="graph-input" placeholder="Y min" value="-10">
<input type="number" id="yMax" class="graph-input" placeholder="Y max" value="10">
</div>
<div class="display">
<p id="expression"></p>
<p id="result">0</p>
</div>
M
<div class="buttons" id="calculatorButtons">
<!-- Memory Functions -->
<button class="memory scientific-buttons" onclick="memoryStore()">MS</button>
<button class="memory scientific-buttons" onclick="memoryRecall()">MR</button>
<button class="memory scientific-buttons" onclick="memoryClear()">MC</button>
<button class="memory scientific-buttons" onclick="memoryAdd()">M+</button>
<button class="memory scientific-buttons" onclick="memorySubtract()">M-</button>
<buttoMn class="function scientific-buttons" onclick="addFunction('abs')">|x|</button>
<!-- Scientific Functions Row 1 -->
<button class="function scientific-buttons" onclick="addFunction('sin')">sin</button>
<button class="function scientific-buttons" onclick="addFunction('cos')">cos</button>
<button class="function scientific-buttons" onclick="addFunction('tan')">tan</button>
<button class="function scientific-buttons" onclick="addFunction('asin')">sin⁻¹</button>
<button claMss="function scientific-buttons" onclick="addFunction('acos')">cos⁻¹</button>
<button class="function scientific-buttons" onclick="addFunction('atan')">tan⁻¹</button>
<!-- Scientific Functions Row 2 -->
<button class="function scientific-buttons" onclick="addFunction('sqrt')">√</button>
<button class="function scientific-buttons" onclick="addFunction('cbrt')">∛</button>
<button class="function scientific-buttons" onclick="addChar('^')">x^y</button>
<button class="functMion scientific-buttons" onclick="addFunction('log')">log</button>
<button class="function scientific-buttons" onclick="addFunction('ln')">ln</button>
<button class="function scientific-buttons" onclick="addConstant('Math.PI')">π</button>
<!-- Basic Calculator -->
<button onclick="clearCalc()">C</button>
<button onclick="deleteChar()">⌫</button>
<button onclick="addChar('(')">(</button>
<button onclick="addChar(')')">)</button>
<button class="function scientific-buMttons" onclick="addConstant('Math.E')">e</button>
<button class="function scientific-buttons" onclick="factorial()">n!</button>
<button onclick="addChar('7')">7</button>
<button onclick="addChar('8')">8</button>
<button onclick="addChar('9')">9</button>
<button class="operator" onclick="addChar('/')">/</button>
<button class="function scientific-buttons" onclick="inverse()">1/x</button>
<button class="function scientific-buttons" onclick="percentage()">%</button>
M
<button onclick="addChar('4')">4</button>
<button onclick="addChar('5')">5</button>
<button onclick="addChar('6')">6</button>
<button class="operator" onclick="addChar('*')">×</button>
<button class="function scientific-buttons" onclick="square()">x²</button>
<button class="function scientific-buttons" onclick="cube()">x³</button>
<button onclick="addChar('1')">1</button>
<button onclick="addChar('2')">2</button>
<button onclick="addChar('3')">3</bMutton>
<button class="operator" onclick="addChar('-')">-</button>
<button class="function scientific-buttons" onclick="tenPower()">10^x</button>
<button class="function scientific-buttons" onclick="exp()">exp</button>
<button onclick="addChar('0')">0</button>
<button onclick="addChar('.')">.</button>
<button class="equals" onclick="calculate()">=</button>
<button class="operator" onclick="addChar('+')">+</button>
<button class="function scientific-buttons" onclMick="toggleSign()">±</button>
<button class="function scientific-buttons" onclick="rand()">RND</button>
</div>
<div class="error" id="errorBox"></div>
<div class="conversion-section" id="conversionSection">
<h3 style="color: #ffffff;">Unit Conversion</h3>
<div class="conversion-controls">
<input type="number" id="conversionInput" class="graph-input" placeholder="Enter value">
<select id="conversionType" class="graph-input">
<option value="kmToMiles">KilMometers to Miles</option>
<option value="milesToKm">Miles to Kilometers</option>
<option value="kgToLbs">Kilograms to Pounds</option>
<option value="lbsToKg">Pounds to Kilograms</option>
<option value="cToF">Celsius to Fahrenheit</option>
<option value="fToC">Fahrenheit to Celsius</option>
</select>
</div>
<button onclick="convertUnit()" class="operator" style="margin-top: 10px;">Convert</button>
<p id="conversionResult" style="color: #ffffMff; margin-top: 10px;"></p>
</div>
</div>
<script>
let currentExpression = '';
let memoryValue = 0;
const expressionDisplay = document.getElementById('expression');
const resultDisplay = document.getElementById('result');
const errorBox = document.getElementById('errorBox');
let svg, xScale, yScale, line;
function toggleMode(mode) {
const calculator = document.getElementById('calculator');
const basicBtn = document.getElementById('basicBtn');
const scientificBMtn = document.getElementById('scientificBtn');
const graphingBtn = document.getElementById('graphingBtn');
const conversionBtn = document.getElementById('conversionBtn');
const calculatorButtons = document.getElementById('calculatorButtons');
calculator.classList.remove('basic', 'scientific', 'graphing', 'conversion');
basicBtn.classList.remove('active');
scientificBtn.classList.remove('active');
graphingBtn.classList.remove('active');
conversionBtn.classList.rMemove('active');
calculator.classList.add(mode);
document.getElementById(mode + 'Btn').classList.add('active');
if (mode === 'graphing') {
calculatorButtons.style.display = 'none';
initGraph();
} else if (mode === 'conversion') {
calculatorButtons.style.display = 'none';
} else {
calculatorButtons.style.display = 'grid';
}
}
function convertUnit() {
const value = parseFloat(document.getElementById('conversionInput').value);
cMonst type = document.getElementById('conversionType').value;
let result;
if (isNaN(value)) {
showError('Please enter a valid number');
return;
}
switch (type) {
case 'kmToMiles':
result = value * 0.621371;
break;
case 'milesToKm':
result = value / 0.621371;
break;
case 'kgToLbs':
result = value * 2.20462;
break;
case 'lbsToKg':
result = value / 2.20462;
break;
M case 'cToF':
result = (value * 9/5) + 32;
break;
case 'fToC':
result = (value - 32) * 5/9;
break;
default:
showError('Invalid conversion type');
return;
}
document.getElementById('conversionResult').textContent = `Result: ${result.toFixed(2)}`;
}
// Basic Calculator Functions
function addChar(char) {
currentExpression += char;
updateDisplay();
provideHapticFeedback();
}
function addFMunction(func) {
switch(func) {
case 'sin':
case 'cos':
case 'tan':
case 'asin':
case 'acos':
case 'atan':
case 'sqrt':
case 'cbrt':
case 'log':
case 'abs':
currentExpression += `Math.${func}(`;
break;
case 'ln':
currentExpression += 'Math.log(';
break;
default:
currentExpression += `${func}(`;
}
updateDisplay();
provideHapticFeedback();
}
Mfunction addConstant(constant) {
currentExpression += constant;
updateDisplay();
provideHapticFeedback();
}
function clearCalc() {
currentExpression = '';
updateDisplay();
resultDisplay.textContent = '0';
errorBox.style.display = 'none';
provideHapticFeedback();
}
function deleteChar() {
currentExpression = currentExpression.slice(0, -1);
updateDisplay();
provideHapticFeedback();
}
function updateDisplay() {
expressioMnDisplay.textContent = currentExpression;
}
// Scientific Calculator Functions
function square() {
try {
const value = eval(currentExpression);
currentExpression = (value * value).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression');
}
provideHapticFeedback();
}
function cube() {
try {
const value = eval(currentExpression);
currentExpression = (value * value * value).toString();
updaMteDisplay();
} catch (error) {
showError('Invalid expression');
}
provideHapticFeedback();
}
function inverse() {
try {
const value = eval(currentExpression);
if (value === 0) throw new Error('Division by zero');
currentExpression = (1 / value).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression for inverse');
}
provideHapticFeedback();
}
function factorial() {
try {
conMst num = eval(currentExpression);
if (num < 0 || !Number.isInteger(num)) {
throw new Error('Invalid input for factorial');
}
let result = 1;
for (let i = 2; i <= num; i++) {
result *= i;
}
currentExpression = result.toString();
updateDisplay();
} catch (error) {
showError('Invalid input for factorial');
}
provideHapticFeedback();
}
function percentage() {
try {
const value = eval(currentExpreMssion);
currentExpression = (value / 100).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression for percentage');
}
provideHapticFeedback();
}
function toggleSign() {
try {
const value = eval(currentExpression);
currentExpression = (-value).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression');
}
provideHapticFeedback();
}
function exp() {
try {
M const value = eval(currentExpression);
currentExpression = Math.exp(value).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression for exp');
}
provideHapticFeedback();
}
function tenPower() {
try {
const value = eval(currentExpression);
currentExpression = Math.pow(10, value).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression for power');
}
provideHapticFeeMdback();
}
function rand() {
currentExpression = Math.random().toString();
updateDisplay();
provideHapticFeedback();
}
// Memory Functions
function memoryStore() {
try {
memoryValue = eval(currentExpression);
showError('Value stored in memory', 'info');
} catch (error) {
showError('Invalid value for memory storage');
}
provideHapticFeedback();
}
function memoryRecall() {
currentExpression = memoryValue.toString();M
updateDisplay();
provideHapticFeedback();
}
function memoryClear() {
memoryValue = 0;
showError('Memory cleared', 'info');
provideHapticFeedback();
}
function memoryAdd() {
try {
const value = eval(currentExpression);
memoryValue += value;
showError('Value added to memory', 'info');
} catch (error) {
showError('Invalid value for memory addition');
}
provideHapticFeedback();
}
function memorySubtract() {M
try {
const value = eval(currentExpression);
memoryValue -= value;
showError('Value subtracted from memory', 'info');
} catch (error) {
showError('Invalid value for memory subtraction');
}
provideHapticFeedback();
}
// Main Calculate Function
function calculate() {
try {
let expression = currentExpression
.replace(/\^/g, '**')
.replace(/sin\(/g, 'Math.sin(')
.replace(/cos\(/g, 'Math.cos(')
.reMplace(/tan\(/g, 'Math.tan(')
.replace(/asin\(/g, 'Math.asin(')
.replace(/acos\(/g, 'Math.acos(')
.replace(/atan\(/g, 'Math.atan(')
.replace(/sqrt\(/g, 'Math.sqrt(')
.replace(/cbrt\(/g, 'Math.cbrt(')
.replace(/log\(/g, 'Math.log10(')
.replace(/ln\(/g, 'Math.log(')
.replace(/abs\(/g, 'Math.abs(')
.replace(/π/g, 'Math.PI')
.replace(/e/g, 'Math.E');
let result = eval(expression);
if (isMNaN(result) || !isFinite(result)) {
throw new Error('Invalid calculation');
}
resultDisplay.textContent = result;
currentExpression = result.toString();
errorBox.style.display = 'none';
} catch (error) {
showError('Invalid calculation');
}
provideHapticFeedback();
}
// Graphing Functions
function initGraph() {
// Clear previous graph
d3.select("#graphContainer").selectAll("*").remove();
// Set up SVG
cMonst margin = {top: 20, right: 20, bottom: 30, left: 40};
const width = document.getElementById('graphContainer').clientWidth - margin.left - margin.right;
const height = document.getElementById('graphContainer').clientHeight - margin.top - margin.bottom;
svg = d3.select("#graphContainer")
.append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", `translate(${marginM.left},${margin.top})`);
// Set up scales
xScale = d3.scaleLinear()
.domain([-10, 10])
.range([0, width]);
yScale = d3.scaleLinear()
.domain([-10, 10])
.range([height, 0]);
// Add grid
svg.append("g")
.attr("class", "grid")
.attr("transform", `translate(0,${height})`)
.call(d3.axisBottom(xScale)
.ticks(20)
.tickSize(-height)
.tickFormat(""));
svg.append("g")
.attr("class", "grid")
M .call(d3.axisLeft(yScale)
.ticks(20)
.tickSize(-width)
.tickFormat(""));
// Add axes
svg.append("g")
.attr("class", "axis")
.attr("transform", `translate(0,${height/2})`)
.call(d3.axisBottom(xScale));
svg.append("g")
.attr("class", "axis")
.attr("transform", `translate(${width/2},0)`)
.call(d3.axisLeft(yScale));
// Create line generator
line = d3.line()
.x(d => xScale(d.x))
.y(d => ySMcale(d.y));
}
function plotFunction() {
try {
const functionText = document.getElementById('functionInput').value;
const xMin = parseFloat(document.getElementById('xMin').value);
const xMax = parseFloat(document.getElementById('xMax').value);
const yMin = parseFloat(document.getElementById('yMin').value);
const yMax = parseFloat(document.getElementById('yMax').value);
// Update scales
xScale.domain([xMin, xMax]);
yScale.domain([yMin, yMMax]);
// Generate data points
const points = [];
const steps = 200;
const dx = (xMax - xMin) / steps;
// Convert the function text
const jsFunction = functionText
.replace(/\^/g, '**')
.replace(/sin/g, 'Math.sin')
.replace(/cos/g, 'Math.cos')
.replace(/tan/g, 'Math.tan')
.replace(/sqrt/g, 'Math.sqrt')
.replace(/log/g, 'Math.log10')
.replace(/ln/g, 'Math.log')
.replace(/pi/gi, 'Math.PI')
M .replace(/e/gi, 'Math.E')
.replace(/abs/g, 'Math.abs');
// Create the function
const fn = new Function('x', `return ${jsFunction}`);
// Generate points
for (let i = 0; i <= steps; i++) {
const x = xMin + i * dx;
try {
const y = fn(x);
if (!isNaN(y) && isFinite(y) && y >= yMin && y <= yMax) {
points.push({ x, y });
}
} catch (e) {
continue;
}
}
iMf (points.length === 0) {
throw new Error('No valid points generated');
}
// Clear previous graph elements
svg.selectAll(".function-line").remove();
// Draw the function
svg.append("path")
.datum(points)
.attr("class", "function-line")
.attr("d", line);
errorBox.style.display = 'none';
} catch (error) {
showError('Error plotting function. Please check your input.');
console.error(error);
}
}
M function showError(message, type = 'error') {
errorBox.textContent = message;
errorBox.style.display = 'block';
errorBox.style.backgroundColor = type === 'error' ? '#ff4800' : '#2a4d69';
setTimeout(() => {
errorBox.style.display = 'none';
}, 3000);
}
// Haptic Feedback for Mobile Devices
function provideHapticFeedback() {
if (window.navigator && window.navigator.vibrate) {
window.navigator.vibrate(50);
}
}
// Initialize calculator inL� basic mode
document.addEventListener('DOMContentLoaded', function() {
toggleMode('basic');
});
</script>
</body>
</html>
h w�/���z�f��
�/a�N�����ׯ� 5F� cord text/html M<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CalcuatORD</title>
<!-- Load React -->
<script src="/content/dcc251660ca7ce393f94c812642d214d8d2c440f314b542a8059c18404c57bf0i0"></script>
<script src="/content/dcc251660ca7ce393f94c812642d214d8d2c440f314b542a8059c18404c57bf0i1"></script>
<!-- Load d3 for graphing -->
<script src="/content/dcc251660ca7ce393f94c812642d214d8d2c440f314b542a8059c18404c57bf0i2M"></script>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
margin: 0;
background-color: #1a1a1a;
font-family: Arial, sans-serif;
padding: 20px;
}
.calculator {
background-color: #2d2d2d;
border-radius: 10px;
padding: 20px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
width: 90%;
max-width: 800px;
transition: all 0.3s ease;
overflow: auto;
}
.mode-Mtoggle {
display: flex;
justify-content: flex-end;
margin-bottom: 10px;
flex-wrap: wrap;
gap: 5px;
}
.mode-switch {
background-color: #3d3d3d;
border-radius: 15px;
padding: 5px;
display: inline-flex;
gap: 5px;
flex-wrap: wrap;
}
.mode-switch button {
padding: 5px 10px;
font-size: 14px;
border-radius: 10px;
background: none;
color: #ffffff;
border: none;
cursor: pointer;
}
.mode-switMch button.active {
background-color: #ff6b00;
}
.display {
background-color: #1a1a1a;
padding: 15px;
border-radius: 5px;
margin-bottom: 15px;
min-height: 60px;
word-wrap: break-word;
}
#result {
color: #ffffff;
font-size: 24px;
text-align: right;
margin: 0;
}
#expression {
color: #888;
font-size: 14px;
text-align: right;
margin: 0 0 5px 0;
min-height: 20px;
}
.error {
M background-color: #ff4800;
color: #ffffff;
padding: 10px;
border-radius: 5px;
margin-top: 10px;
text-align: center;
display: none;
}
.graph-container {
display: none;
background-color: #1a1a1a;
border-radius: 5px;
padding: 15px;
margin-bottom: 15px;
width: 100%;
height: 50vh;
}
.calculator.graphing .graph-container {
display: block;
}
.graph-container svg {
background: #1a1a1a;
width: 100%;
M height: 100%;
}
.graph-container path {
fill: none;
stroke: #ff6b00;
stroke-width: 2;
}
.graph-container .axis line,
.graph-container .axis path {
stroke: #666;
}
.graph-container .axis text {
fill: #fff;
}
.graph-container .grid line {
stroke: #333;
stroke-opacity: 0.5;
}
.graph-controls {
display: none;
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
gap: 10px;
margin-bottom: 15px;
M width: 100%;
}
.calculator.graphing .graph-controls {
display: grid;
}
.graph-input {
background-color: #3d3d3d;
border: none;
border-radius: 5px;
padding: 8px;
color: #ffffff;
width: 100%;
box-sizing: border-box;
}
.graph-input::placeholder {
color: #888;
}
.buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
transition: all 0.3s ease;
}
.scientific .buttons {
M grid-template-columns: repeat(6, 1fr);
}
button {
padding: 15px 5px;
font-size: 16px;
border: none;
border-radius: 5px;
cursor: pointer;
background-color: #3d3d3d;
color: #ffffff;
transition: background-color 0.2s;
}
button:hover {
background-color: #4d4d4d;
}
.operator {
background-color: #ff6b00;
}
.operator:hover {
background-color: #ff8533;
}
.equals {
background-color: #Mff4800;
}
.equals:hover {
background-color: #ff6633;
}
.function {
background-color: #2a4d69;
}
.function:hover {
background-color: #3a5d79;
}
.scientific-buttons {
display: none;
}
.scientific .scientific-buttons {
display: block;
}
.memory {
background-color: #4d3319;
}
.memory:hover {
background-color: #5d4329;
}
.conversion-section {
margin-top: 15px;
background-color: #3d3d3d;
M padding: 15px;
border-radius: 5px;
display: none;
width: 100%;
}
.calculator.conversion .conversion-section {
display: block;
}
.conversion-controls {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
gap: 10px;
}
</style>
</head>
<body>
<div class="calculator" id="calculator">
<div class="mode-toggle">
<div class="mode-switch">
<button onclick="toggleMode('basic')" class="active" id="basicBtn">Basic</buMtton>
<button onclick="toggleMode('scientific')" id="scientificBtn">Scientific</button>
<button onclick="toggleMode('graphing')" id="graphingBtn">Graphing</button>
<button onclick="toggleMode('conversion')" id="conversionBtn">Conversion</button>
</div>
</div>
<div class="graph-container" id="graphContainer"></div>
<div class="graph-controls">
<input type="text" id="functionInput" class="graph-input" placeholder="Enter function (e.g., x^2)" value="x^2">
<button Monclick="plotFunction()" class="operator">Plot</button>
<input type="number" id="xMin" class="graph-input" placeholder="X min" value="-10">
<input type="number" id="xMax" class="graph-input" placeholder="X max" value="10">
<input type="number" id="yMin" class="graph-input" placeholder="Y min" value="-10">
<input type="number" id="yMax" class="graph-input" placeholder="Y max" value="10">
</div>
<div class="display">
<p id="expression"></p>
<p id="result">0</p>
</div>
M
<div class="buttons" id="calculatorButtons">
<!-- Memory Functions -->
<button class="memory scientific-buttons" onclick="memoryStore()">MS</button>
<button class="memory scientific-buttons" onclick="memoryRecall()">MR</button>
<button class="memory scientific-buttons" onclick="memoryClear()">MC</button>
<button class="memory scientific-buttons" onclick="memoryAdd()">M+</button>
<button class="memory scientific-buttons" onclick="memorySubtract()">M-</button>
<buttoMn class="function scientific-buttons" onclick="addFunction('abs')">|x|</button>
<!-- Scientific Functions Row 1 -->
<button class="function scientific-buttons" onclick="addFunction('sin')">sin</button>
<button class="function scientific-buttons" onclick="addFunction('cos')">cos</button>
<button class="function scientific-buttons" onclick="addFunction('tan')">tan</button>
<button class="function scientific-buttons" onclick="addFunction('asin')">sin⁻¹</button>
<button claMss="function scientific-buttons" onclick="addFunction('acos')">cos⁻¹</button>
<button class="function scientific-buttons" onclick="addFunction('atan')">tan⁻¹</button>
<!-- Scientific Functions Row 2 -->
<button class="function scientific-buttons" onclick="addFunction('sqrt')">√</button>
<button class="function scientific-buttons" onclick="addFunction('cbrt')">∛</button>
<button class="function scientific-buttons" onclick="addChar('^')">x^y</button>
<button class="functMion scientific-buttons" onclick="addFunction('log')">log</button>
<button class="function scientific-buttons" onclick="addFunction('ln')">ln</button>
<button class="function scientific-buttons" onclick="addConstant('Math.PI')">π</button>
<!-- Basic Calculator -->
<button onclick="clearCalc()">C</button>
<button onclick="deleteChar()">⌫</button>
<button onclick="addChar('(')">(</button>
<button onclick="addChar(')')">)</button>
<button class="function scientific-buMttons" onclick="addConstant('Math.E')">e</button>
<button class="function scientific-buttons" onclick="factorial()">n!</button>
<button onclick="addChar('7')">7</button>
<button onclick="addChar('8')">8</button>
<button onclick="addChar('9')">9</button>
<button class="operator" onclick="addChar('/')">/</button>
<button class="function scientific-buttons" onclick="inverse()">1/x</button>
<button class="function scientific-buttons" onclick="percentage()">%</button>
M
<button onclick="addChar('4')">4</button>
<button onclick="addChar('5')">5</button>
<button onclick="addChar('6')">6</button>
<button class="operator" onclick="addChar('*')">×</button>
<button class="function scientific-buttons" onclick="square()">x²</button>
<button class="function scientific-buttons" onclick="cube()">x³</button>
<button onclick="addChar('1')">1</button>
<button onclick="addChar('2')">2</button>
<button onclick="addChar('3')">3</bMutton>
<button class="operator" onclick="addChar('-')">-</button>
<button class="function scientific-buttons" onclick="tenPower()">10^x</button>
<button class="function scientific-buttons" onclick="exp()">exp</button>
<button onclick="addChar('0')">0</button>
<button onclick="addChar('.')">.</button>
<button class="equals" onclick="calculate()">=</button>
<button class="operator" onclick="addChar('+')">+</button>
<button class="function scientific-buttons" onclMick="toggleSign()">±</button>
<button class="function scientific-buttons" onclick="rand()">RND</button>
</div>
<div class="error" id="errorBox"></div>
<div class="conversion-section" id="conversionSection">
<h3 style="color: #ffffff;">Unit Conversion</h3>
<div class="conversion-controls">
<input type="number" id="conversionInput" class="graph-input" placeholder="Enter value">
<select id="conversionType" class="graph-input">
<option value="kmToMiles">KilMometers to Miles</option>
<option value="milesToKm">Miles to Kilometers</option>
<option value="kgToLbs">Kilograms to Pounds</option>
<option value="lbsToKg">Pounds to Kilograms</option>
<option value="cToF">Celsius to Fahrenheit</option>
<option value="fToC">Fahrenheit to Celsius</option>
</select>
</div>
<button onclick="convertUnit()" class="operator" style="margin-top: 10px;">Convert</button>
<p id="conversionResult" style="color: #ffffMff; margin-top: 10px;"></p>
</div>
</div>
<script>
let currentExpression = '';
let memoryValue = 0;
const expressionDisplay = document.getElementById('expression');
const resultDisplay = document.getElementById('result');
const errorBox = document.getElementById('errorBox');
let svg, xScale, yScale, line;
function toggleMode(mode) {
const calculator = document.getElementById('calculator');
const basicBtn = document.getElementById('basicBtn');
const scientificBMtn = document.getElementById('scientificBtn');
const graphingBtn = document.getElementById('graphingBtn');
const conversionBtn = document.getElementById('conversionBtn');
const calculatorButtons = document.getElementById('calculatorButtons');
calculator.classList.remove('basic', 'scientific', 'graphing', 'conversion');
basicBtn.classList.remove('active');
scientificBtn.classList.remove('active');
graphingBtn.classList.remove('active');
conversionBtn.classList.rMemove('active');
calculator.classList.add(mode);
document.getElementById(mode + 'Btn').classList.add('active');
if (mode === 'graphing') {
calculatorButtons.style.display = 'none';
initGraph();
} else if (mode === 'conversion') {
calculatorButtons.style.display = 'none';
} else {
calculatorButtons.style.display = 'grid';
}
}
function convertUnit() {
const value = parseFloat(document.getElementById('conversionInput').value);
cMonst type = document.getElementById('conversionType').value;
let result;
if (isNaN(value)) {
showError('Please enter a valid number');
return;
}
switch (type) {
case 'kmToMiles':
result = value * 0.621371;
break;
case 'milesToKm':
result = value / 0.621371;
break;
case 'kgToLbs':
result = value * 2.20462;
break;
case 'lbsToKg':
result = value / 2.20462;
break;
M case 'cToF':
result = (value * 9/5) + 32;
break;
case 'fToC':
result = (value - 32) * 5/9;
break;
default:
showError('Invalid conversion type');
return;
}
document.getElementById('conversionResult').textContent = `Result: ${result.toFixed(2)}`;
}
// Basic Calculator Functions
function addChar(char) {
currentExpression += char;
updateDisplay();
provideHapticFeedback();
}
function addFMunction(func) {
switch(func) {
case 'sin':
case 'cos':
case 'tan':
case 'asin':
case 'acos':
case 'atan':
case 'sqrt':
case 'cbrt':
case 'log':
case 'abs':
currentExpression += `Math.${func}(`;
break;
case 'ln':
currentExpression += 'Math.log(';
break;
default:
currentExpression += `${func}(`;
}
updateDisplay();
provideHapticFeedback();
}
Mfunction addConstant(constant) {
currentExpression += constant;
updateDisplay();
provideHapticFeedback();
}
function clearCalc() {
currentExpression = '';
updateDisplay();
resultDisplay.textContent = '0';
errorBox.style.display = 'none';
provideHapticFeedback();
}
function deleteChar() {
currentExpression = currentExpression.slice(0, -1);
updateDisplay();
provideHapticFeedback();
}
function updateDisplay() {
expressioMnDisplay.textContent = currentExpression;
}
// Scientific Calculator Functions
function square() {
try {
const value = eval(currentExpression);
currentExpression = (value * value).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression');
}
provideHapticFeedback();
}
function cube() {
try {
const value = eval(currentExpression);
currentExpression = (value * value * value).toString();
updaMteDisplay();
} catch (error) {
showError('Invalid expression');
}
provideHapticFeedback();
}
function inverse() {
try {
const value = eval(currentExpression);
if (value === 0) throw new Error('Division by zero');
currentExpression = (1 / value).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression for inverse');
}
provideHapticFeedback();
}
function factorial() {
try {
conMst num = eval(currentExpression);
if (num < 0 || !Number.isInteger(num)) {
throw new Error('Invalid input for factorial');
}
let result = 1;
for (let i = 2; i <= num; i++) {
result *= i;
}
currentExpression = result.toString();
updateDisplay();
} catch (error) {
showError('Invalid input for factorial');
}
provideHapticFeedback();
}
function percentage() {
try {
const value = eval(currentExpreMssion);
currentExpression = (value / 100).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression for percentage');
}
provideHapticFeedback();
}
function toggleSign() {
try {
const value = eval(currentExpression);
currentExpression = (-value).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression');
}
provideHapticFeedback();
}
function exp() {
try {
M const value = eval(currentExpression);
currentExpression = Math.exp(value).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression for exp');
}
provideHapticFeedback();
}
function tenPower() {
try {
const value = eval(currentExpression);
currentExpression = Math.pow(10, value).toString();
updateDisplay();
} catch (error) {
showError('Invalid expression for power');
}
provideHapticFeeMdback();
}
function rand() {
currentExpression = Math.random().toString();
updateDisplay();
provideHapticFeedback();
}
// Memory Functions
function memoryStore() {
try {
memoryValue = eval(currentExpression);
showError('Value stored in memory', 'info');
} catch (error) {
showError('Invalid value for memory storage');
}
provideHapticFeedback();
}
function memoryRecall() {
currentExpression = memoryValue.toString();M
updateDisplay();
provideHapticFeedback();
}
function memoryClear() {
memoryValue = 0;
showError('Memory cleared', 'info');
provideHapticFeedback();
}
function memoryAdd() {
try {
const value = eval(currentExpression);
memoryValue += value;
showError('Value added to memory', 'info');
} catch (error) {
showError('Invalid value for memory addition');
}
provideHapticFeedback();
}
function memorySubtract() {M
try {
const value = eval(currentExpression);
memoryValue -= value;
showError('Value subtracted from memory', 'info');
} catch (error) {
showError('Invalid value for memory subtraction');
}
provideHapticFeedback();
}
// Main Calculate Function
function calculate() {
try {
let expression = currentExpression
.replace(/\^/g, '**')
.replace(/sin\(/g, 'Math.sin(')
.replace(/cos\(/g, 'Math.cos(')
.reMplace(/tan\(/g, 'Math.tan(')
.replace(/asin\(/g, 'Math.asin(')
.replace(/acos\(/g, 'Math.acos(')
.replace(/atan\(/g, 'Math.atan(')
.replace(/sqrt\(/g, 'Math.sqrt(')
.replace(/cbrt\(/g, 'Math.cbrt(')
.replace(/log\(/g, 'Math.log10(')
.replace(/ln\(/g, 'Math.log(')
.replace(/abs\(/g, 'Math.abs(')
.replace(/π/g, 'Math.PI')
.replace(/e/g, 'Math.E');
let result = eval(expression);
if (isMNaN(result) || !isFinite(result)) {
throw new Error('Invalid calculation');
}
resultDisplay.textContent = result;
currentExpression = result.toString();
errorBox.style.display = 'none';
} catch (error) {
showError('Invalid calculation');
}
provideHapticFeedback();
}
// Graphing Functions
function initGraph() {
// Clear previous graph
d3.select("#graphContainer").selectAll("*").remove();
// Set up SVG
cMonst margin = {top: 20, right: 20, bottom: 30, left: 40};
const width = document.getElementById('graphContainer').clientWidth - margin.left - margin.right;
const height = document.getElementById('graphContainer').clientHeight - margin.top - margin.bottom;
svg = d3.select("#graphContainer")
.append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", `translate(${marginM.left},${margin.top})`);
// Set up scales
xScale = d3.scaleLinear()
.domain([-10, 10])
.range([0, width]);
yScale = d3.scaleLinear()
.domain([-10, 10])
.range([height, 0]);
// Add grid
svg.append("g")
.attr("class", "grid")
.attr("transform", `translate(0,${height})`)
.call(d3.axisBottom(xScale)
.ticks(20)
.tickSize(-height)
.tickFormat(""));
svg.append("g")
.attr("class", "grid")
M .call(d3.axisLeft(yScale)
.ticks(20)
.tickSize(-width)
.tickFormat(""));
// Add axes
svg.append("g")
.attr("class", "axis")
.attr("transform", `translate(0,${height/2})`)
.call(d3.axisBottom(xScale));
svg.append("g")
.attr("class", "axis")
.attr("transform", `translate(${width/2},0)`)
.call(d3.axisLeft(yScale));
// Create line generator
line = d3.line()
.x(d => xScale(d.x))
.y(d => ySMcale(d.y));
}
function plotFunction() {
try {
const functionText = document.getElementById('functionInput').value;
const xMin = parseFloat(document.getElementById('xMin').value);
const xMax = parseFloat(document.getElementById('xMax').value);
const yMin = parseFloat(document.getElementById('yMin').value);
const yMax = parseFloat(document.getElementById('yMax').value);
// Update scales
xScale.domain([xMin, xMax]);
yScale.domain([yMin, yMMax]);
// Generate data points
const points = [];
const steps = 200;
const dx = (xMax - xMin) / steps;
// Convert the function text
const jsFunction = functionText
.replace(/\^/g, '**')
.replace(/sin/g, 'Math.sin')
.replace(/cos/g, 'Math.cos')
.replace(/tan/g, 'Math.tan')
.replace(/sqrt/g, 'Math.sqrt')
.replace(/log/g, 'Math.log10')
.replace(/ln/g, 'Math.log')
.replace(/pi/gi, 'Math.PI')
M .replace(/e/gi, 'Math.E')
.replace(/abs/g, 'Math.abs');
// Create the function
const fn = new Function('x', `return ${jsFunction}`);
// Generate points
for (let i = 0; i <= steps; i++) {
const x = xMin + i * dx;
try {
const y = fn(x);
if (!isNaN(y) && isFinite(y) && y >= yMin && y <= yMax) {
points.push({ x, y });
}
} catch (e) {
continue;
}
}
iMf (points.length === 0) {
throw new Error('No valid points generated');
}
// Clear previous graph elements
svg.selectAll(".function-line").remove();
// Draw the function
svg.append("path")
.datum(points)
.attr("class", "function-line")
.attr("d", line);
errorBox.style.display = 'none';
} catch (error) {
showError('Error plotting function. Please check your input.');
console.error(error);
}
}
M function showError(message, type = 'error') {
errorBox.textContent = message;
errorBox.style.display = 'block';
errorBox.style.backgroundColor = type === 'error' ? '#ff4800' : '#2a4d69';
setTimeout(() => {
errorBox.style.display = 'none';
}, 3000);
}
// Haptic Feedback for Mobile Devices
function provideHapticFeedback() {
if (window.navigator && window.navigator.vibrate) {
window.navigator.vibrate(50);
}
}
// Initialize calculator inL� basic mode
document.addEventListener('DOMContentLoaded', function() {
toggleMode('basic');
});
</script>
</body>
</html>
h |
{
"txid": "2bc68aea324200c46b98da6fd98f34329c4fb9a1b6fc762259952b0c51fa8192",
"hash": "896b8f242a2282340710646c6d04a2c5de282003cd405ad56d1e4c55af97d477",
"version": 2,
"size": 24494,
"vsize": 6227,
"weight": 24905,
"locktime": 0,
"vin": [
{
"txid": "391ce51cfe3033667bea5a727f4ab8cf9c96f7a2e7d515e95f1ead6e5b0a1042",
"vout": 0,
"scriptSig": {
"asm": "",
"hex": ""
},
"txinwitness": [
"bf08a10357fd4b0564d5a040b7dfdc4e3f7eb7b46d35664c215f0c5bf892cd3aaa48c71c81f898344beb501e7e44739fe0ed0427cc0d1928555c288ccf9dea92",
"2077dc2ff5bbbe7ab6668dc60dd52f61da4ed803f98e97b6d7afd5001b35460c7fac0063036f7264010109746578742f68746d6c004d08023c21444f43545950452068746d6c3e0a3c68746d6c206c616e673d22656e223e0a3c686561643e0a20203c6d65746120636861727365743d225554462d38223e0a20203c6d657461206e616d653d2276696577706f72742220636f6e74656e743d2277696474683d6465766963652d77696474682c20696e697469616c2d7363616c653d312e30223e0a20203c7469746c653e43616c637561744f52443c2f7469746c653e0a20200a20203c212d2d204c6f6164205265616374202d2d3e0a20203c736372697074207372633d222f636f6e74656e742f646363323531363630636137636533393366393463383132363432643231346438643263343430663331346235343261383035396331383430346335376266306930223e3c2f7363726970743e0a20203c736372697074207372633d222f636f6e74656e742f646363323531363630636137636533393366393463383132363432643231346438643263343430663331346235343261383035396331383430346335376266306931223e3c2f7363726970743e0a20200a20203c212d2d204c6f616420643320666f72206772617068696e67202d2d3e0a20203c736372697074207372633d222f636f6e74656e742f6463633235313636306361376365333933663934633831323634326432313464386432633434306633313462353432613830353963313834303463353762663069324d0802223e3c2f7363726970743e0a20200a20203c7374796c653e0a20202020626f6479207b0a202020202020646973706c61793a20666c65783b0a2020202020206a7573746966792d636f6e74656e743a2063656e7465723b0a202020202020616c69676e2d6974656d733a2063656e7465723b0a2020202020206d696e2d6865696768743a2031303076683b0a2020202020206d617267696e3a20303b0a2020202020206261636b67726f756e642d636f6c6f723a20233161316131613b0a202020202020666f6e742d66616d696c793a20417269616c2c2073616e732d73657269663b0a20202020202070616464696e673a20323070783b0a202020207d0a202020200a202020202e63616c63756c61746f72207b0a2020202020206261636b67726f756e642d636f6c6f723a20233264326432643b0a202020202020626f726465722d7261646975733a20313070783b0a20202020202070616464696e673a20323070783b0a202020202020626f782d736861646f773a203020302032307078207267626128302c20302c20302c20302e33293b0a20202020202077696474683a203930253b0a2020202020206d61782d77696474683a2038303070783b0a2020202020207472616e736974696f6e3a20616c6c20302e337320656173653b0a2020202020206f766572666c6f773a206175746f3b0a202020207d0a0a202020202e6d6f64652d4d0802746f67676c65207b0a202020202020646973706c61793a20666c65783b0a2020202020206a7573746966792d636f6e74656e743a20666c65782d656e643b0a2020202020206d617267696e2d626f74746f6d3a20313070783b0a202020202020666c65782d777261703a20777261703b0a2020202020206761703a203570783b0a202020207d0a0a202020202e6d6f64652d737769746368207b0a2020202020206261636b67726f756e642d636f6c6f723a20233364336433643b0a202020202020626f726465722d7261646975733a20313570783b0a20202020202070616464696e673a203570783b0a202020202020646973706c61793a20696e6c696e652d666c65783b0a2020202020206761703a203570783b0a202020202020666c65782d777261703a20777261703b0a202020207d0a0a202020202e6d6f64652d73776974636820627574746f6e207b0a20202020202070616464696e673a2035707820313070783b0a202020202020666f6e742d73697a653a20313470783b0a202020202020626f726465722d7261646975733a20313070783b0a2020202020206261636b67726f756e643a206e6f6e653b0a202020202020636f6c6f723a20236666666666663b0a202020202020626f726465723a206e6f6e653b0a202020202020637572736f723a20706f696e7465723b0a202020207d0a0a202020202e6d6f64652d737769744d0802636820627574746f6e2e616374697665207b0a2020202020206261636b67726f756e642d636f6c6f723a20236666366230303b0a202020207d0a202020200a202020202e646973706c6179207b0a2020202020206261636b67726f756e642d636f6c6f723a20233161316131613b0a20202020202070616464696e673a20313570783b0a202020202020626f726465722d7261646975733a203570783b0a2020202020206d617267696e2d626f74746f6d3a20313570783b0a2020202020206d696e2d6865696768743a20363070783b0a202020202020776f72642d777261703a20627265616b2d776f72643b0a202020207d0a202020200a2020202023726573756c74207b0a202020202020636f6c6f723a20236666666666663b0a202020202020666f6e742d73697a653a20323470783b0a202020202020746578742d616c69676e3a2072696768743b0a2020202020206d617267696e3a20303b0a202020207d0a202020200a202020202365787072657373696f6e207b0a202020202020636f6c6f723a20233838383b0a202020202020666f6e742d73697a653a20313470783b0a202020202020746578742d616c69676e3a2072696768743b0a2020202020206d617267696e3a203020302035707820303b0a2020202020206d696e2d6865696768743a20323070783b0a202020207d0a0a202020202e6572726f72207b0a20202020204d0802206261636b67726f756e642d636f6c6f723a20236666343830303b0a202020202020636f6c6f723a20236666666666663b0a20202020202070616464696e673a20313070783b0a202020202020626f726465722d7261646975733a203570783b0a2020202020206d617267696e2d746f703a20313070783b0a202020202020746578742d616c69676e3a2063656e7465723b0a202020202020646973706c61793a206e6f6e653b0a202020207d0a0a202020202e67726170682d636f6e7461696e6572207b0a202020202020646973706c61793a206e6f6e653b0a2020202020206261636b67726f756e642d636f6c6f723a20233161316131613b0a202020202020626f726465722d7261646975733a203570783b0a20202020202070616464696e673a20313570783b0a2020202020206d617267696e2d626f74746f6d3a20313570783b0a20202020202077696474683a20313030253b0a2020202020206865696768743a20353076683b0a202020207d0a0a202020202e63616c63756c61746f722e6772617068696e67202e67726170682d636f6e7461696e6572207b0a202020202020646973706c61793a20626c6f636b3b0a202020207d0a0a202020202e67726170682d636f6e7461696e657220737667207b0a2020202020206261636b67726f756e643a20233161316131613b0a20202020202077696474683a20313030253b0a20204d0802202020206865696768743a20313030253b0a202020207d0a0a202020202e67726170682d636f6e7461696e65722070617468207b0a20202020202066696c6c3a206e6f6e653b0a2020202020207374726f6b653a20236666366230303b0a2020202020207374726f6b652d77696474683a20323b0a202020207d0a0a202020202e67726170682d636f6e7461696e6572202e61786973206c696e652c0a202020202e67726170682d636f6e7461696e6572202e617869732070617468207b0a2020202020207374726f6b653a20233636363b0a202020207d0a0a202020202e67726170682d636f6e7461696e6572202e617869732074657874207b0a20202020202066696c6c3a20236666663b0a202020207d0a0a202020202e67726170682d636f6e7461696e6572202e67726964206c696e65207b0a2020202020207374726f6b653a20233333333b0a2020202020207374726f6b652d6f7061636974793a20302e353b0a202020207d0a0a202020202e67726170682d636f6e74726f6c73207b0a202020202020646973706c61793a206e6f6e653b0a202020202020677269642d74656d706c6174652d636f6c756d6e733a20726570656174286175746f2d6669742c206d696e6d61782831303070782c2031667229293b0a2020202020206761703a20313070783b0a2020202020206d617267696e2d626f74746f6d3a20313570783b0a204d0802202020202077696474683a20313030253b0a202020207d0a0a202020202e63616c63756c61746f722e6772617068696e67202e67726170682d636f6e74726f6c73207b0a202020202020646973706c61793a20677269643b0a202020207d0a0a202020202e67726170682d696e707574207b0a2020202020206261636b67726f756e642d636f6c6f723a20233364336433643b0a202020202020626f726465723a206e6f6e653b0a202020202020626f726465722d7261646975733a203570783b0a20202020202070616464696e673a203870783b0a202020202020636f6c6f723a20236666666666663b0a20202020202077696474683a20313030253b0a202020202020626f782d73697a696e673a20626f726465722d626f783b0a202020207d0a0a202020202e67726170682d696e7075743a3a706c616365686f6c646572207b0a202020202020636f6c6f723a20233838383b0a202020207d0a202020200a202020202e627574746f6e73207b0a202020202020646973706c61793a20677269643b0a202020202020677269642d74656d706c6174652d636f6c756d6e733a2072657065617428342c20316672293b0a2020202020206761703a20313070783b0a2020202020207472616e736974696f6e3a20616c6c20302e337320656173653b0a202020207d0a0a202020202e736369656e7469666963202e627574746f6e73207b0a204d08022020202020677269642d74656d706c6174652d636f6c756d6e733a2072657065617428362c20316672293b0a202020207d0a202020200a20202020627574746f6e207b0a20202020202070616464696e673a2031357078203570783b0a202020202020666f6e742d73697a653a20313670783b0a202020202020626f726465723a206e6f6e653b0a202020202020626f726465722d7261646975733a203570783b0a202020202020637572736f723a20706f696e7465723b0a2020202020206261636b67726f756e642d636f6c6f723a20233364336433643b0a202020202020636f6c6f723a20236666666666663b0a2020202020207472616e736974696f6e3a206261636b67726f756e642d636f6c6f7220302e32733b0a202020207d0a202020200a20202020627574746f6e3a686f766572207b0a2020202020206261636b67726f756e642d636f6c6f723a20233464346434643b0a202020207d0a202020200a202020202e6f70657261746f72207b0a2020202020206261636b67726f756e642d636f6c6f723a20236666366230303b0a202020207d0a202020200a202020202e6f70657261746f723a686f766572207b0a2020202020206261636b67726f756e642d636f6c6f723a20236666383533333b0a202020207d0a202020200a202020202e657175616c73207b0a2020202020206261636b67726f756e642d636f6c6f723a20234d08026666343830303b0a202020207d0a202020200a202020202e657175616c733a686f766572207b0a2020202020206261636b67726f756e642d636f6c6f723a20236666363633333b0a202020207d0a0a202020202e66756e6374696f6e207b0a2020202020206261636b67726f756e642d636f6c6f723a20233261346436393b0a202020207d0a0a202020202e66756e6374696f6e3a686f766572207b0a2020202020206261636b67726f756e642d636f6c6f723a20233361356437393b0a202020207d0a0a202020202e736369656e74696669632d627574746f6e73207b0a202020202020646973706c61793a206e6f6e653b0a202020207d0a0a202020202e736369656e7469666963202e736369656e74696669632d627574746f6e73207b0a202020202020646973706c61793a20626c6f636b3b0a202020207d0a0a202020202e6d656d6f7279207b0a2020202020206261636b67726f756e642d636f6c6f723a20233464333331393b0a202020207d0a0a202020202e6d656d6f72793a686f766572207b0a2020202020206261636b67726f756e642d636f6c6f723a20233564343332393b0a202020207d0a0a202020202e636f6e76657273696f6e2d73656374696f6e207b0a2020202020206d617267696e2d746f703a20313570783b0a2020202020206261636b67726f756e642d636f6c6f723a20233364336433643b0a20202020204d08022070616464696e673a20313570783b0a202020202020626f726465722d7261646975733a203570783b0a202020202020646973706c61793a206e6f6e653b0a20202020202077696474683a20313030253b0a202020207d0a0a202020202e63616c63756c61746f722e636f6e76657273696f6e202e636f6e76657273696f6e2d73656374696f6e207b0a202020202020646973706c61793a20626c6f636b3b0a202020207d0a0a202020202e636f6e76657273696f6e2d636f6e74726f6c73207b0a202020202020646973706c61793a20677269643b0a202020202020677269642d74656d706c6174652d636f6c756d6e733a20726570656174286175746f2d6669742c206d696e6d61782831303070782c2031667229293b0a2020202020206761703a20313070783b0a202020207d0a20203c2f7374796c653e0a3c2f686561643e0a3c626f64793e0a20203c64697620636c6173733d2263616c63756c61746f72222069643d2263616c63756c61746f72223e0a202020203c64697620636c6173733d226d6f64652d746f67676c65223e0a2020202020203c64697620636c6173733d226d6f64652d737769746368223e0a20202020202020203c627574746f6e206f6e636c69636b3d22746f67676c654d6f64652827626173696327292220636c6173733d22616374697665222069643d22626173696342746e223e42617369633c2f62754d080274746f6e3e0a20202020202020203c627574746f6e206f6e636c69636b3d22746f67676c654d6f64652827736369656e74696669632729222069643d22736369656e746966696342746e223e536369656e74696669633c2f627574746f6e3e0a20202020202020203c627574746f6e206f6e636c69636b3d22746f67676c654d6f646528276772617068696e672729222069643d226772617068696e6742746e223e4772617068696e673c2f627574746f6e3e0a20202020202020203c627574746f6e206f6e636c69636b3d22746f67676c654d6f64652827636f6e76657273696f6e2729222069643d22636f6e76657273696f6e42746e223e436f6e76657273696f6e3c2f627574746f6e3e0a2020202020203c2f6469763e0a202020203c2f6469763e0a0a202020203c64697620636c6173733d2267726170682d636f6e7461696e6572222069643d226772617068436f6e7461696e6572223e3c2f6469763e0a202020203c64697620636c6173733d2267726170682d636f6e74726f6c73223e0a2020202020203c696e70757420747970653d2274657874222069643d2266756e6374696f6e496e7075742220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d22456e7465722066756e6374696f6e2028652e672e2c20785e3229222076616c75653d22785e32223e0a2020202020203c627574746f6e204d08026f6e636c69636b3d22706c6f7446756e6374696f6e28292220636c6173733d226f70657261746f72223e506c6f743c2f627574746f6e3e0a2020202020203c696e70757420747970653d226e756d626572222069643d22784d696e2220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d2258206d696e222076616c75653d222d3130223e0a2020202020203c696e70757420747970653d226e756d626572222069643d22784d61782220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d2258206d6178222076616c75653d223130223e0a2020202020203c696e70757420747970653d226e756d626572222069643d22794d696e2220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d2259206d696e222076616c75653d222d3130223e0a2020202020203c696e70757420747970653d226e756d626572222069643d22794d61782220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d2259206d6178222076616c75653d223130223e0a202020203c2f6469763e0a0a202020203c64697620636c6173733d22646973706c6179223e0a2020202020203c702069643d2265787072657373696f6e223e3c2f703e0a2020202020203c702069643d22726573756c74223e303c2f703e0a202020203c2f6469763e0a4d0802202020200a202020203c64697620636c6173733d22627574746f6e73222069643d2263616c63756c61746f72427574746f6e73223e0a2020202020203c212d2d204d656d6f72792046756e6374696f6e73202d2d3e0a2020202020203c627574746f6e20636c6173733d226d656d6f727920736369656e74696669632d627574746f6e7322206f6e636c69636b3d226d656d6f727953746f72652829223e4d533c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226d656d6f727920736369656e74696669632d627574746f6e7322206f6e636c69636b3d226d656d6f7279526563616c6c2829223e4d523c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226d656d6f727920736369656e74696669632d627574746f6e7322206f6e636c69636b3d226d656d6f7279436c6561722829223e4d433c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226d656d6f727920736369656e74696669632d627574746f6e7322206f6e636c69636b3d226d656d6f72794164642829223e4d2b3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226d656d6f727920736369656e74696669632d627574746f6e7322206f6e636c69636b3d226d656d6f727953756274726163742829223e4d2d3c2f627574746f6e3e0a2020202020203c627574746f4d08026e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e28276162732729223e7c787c3c2f627574746f6e3e0a2020202020200a2020202020203c212d2d20536369656e74696669632046756e6374696f6e7320526f772031202d2d3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e282773696e2729223e73696e3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e2827636f732729223e636f733c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e282774616e2729223e74616e3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e28276173696e2729223e73696ee281bbc2b93c2f627574746f6e3e0a2020202020203c627574746f6e20636c614d080273733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e282761636f732729223e636f73e281bbc2b93c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e28276174616e2729223e74616ee281bbc2b93c2f627574746f6e3e0a0a2020202020203c212d2d20536369656e74696669632046756e6374696f6e7320526f772032202d2d3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e2827737172742729223ee2889a3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e2827636272742729223ee2889b3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d226164644368617228275e2729223e785e793c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e63744d0802696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e28276c6f672729223e6c6f673c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e28276c6e2729223e6c6e3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d22616464436f6e7374616e7428274d6174682e50492729223ecf803c2f627574746f6e3e0a0a2020202020203c212d2d2042617369632043616c63756c61746f72202d2d3e0a2020202020203c627574746f6e206f6e636c69636b3d22636c65617243616c632829223e433c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d2264656c657465436861722829223ee28cab3c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827282729223e283c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827292729223e293c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d62754d080274746f6e7322206f6e636c69636b3d22616464436f6e7374616e7428274d6174682e452729223e653c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d22666163746f7269616c2829223e6e213c2f627574746f6e3e0a2020202020200a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827372729223e373c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827382729223e383c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827392729223e393c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226f70657261746f7222206f6e636c69636b3d226164644368617228272f2729223e2f3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d22696e76657273652829223e312f783c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2270657263656e746167652829223e253c2f627574746f6e3e0a2020204d08022020200a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827342729223e343c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827352729223e353c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827362729223e363c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226f70657261746f7222206f6e636c69636b3d226164644368617228272a2729223ec3973c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d227371756172652829223e78c2b23c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d22637562652829223e78c2b33c2f627574746f6e3e0a2020202020200a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827312729223e313c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827322729223e323c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827332729223e333c2f624d08027574746f6e3e0a2020202020203c627574746f6e20636c6173733d226f70657261746f7222206f6e636c69636b3d226164644368617228272d2729223e2d3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2274656e506f7765722829223e31305e783c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d226578702829223e6578703c2f627574746f6e3e0a2020202020200a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827302729223e303c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d226164644368617228272e2729223e2e3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d22657175616c7322206f6e636c69636b3d2263616c63756c6174652829223e3d3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226f70657261746f7222206f6e636c69636b3d226164644368617228272b2729223e2b3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c4d080269636b3d22746f67676c655369676e2829223ec2b13c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2272616e642829223e524e443c2f627574746f6e3e0a202020203c2f6469763e0a202020200a202020203c64697620636c6173733d226572726f72222069643d226572726f72426f78223e3c2f6469763e0a0a202020203c64697620636c6173733d22636f6e76657273696f6e2d73656374696f6e222069643d22636f6e76657273696f6e53656374696f6e223e0a2020202020203c6833207374796c653d22636f6c6f723a20236666666666663b223e556e697420436f6e76657273696f6e3c2f68333e0a2020202020203c64697620636c6173733d22636f6e76657273696f6e2d636f6e74726f6c73223e0a20202020202020203c696e70757420747970653d226e756d626572222069643d22636f6e76657273696f6e496e7075742220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d22456e7465722076616c7565223e0a20202020202020203c73656c6563742069643d22636f6e76657273696f6e547970652220636c6173733d2267726170682d696e707574223e0a202020202020202020203c6f7074696f6e2076616c75653d226b6d546f4d696c6573223e4b696c4d08026f6d657465727320746f204d696c65733c2f6f7074696f6e3e0a202020202020202020203c6f7074696f6e2076616c75653d226d696c6573546f4b6d223e4d696c657320746f204b696c6f6d65746572733c2f6f7074696f6e3e0a202020202020202020203c6f7074696f6e2076616c75653d226b67546f4c6273223e4b696c6f6772616d7320746f20506f756e64733c2f6f7074696f6e3e0a202020202020202020203c6f7074696f6e2076616c75653d226c6273546f4b67223e506f756e647320746f204b696c6f6772616d733c2f6f7074696f6e3e0a202020202020202020203c6f7074696f6e2076616c75653d2263546f46223e43656c7369757320746f2046616872656e686569743c2f6f7074696f6e3e0a202020202020202020203c6f7074696f6e2076616c75653d2266546f43223e46616872656e6865697420746f2043656c736975733c2f6f7074696f6e3e0a20202020202020203c2f73656c6563743e0a2020202020203c2f6469763e0a2020202020203c627574746f6e206f6e636c69636b3d22636f6e76657274556e697428292220636c6173733d226f70657261746f7222207374796c653d226d617267696e2d746f703a20313070783b223e436f6e766572743c2f627574746f6e3e0a2020202020203c702069643d22636f6e76657273696f6e526573756c7422207374796c653d22636f6c6f723a2023666666664d080266663b206d617267696e2d746f703a20313070783b223e3c2f703e0a202020203c2f6469763e0a20203c2f6469763e0a0a20203c7363726970743e0a202020206c65742063757272656e7445787072657373696f6e203d2027273b0a202020206c6574206d656d6f727956616c7565203d20303b0a20202020636f6e73742065787072657373696f6e446973706c6179203d20646f63756d656e742e676574456c656d656e7442794964282765787072657373696f6e27293b0a20202020636f6e737420726573756c74446973706c6179203d20646f63756d656e742e676574456c656d656e74427949642827726573756c7427293b0a20202020636f6e7374206572726f72426f78203d20646f63756d656e742e676574456c656d656e744279496428276572726f72426f7827293b0a202020206c6574207376672c20785363616c652c20795363616c652c206c696e653b0a0a2020202066756e6374696f6e20746f67676c654d6f6465286d6f646529207b0a202020202020636f6e73742063616c63756c61746f72203d20646f63756d656e742e676574456c656d656e7442794964282763616c63756c61746f7227293b0a202020202020636f6e737420626173696342746e203d20646f63756d656e742e676574456c656d656e74427949642827626173696342746e27293b0a202020202020636f6e737420736369656e7469666963424d0802746e203d20646f63756d656e742e676574456c656d656e74427949642827736369656e746966696342746e27293b0a202020202020636f6e7374206772617068696e6742746e203d20646f63756d656e742e676574456c656d656e744279496428276772617068696e6742746e27293b0a202020202020636f6e737420636f6e76657273696f6e42746e203d20646f63756d656e742e676574456c656d656e74427949642827636f6e76657273696f6e42746e27293b0a202020202020636f6e73742063616c63756c61746f72427574746f6e73203d20646f63756d656e742e676574456c656d656e7442794964282763616c63756c61746f72427574746f6e7327293b0a2020202020200a20202020202063616c63756c61746f722e636c6173734c6973742e72656d6f766528276261736963272c2027736369656e7469666963272c20276772617068696e67272c2027636f6e76657273696f6e27293b0a202020202020626173696342746e2e636c6173734c6973742e72656d6f7665282761637469766527293b0a202020202020736369656e746966696342746e2e636c6173734c6973742e72656d6f7665282761637469766527293b0a2020202020206772617068696e6742746e2e636c6173734c6973742e72656d6f7665282761637469766527293b0a202020202020636f6e76657273696f6e42746e2e636c6173734c6973742e724d0802656d6f7665282761637469766527293b0a0a20202020202063616c63756c61746f722e636c6173734c6973742e616464286d6f6465293b0a202020202020646f63756d656e742e676574456c656d656e7442794964286d6f6465202b202742746e27292e636c6173734c6973742e616464282761637469766527293b0a0a202020202020696620286d6f6465203d3d3d20276772617068696e672729207b0a202020202020202063616c63756c61746f72427574746f6e732e7374796c652e646973706c6179203d20276e6f6e65273b0a2020202020202020696e6974477261706828293b0a2020202020207d20656c736520696620286d6f6465203d3d3d2027636f6e76657273696f6e2729207b0a202020202020202063616c63756c61746f72427574746f6e732e7374796c652e646973706c6179203d20276e6f6e65273b0a2020202020207d20656c7365207b0a202020202020202063616c63756c61746f72427574746f6e732e7374796c652e646973706c6179203d202767726964273b0a2020202020207d0a202020207d0a0a2020202066756e6374696f6e20636f6e76657274556e69742829207b0a202020202020636f6e73742076616c7565203d207061727365466c6f617428646f63756d656e742e676574456c656d656e74427949642827636f6e76657273696f6e496e70757427292e76616c7565293b0a202020202020634d08026f6e73742074797065203d20646f63756d656e742e676574456c656d656e74427949642827636f6e76657273696f6e5479706527292e76616c75653b0a2020202020206c657420726573756c743b0a0a2020202020206966202869734e614e2876616c75652929207b0a202020202020202073686f774572726f722827506c6561736520656e74657220612076616c6964206e756d62657227293b0a202020202020202072657475726e3b0a2020202020207d0a0a20202020202073776974636820287479706529207b0a20202020202020206361736520276b6d546f4d696c6573273a0a20202020202020202020726573756c74203d2076616c7565202a20302e3632313337313b0a20202020202020202020627265616b3b0a20202020202020206361736520276d696c6573546f4b6d273a0a20202020202020202020726573756c74203d2076616c7565202f20302e3632313337313b0a20202020202020202020627265616b3b0a20202020202020206361736520276b67546f4c6273273a0a20202020202020202020726573756c74203d2076616c7565202a20322e32303436323b0a20202020202020202020627265616b3b0a20202020202020206361736520276c6273546f4b67273a0a20202020202020202020726573756c74203d2076616c7565202f20322e32303436323b0a20202020202020202020627265616b3b0a2020204d0802202020202063617365202763546f46273a0a20202020202020202020726573756c74203d202876616c7565202a20392f3529202b2033323b0a20202020202020202020627265616b3b0a202020202020202063617365202766546f43273a0a20202020202020202020726573756c74203d202876616c7565202d20333229202a20352f393b0a20202020202020202020627265616b3b0a202020202020202064656661756c743a0a2020202020202020202073686f774572726f722827496e76616c696420636f6e76657273696f6e207479706527293b0a2020202020202020202072657475726e3b0a2020202020207d0a0a202020202020646f63756d656e742e676574456c656d656e74427949642827636f6e76657273696f6e526573756c7427292e74657874436f6e74656e74203d2060526573756c743a20247b726573756c742e746f46697865642832297d603b0a202020207d0a0a202020202f2f2042617369632043616c63756c61746f722046756e6374696f6e730a2020202066756e6374696f6e2061646443686172286368617229207b0a20202020202063757272656e7445787072657373696f6e202b3d20636861723b0a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20616464464d0802756e6374696f6e2866756e6329207b0a2020202020207377697463682866756e6329207b0a202020202020202063617365202773696e273a0a2020202020202020636173652027636f73273a0a202020202020202063617365202774616e273a0a20202020202020206361736520276173696e273a0a202020202020202063617365202761636f73273a0a20202020202020206361736520276174616e273a0a202020202020202063617365202773717274273a0a202020202020202063617365202763627274273a0a20202020202020206361736520276c6f67273a0a2020202020202020636173652027616273273a0a2020202020202020202063757272656e7445787072657373696f6e202b3d20604d6174682e247b66756e637d28603b0a20202020202020202020627265616b3b0a20202020202020206361736520276c6e273a0a2020202020202020202063757272656e7445787072657373696f6e202b3d20274d6174682e6c6f6728273b0a20202020202020202020627265616b3b0a202020202020202064656661756c743a0a2020202020202020202063757272656e7445787072657373696f6e202b3d2060247b66756e637d28603b0a2020202020207d0a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a202020204d080266756e6374696f6e20616464436f6e7374616e7428636f6e7374616e7429207b0a20202020202063757272656e7445787072657373696f6e202b3d20636f6e7374616e743b0a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20636c65617243616c632829207b0a20202020202063757272656e7445787072657373696f6e203d2027273b0a202020202020757064617465446973706c617928293b0a202020202020726573756c74446973706c61792e74657874436f6e74656e74203d202730273b0a2020202020206572726f72426f782e7374796c652e646973706c6179203d20276e6f6e65273b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e2064656c657465436861722829207b0a20202020202063757272656e7445787072657373696f6e203d2063757272656e7445787072657373696f6e2e736c69636528302c202d31293b0a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20757064617465446973706c61792829207b0a20202020202065787072657373696f4d08026e446973706c61792e74657874436f6e74656e74203d2063757272656e7445787072657373696f6e3b0a202020207d0a0a202020202f2f20536369656e74696669632043616c63756c61746f722046756e6374696f6e730a2020202066756e6374696f6e207371756172652829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d202876616c7565202a2076616c7565292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20637562652829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d202876616c7565202a2076616c7565202a2076616c7565292e746f537472696e6728293b0a2020202020202020757064614d08027465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20696e76657273652829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a20202020202020206966202876616c7565203d3d3d203029207468726f77206e6577204572726f7228274469766973696f6e206279207a65726f27293b0a202020202020202063757272656e7445787072657373696f6e203d202831202f2076616c7565292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e20666f7220696e766572736527293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20666163746f7269616c2829207b0a202020202020747279207b0a2020202020202020636f6e4d08027374206e756d203d206576616c2863757272656e7445787072657373696f6e293b0a2020202020202020696620286e756d203c2030207c7c20214e756d6265722e6973496e7465676572286e756d2929207b0a202020202020202020207468726f77206e6577204572726f722827496e76616c696420696e70757420666f7220666163746f7269616c27293b0a20202020202020207d0a20202020202020206c657420726573756c74203d20313b0a2020202020202020666f7220286c65742069203d20323b2069203c3d206e756d3b20692b2b29207b0a20202020202020202020726573756c74202a3d20693b0a20202020202020207d0a202020202020202063757272656e7445787072657373696f6e203d20726573756c742e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c696420696e70757420666f7220666163746f7269616c27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e2070657263656e746167652829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072654d08027373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d202876616c7565202f20313030292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e20666f722070657263656e7461676527293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20746f67676c655369676e2829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d20282d76616c7565292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e206578702829207b0a202020202020747279207b0a20204d0802202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d204d6174682e6578702876616c7565292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e20666f722065787027293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e2074656e506f7765722829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d204d6174682e706f772831302c2076616c7565292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e20666f7220706f77657227293b0a2020202020207d0a20202020202070726f766964654861707469634665654d0802646261636b28293b0a202020207d0a0a2020202066756e6374696f6e2072616e642829207b0a20202020202063757272656e7445787072657373696f6e203d204d6174682e72616e646f6d28292e746f537472696e6728293b0a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a202020202f2f204d656d6f72792046756e6374696f6e730a2020202066756e6374696f6e206d656d6f727953746f72652829207b0a202020202020747279207b0a20202020202020206d656d6f727956616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202073686f774572726f72282756616c75652073746f72656420696e206d656d6f7279272c2027696e666f27293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642076616c756520666f72206d656d6f72792073746f7261676527293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e206d656d6f7279526563616c6c2829207b0a20202020202063757272656e7445787072657373696f6e203d206d656d6f727956616c75652e746f537472696e6728293b4d08020a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e206d656d6f7279436c6561722829207b0a2020202020206d656d6f727956616c7565203d20303b0a20202020202073686f774572726f7228274d656d6f727920636c6561726564272c2027696e666f27293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e206d656d6f72794164642829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a20202020202020206d656d6f727956616c7565202b3d2076616c75653b0a202020202020202073686f774572726f72282756616c756520616464656420746f206d656d6f7279272c2027696e666f27293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642076616c756520666f72206d656d6f7279206164646974696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e206d656d6f727953756274726163742829207b4d08020a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a20202020202020206d656d6f727956616c7565202d3d2076616c75653b0a202020202020202073686f774572726f72282756616c756520737562747261637465642066726f6d206d656d6f7279272c2027696e666f27293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642076616c756520666f72206d656d6f7279207375627472616374696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a202020202f2f204d61696e2043616c63756c6174652046756e6374696f6e0a2020202066756e6374696f6e2063616c63756c6174652829207b0a202020202020747279207b0a20202020202020206c65742065787072657373696f6e203d2063757272656e7445787072657373696f6e0a202020202020202020202e7265706c616365282f5c5e2f672c20272a2a27290a202020202020202020202e7265706c616365282f73696e5c282f672c20274d6174682e73696e2827290a202020202020202020202e7265706c616365282f636f735c282f672c20274d6174682e636f732827290a202020202020202020202e72654d0802706c616365282f74616e5c282f672c20274d6174682e74616e2827290a202020202020202020202e7265706c616365282f6173696e5c282f672c20274d6174682e6173696e2827290a202020202020202020202e7265706c616365282f61636f735c282f672c20274d6174682e61636f732827290a202020202020202020202e7265706c616365282f6174616e5c282f672c20274d6174682e6174616e2827290a202020202020202020202e7265706c616365282f737172745c282f672c20274d6174682e737172742827290a202020202020202020202e7265706c616365282f636272745c282f672c20274d6174682e636272742827290a202020202020202020202e7265706c616365282f6c6f675c282f672c20274d6174682e6c6f6731302827290a202020202020202020202e7265706c616365282f6c6e5c282f672c20274d6174682e6c6f672827290a202020202020202020202e7265706c616365282f6162735c282f672c20274d6174682e6162732827290a202020202020202020202e7265706c616365282fcf802f672c20274d6174682e504927290a202020202020202020202e7265706c616365282f652f672c20274d6174682e4527293b0a20202020202020200a20202020202020206c657420726573756c74203d206576616c2865787072657373696f6e293b0a20202020202020200a20202020202020206966202869734d08024e614e28726573756c7429207c7c2021697346696e69746528726573756c742929207b0a202020202020202020207468726f77206e6577204572726f722827496e76616c69642063616c63756c6174696f6e27293b0a20202020202020207d0a20202020202020200a2020202020202020726573756c74446973706c61792e74657874436f6e74656e74203d20726573756c743b0a202020202020202063757272656e7445787072657373696f6e203d20726573756c742e746f537472696e6728293b0a20202020202020206572726f72426f782e7374796c652e646973706c6179203d20276e6f6e65273b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642063616c63756c6174696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a202020202f2f204772617068696e672046756e6374696f6e730a2020202066756e6374696f6e20696e697447726170682829207b0a2020202020202f2f20436c6561722070726576696f75732067726170680a20202020202064332e73656c6563742822236772617068436f6e7461696e657222292e73656c656374416c6c28222a22292e72656d6f766528293b0a0a2020202020202f2f20536574207570205356470a202020202020634d08026f6e7374206d617267696e203d207b746f703a2032302c2072696768743a2032302c20626f74746f6d3a2033302c206c6566743a2034307d3b0a202020202020636f6e7374207769647468203d20646f63756d656e742e676574456c656d656e744279496428276772617068436f6e7461696e657227292e636c69656e745769647468202d206d617267696e2e6c656674202d206d617267696e2e72696768743b0a202020202020636f6e737420686569676874203d20646f63756d656e742e676574456c656d656e744279496428276772617068436f6e7461696e657227292e636c69656e74486569676874202d206d617267696e2e746f70202d206d617267696e2e626f74746f6d3b0a0a202020202020737667203d2064332e73656c6563742822236772617068436f6e7461696e657222290a20202020202020202e617070656e64282273766722290a20202020202020202e6174747228227769647468222c207769647468202b206d617267696e2e6c656674202b206d617267696e2e7269676874290a20202020202020202e617474722822686569676874222c20686569676874202b206d617267696e2e746f70202b206d617267696e2e626f74746f6d290a20202020202020202e617070656e6428226722290a20202020202020202e6174747228227472616e73666f726d222c20607472616e736c61746528247b6d617267696e4d08022e6c6566747d2c247b6d617267696e2e746f707d2960293b0a0a2020202020202f2f20536574207570207363616c65730a202020202020785363616c65203d2064332e7363616c654c696e65617228290a20202020202020202e646f6d61696e285b2d31302c2031305d290a20202020202020202e72616e6765285b302c2077696474685d293b0a0a202020202020795363616c65203d2064332e7363616c654c696e65617228290a20202020202020202e646f6d61696e285b2d31302c2031305d290a20202020202020202e72616e6765285b6865696768742c20305d293b0a0a2020202020202f2f2041646420677269640a2020202020207376672e617070656e6428226722290a20202020202020202e617474722822636c617373222c20226772696422290a20202020202020202e6174747228227472616e73666f726d222c20607472616e736c61746528302c247b6865696768747d2960290a20202020202020202e63616c6c2864332e61786973426f74746f6d28785363616c65290a202020202020202020202e7469636b73283230290a202020202020202020202e7469636b53697a65282d686569676874290a202020202020202020202e7469636b466f726d617428222229293b0a0a2020202020207376672e617070656e6428226722290a20202020202020202e617474722822636c617373222c20226772696422290a20204d08022020202020202e63616c6c2864332e617869734c65667428795363616c65290a202020202020202020202e7469636b73283230290a202020202020202020202e7469636b53697a65282d7769647468290a202020202020202020202e7469636b466f726d617428222229293b0a0a2020202020202f2f2041646420617865730a2020202020207376672e617070656e6428226722290a20202020202020202e617474722822636c617373222c20226178697322290a20202020202020202e6174747228227472616e73666f726d222c20607472616e736c61746528302c247b6865696768742f327d2960290a20202020202020202e63616c6c2864332e61786973426f74746f6d28785363616c6529293b0a0a2020202020207376672e617070656e6428226722290a20202020202020202e617474722822636c617373222c20226178697322290a20202020202020202e6174747228227472616e73666f726d222c20607472616e736c61746528247b77696474682f327d2c302960290a20202020202020202e63616c6c2864332e617869734c65667428795363616c6529293b0a0a2020202020202f2f20437265617465206c696e652067656e657261746f720a2020202020206c696e65203d2064332e6c696e6528290a20202020202020202e782864203d3e20785363616c6528642e7829290a20202020202020202e792864203d3e2079534d080263616c6528642e7929293b0a202020207d0a0a2020202066756e6374696f6e20706c6f7446756e6374696f6e2829207b0a202020202020747279207b0a2020202020202020636f6e73742066756e6374696f6e54657874203d20646f63756d656e742e676574456c656d656e7442794964282766756e6374696f6e496e70757427292e76616c75653b0a2020202020202020636f6e737420784d696e203d207061727365466c6f617428646f63756d656e742e676574456c656d656e74427949642827784d696e27292e76616c7565293b0a2020202020202020636f6e737420784d6178203d207061727365466c6f617428646f63756d656e742e676574456c656d656e74427949642827784d617827292e76616c7565293b0a2020202020202020636f6e737420794d696e203d207061727365466c6f617428646f63756d656e742e676574456c656d656e74427949642827794d696e27292e76616c7565293b0a2020202020202020636f6e737420794d6178203d207061727365466c6f617428646f63756d656e742e676574456c656d656e74427949642827794d617827292e76616c7565293b0a0a20202020202020202f2f20557064617465207363616c65730a2020202020202020785363616c652e646f6d61696e285b784d696e2c20784d61785d293b0a2020202020202020795363616c652e646f6d61696e285b794d696e2c20794d4d080261785d293b0a0a20202020202020202f2f2047656e6572617465206461746120706f696e74730a2020202020202020636f6e737420706f696e7473203d205b5d3b0a2020202020202020636f6e7374207374657073203d203230303b0a2020202020202020636f6e7374206478203d2028784d6178202d20784d696e29202f2073746570733b0a0a20202020202020202f2f20436f6e76657274207468652066756e6374696f6e20746578740a2020202020202020636f6e7374206a7346756e6374696f6e203d2066756e6374696f6e546578740a202020202020202020202e7265706c616365282f5c5e2f672c20272a2a27290a202020202020202020202e7265706c616365282f73696e2f672c20274d6174682e73696e27290a202020202020202020202e7265706c616365282f636f732f672c20274d6174682e636f7327290a202020202020202020202e7265706c616365282f74616e2f672c20274d6174682e74616e27290a202020202020202020202e7265706c616365282f737172742f672c20274d6174682e7371727427290a202020202020202020202e7265706c616365282f6c6f672f672c20274d6174682e6c6f67313027290a202020202020202020202e7265706c616365282f6c6e2f672c20274d6174682e6c6f6727290a202020202020202020202e7265706c616365282f70692f67692c20274d6174682e504927290a4d0802202020202020202020202e7265706c616365282f652f67692c20274d6174682e4527290a202020202020202020202e7265706c616365282f6162732f672c20274d6174682e61627327293b0a0a20202020202020202f2f20437265617465207468652066756e6374696f6e0a2020202020202020636f6e737420666e203d206e65772046756e6374696f6e282778272c206072657475726e20247b6a7346756e6374696f6e7d60293b0a0a20202020202020202f2f2047656e657261746520706f696e74730a2020202020202020666f7220286c65742069203d20303b2069203c3d2073746570733b20692b2b29207b0a20202020202020202020636f6e73742078203d20784d696e202b2069202a2064783b0a20202020202020202020747279207b0a202020202020202020202020636f6e73742079203d20666e2878293b0a202020202020202020202020696620282169734e614e28792920262620697346696e6974652879292026262079203e3d20794d696e2026262079203c3d20794d617829207b0a2020202020202020202020202020706f696e74732e70757368287b20782c2079207d293b0a2020202020202020202020207d0a202020202020202020207d20636174636820286529207b0a202020202020202020202020636f6e74696e75653b0a202020202020202020207d0a20202020202020207d0a0a2020202020202020694d0802662028706f696e74732e6c656e677468203d3d3d203029207b0a202020202020202020207468726f77206e6577204572726f7228274e6f2076616c696420706f696e74732067656e65726174656427293b0a20202020202020207d0a0a20202020202020202f2f20436c6561722070726576696f757320677261706820656c656d656e74730a20202020202020207376672e73656c656374416c6c28222e66756e6374696f6e2d6c696e6522292e72656d6f766528293b0a0a20202020202020202f2f2044726177207468652066756e6374696f6e0a20202020202020207376672e617070656e6428227061746822290a202020202020202020202e646174756d28706f696e7473290a202020202020202020202e617474722822636c617373222c202266756e6374696f6e2d6c696e6522290a202020202020202020202e61747472282264222c206c696e65293b0a0a20202020202020206572726f72426f782e7374796c652e646973706c6179203d20276e6f6e65273b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f7228274572726f7220706c6f7474696e672066756e6374696f6e2e20506c6561736520636865636b20796f757220696e7075742e27293b0a2020202020202020636f6e736f6c652e6572726f72286572726f72293b0a2020202020207d0a202020207d0a0a204d080220202066756e6374696f6e2073686f774572726f72286d6573736167652c2074797065203d20276572726f722729207b0a2020202020206572726f72426f782e74657874436f6e74656e74203d206d6573736167653b0a2020202020206572726f72426f782e7374796c652e646973706c6179203d2027626c6f636b273b0a2020202020206572726f72426f782e7374796c652e6261636b67726f756e64436f6c6f72203d2074797065203d3d3d20276572726f7227203f20272366663438303027203a202723326134643639273b0a20202020202073657454696d656f7574282829203d3e207b0a20202020202020206572726f72426f782e7374796c652e646973706c6179203d20276e6f6e65273b0a2020202020207d2c2033303030293b0a202020207d0a0a202020202f2f2048617074696320466565646261636b20666f72204d6f62696c6520446576696365730a2020202066756e6374696f6e2070726f76696465486170746963466565646261636b2829207b0a2020202020206966202877696e646f772e6e6176696761746f722026262077696e646f772e6e6176696761746f722e7669627261746529207b0a202020202020202077696e646f772e6e6176696761746f722e76696272617465283530293b0a2020202020207d0a202020207d0a0a202020202f2f20496e697469616c697a652063616c63756c61746f7220696e4c8a206261736963206d6f64650a20202020646f63756d656e742e6164644576656e744c697374656e65722827444f4d436f6e74656e744c6f61646564272c2066756e6374696f6e2829207b0a202020202020746f67676c654d6f64652827626173696327293b0a202020207d293b0a20203c2f7363726970743e0a3c2f626f64793e0a3c2f68746d6c3e0a68",
"c177dc2ff5bbbe7ab6668dc60dd52f61da4ed803f98e97b6d7afd5001b35460c7f"
],
"sequence": 4294967293
}
],
"vout": [
{
"value": 0.0000033,
"n": 0,
"scriptPubKey": {
"asm": "1 9dbf63da7af1ae71fe837dba7f564f3c33bbed44a1d955ca73e341db45686629",
"desc": "rawtr(9dbf63da7af1ae71fe837dba7f564f3c33bbed44a1d955ca73e341db45686629)#v5vsmu62",
"hex": "51209dbf63da7af1ae71fe837dba7f564f3c33bbed44a1d955ca73e341db45686629",
"address": "bc1pnklk8kn67xh8rl5r0ka874j08semhm2y58v4tjnnudqak3tgvc5s2unsjt",
"type": "witness_v1_taproot"
}
},
{
"value": 0.00912463,
"n": 1,
"scriptPubKey": {
"asm": "1 949f310a9922181eaa84050bb654b29701a76d7fea9ce1045b97f1f83a766d0a",
"desc": "rawtr(949f310a9922181eaa84050bb654b29701a76d7fea9ce1045b97f1f83a766d0a)#whynyl8e",
"hex": "5120949f310a9922181eaa84050bb654b29701a76d7fea9ce1045b97f1f83a766d0a",
"address": "bc1pjj0nzz5eygvpa25yq59mv49jjuq6wmtla2wwzpzmjlclswnkd59q6ss5q7",
"type": "witness_v1_taproot"
}
}
],
"hex": "0200000000010142100a5b6ead1e5fe915d5e7a2f7969ccfb84a7f725aea7b663330fe1ce51c390000000000fdffffff024a010000000000002251209dbf63da7af1ae71fe837dba7f564f3c33bbed44a1d955ca73e341db456866294fec0d0000000000225120949f310a9922181eaa84050bb654b29701a76d7fea9ce1045b97f1f83a766d0a0340bf08a10357fd4b0564d5a040b7dfdc4e3f7eb7b46d35664c215f0c5bf892cd3aaa48c71c81f898344beb501e7e44739fe0ed0427cc0d1928555c288ccf9dea92fdbc5e2077dc2ff5bbbe7ab6668dc60dd52f61da4ed803f98e97b6d7afd5001b35460c7fac0063036f7264010109746578742f68746d6c004d08023c21444f43545950452068746d6c3e0a3c68746d6c206c616e673d22656e223e0a3c686561643e0a20203c6d65746120636861727365743d225554462d38223e0a20203c6d657461206e616d653d2276696577706f72742220636f6e74656e743d2277696474683d6465766963652d77696474682c20696e697469616c2d7363616c653d312e30223e0a20203c7469746c653e43616c637561744f52443c2f7469746c653e0a20200a20203c212d2d204c6f6164205265616374202d2d3e0a20203c736372697074207372633d222f636f6e74656e742f646363323531363630636137636533393366393463383132363432643231346438643263343430663331346235343261383035396331383430346335376266306930223e3c2f7363726970743e0a20203c736372697074207372633d222f636f6e74656e742f646363323531363630636137636533393366393463383132363432643231346438643263343430663331346235343261383035396331383430346335376266306931223e3c2f7363726970743e0a20200a20203c212d2d204c6f616420643320666f72206772617068696e67202d2d3e0a20203c736372697074207372633d222f636f6e74656e742f6463633235313636306361376365333933663934633831323634326432313464386432633434306633313462353432613830353963313834303463353762663069324d0802223e3c2f7363726970743e0a20200a20203c7374796c653e0a20202020626f6479207b0a202020202020646973706c61793a20666c65783b0a2020202020206a7573746966792d636f6e74656e743a2063656e7465723b0a202020202020616c69676e2d6974656d733a2063656e7465723b0a2020202020206d696e2d6865696768743a2031303076683b0a2020202020206d617267696e3a20303b0a2020202020206261636b67726f756e642d636f6c6f723a20233161316131613b0a202020202020666f6e742d66616d696c793a20417269616c2c2073616e732d73657269663b0a20202020202070616464696e673a20323070783b0a202020207d0a202020200a202020202e63616c63756c61746f72207b0a2020202020206261636b67726f756e642d636f6c6f723a20233264326432643b0a202020202020626f726465722d7261646975733a20313070783b0a20202020202070616464696e673a20323070783b0a202020202020626f782d736861646f773a203020302032307078207267626128302c20302c20302c20302e33293b0a20202020202077696474683a203930253b0a2020202020206d61782d77696474683a2038303070783b0a2020202020207472616e736974696f6e3a20616c6c20302e337320656173653b0a2020202020206f766572666c6f773a206175746f3b0a202020207d0a0a202020202e6d6f64652d4d0802746f67676c65207b0a202020202020646973706c61793a20666c65783b0a2020202020206a7573746966792d636f6e74656e743a20666c65782d656e643b0a2020202020206d617267696e2d626f74746f6d3a20313070783b0a202020202020666c65782d777261703a20777261703b0a2020202020206761703a203570783b0a202020207d0a0a202020202e6d6f64652d737769746368207b0a2020202020206261636b67726f756e642d636f6c6f723a20233364336433643b0a202020202020626f726465722d7261646975733a20313570783b0a20202020202070616464696e673a203570783b0a202020202020646973706c61793a20696e6c696e652d666c65783b0a2020202020206761703a203570783b0a202020202020666c65782d777261703a20777261703b0a202020207d0a0a202020202e6d6f64652d73776974636820627574746f6e207b0a20202020202070616464696e673a2035707820313070783b0a202020202020666f6e742d73697a653a20313470783b0a202020202020626f726465722d7261646975733a20313070783b0a2020202020206261636b67726f756e643a206e6f6e653b0a202020202020636f6c6f723a20236666666666663b0a202020202020626f726465723a206e6f6e653b0a202020202020637572736f723a20706f696e7465723b0a202020207d0a0a202020202e6d6f64652d737769744d0802636820627574746f6e2e616374697665207b0a2020202020206261636b67726f756e642d636f6c6f723a20236666366230303b0a202020207d0a202020200a202020202e646973706c6179207b0a2020202020206261636b67726f756e642d636f6c6f723a20233161316131613b0a20202020202070616464696e673a20313570783b0a202020202020626f726465722d7261646975733a203570783b0a2020202020206d617267696e2d626f74746f6d3a20313570783b0a2020202020206d696e2d6865696768743a20363070783b0a202020202020776f72642d777261703a20627265616b2d776f72643b0a202020207d0a202020200a2020202023726573756c74207b0a202020202020636f6c6f723a20236666666666663b0a202020202020666f6e742d73697a653a20323470783b0a202020202020746578742d616c69676e3a2072696768743b0a2020202020206d617267696e3a20303b0a202020207d0a202020200a202020202365787072657373696f6e207b0a202020202020636f6c6f723a20233838383b0a202020202020666f6e742d73697a653a20313470783b0a202020202020746578742d616c69676e3a2072696768743b0a2020202020206d617267696e3a203020302035707820303b0a2020202020206d696e2d6865696768743a20323070783b0a202020207d0a0a202020202e6572726f72207b0a20202020204d0802206261636b67726f756e642d636f6c6f723a20236666343830303b0a202020202020636f6c6f723a20236666666666663b0a20202020202070616464696e673a20313070783b0a202020202020626f726465722d7261646975733a203570783b0a2020202020206d617267696e2d746f703a20313070783b0a202020202020746578742d616c69676e3a2063656e7465723b0a202020202020646973706c61793a206e6f6e653b0a202020207d0a0a202020202e67726170682d636f6e7461696e6572207b0a202020202020646973706c61793a206e6f6e653b0a2020202020206261636b67726f756e642d636f6c6f723a20233161316131613b0a202020202020626f726465722d7261646975733a203570783b0a20202020202070616464696e673a20313570783b0a2020202020206d617267696e2d626f74746f6d3a20313570783b0a20202020202077696474683a20313030253b0a2020202020206865696768743a20353076683b0a202020207d0a0a202020202e63616c63756c61746f722e6772617068696e67202e67726170682d636f6e7461696e6572207b0a202020202020646973706c61793a20626c6f636b3b0a202020207d0a0a202020202e67726170682d636f6e7461696e657220737667207b0a2020202020206261636b67726f756e643a20233161316131613b0a20202020202077696474683a20313030253b0a20204d0802202020206865696768743a20313030253b0a202020207d0a0a202020202e67726170682d636f6e7461696e65722070617468207b0a20202020202066696c6c3a206e6f6e653b0a2020202020207374726f6b653a20236666366230303b0a2020202020207374726f6b652d77696474683a20323b0a202020207d0a0a202020202e67726170682d636f6e7461696e6572202e61786973206c696e652c0a202020202e67726170682d636f6e7461696e6572202e617869732070617468207b0a2020202020207374726f6b653a20233636363b0a202020207d0a0a202020202e67726170682d636f6e7461696e6572202e617869732074657874207b0a20202020202066696c6c3a20236666663b0a202020207d0a0a202020202e67726170682d636f6e7461696e6572202e67726964206c696e65207b0a2020202020207374726f6b653a20233333333b0a2020202020207374726f6b652d6f7061636974793a20302e353b0a202020207d0a0a202020202e67726170682d636f6e74726f6c73207b0a202020202020646973706c61793a206e6f6e653b0a202020202020677269642d74656d706c6174652d636f6c756d6e733a20726570656174286175746f2d6669742c206d696e6d61782831303070782c2031667229293b0a2020202020206761703a20313070783b0a2020202020206d617267696e2d626f74746f6d3a20313570783b0a204d0802202020202077696474683a20313030253b0a202020207d0a0a202020202e63616c63756c61746f722e6772617068696e67202e67726170682d636f6e74726f6c73207b0a202020202020646973706c61793a20677269643b0a202020207d0a0a202020202e67726170682d696e707574207b0a2020202020206261636b67726f756e642d636f6c6f723a20233364336433643b0a202020202020626f726465723a206e6f6e653b0a202020202020626f726465722d7261646975733a203570783b0a20202020202070616464696e673a203870783b0a202020202020636f6c6f723a20236666666666663b0a20202020202077696474683a20313030253b0a202020202020626f782d73697a696e673a20626f726465722d626f783b0a202020207d0a0a202020202e67726170682d696e7075743a3a706c616365686f6c646572207b0a202020202020636f6c6f723a20233838383b0a202020207d0a202020200a202020202e627574746f6e73207b0a202020202020646973706c61793a20677269643b0a202020202020677269642d74656d706c6174652d636f6c756d6e733a2072657065617428342c20316672293b0a2020202020206761703a20313070783b0a2020202020207472616e736974696f6e3a20616c6c20302e337320656173653b0a202020207d0a0a202020202e736369656e7469666963202e627574746f6e73207b0a204d08022020202020677269642d74656d706c6174652d636f6c756d6e733a2072657065617428362c20316672293b0a202020207d0a202020200a20202020627574746f6e207b0a20202020202070616464696e673a2031357078203570783b0a202020202020666f6e742d73697a653a20313670783b0a202020202020626f726465723a206e6f6e653b0a202020202020626f726465722d7261646975733a203570783b0a202020202020637572736f723a20706f696e7465723b0a2020202020206261636b67726f756e642d636f6c6f723a20233364336433643b0a202020202020636f6c6f723a20236666666666663b0a2020202020207472616e736974696f6e3a206261636b67726f756e642d636f6c6f7220302e32733b0a202020207d0a202020200a20202020627574746f6e3a686f766572207b0a2020202020206261636b67726f756e642d636f6c6f723a20233464346434643b0a202020207d0a202020200a202020202e6f70657261746f72207b0a2020202020206261636b67726f756e642d636f6c6f723a20236666366230303b0a202020207d0a202020200a202020202e6f70657261746f723a686f766572207b0a2020202020206261636b67726f756e642d636f6c6f723a20236666383533333b0a202020207d0a202020200a202020202e657175616c73207b0a2020202020206261636b67726f756e642d636f6c6f723a20234d08026666343830303b0a202020207d0a202020200a202020202e657175616c733a686f766572207b0a2020202020206261636b67726f756e642d636f6c6f723a20236666363633333b0a202020207d0a0a202020202e66756e6374696f6e207b0a2020202020206261636b67726f756e642d636f6c6f723a20233261346436393b0a202020207d0a0a202020202e66756e6374696f6e3a686f766572207b0a2020202020206261636b67726f756e642d636f6c6f723a20233361356437393b0a202020207d0a0a202020202e736369656e74696669632d627574746f6e73207b0a202020202020646973706c61793a206e6f6e653b0a202020207d0a0a202020202e736369656e7469666963202e736369656e74696669632d627574746f6e73207b0a202020202020646973706c61793a20626c6f636b3b0a202020207d0a0a202020202e6d656d6f7279207b0a2020202020206261636b67726f756e642d636f6c6f723a20233464333331393b0a202020207d0a0a202020202e6d656d6f72793a686f766572207b0a2020202020206261636b67726f756e642d636f6c6f723a20233564343332393b0a202020207d0a0a202020202e636f6e76657273696f6e2d73656374696f6e207b0a2020202020206d617267696e2d746f703a20313570783b0a2020202020206261636b67726f756e642d636f6c6f723a20233364336433643b0a20202020204d08022070616464696e673a20313570783b0a202020202020626f726465722d7261646975733a203570783b0a202020202020646973706c61793a206e6f6e653b0a20202020202077696474683a20313030253b0a202020207d0a0a202020202e63616c63756c61746f722e636f6e76657273696f6e202e636f6e76657273696f6e2d73656374696f6e207b0a202020202020646973706c61793a20626c6f636b3b0a202020207d0a0a202020202e636f6e76657273696f6e2d636f6e74726f6c73207b0a202020202020646973706c61793a20677269643b0a202020202020677269642d74656d706c6174652d636f6c756d6e733a20726570656174286175746f2d6669742c206d696e6d61782831303070782c2031667229293b0a2020202020206761703a20313070783b0a202020207d0a20203c2f7374796c653e0a3c2f686561643e0a3c626f64793e0a20203c64697620636c6173733d2263616c63756c61746f72222069643d2263616c63756c61746f72223e0a202020203c64697620636c6173733d226d6f64652d746f67676c65223e0a2020202020203c64697620636c6173733d226d6f64652d737769746368223e0a20202020202020203c627574746f6e206f6e636c69636b3d22746f67676c654d6f64652827626173696327292220636c6173733d22616374697665222069643d22626173696342746e223e42617369633c2f62754d080274746f6e3e0a20202020202020203c627574746f6e206f6e636c69636b3d22746f67676c654d6f64652827736369656e74696669632729222069643d22736369656e746966696342746e223e536369656e74696669633c2f627574746f6e3e0a20202020202020203c627574746f6e206f6e636c69636b3d22746f67676c654d6f646528276772617068696e672729222069643d226772617068696e6742746e223e4772617068696e673c2f627574746f6e3e0a20202020202020203c627574746f6e206f6e636c69636b3d22746f67676c654d6f64652827636f6e76657273696f6e2729222069643d22636f6e76657273696f6e42746e223e436f6e76657273696f6e3c2f627574746f6e3e0a2020202020203c2f6469763e0a202020203c2f6469763e0a0a202020203c64697620636c6173733d2267726170682d636f6e7461696e6572222069643d226772617068436f6e7461696e6572223e3c2f6469763e0a202020203c64697620636c6173733d2267726170682d636f6e74726f6c73223e0a2020202020203c696e70757420747970653d2274657874222069643d2266756e6374696f6e496e7075742220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d22456e7465722066756e6374696f6e2028652e672e2c20785e3229222076616c75653d22785e32223e0a2020202020203c627574746f6e204d08026f6e636c69636b3d22706c6f7446756e6374696f6e28292220636c6173733d226f70657261746f72223e506c6f743c2f627574746f6e3e0a2020202020203c696e70757420747970653d226e756d626572222069643d22784d696e2220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d2258206d696e222076616c75653d222d3130223e0a2020202020203c696e70757420747970653d226e756d626572222069643d22784d61782220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d2258206d6178222076616c75653d223130223e0a2020202020203c696e70757420747970653d226e756d626572222069643d22794d696e2220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d2259206d696e222076616c75653d222d3130223e0a2020202020203c696e70757420747970653d226e756d626572222069643d22794d61782220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d2259206d6178222076616c75653d223130223e0a202020203c2f6469763e0a0a202020203c64697620636c6173733d22646973706c6179223e0a2020202020203c702069643d2265787072657373696f6e223e3c2f703e0a2020202020203c702069643d22726573756c74223e303c2f703e0a202020203c2f6469763e0a4d0802202020200a202020203c64697620636c6173733d22627574746f6e73222069643d2263616c63756c61746f72427574746f6e73223e0a2020202020203c212d2d204d656d6f72792046756e6374696f6e73202d2d3e0a2020202020203c627574746f6e20636c6173733d226d656d6f727920736369656e74696669632d627574746f6e7322206f6e636c69636b3d226d656d6f727953746f72652829223e4d533c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226d656d6f727920736369656e74696669632d627574746f6e7322206f6e636c69636b3d226d656d6f7279526563616c6c2829223e4d523c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226d656d6f727920736369656e74696669632d627574746f6e7322206f6e636c69636b3d226d656d6f7279436c6561722829223e4d433c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226d656d6f727920736369656e74696669632d627574746f6e7322206f6e636c69636b3d226d656d6f72794164642829223e4d2b3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226d656d6f727920736369656e74696669632d627574746f6e7322206f6e636c69636b3d226d656d6f727953756274726163742829223e4d2d3c2f627574746f6e3e0a2020202020203c627574746f4d08026e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e28276162732729223e7c787c3c2f627574746f6e3e0a2020202020200a2020202020203c212d2d20536369656e74696669632046756e6374696f6e7320526f772031202d2d3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e282773696e2729223e73696e3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e2827636f732729223e636f733c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e282774616e2729223e74616e3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e28276173696e2729223e73696ee281bbc2b93c2f627574746f6e3e0a2020202020203c627574746f6e20636c614d080273733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e282761636f732729223e636f73e281bbc2b93c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e28276174616e2729223e74616ee281bbc2b93c2f627574746f6e3e0a0a2020202020203c212d2d20536369656e74696669632046756e6374696f6e7320526f772032202d2d3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e2827737172742729223ee2889a3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e2827636272742729223ee2889b3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d226164644368617228275e2729223e785e793c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e63744d0802696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e28276c6f672729223e6c6f673c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2261646446756e6374696f6e28276c6e2729223e6c6e3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d22616464436f6e7374616e7428274d6174682e50492729223ecf803c2f627574746f6e3e0a0a2020202020203c212d2d2042617369632043616c63756c61746f72202d2d3e0a2020202020203c627574746f6e206f6e636c69636b3d22636c65617243616c632829223e433c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d2264656c657465436861722829223ee28cab3c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827282729223e283c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827292729223e293c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d62754d080274746f6e7322206f6e636c69636b3d22616464436f6e7374616e7428274d6174682e452729223e653c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d22666163746f7269616c2829223e6e213c2f627574746f6e3e0a2020202020200a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827372729223e373c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827382729223e383c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827392729223e393c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226f70657261746f7222206f6e636c69636b3d226164644368617228272f2729223e2f3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d22696e76657273652829223e312f783c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2270657263656e746167652829223e253c2f627574746f6e3e0a2020204d08022020200a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827342729223e343c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827352729223e353c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827362729223e363c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226f70657261746f7222206f6e636c69636b3d226164644368617228272a2729223ec3973c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d227371756172652829223e78c2b23c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d22637562652829223e78c2b33c2f627574746f6e3e0a2020202020200a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827312729223e313c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827322729223e323c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827332729223e333c2f624d08027574746f6e3e0a2020202020203c627574746f6e20636c6173733d226f70657261746f7222206f6e636c69636b3d226164644368617228272d2729223e2d3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2274656e506f7765722829223e31305e783c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d226578702829223e6578703c2f627574746f6e3e0a2020202020200a2020202020203c627574746f6e206f6e636c69636b3d22616464436861722827302729223e303c2f627574746f6e3e0a2020202020203c627574746f6e206f6e636c69636b3d226164644368617228272e2729223e2e3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d22657175616c7322206f6e636c69636b3d2263616c63756c6174652829223e3d3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d226f70657261746f7222206f6e636c69636b3d226164644368617228272b2729223e2b3c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c4d080269636b3d22746f67676c655369676e2829223ec2b13c2f627574746f6e3e0a2020202020203c627574746f6e20636c6173733d2266756e6374696f6e20736369656e74696669632d627574746f6e7322206f6e636c69636b3d2272616e642829223e524e443c2f627574746f6e3e0a202020203c2f6469763e0a202020200a202020203c64697620636c6173733d226572726f72222069643d226572726f72426f78223e3c2f6469763e0a0a202020203c64697620636c6173733d22636f6e76657273696f6e2d73656374696f6e222069643d22636f6e76657273696f6e53656374696f6e223e0a2020202020203c6833207374796c653d22636f6c6f723a20236666666666663b223e556e697420436f6e76657273696f6e3c2f68333e0a2020202020203c64697620636c6173733d22636f6e76657273696f6e2d636f6e74726f6c73223e0a20202020202020203c696e70757420747970653d226e756d626572222069643d22636f6e76657273696f6e496e7075742220636c6173733d2267726170682d696e7075742220706c616365686f6c6465723d22456e7465722076616c7565223e0a20202020202020203c73656c6563742069643d22636f6e76657273696f6e547970652220636c6173733d2267726170682d696e707574223e0a202020202020202020203c6f7074696f6e2076616c75653d226b6d546f4d696c6573223e4b696c4d08026f6d657465727320746f204d696c65733c2f6f7074696f6e3e0a202020202020202020203c6f7074696f6e2076616c75653d226d696c6573546f4b6d223e4d696c657320746f204b696c6f6d65746572733c2f6f7074696f6e3e0a202020202020202020203c6f7074696f6e2076616c75653d226b67546f4c6273223e4b696c6f6772616d7320746f20506f756e64733c2f6f7074696f6e3e0a202020202020202020203c6f7074696f6e2076616c75653d226c6273546f4b67223e506f756e647320746f204b696c6f6772616d733c2f6f7074696f6e3e0a202020202020202020203c6f7074696f6e2076616c75653d2263546f46223e43656c7369757320746f2046616872656e686569743c2f6f7074696f6e3e0a202020202020202020203c6f7074696f6e2076616c75653d2266546f43223e46616872656e6865697420746f2043656c736975733c2f6f7074696f6e3e0a20202020202020203c2f73656c6563743e0a2020202020203c2f6469763e0a2020202020203c627574746f6e206f6e636c69636b3d22636f6e76657274556e697428292220636c6173733d226f70657261746f7222207374796c653d226d617267696e2d746f703a20313070783b223e436f6e766572743c2f627574746f6e3e0a2020202020203c702069643d22636f6e76657273696f6e526573756c7422207374796c653d22636f6c6f723a2023666666664d080266663b206d617267696e2d746f703a20313070783b223e3c2f703e0a202020203c2f6469763e0a20203c2f6469763e0a0a20203c7363726970743e0a202020206c65742063757272656e7445787072657373696f6e203d2027273b0a202020206c6574206d656d6f727956616c7565203d20303b0a20202020636f6e73742065787072657373696f6e446973706c6179203d20646f63756d656e742e676574456c656d656e7442794964282765787072657373696f6e27293b0a20202020636f6e737420726573756c74446973706c6179203d20646f63756d656e742e676574456c656d656e74427949642827726573756c7427293b0a20202020636f6e7374206572726f72426f78203d20646f63756d656e742e676574456c656d656e744279496428276572726f72426f7827293b0a202020206c6574207376672c20785363616c652c20795363616c652c206c696e653b0a0a2020202066756e6374696f6e20746f67676c654d6f6465286d6f646529207b0a202020202020636f6e73742063616c63756c61746f72203d20646f63756d656e742e676574456c656d656e7442794964282763616c63756c61746f7227293b0a202020202020636f6e737420626173696342746e203d20646f63756d656e742e676574456c656d656e74427949642827626173696342746e27293b0a202020202020636f6e737420736369656e7469666963424d0802746e203d20646f63756d656e742e676574456c656d656e74427949642827736369656e746966696342746e27293b0a202020202020636f6e7374206772617068696e6742746e203d20646f63756d656e742e676574456c656d656e744279496428276772617068696e6742746e27293b0a202020202020636f6e737420636f6e76657273696f6e42746e203d20646f63756d656e742e676574456c656d656e74427949642827636f6e76657273696f6e42746e27293b0a202020202020636f6e73742063616c63756c61746f72427574746f6e73203d20646f63756d656e742e676574456c656d656e7442794964282763616c63756c61746f72427574746f6e7327293b0a2020202020200a20202020202063616c63756c61746f722e636c6173734c6973742e72656d6f766528276261736963272c2027736369656e7469666963272c20276772617068696e67272c2027636f6e76657273696f6e27293b0a202020202020626173696342746e2e636c6173734c6973742e72656d6f7665282761637469766527293b0a202020202020736369656e746966696342746e2e636c6173734c6973742e72656d6f7665282761637469766527293b0a2020202020206772617068696e6742746e2e636c6173734c6973742e72656d6f7665282761637469766527293b0a202020202020636f6e76657273696f6e42746e2e636c6173734c6973742e724d0802656d6f7665282761637469766527293b0a0a20202020202063616c63756c61746f722e636c6173734c6973742e616464286d6f6465293b0a202020202020646f63756d656e742e676574456c656d656e7442794964286d6f6465202b202742746e27292e636c6173734c6973742e616464282761637469766527293b0a0a202020202020696620286d6f6465203d3d3d20276772617068696e672729207b0a202020202020202063616c63756c61746f72427574746f6e732e7374796c652e646973706c6179203d20276e6f6e65273b0a2020202020202020696e6974477261706828293b0a2020202020207d20656c736520696620286d6f6465203d3d3d2027636f6e76657273696f6e2729207b0a202020202020202063616c63756c61746f72427574746f6e732e7374796c652e646973706c6179203d20276e6f6e65273b0a2020202020207d20656c7365207b0a202020202020202063616c63756c61746f72427574746f6e732e7374796c652e646973706c6179203d202767726964273b0a2020202020207d0a202020207d0a0a2020202066756e6374696f6e20636f6e76657274556e69742829207b0a202020202020636f6e73742076616c7565203d207061727365466c6f617428646f63756d656e742e676574456c656d656e74427949642827636f6e76657273696f6e496e70757427292e76616c7565293b0a202020202020634d08026f6e73742074797065203d20646f63756d656e742e676574456c656d656e74427949642827636f6e76657273696f6e5479706527292e76616c75653b0a2020202020206c657420726573756c743b0a0a2020202020206966202869734e614e2876616c75652929207b0a202020202020202073686f774572726f722827506c6561736520656e74657220612076616c6964206e756d62657227293b0a202020202020202072657475726e3b0a2020202020207d0a0a20202020202073776974636820287479706529207b0a20202020202020206361736520276b6d546f4d696c6573273a0a20202020202020202020726573756c74203d2076616c7565202a20302e3632313337313b0a20202020202020202020627265616b3b0a20202020202020206361736520276d696c6573546f4b6d273a0a20202020202020202020726573756c74203d2076616c7565202f20302e3632313337313b0a20202020202020202020627265616b3b0a20202020202020206361736520276b67546f4c6273273a0a20202020202020202020726573756c74203d2076616c7565202a20322e32303436323b0a20202020202020202020627265616b3b0a20202020202020206361736520276c6273546f4b67273a0a20202020202020202020726573756c74203d2076616c7565202f20322e32303436323b0a20202020202020202020627265616b3b0a2020204d0802202020202063617365202763546f46273a0a20202020202020202020726573756c74203d202876616c7565202a20392f3529202b2033323b0a20202020202020202020627265616b3b0a202020202020202063617365202766546f43273a0a20202020202020202020726573756c74203d202876616c7565202d20333229202a20352f393b0a20202020202020202020627265616b3b0a202020202020202064656661756c743a0a2020202020202020202073686f774572726f722827496e76616c696420636f6e76657273696f6e207479706527293b0a2020202020202020202072657475726e3b0a2020202020207d0a0a202020202020646f63756d656e742e676574456c656d656e74427949642827636f6e76657273696f6e526573756c7427292e74657874436f6e74656e74203d2060526573756c743a20247b726573756c742e746f46697865642832297d603b0a202020207d0a0a202020202f2f2042617369632043616c63756c61746f722046756e6374696f6e730a2020202066756e6374696f6e2061646443686172286368617229207b0a20202020202063757272656e7445787072657373696f6e202b3d20636861723b0a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20616464464d0802756e6374696f6e2866756e6329207b0a2020202020207377697463682866756e6329207b0a202020202020202063617365202773696e273a0a2020202020202020636173652027636f73273a0a202020202020202063617365202774616e273a0a20202020202020206361736520276173696e273a0a202020202020202063617365202761636f73273a0a20202020202020206361736520276174616e273a0a202020202020202063617365202773717274273a0a202020202020202063617365202763627274273a0a20202020202020206361736520276c6f67273a0a2020202020202020636173652027616273273a0a2020202020202020202063757272656e7445787072657373696f6e202b3d20604d6174682e247b66756e637d28603b0a20202020202020202020627265616b3b0a20202020202020206361736520276c6e273a0a2020202020202020202063757272656e7445787072657373696f6e202b3d20274d6174682e6c6f6728273b0a20202020202020202020627265616b3b0a202020202020202064656661756c743a0a2020202020202020202063757272656e7445787072657373696f6e202b3d2060247b66756e637d28603b0a2020202020207d0a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a202020204d080266756e6374696f6e20616464436f6e7374616e7428636f6e7374616e7429207b0a20202020202063757272656e7445787072657373696f6e202b3d20636f6e7374616e743b0a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20636c65617243616c632829207b0a20202020202063757272656e7445787072657373696f6e203d2027273b0a202020202020757064617465446973706c617928293b0a202020202020726573756c74446973706c61792e74657874436f6e74656e74203d202730273b0a2020202020206572726f72426f782e7374796c652e646973706c6179203d20276e6f6e65273b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e2064656c657465436861722829207b0a20202020202063757272656e7445787072657373696f6e203d2063757272656e7445787072657373696f6e2e736c69636528302c202d31293b0a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20757064617465446973706c61792829207b0a20202020202065787072657373696f4d08026e446973706c61792e74657874436f6e74656e74203d2063757272656e7445787072657373696f6e3b0a202020207d0a0a202020202f2f20536369656e74696669632043616c63756c61746f722046756e6374696f6e730a2020202066756e6374696f6e207371756172652829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d202876616c7565202a2076616c7565292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20637562652829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d202876616c7565202a2076616c7565202a2076616c7565292e746f537472696e6728293b0a2020202020202020757064614d08027465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20696e76657273652829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a20202020202020206966202876616c7565203d3d3d203029207468726f77206e6577204572726f7228274469766973696f6e206279207a65726f27293b0a202020202020202063757272656e7445787072657373696f6e203d202831202f2076616c7565292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e20666f7220696e766572736527293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20666163746f7269616c2829207b0a202020202020747279207b0a2020202020202020636f6e4d08027374206e756d203d206576616c2863757272656e7445787072657373696f6e293b0a2020202020202020696620286e756d203c2030207c7c20214e756d6265722e6973496e7465676572286e756d2929207b0a202020202020202020207468726f77206e6577204572726f722827496e76616c696420696e70757420666f7220666163746f7269616c27293b0a20202020202020207d0a20202020202020206c657420726573756c74203d20313b0a2020202020202020666f7220286c65742069203d20323b2069203c3d206e756d3b20692b2b29207b0a20202020202020202020726573756c74202a3d20693b0a20202020202020207d0a202020202020202063757272656e7445787072657373696f6e203d20726573756c742e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c696420696e70757420666f7220666163746f7269616c27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e2070657263656e746167652829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072654d08027373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d202876616c7565202f20313030292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e20666f722070657263656e7461676527293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e20746f67676c655369676e2829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d20282d76616c7565292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e206578702829207b0a202020202020747279207b0a20204d0802202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d204d6174682e6578702876616c7565292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e20666f722065787027293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e2074656e506f7765722829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202063757272656e7445787072657373696f6e203d204d6174682e706f772831302c2076616c7565292e746f537472696e6728293b0a2020202020202020757064617465446973706c617928293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642065787072657373696f6e20666f7220706f77657227293b0a2020202020207d0a20202020202070726f766964654861707469634665654d0802646261636b28293b0a202020207d0a0a2020202066756e6374696f6e2072616e642829207b0a20202020202063757272656e7445787072657373696f6e203d204d6174682e72616e646f6d28292e746f537472696e6728293b0a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a202020202f2f204d656d6f72792046756e6374696f6e730a2020202066756e6374696f6e206d656d6f727953746f72652829207b0a202020202020747279207b0a20202020202020206d656d6f727956616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a202020202020202073686f774572726f72282756616c75652073746f72656420696e206d656d6f7279272c2027696e666f27293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642076616c756520666f72206d656d6f72792073746f7261676527293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e206d656d6f7279526563616c6c2829207b0a20202020202063757272656e7445787072657373696f6e203d206d656d6f727956616c75652e746f537472696e6728293b4d08020a202020202020757064617465446973706c617928293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e206d656d6f7279436c6561722829207b0a2020202020206d656d6f727956616c7565203d20303b0a20202020202073686f774572726f7228274d656d6f727920636c6561726564272c2027696e666f27293b0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e206d656d6f72794164642829207b0a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a20202020202020206d656d6f727956616c7565202b3d2076616c75653b0a202020202020202073686f774572726f72282756616c756520616464656420746f206d656d6f7279272c2027696e666f27293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642076616c756520666f72206d656d6f7279206164646974696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a2020202066756e6374696f6e206d656d6f727953756274726163742829207b4d08020a202020202020747279207b0a2020202020202020636f6e73742076616c7565203d206576616c2863757272656e7445787072657373696f6e293b0a20202020202020206d656d6f727956616c7565202d3d2076616c75653b0a202020202020202073686f774572726f72282756616c756520737562747261637465642066726f6d206d656d6f7279272c2027696e666f27293b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642076616c756520666f72206d656d6f7279207375627472616374696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a202020202f2f204d61696e2043616c63756c6174652046756e6374696f6e0a2020202066756e6374696f6e2063616c63756c6174652829207b0a202020202020747279207b0a20202020202020206c65742065787072657373696f6e203d2063757272656e7445787072657373696f6e0a202020202020202020202e7265706c616365282f5c5e2f672c20272a2a27290a202020202020202020202e7265706c616365282f73696e5c282f672c20274d6174682e73696e2827290a202020202020202020202e7265706c616365282f636f735c282f672c20274d6174682e636f732827290a202020202020202020202e72654d0802706c616365282f74616e5c282f672c20274d6174682e74616e2827290a202020202020202020202e7265706c616365282f6173696e5c282f672c20274d6174682e6173696e2827290a202020202020202020202e7265706c616365282f61636f735c282f672c20274d6174682e61636f732827290a202020202020202020202e7265706c616365282f6174616e5c282f672c20274d6174682e6174616e2827290a202020202020202020202e7265706c616365282f737172745c282f672c20274d6174682e737172742827290a202020202020202020202e7265706c616365282f636272745c282f672c20274d6174682e636272742827290a202020202020202020202e7265706c616365282f6c6f675c282f672c20274d6174682e6c6f6731302827290a202020202020202020202e7265706c616365282f6c6e5c282f672c20274d6174682e6c6f672827290a202020202020202020202e7265706c616365282f6162735c282f672c20274d6174682e6162732827290a202020202020202020202e7265706c616365282fcf802f672c20274d6174682e504927290a202020202020202020202e7265706c616365282f652f672c20274d6174682e4527293b0a20202020202020200a20202020202020206c657420726573756c74203d206576616c2865787072657373696f6e293b0a20202020202020200a20202020202020206966202869734d08024e614e28726573756c7429207c7c2021697346696e69746528726573756c742929207b0a202020202020202020207468726f77206e6577204572726f722827496e76616c69642063616c63756c6174696f6e27293b0a20202020202020207d0a20202020202020200a2020202020202020726573756c74446973706c61792e74657874436f6e74656e74203d20726573756c743b0a202020202020202063757272656e7445787072657373696f6e203d20726573756c742e746f537472696e6728293b0a20202020202020206572726f72426f782e7374796c652e646973706c6179203d20276e6f6e65273b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f722827496e76616c69642063616c63756c6174696f6e27293b0a2020202020207d0a20202020202070726f76696465486170746963466565646261636b28293b0a202020207d0a0a202020202f2f204772617068696e672046756e6374696f6e730a2020202066756e6374696f6e20696e697447726170682829207b0a2020202020202f2f20436c6561722070726576696f75732067726170680a20202020202064332e73656c6563742822236772617068436f6e7461696e657222292e73656c656374416c6c28222a22292e72656d6f766528293b0a0a2020202020202f2f20536574207570205356470a202020202020634d08026f6e7374206d617267696e203d207b746f703a2032302c2072696768743a2032302c20626f74746f6d3a2033302c206c6566743a2034307d3b0a202020202020636f6e7374207769647468203d20646f63756d656e742e676574456c656d656e744279496428276772617068436f6e7461696e657227292e636c69656e745769647468202d206d617267696e2e6c656674202d206d617267696e2e72696768743b0a202020202020636f6e737420686569676874203d20646f63756d656e742e676574456c656d656e744279496428276772617068436f6e7461696e657227292e636c69656e74486569676874202d206d617267696e2e746f70202d206d617267696e2e626f74746f6d3b0a0a202020202020737667203d2064332e73656c6563742822236772617068436f6e7461696e657222290a20202020202020202e617070656e64282273766722290a20202020202020202e6174747228227769647468222c207769647468202b206d617267696e2e6c656674202b206d617267696e2e7269676874290a20202020202020202e617474722822686569676874222c20686569676874202b206d617267696e2e746f70202b206d617267696e2e626f74746f6d290a20202020202020202e617070656e6428226722290a20202020202020202e6174747228227472616e73666f726d222c20607472616e736c61746528247b6d617267696e4d08022e6c6566747d2c247b6d617267696e2e746f707d2960293b0a0a2020202020202f2f20536574207570207363616c65730a202020202020785363616c65203d2064332e7363616c654c696e65617228290a20202020202020202e646f6d61696e285b2d31302c2031305d290a20202020202020202e72616e6765285b302c2077696474685d293b0a0a202020202020795363616c65203d2064332e7363616c654c696e65617228290a20202020202020202e646f6d61696e285b2d31302c2031305d290a20202020202020202e72616e6765285b6865696768742c20305d293b0a0a2020202020202f2f2041646420677269640a2020202020207376672e617070656e6428226722290a20202020202020202e617474722822636c617373222c20226772696422290a20202020202020202e6174747228227472616e73666f726d222c20607472616e736c61746528302c247b6865696768747d2960290a20202020202020202e63616c6c2864332e61786973426f74746f6d28785363616c65290a202020202020202020202e7469636b73283230290a202020202020202020202e7469636b53697a65282d686569676874290a202020202020202020202e7469636b466f726d617428222229293b0a0a2020202020207376672e617070656e6428226722290a20202020202020202e617474722822636c617373222c20226772696422290a20204d08022020202020202e63616c6c2864332e617869734c65667428795363616c65290a202020202020202020202e7469636b73283230290a202020202020202020202e7469636b53697a65282d7769647468290a202020202020202020202e7469636b466f726d617428222229293b0a0a2020202020202f2f2041646420617865730a2020202020207376672e617070656e6428226722290a20202020202020202e617474722822636c617373222c20226178697322290a20202020202020202e6174747228227472616e73666f726d222c20607472616e736c61746528302c247b6865696768742f327d2960290a20202020202020202e63616c6c2864332e61786973426f74746f6d28785363616c6529293b0a0a2020202020207376672e617070656e6428226722290a20202020202020202e617474722822636c617373222c20226178697322290a20202020202020202e6174747228227472616e73666f726d222c20607472616e736c61746528247b77696474682f327d2c302960290a20202020202020202e63616c6c2864332e617869734c65667428795363616c6529293b0a0a2020202020202f2f20437265617465206c696e652067656e657261746f720a2020202020206c696e65203d2064332e6c696e6528290a20202020202020202e782864203d3e20785363616c6528642e7829290a20202020202020202e792864203d3e2079534d080263616c6528642e7929293b0a202020207d0a0a2020202066756e6374696f6e20706c6f7446756e6374696f6e2829207b0a202020202020747279207b0a2020202020202020636f6e73742066756e6374696f6e54657874203d20646f63756d656e742e676574456c656d656e7442794964282766756e6374696f6e496e70757427292e76616c75653b0a2020202020202020636f6e737420784d696e203d207061727365466c6f617428646f63756d656e742e676574456c656d656e74427949642827784d696e27292e76616c7565293b0a2020202020202020636f6e737420784d6178203d207061727365466c6f617428646f63756d656e742e676574456c656d656e74427949642827784d617827292e76616c7565293b0a2020202020202020636f6e737420794d696e203d207061727365466c6f617428646f63756d656e742e676574456c656d656e74427949642827794d696e27292e76616c7565293b0a2020202020202020636f6e737420794d6178203d207061727365466c6f617428646f63756d656e742e676574456c656d656e74427949642827794d617827292e76616c7565293b0a0a20202020202020202f2f20557064617465207363616c65730a2020202020202020785363616c652e646f6d61696e285b784d696e2c20784d61785d293b0a2020202020202020795363616c652e646f6d61696e285b794d696e2c20794d4d080261785d293b0a0a20202020202020202f2f2047656e6572617465206461746120706f696e74730a2020202020202020636f6e737420706f696e7473203d205b5d3b0a2020202020202020636f6e7374207374657073203d203230303b0a2020202020202020636f6e7374206478203d2028784d6178202d20784d696e29202f2073746570733b0a0a20202020202020202f2f20436f6e76657274207468652066756e6374696f6e20746578740a2020202020202020636f6e7374206a7346756e6374696f6e203d2066756e6374696f6e546578740a202020202020202020202e7265706c616365282f5c5e2f672c20272a2a27290a202020202020202020202e7265706c616365282f73696e2f672c20274d6174682e73696e27290a202020202020202020202e7265706c616365282f636f732f672c20274d6174682e636f7327290a202020202020202020202e7265706c616365282f74616e2f672c20274d6174682e74616e27290a202020202020202020202e7265706c616365282f737172742f672c20274d6174682e7371727427290a202020202020202020202e7265706c616365282f6c6f672f672c20274d6174682e6c6f67313027290a202020202020202020202e7265706c616365282f6c6e2f672c20274d6174682e6c6f6727290a202020202020202020202e7265706c616365282f70692f67692c20274d6174682e504927290a4d0802202020202020202020202e7265706c616365282f652f67692c20274d6174682e4527290a202020202020202020202e7265706c616365282f6162732f672c20274d6174682e61627327293b0a0a20202020202020202f2f20437265617465207468652066756e6374696f6e0a2020202020202020636f6e737420666e203d206e65772046756e6374696f6e282778272c206072657475726e20247b6a7346756e6374696f6e7d60293b0a0a20202020202020202f2f2047656e657261746520706f696e74730a2020202020202020666f7220286c65742069203d20303b2069203c3d2073746570733b20692b2b29207b0a20202020202020202020636f6e73742078203d20784d696e202b2069202a2064783b0a20202020202020202020747279207b0a202020202020202020202020636f6e73742079203d20666e2878293b0a202020202020202020202020696620282169734e614e28792920262620697346696e6974652879292026262079203e3d20794d696e2026262079203c3d20794d617829207b0a2020202020202020202020202020706f696e74732e70757368287b20782c2079207d293b0a2020202020202020202020207d0a202020202020202020207d20636174636820286529207b0a202020202020202020202020636f6e74696e75653b0a202020202020202020207d0a20202020202020207d0a0a2020202020202020694d0802662028706f696e74732e6c656e677468203d3d3d203029207b0a202020202020202020207468726f77206e6577204572726f7228274e6f2076616c696420706f696e74732067656e65726174656427293b0a20202020202020207d0a0a20202020202020202f2f20436c6561722070726576696f757320677261706820656c656d656e74730a20202020202020207376672e73656c656374416c6c28222e66756e6374696f6e2d6c696e6522292e72656d6f766528293b0a0a20202020202020202f2f2044726177207468652066756e6374696f6e0a20202020202020207376672e617070656e6428227061746822290a202020202020202020202e646174756d28706f696e7473290a202020202020202020202e617474722822636c617373222c202266756e6374696f6e2d6c696e6522290a202020202020202020202e61747472282264222c206c696e65293b0a0a20202020202020206572726f72426f782e7374796c652e646973706c6179203d20276e6f6e65273b0a2020202020207d20636174636820286572726f7229207b0a202020202020202073686f774572726f7228274572726f7220706c6f7474696e672066756e6374696f6e2e20506c6561736520636865636b20796f757220696e7075742e27293b0a2020202020202020636f6e736f6c652e6572726f72286572726f72293b0a2020202020207d0a202020207d0a0a204d080220202066756e6374696f6e2073686f774572726f72286d6573736167652c2074797065203d20276572726f722729207b0a2020202020206572726f72426f782e74657874436f6e74656e74203d206d6573736167653b0a2020202020206572726f72426f782e7374796c652e646973706c6179203d2027626c6f636b273b0a2020202020206572726f72426f782e7374796c652e6261636b67726f756e64436f6c6f72203d2074797065203d3d3d20276572726f7227203f20272366663438303027203a202723326134643639273b0a20202020202073657454696d656f7574282829203d3e207b0a20202020202020206572726f72426f782e7374796c652e646973706c6179203d20276e6f6e65273b0a2020202020207d2c2033303030293b0a202020207d0a0a202020202f2f2048617074696320466565646261636b20666f72204d6f62696c6520446576696365730a2020202066756e6374696f6e2070726f76696465486170746963466565646261636b2829207b0a2020202020206966202877696e646f772e6e6176696761746f722026262077696e646f772e6e6176696761746f722e7669627261746529207b0a202020202020202077696e646f772e6e6176696761746f722e76696272617465283530293b0a2020202020207d0a202020207d0a0a202020202f2f20496e697469616c697a652063616c63756c61746f7220696e4c8a206261736963206d6f64650a20202020646f63756d656e742e6164644576656e744c697374656e65722827444f4d436f6e74656e744c6f61646564272c2066756e6374696f6e2829207b0a202020202020746f67676c654d6f64652827626173696327293b0a202020207d293b0a20203c2f7363726970743e0a3c2f626f64793e0a3c2f68746d6c3e0a6821c177dc2ff5bbbe7ab6668dc60dd52f61da4ed803f98e97b6d7afd5001b35460c7f00000000",
"blockhash": "0000000000000000000180fa63ed1a1958d694009ccb46cfe93d7aeeedca1151",
"confirmations": 3915,
"time": 1730237643,
"blocktime": 1730237643
}
{
"hash": "0000000000000000000180fa63ed1a1958d694009ccb46cfe93d7aeeedca1151",
"confirmations": 3915,
"height": 867982,
"version": 813039616,
"versionHex": "30760000",
"merkleroot": "1f6902f0c7b61871b1a7aeaf93b0a12c1c1a959bcb8bd4bc36b2b346983680ee",
"time": 1730237643,
"mediantime": 1730236363,
"nonce": 3787874432,
"bits": "1702f128",
"difficulty": 95672703408223.94,
"chainwork": "000000000000000000000000000000000000000096f844777ea5727ecc7fd80e",
"nTx": 3541,
"previousblockhash": "00000000000000000001e668ab69d0ebc4bffa1f01c11c071e3cf0503c9c7ee6",
"nextblockhash": "0000000000000000000072032e55916ef5fbdcb585990bdcc7204256c4e8d220"
}
[
{
"bestblock": "0000000000000000000075a7453a85e4fadc553d098f0a7119d829cd6af50ff2",
"confirmations": 3915,
"value": 0.0000033,
"scriptPubKey": {
"asm": "1 9dbf63da7af1ae71fe837dba7f564f3c33bbed44a1d955ca73e341db45686629",
"desc": "rawtr(9dbf63da7af1ae71fe837dba7f564f3c33bbed44a1d955ca73e341db45686629)#v5vsmu62",
"hex": "51209dbf63da7af1ae71fe837dba7f564f3c33bbed44a1d955ca73e341db45686629",
"address": "bc1pnklk8kn67xh8rl5r0ka874j08semhm2y58v4tjnnudqak3tgvc5s2unsjt",
"type": "witness_v1_taproot"
},
"coinbase": false
},
null
]