1use crate::jet::type_name::TypeName;
4use crate::jet::Jet;
5use crate::merkle::cmr::Cmr;
6use crate::decode_bits;
7use crate::{decode, BitIter, BitWriter};
8use crate::analysis::Cost;
9use simplicity_sys::CFrameItem;
10use std::io::Write;
11use std::{fmt, str};
12use simplicity_sys::CElementsTxEnv;
13
14#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)]
16pub enum Elements {
17 Add16,
18 Add32,
19 Add64,
20 Add8,
21 All16,
22 All32,
23 All64,
24 All8,
25 And1,
26 And16,
27 And32,
28 And64,
29 And8,
30 AnnexHash,
31 AssetAmountHash,
32 Bip0340Verify,
33 BrokenDoNotUseCheckLockDistance,
34 BrokenDoNotUseCheckLockDuration,
35 BrokenDoNotUseTxLockDistance,
36 BrokenDoNotUseTxLockDuration,
37 BuildTapbranch,
38 BuildTapleafSimplicity,
39 BuildTaptweak,
40 CalculateAsset,
41 CalculateConfidentialToken,
42 CalculateExplicitToken,
43 CalculateIssuanceEntropy,
44 Ch1,
45 Ch16,
46 Ch32,
47 Ch64,
48 Ch8,
49 CheckLockHeight,
50 CheckLockTime,
51 CheckSigVerify,
52 Complement1,
53 Complement16,
54 Complement32,
55 Complement64,
56 Complement8,
57 CurrentAmount,
58 CurrentAnnexHash,
59 CurrentAsset,
60 CurrentIndex,
61 CurrentIssuanceAssetAmount,
62 CurrentIssuanceAssetProof,
63 CurrentIssuanceTokenAmount,
64 CurrentIssuanceTokenProof,
65 CurrentNewIssuanceContract,
66 CurrentPegin,
67 CurrentPrevOutpoint,
68 CurrentReissuanceBlinding,
69 CurrentReissuanceEntropy,
70 CurrentScriptHash,
71 CurrentScriptSigHash,
72 CurrentSequence,
73 Decompress,
74 Decrement16,
75 Decrement32,
76 Decrement64,
77 Decrement8,
78 DivMod128_64,
79 DivMod16,
80 DivMod32,
81 DivMod64,
82 DivMod8,
83 Divide16,
84 Divide32,
85 Divide64,
86 Divide8,
87 Divides16,
88 Divides32,
89 Divides64,
90 Divides8,
91 Eq1,
92 Eq16,
93 Eq256,
94 Eq32,
95 Eq64,
96 Eq8,
97 FeAdd,
98 FeInvert,
99 FeIsOdd,
100 FeIsZero,
101 FeMultiply,
102 FeMultiplyBeta,
103 FeNegate,
104 FeNormalize,
105 FeSquare,
106 FeSquareRoot,
107 FullAdd16,
108 FullAdd32,
109 FullAdd64,
110 FullAdd8,
111 FullDecrement16,
112 FullDecrement32,
113 FullDecrement64,
114 FullDecrement8,
115 FullIncrement16,
116 FullIncrement32,
117 FullIncrement64,
118 FullIncrement8,
119 FullLeftShift16_1,
120 FullLeftShift16_2,
121 FullLeftShift16_4,
122 FullLeftShift16_8,
123 FullLeftShift32_1,
124 FullLeftShift32_16,
125 FullLeftShift32_2,
126 FullLeftShift32_4,
127 FullLeftShift32_8,
128 FullLeftShift64_1,
129 FullLeftShift64_16,
130 FullLeftShift64_2,
131 FullLeftShift64_32,
132 FullLeftShift64_4,
133 FullLeftShift64_8,
134 FullLeftShift8_1,
135 FullLeftShift8_2,
136 FullLeftShift8_4,
137 FullMultiply16,
138 FullMultiply32,
139 FullMultiply64,
140 FullMultiply8,
141 FullRightShift16_1,
142 FullRightShift16_2,
143 FullRightShift16_4,
144 FullRightShift16_8,
145 FullRightShift32_1,
146 FullRightShift32_16,
147 FullRightShift32_2,
148 FullRightShift32_4,
149 FullRightShift32_8,
150 FullRightShift64_1,
151 FullRightShift64_16,
152 FullRightShift64_2,
153 FullRightShift64_32,
154 FullRightShift64_4,
155 FullRightShift64_8,
156 FullRightShift8_1,
157 FullRightShift8_2,
158 FullRightShift8_4,
159 FullSubtract16,
160 FullSubtract32,
161 FullSubtract64,
162 FullSubtract8,
163 GeIsOnCurve,
164 GeNegate,
165 GejAdd,
166 GejDouble,
167 GejEquiv,
168 GejGeAdd,
169 GejGeAddEx,
170 GejGeEquiv,
171 GejInfinity,
172 GejIsInfinity,
173 GejIsOnCurve,
174 GejNegate,
175 GejNormalize,
176 GejRescale,
177 GejXEquiv,
178 GejYIsOdd,
179 Generate,
180 GenesisBlockHash,
181 HashToCurve,
182 High1,
183 High16,
184 High32,
185 High64,
186 High8,
187 Increment16,
188 Increment32,
189 Increment64,
190 Increment8,
191 InputAmount,
192 InputAmountsHash,
193 InputAnnexHash,
194 InputAnnexesHash,
195 InputAsset,
196 InputHash,
197 InputOutpointsHash,
198 InputPegin,
199 InputPrevOutpoint,
200 InputScriptHash,
201 InputScriptSigHash,
202 InputScriptSigsHash,
203 InputScriptsHash,
204 InputSequence,
205 InputSequencesHash,
206 InputUtxoHash,
207 InputUtxosHash,
208 InputsHash,
209 InternalKey,
210 IsOne16,
211 IsOne32,
212 IsOne64,
213 IsOne8,
214 IsZero16,
215 IsZero32,
216 IsZero64,
217 IsZero8,
218 Issuance,
219 IssuanceAsset,
220 IssuanceAssetAmount,
221 IssuanceAssetAmountsHash,
222 IssuanceAssetProof,
223 IssuanceBlindingEntropyHash,
224 IssuanceEntropy,
225 IssuanceHash,
226 IssuanceRangeProofsHash,
227 IssuanceToken,
228 IssuanceTokenAmount,
229 IssuanceTokenAmountsHash,
230 IssuanceTokenProof,
231 IssuancesHash,
232 LbtcAsset,
233 Le16,
234 Le32,
235 Le64,
236 Le8,
237 LeftExtend16_32,
238 LeftExtend16_64,
239 LeftExtend1_16,
240 LeftExtend1_32,
241 LeftExtend1_64,
242 LeftExtend1_8,
243 LeftExtend32_64,
244 LeftExtend8_16,
245 LeftExtend8_32,
246 LeftExtend8_64,
247 LeftPadHigh16_32,
248 LeftPadHigh16_64,
249 LeftPadHigh1_16,
250 LeftPadHigh1_32,
251 LeftPadHigh1_64,
252 LeftPadHigh1_8,
253 LeftPadHigh32_64,
254 LeftPadHigh8_16,
255 LeftPadHigh8_32,
256 LeftPadHigh8_64,
257 LeftPadLow16_32,
258 LeftPadLow16_64,
259 LeftPadLow1_16,
260 LeftPadLow1_32,
261 LeftPadLow1_64,
262 LeftPadLow1_8,
263 LeftPadLow32_64,
264 LeftPadLow8_16,
265 LeftPadLow8_32,
266 LeftPadLow8_64,
267 LeftRotate16,
268 LeftRotate32,
269 LeftRotate64,
270 LeftRotate8,
271 LeftShift16,
272 LeftShift32,
273 LeftShift64,
274 LeftShift8,
275 LeftShiftWith16,
276 LeftShiftWith32,
277 LeftShiftWith64,
278 LeftShiftWith8,
279 Leftmost16_1,
280 Leftmost16_2,
281 Leftmost16_4,
282 Leftmost16_8,
283 Leftmost32_1,
284 Leftmost32_16,
285 Leftmost32_2,
286 Leftmost32_4,
287 Leftmost32_8,
288 Leftmost64_1,
289 Leftmost64_16,
290 Leftmost64_2,
291 Leftmost64_32,
292 Leftmost64_4,
293 Leftmost64_8,
294 Leftmost8_1,
295 Leftmost8_2,
296 Leftmost8_4,
297 LinearCombination1,
298 LinearVerify1,
299 LockTime,
300 Low1,
301 Low16,
302 Low32,
303 Low64,
304 Low8,
305 Lt16,
306 Lt32,
307 Lt64,
308 Lt8,
309 Maj1,
310 Maj16,
311 Maj32,
312 Maj64,
313 Maj8,
314 Max16,
315 Max32,
316 Max64,
317 Max8,
318 Median16,
319 Median32,
320 Median64,
321 Median8,
322 Min16,
323 Min32,
324 Min64,
325 Min8,
326 Modulo16,
327 Modulo32,
328 Modulo64,
329 Modulo8,
330 Multiply16,
331 Multiply32,
332 Multiply64,
333 Multiply8,
334 Negate16,
335 Negate32,
336 Negate64,
337 Negate8,
338 NewIssuanceContract,
339 NonceHash,
340 NumInputs,
341 NumOutputs,
342 One16,
343 One32,
344 One64,
345 One8,
346 Or1,
347 Or16,
348 Or32,
349 Or64,
350 Or8,
351 OutpointHash,
352 OutputAmount,
353 OutputAmountsHash,
354 OutputAsset,
355 OutputHash,
356 OutputIsFee,
357 OutputNonce,
358 OutputNoncesHash,
359 OutputNullDatum,
360 OutputRangeProof,
361 OutputRangeProofsHash,
362 OutputScriptHash,
363 OutputScriptsHash,
364 OutputSurjectionProof,
365 OutputSurjectionProofsHash,
366 OutputsHash,
367 ParseLock,
368 ParseSequence,
369 PointVerify1,
370 ReissuanceBlinding,
371 ReissuanceEntropy,
372 RightExtend16_32,
373 RightExtend16_64,
374 RightExtend32_64,
375 RightExtend8_16,
376 RightExtend8_32,
377 RightExtend8_64,
378 RightPadHigh16_32,
379 RightPadHigh16_64,
380 RightPadHigh1_16,
381 RightPadHigh1_32,
382 RightPadHigh1_64,
383 RightPadHigh1_8,
384 RightPadHigh32_64,
385 RightPadHigh8_16,
386 RightPadHigh8_32,
387 RightPadHigh8_64,
388 RightPadLow16_32,
389 RightPadLow16_64,
390 RightPadLow1_16,
391 RightPadLow1_32,
392 RightPadLow1_64,
393 RightPadLow1_8,
394 RightPadLow32_64,
395 RightPadLow8_16,
396 RightPadLow8_32,
397 RightPadLow8_64,
398 RightRotate16,
399 RightRotate32,
400 RightRotate64,
401 RightRotate8,
402 RightShift16,
403 RightShift32,
404 RightShift64,
405 RightShift8,
406 RightShiftWith16,
407 RightShiftWith32,
408 RightShiftWith64,
409 RightShiftWith8,
410 Rightmost16_1,
411 Rightmost16_2,
412 Rightmost16_4,
413 Rightmost16_8,
414 Rightmost32_1,
415 Rightmost32_16,
416 Rightmost32_2,
417 Rightmost32_4,
418 Rightmost32_8,
419 Rightmost64_1,
420 Rightmost64_16,
421 Rightmost64_2,
422 Rightmost64_32,
423 Rightmost64_4,
424 Rightmost64_8,
425 Rightmost8_1,
426 Rightmost8_2,
427 Rightmost8_4,
428 ScalarAdd,
429 ScalarInvert,
430 ScalarIsZero,
431 ScalarMultiply,
432 ScalarMultiplyLambda,
433 ScalarNegate,
434 ScalarNormalize,
435 ScalarSquare,
436 Scale,
437 ScriptCMR,
438 Sha256Block,
439 Sha256Ctx8Add1,
440 Sha256Ctx8Add128,
441 Sha256Ctx8Add16,
442 Sha256Ctx8Add2,
443 Sha256Ctx8Add256,
444 Sha256Ctx8Add32,
445 Sha256Ctx8Add4,
446 Sha256Ctx8Add512,
447 Sha256Ctx8Add64,
448 Sha256Ctx8Add8,
449 Sha256Ctx8AddBuffer511,
450 Sha256Ctx8Finalize,
451 Sha256Ctx8Init,
452 Sha256Iv,
453 SigAllHash,
454 Some1,
455 Some16,
456 Some32,
457 Some64,
458 Some8,
459 Subtract16,
460 Subtract32,
461 Subtract64,
462 Subtract8,
463 Swu,
464 TapEnvHash,
465 TapdataInit,
466 TapleafHash,
467 TapleafVersion,
468 Tappath,
469 TappathHash,
470 TotalFee,
471 TransactionId,
472 TxHash,
473 TxIsFinal,
474 TxLockHeight,
475 TxLockTime,
476 Verify,
477 Version,
478 Xor1,
479 Xor16,
480 Xor32,
481 Xor64,
482 Xor8,
483 XorXor1,
484 XorXor16,
485 XorXor32,
486 XorXor64,
487 XorXor8,
488}
489
490impl Elements {
491 pub const ALL: [Self; 471] = [
493 Self::Add16,
494 Self::Add32,
495 Self::Add64,
496 Self::Add8,
497 Self::All16,
498 Self::All32,
499 Self::All64,
500 Self::All8,
501 Self::And1,
502 Self::And16,
503 Self::And32,
504 Self::And64,
505 Self::And8,
506 Self::AnnexHash,
507 Self::AssetAmountHash,
508 Self::Bip0340Verify,
509 Self::BrokenDoNotUseCheckLockDistance,
510 Self::BrokenDoNotUseCheckLockDuration,
511 Self::BrokenDoNotUseTxLockDistance,
512 Self::BrokenDoNotUseTxLockDuration,
513 Self::BuildTapbranch,
514 Self::BuildTapleafSimplicity,
515 Self::BuildTaptweak,
516 Self::CalculateAsset,
517 Self::CalculateConfidentialToken,
518 Self::CalculateExplicitToken,
519 Self::CalculateIssuanceEntropy,
520 Self::Ch1,
521 Self::Ch16,
522 Self::Ch32,
523 Self::Ch64,
524 Self::Ch8,
525 Self::CheckLockHeight,
526 Self::CheckLockTime,
527 Self::CheckSigVerify,
528 Self::Complement1,
529 Self::Complement16,
530 Self::Complement32,
531 Self::Complement64,
532 Self::Complement8,
533 Self::CurrentAmount,
534 Self::CurrentAnnexHash,
535 Self::CurrentAsset,
536 Self::CurrentIndex,
537 Self::CurrentIssuanceAssetAmount,
538 Self::CurrentIssuanceAssetProof,
539 Self::CurrentIssuanceTokenAmount,
540 Self::CurrentIssuanceTokenProof,
541 Self::CurrentNewIssuanceContract,
542 Self::CurrentPegin,
543 Self::CurrentPrevOutpoint,
544 Self::CurrentReissuanceBlinding,
545 Self::CurrentReissuanceEntropy,
546 Self::CurrentScriptHash,
547 Self::CurrentScriptSigHash,
548 Self::CurrentSequence,
549 Self::Decompress,
550 Self::Decrement16,
551 Self::Decrement32,
552 Self::Decrement64,
553 Self::Decrement8,
554 Self::DivMod128_64,
555 Self::DivMod16,
556 Self::DivMod32,
557 Self::DivMod64,
558 Self::DivMod8,
559 Self::Divide16,
560 Self::Divide32,
561 Self::Divide64,
562 Self::Divide8,
563 Self::Divides16,
564 Self::Divides32,
565 Self::Divides64,
566 Self::Divides8,
567 Self::Eq1,
568 Self::Eq16,
569 Self::Eq256,
570 Self::Eq32,
571 Self::Eq64,
572 Self::Eq8,
573 Self::FeAdd,
574 Self::FeInvert,
575 Self::FeIsOdd,
576 Self::FeIsZero,
577 Self::FeMultiply,
578 Self::FeMultiplyBeta,
579 Self::FeNegate,
580 Self::FeNormalize,
581 Self::FeSquare,
582 Self::FeSquareRoot,
583 Self::FullAdd16,
584 Self::FullAdd32,
585 Self::FullAdd64,
586 Self::FullAdd8,
587 Self::FullDecrement16,
588 Self::FullDecrement32,
589 Self::FullDecrement64,
590 Self::FullDecrement8,
591 Self::FullIncrement16,
592 Self::FullIncrement32,
593 Self::FullIncrement64,
594 Self::FullIncrement8,
595 Self::FullLeftShift16_1,
596 Self::FullLeftShift16_2,
597 Self::FullLeftShift16_4,
598 Self::FullLeftShift16_8,
599 Self::FullLeftShift32_1,
600 Self::FullLeftShift32_16,
601 Self::FullLeftShift32_2,
602 Self::FullLeftShift32_4,
603 Self::FullLeftShift32_8,
604 Self::FullLeftShift64_1,
605 Self::FullLeftShift64_16,
606 Self::FullLeftShift64_2,
607 Self::FullLeftShift64_32,
608 Self::FullLeftShift64_4,
609 Self::FullLeftShift64_8,
610 Self::FullLeftShift8_1,
611 Self::FullLeftShift8_2,
612 Self::FullLeftShift8_4,
613 Self::FullMultiply16,
614 Self::FullMultiply32,
615 Self::FullMultiply64,
616 Self::FullMultiply8,
617 Self::FullRightShift16_1,
618 Self::FullRightShift16_2,
619 Self::FullRightShift16_4,
620 Self::FullRightShift16_8,
621 Self::FullRightShift32_1,
622 Self::FullRightShift32_16,
623 Self::FullRightShift32_2,
624 Self::FullRightShift32_4,
625 Self::FullRightShift32_8,
626 Self::FullRightShift64_1,
627 Self::FullRightShift64_16,
628 Self::FullRightShift64_2,
629 Self::FullRightShift64_32,
630 Self::FullRightShift64_4,
631 Self::FullRightShift64_8,
632 Self::FullRightShift8_1,
633 Self::FullRightShift8_2,
634 Self::FullRightShift8_4,
635 Self::FullSubtract16,
636 Self::FullSubtract32,
637 Self::FullSubtract64,
638 Self::FullSubtract8,
639 Self::GeIsOnCurve,
640 Self::GeNegate,
641 Self::GejAdd,
642 Self::GejDouble,
643 Self::GejEquiv,
644 Self::GejGeAdd,
645 Self::GejGeAddEx,
646 Self::GejGeEquiv,
647 Self::GejInfinity,
648 Self::GejIsInfinity,
649 Self::GejIsOnCurve,
650 Self::GejNegate,
651 Self::GejNormalize,
652 Self::GejRescale,
653 Self::GejXEquiv,
654 Self::GejYIsOdd,
655 Self::Generate,
656 Self::GenesisBlockHash,
657 Self::HashToCurve,
658 Self::High1,
659 Self::High16,
660 Self::High32,
661 Self::High64,
662 Self::High8,
663 Self::Increment16,
664 Self::Increment32,
665 Self::Increment64,
666 Self::Increment8,
667 Self::InputAmount,
668 Self::InputAmountsHash,
669 Self::InputAnnexHash,
670 Self::InputAnnexesHash,
671 Self::InputAsset,
672 Self::InputHash,
673 Self::InputOutpointsHash,
674 Self::InputPegin,
675 Self::InputPrevOutpoint,
676 Self::InputScriptHash,
677 Self::InputScriptSigHash,
678 Self::InputScriptSigsHash,
679 Self::InputScriptsHash,
680 Self::InputSequence,
681 Self::InputSequencesHash,
682 Self::InputUtxoHash,
683 Self::InputUtxosHash,
684 Self::InputsHash,
685 Self::InternalKey,
686 Self::IsOne16,
687 Self::IsOne32,
688 Self::IsOne64,
689 Self::IsOne8,
690 Self::IsZero16,
691 Self::IsZero32,
692 Self::IsZero64,
693 Self::IsZero8,
694 Self::Issuance,
695 Self::IssuanceAsset,
696 Self::IssuanceAssetAmount,
697 Self::IssuanceAssetAmountsHash,
698 Self::IssuanceAssetProof,
699 Self::IssuanceBlindingEntropyHash,
700 Self::IssuanceEntropy,
701 Self::IssuanceHash,
702 Self::IssuanceRangeProofsHash,
703 Self::IssuanceToken,
704 Self::IssuanceTokenAmount,
705 Self::IssuanceTokenAmountsHash,
706 Self::IssuanceTokenProof,
707 Self::IssuancesHash,
708 Self::LbtcAsset,
709 Self::Le16,
710 Self::Le32,
711 Self::Le64,
712 Self::Le8,
713 Self::LeftExtend16_32,
714 Self::LeftExtend16_64,
715 Self::LeftExtend1_16,
716 Self::LeftExtend1_32,
717 Self::LeftExtend1_64,
718 Self::LeftExtend1_8,
719 Self::LeftExtend32_64,
720 Self::LeftExtend8_16,
721 Self::LeftExtend8_32,
722 Self::LeftExtend8_64,
723 Self::LeftPadHigh16_32,
724 Self::LeftPadHigh16_64,
725 Self::LeftPadHigh1_16,
726 Self::LeftPadHigh1_32,
727 Self::LeftPadHigh1_64,
728 Self::LeftPadHigh1_8,
729 Self::LeftPadHigh32_64,
730 Self::LeftPadHigh8_16,
731 Self::LeftPadHigh8_32,
732 Self::LeftPadHigh8_64,
733 Self::LeftPadLow16_32,
734 Self::LeftPadLow16_64,
735 Self::LeftPadLow1_16,
736 Self::LeftPadLow1_32,
737 Self::LeftPadLow1_64,
738 Self::LeftPadLow1_8,
739 Self::LeftPadLow32_64,
740 Self::LeftPadLow8_16,
741 Self::LeftPadLow8_32,
742 Self::LeftPadLow8_64,
743 Self::LeftRotate16,
744 Self::LeftRotate32,
745 Self::LeftRotate64,
746 Self::LeftRotate8,
747 Self::LeftShift16,
748 Self::LeftShift32,
749 Self::LeftShift64,
750 Self::LeftShift8,
751 Self::LeftShiftWith16,
752 Self::LeftShiftWith32,
753 Self::LeftShiftWith64,
754 Self::LeftShiftWith8,
755 Self::Leftmost16_1,
756 Self::Leftmost16_2,
757 Self::Leftmost16_4,
758 Self::Leftmost16_8,
759 Self::Leftmost32_1,
760 Self::Leftmost32_16,
761 Self::Leftmost32_2,
762 Self::Leftmost32_4,
763 Self::Leftmost32_8,
764 Self::Leftmost64_1,
765 Self::Leftmost64_16,
766 Self::Leftmost64_2,
767 Self::Leftmost64_32,
768 Self::Leftmost64_4,
769 Self::Leftmost64_8,
770 Self::Leftmost8_1,
771 Self::Leftmost8_2,
772 Self::Leftmost8_4,
773 Self::LinearCombination1,
774 Self::LinearVerify1,
775 Self::LockTime,
776 Self::Low1,
777 Self::Low16,
778 Self::Low32,
779 Self::Low64,
780 Self::Low8,
781 Self::Lt16,
782 Self::Lt32,
783 Self::Lt64,
784 Self::Lt8,
785 Self::Maj1,
786 Self::Maj16,
787 Self::Maj32,
788 Self::Maj64,
789 Self::Maj8,
790 Self::Max16,
791 Self::Max32,
792 Self::Max64,
793 Self::Max8,
794 Self::Median16,
795 Self::Median32,
796 Self::Median64,
797 Self::Median8,
798 Self::Min16,
799 Self::Min32,
800 Self::Min64,
801 Self::Min8,
802 Self::Modulo16,
803 Self::Modulo32,
804 Self::Modulo64,
805 Self::Modulo8,
806 Self::Multiply16,
807 Self::Multiply32,
808 Self::Multiply64,
809 Self::Multiply8,
810 Self::Negate16,
811 Self::Negate32,
812 Self::Negate64,
813 Self::Negate8,
814 Self::NewIssuanceContract,
815 Self::NonceHash,
816 Self::NumInputs,
817 Self::NumOutputs,
818 Self::One16,
819 Self::One32,
820 Self::One64,
821 Self::One8,
822 Self::Or1,
823 Self::Or16,
824 Self::Or32,
825 Self::Or64,
826 Self::Or8,
827 Self::OutpointHash,
828 Self::OutputAmount,
829 Self::OutputAmountsHash,
830 Self::OutputAsset,
831 Self::OutputHash,
832 Self::OutputIsFee,
833 Self::OutputNonce,
834 Self::OutputNoncesHash,
835 Self::OutputNullDatum,
836 Self::OutputRangeProof,
837 Self::OutputRangeProofsHash,
838 Self::OutputScriptHash,
839 Self::OutputScriptsHash,
840 Self::OutputSurjectionProof,
841 Self::OutputSurjectionProofsHash,
842 Self::OutputsHash,
843 Self::ParseLock,
844 Self::ParseSequence,
845 Self::PointVerify1,
846 Self::ReissuanceBlinding,
847 Self::ReissuanceEntropy,
848 Self::RightExtend16_32,
849 Self::RightExtend16_64,
850 Self::RightExtend32_64,
851 Self::RightExtend8_16,
852 Self::RightExtend8_32,
853 Self::RightExtend8_64,
854 Self::RightPadHigh16_32,
855 Self::RightPadHigh16_64,
856 Self::RightPadHigh1_16,
857 Self::RightPadHigh1_32,
858 Self::RightPadHigh1_64,
859 Self::RightPadHigh1_8,
860 Self::RightPadHigh32_64,
861 Self::RightPadHigh8_16,
862 Self::RightPadHigh8_32,
863 Self::RightPadHigh8_64,
864 Self::RightPadLow16_32,
865 Self::RightPadLow16_64,
866 Self::RightPadLow1_16,
867 Self::RightPadLow1_32,
868 Self::RightPadLow1_64,
869 Self::RightPadLow1_8,
870 Self::RightPadLow32_64,
871 Self::RightPadLow8_16,
872 Self::RightPadLow8_32,
873 Self::RightPadLow8_64,
874 Self::RightRotate16,
875 Self::RightRotate32,
876 Self::RightRotate64,
877 Self::RightRotate8,
878 Self::RightShift16,
879 Self::RightShift32,
880 Self::RightShift64,
881 Self::RightShift8,
882 Self::RightShiftWith16,
883 Self::RightShiftWith32,
884 Self::RightShiftWith64,
885 Self::RightShiftWith8,
886 Self::Rightmost16_1,
887 Self::Rightmost16_2,
888 Self::Rightmost16_4,
889 Self::Rightmost16_8,
890 Self::Rightmost32_1,
891 Self::Rightmost32_16,
892 Self::Rightmost32_2,
893 Self::Rightmost32_4,
894 Self::Rightmost32_8,
895 Self::Rightmost64_1,
896 Self::Rightmost64_16,
897 Self::Rightmost64_2,
898 Self::Rightmost64_32,
899 Self::Rightmost64_4,
900 Self::Rightmost64_8,
901 Self::Rightmost8_1,
902 Self::Rightmost8_2,
903 Self::Rightmost8_4,
904 Self::ScalarAdd,
905 Self::ScalarInvert,
906 Self::ScalarIsZero,
907 Self::ScalarMultiply,
908 Self::ScalarMultiplyLambda,
909 Self::ScalarNegate,
910 Self::ScalarNormalize,
911 Self::ScalarSquare,
912 Self::Scale,
913 Self::ScriptCMR,
914 Self::Sha256Block,
915 Self::Sha256Ctx8Add1,
916 Self::Sha256Ctx8Add128,
917 Self::Sha256Ctx8Add16,
918 Self::Sha256Ctx8Add2,
919 Self::Sha256Ctx8Add256,
920 Self::Sha256Ctx8Add32,
921 Self::Sha256Ctx8Add4,
922 Self::Sha256Ctx8Add512,
923 Self::Sha256Ctx8Add64,
924 Self::Sha256Ctx8Add8,
925 Self::Sha256Ctx8AddBuffer511,
926 Self::Sha256Ctx8Finalize,
927 Self::Sha256Ctx8Init,
928 Self::Sha256Iv,
929 Self::SigAllHash,
930 Self::Some1,
931 Self::Some16,
932 Self::Some32,
933 Self::Some64,
934 Self::Some8,
935 Self::Subtract16,
936 Self::Subtract32,
937 Self::Subtract64,
938 Self::Subtract8,
939 Self::Swu,
940 Self::TapEnvHash,
941 Self::TapdataInit,
942 Self::TapleafHash,
943 Self::TapleafVersion,
944 Self::Tappath,
945 Self::TappathHash,
946 Self::TotalFee,
947 Self::TransactionId,
948 Self::TxHash,
949 Self::TxIsFinal,
950 Self::TxLockHeight,
951 Self::TxLockTime,
952 Self::Verify,
953 Self::Version,
954 Self::Xor1,
955 Self::Xor16,
956 Self::Xor32,
957 Self::Xor64,
958 Self::Xor8,
959 Self::XorXor1,
960 Self::XorXor16,
961 Self::XorXor32,
962 Self::XorXor64,
963 Self::XorXor8,
964 ];
965}
966
967impl Jet for Elements {
968
969 fn cmr(&self) -> Cmr {
970 let bytes = match self {
971 Elements::Add16 => [
972 0x26, 0xae, 0x09, 0x94, 0xce, 0x8b, 0x77, 0x1a, 0xf7, 0xad, 0x28, 0x51, 0xb8, 0x3b,
973 0x49, 0xa5, 0x95, 0x05, 0x36, 0x58, 0x9f, 0x67, 0xbd, 0x85, 0x59, 0x47, 0x04, 0x60,
974 0x29, 0x75, 0x1c, 0x0d,
975 ],
976 Elements::Add32 => [
977 0x3d, 0x76, 0x74, 0x46, 0x6e, 0xd6, 0x9e, 0x1d, 0xbe, 0xdc, 0xd4, 0x80, 0x57, 0xa9,
978 0xe6, 0x28, 0x8c, 0x22, 0x25, 0x32, 0xfb, 0xc5, 0x04, 0x80, 0x49, 0x92, 0x8c, 0xfb,
979 0x77, 0xf8, 0x29, 0xd9,
980 ],
981 Elements::Add64 => [
982 0x9b, 0x56, 0xe6, 0x1e, 0xef, 0xe2, 0x80, 0x5c, 0xa8, 0x73, 0x96, 0xbd, 0xfb, 0x03,
983 0xf5, 0xe1, 0xb1, 0x38, 0x5f, 0x7a, 0xc4, 0xbf, 0xf7, 0x68, 0x40, 0x26, 0xa0, 0x7c,
984 0xf9, 0x7f, 0xb6, 0xf6,
985 ],
986 Elements::Add8 => [
987 0xd7, 0x32, 0x8c, 0x09, 0x14, 0xee, 0x99, 0x9e, 0xfa, 0x0a, 0x6c, 0xb2, 0x6e, 0xb4,
988 0x09, 0x12, 0xc2, 0x15, 0xc0, 0x62, 0xe5, 0x8a, 0x98, 0x1a, 0xe6, 0xb2, 0xe4, 0xa8,
989 0x04, 0x74, 0xa1, 0xda,
990 ],
991 Elements::All16 => [
992 0x16, 0xf0, 0xc9, 0x30, 0x7e, 0xb8, 0xf4, 0xc1, 0xfd, 0xd1, 0xba, 0xfa, 0xef, 0x28,
993 0x79, 0x24, 0x29, 0x58, 0x49, 0x8e, 0x8f, 0x5b, 0x2e, 0x0d, 0x29, 0xf0, 0x65, 0x53,
994 0xdc, 0x06, 0xa0, 0xbd,
995 ],
996 Elements::All32 => [
997 0x0e, 0xb8, 0xb4, 0x0d, 0x29, 0x02, 0x17, 0x47, 0xee, 0xc4, 0x51, 0xd4, 0xe6, 0x63,
998 0x58, 0x6a, 0x43, 0x6c, 0x2d, 0xb0, 0x93, 0x26, 0x75, 0xda, 0xf2, 0x16, 0x61, 0x23,
999 0xbf, 0xe4, 0x52, 0xa6,
1000 ],
1001 Elements::All64 => [
1002 0xa6, 0x5c, 0x82, 0xd5, 0x3d, 0x38, 0x2e, 0xe2, 0x9a, 0xa8, 0x8b, 0x77, 0x18, 0xa9,
1003 0x7f, 0xbb, 0xce, 0x64, 0x75, 0xec, 0x32, 0xc4, 0xb4, 0xcd, 0x69, 0x08, 0xfd, 0xe4,
1004 0x5d, 0x81, 0xb6, 0x24,
1005 ],
1006 Elements::All8 => [
1007 0x1d, 0x3e, 0xc7, 0xfb, 0x6a, 0x07, 0x84, 0x7c, 0x92, 0xb8, 0xa9, 0x98, 0xe1, 0xf6,
1008 0xb4, 0x78, 0x31, 0x9d, 0x05, 0x0a, 0x38, 0x76, 0x42, 0xf4, 0x03, 0x2d, 0x2f, 0x7d,
1009 0x2e, 0x02, 0x7f, 0xcd,
1010 ],
1011 Elements::And1 => [
1012 0xb7, 0x73, 0xce, 0xfa, 0x41, 0x89, 0x57, 0xfe, 0xa7, 0xdf, 0xb4, 0x9c, 0x6c, 0x43,
1013 0xb3, 0xdb, 0xfa, 0x35, 0xfa, 0x3d, 0x80, 0xde, 0x8c, 0xfd, 0x4d, 0x70, 0xc0, 0x8d,
1014 0x94, 0x5f, 0x5f, 0xba,
1015 ],
1016 Elements::And16 => [
1017 0x57, 0xdd, 0x73, 0x0b, 0x1c, 0x8d, 0xdf, 0xf1, 0x3c, 0xae, 0x27, 0x69, 0x56, 0x2b,
1018 0xe0, 0xab, 0xc6, 0xca, 0x3b, 0xc8, 0x02, 0xda, 0x0a, 0xbb, 0xb7, 0xfc, 0x13, 0x8c,
1019 0xa4, 0x63, 0xda, 0x59,
1020 ],
1021 Elements::And32 => [
1022 0x75, 0x3e, 0x33, 0x2d, 0xdf, 0xa0, 0x96, 0xf0, 0x83, 0x99, 0xff, 0xaa, 0x7e, 0xc4,
1023 0xda, 0x40, 0x35, 0xbc, 0xba, 0xa1, 0x42, 0xe6, 0xe3, 0x8d, 0x4c, 0xb6, 0x07, 0xce,
1024 0x1f, 0x0b, 0x05, 0x1d,
1025 ],
1026 Elements::And64 => [
1027 0xf1, 0xad, 0x5e, 0x6c, 0x63, 0xee, 0x5c, 0x89, 0x0b, 0x0f, 0x2e, 0x71, 0x15, 0x61,
1028 0xb9, 0x05, 0x31, 0x64, 0x87, 0xac, 0x40, 0x44, 0xdd, 0x23, 0x0c, 0xf6, 0xa7, 0x36,
1029 0xf8, 0x1b, 0xd4, 0xf3,
1030 ],
1031 Elements::And8 => [
1032 0xac, 0x82, 0x8b, 0x72, 0x4c, 0x5f, 0x53, 0x40, 0xb5, 0x1e, 0x76, 0xe7, 0xb6, 0xe8,
1033 0xb2, 0x3a, 0xea, 0xb7, 0x53, 0x3f, 0xd8, 0xc0, 0x91, 0xae, 0x2a, 0x51, 0x55, 0x30,
1034 0xae, 0x7a, 0xb2, 0x00,
1035 ],
1036 Elements::AnnexHash => [
1037 0xeb, 0xa1, 0xb7, 0xfb, 0x2e, 0xa8, 0xd5, 0x7a, 0xf3, 0xb6, 0x27, 0x3e, 0x51, 0x82,
1038 0xfb, 0x99, 0xdb, 0x17, 0x08, 0xb2, 0xd0, 0xaf, 0xb9, 0xc6, 0xad, 0x03, 0x58, 0xcc,
1039 0x3f, 0x64, 0x7d, 0xc8,
1040 ],
1041 Elements::AssetAmountHash => [
1042 0xa8, 0x64, 0xd1, 0xf1, 0xf8, 0x39, 0x50, 0xb6, 0x31, 0x96, 0xfe, 0x88, 0xba, 0xec,
1043 0x2e, 0x42, 0x28, 0x95, 0x32, 0x30, 0xbe, 0x45, 0xc8, 0x8c, 0x4e, 0x0b, 0x99, 0x17,
1044 0x8b, 0x33, 0x8f, 0x07,
1045 ],
1046 Elements::Bip0340Verify => [
1047 0xc9, 0xc4, 0x5a, 0x8a, 0xec, 0x86, 0x59, 0x14, 0x3b, 0xfe, 0x2a, 0xf6, 0xea, 0xd4,
1048 0x8d, 0x4e, 0x05, 0x42, 0x45, 0x3a, 0xca, 0xe8, 0x4b, 0x9b, 0xbb, 0x97, 0x65, 0x6b,
1049 0x67, 0x0b, 0xdf, 0xdd,
1050 ],
1051 Elements::BrokenDoNotUseCheckLockDistance => [
1052 0x7f, 0x78, 0xc7, 0xa7, 0x7a, 0x25, 0xad, 0xa2, 0x23, 0x26, 0x7d, 0x23, 0x9a, 0x59,
1053 0x22, 0xf7, 0x64, 0xb8, 0xac, 0x0c, 0x2f, 0xce, 0xf6, 0x8e, 0xb9, 0x3c, 0x0d, 0x92,
1054 0xda, 0x4a, 0xf5, 0x15,
1055 ],
1056 Elements::BrokenDoNotUseCheckLockDuration => [
1057 0x73, 0xda, 0xc8, 0xe2, 0x5d, 0x87, 0xea, 0xf3, 0x82, 0xc2, 0xa7, 0x72, 0x06, 0xad,
1058 0x38, 0xb9, 0x38, 0x43, 0x61, 0xe7, 0xd0, 0xdc, 0x87, 0xc0, 0xfa, 0x7a, 0xf7, 0xea,
1059 0x52, 0x45, 0x97, 0xb7,
1060 ],
1061 Elements::BrokenDoNotUseTxLockDistance => [
1062 0x4c, 0x77, 0x73, 0xb8, 0x18, 0xcb, 0x7e, 0xe5, 0xf5, 0x4f, 0x92, 0x5a, 0xad, 0x01,
1063 0x56, 0x77, 0xa0, 0x43, 0xa7, 0x2f, 0x31, 0x6a, 0x18, 0x7c, 0xc2, 0x8c, 0x69, 0x6c,
1064 0xfc, 0xb9, 0x08, 0x07,
1065 ],
1066 Elements::BrokenDoNotUseTxLockDuration => [
1067 0xcc, 0x9c, 0x64, 0xc8, 0xb6, 0xeb, 0x4b, 0xf0, 0x96, 0x94, 0xaf, 0x5a, 0x35, 0xd9,
1068 0x57, 0xa4, 0x05, 0xe6, 0x6c, 0x1b, 0x35, 0x22, 0x4e, 0xd6, 0x75, 0x87, 0x89, 0x18,
1069 0x45, 0x24, 0x40, 0xb2,
1070 ],
1071 Elements::BuildTapbranch => [
1072 0xcb, 0xec, 0xf9, 0xbc, 0xe1, 0x72, 0xc5, 0x0f, 0x58, 0x59, 0x51, 0xdf, 0xf0, 0xe0,
1073 0x52, 0x3d, 0xb1, 0x09, 0xe5, 0x70, 0x25, 0xec, 0x37, 0xde, 0x2c, 0x3a, 0x74, 0xd4,
1074 0xa6, 0x73, 0xf2, 0x25,
1075 ],
1076 Elements::BuildTapleafSimplicity => [
1077 0x73, 0x6e, 0x9f, 0xce, 0xfb, 0x5b, 0x87, 0x3e, 0x09, 0xf2, 0x68, 0x1e, 0x74, 0xe4,
1078 0x9f, 0x5a, 0x10, 0x56, 0xf9, 0x0a, 0xf5, 0x2a, 0xb3, 0xec, 0x5b, 0x19, 0x77, 0x27,
1079 0xd3, 0x98, 0x34, 0xbe,
1080 ],
1081 Elements::BuildTaptweak => [
1082 0x38, 0x74, 0x1f, 0x80, 0xa2, 0xbf, 0x10, 0xf8, 0xf8, 0x72, 0x30, 0x77, 0xc6, 0x74,
1083 0x1c, 0xbe, 0xae, 0x2d, 0xca, 0xc8, 0x57, 0x90, 0x1b, 0x81, 0x37, 0x25, 0x80, 0x6f,
1084 0x21, 0x89, 0x8e, 0xe3,
1085 ],
1086 Elements::CalculateAsset => [
1087 0x67, 0x6f, 0x98, 0x8e, 0x54, 0x72, 0x51, 0xe7, 0xa0, 0x9e, 0xed, 0xe1, 0x92, 0x0a,
1088 0x9c, 0x5d, 0x35, 0xe7, 0x57, 0x59, 0xe6, 0xd8, 0xd4, 0x9b, 0x58, 0x0c, 0xeb, 0x3e,
1089 0x14, 0x6b, 0xcf, 0x7e,
1090 ],
1091 Elements::CalculateConfidentialToken => [
1092 0x8e, 0x40, 0x29, 0x05, 0x60, 0x74, 0x33, 0x98, 0x40, 0xc0, 0xe7, 0x00, 0x9b, 0x66,
1093 0xf3, 0x82, 0xbb, 0x98, 0xd7, 0xdd, 0xe7, 0x19, 0xdd, 0x2c, 0x9f, 0x2f, 0xd3, 0xac,
1094 0xd9, 0x32, 0x5a, 0xc6,
1095 ],
1096 Elements::CalculateExplicitToken => [
1097 0x87, 0x52, 0x28, 0x02, 0x0b, 0x45, 0x6c, 0x99, 0x8a, 0xad, 0x3a, 0xc5, 0xc4, 0x83,
1098 0x6f, 0x71, 0x94, 0x45, 0xdc, 0xbe, 0x6b, 0xd2, 0x74, 0xe8, 0xca, 0x14, 0x5d, 0x82,
1099 0x79, 0x7e, 0x1b, 0x92,
1100 ],
1101 Elements::CalculateIssuanceEntropy => [
1102 0xa6, 0xe7, 0xc4, 0x34, 0xae, 0xe5, 0xa7, 0x33, 0x0c, 0x1f, 0xc2, 0x46, 0xf7, 0x1d,
1103 0xcf, 0x05, 0x1c, 0xe5, 0x4b, 0xde, 0xe7, 0xb8, 0xe6, 0x39, 0x57, 0xbe, 0x18, 0xc2,
1104 0xd7, 0x51, 0xc6, 0x53,
1105 ],
1106 Elements::Ch1 => [
1107 0xb8, 0x41, 0xb8, 0x57, 0xa4, 0xaa, 0x50, 0xea, 0xca, 0x27, 0xa2, 0x6f, 0x74, 0x42,
1108 0xfc, 0xbf, 0xe9, 0x54, 0x67, 0x7a, 0xe6, 0xd4, 0x55, 0xf6, 0x05, 0x65, 0x49, 0x89,
1109 0xe3, 0x5a, 0xeb, 0x13,
1110 ],
1111 Elements::Ch16 => [
1112 0x9c, 0xff, 0x11, 0xa0, 0x9b, 0x60, 0x41, 0xe5, 0xf2, 0x63, 0x9a, 0xe4, 0xc0, 0x65,
1113 0xa1, 0x8f, 0xc6, 0x75, 0xdb, 0x2f, 0xbd, 0x98, 0x54, 0x08, 0xe2, 0x8f, 0x02, 0x7a,
1114 0x99, 0x11, 0x0e, 0x11,
1115 ],
1116 Elements::Ch32 => [
1117 0x07, 0x1c, 0xef, 0x80, 0x39, 0xc7, 0x9f, 0x71, 0x31, 0xcd, 0x6a, 0x5f, 0xe4, 0x93,
1118 0xdc, 0x26, 0x8f, 0x9d, 0xb5, 0x8f, 0x7b, 0x20, 0xa8, 0x55, 0x55, 0xe2, 0x97, 0xbd,
1119 0xd2, 0x16, 0xcf, 0x40,
1120 ],
1121 Elements::Ch64 => [
1122 0xd5, 0x55, 0xd2, 0x19, 0x63, 0xb0, 0x19, 0x2f, 0xc9, 0x72, 0x14, 0xb6, 0x3d, 0xc1,
1123 0xc3, 0xaf, 0x75, 0x8b, 0x29, 0x11, 0x58, 0xf0, 0xe1, 0xa3, 0xbc, 0xfd, 0xea, 0x67,
1124 0x9c, 0x66, 0x6d, 0xa6,
1125 ],
1126 Elements::Ch8 => [
1127 0x35, 0x3f, 0x63, 0xb0, 0xf8, 0xcb, 0x54, 0xf5, 0xae, 0x65, 0x75, 0xaf, 0x8c, 0xa2,
1128 0x24, 0x2c, 0xee, 0xe9, 0xf2, 0x7a, 0x84, 0x18, 0x6e, 0xb8, 0x0e, 0x62, 0x0d, 0x5e,
1129 0x2e, 0x85, 0x48, 0xec,
1130 ],
1131 Elements::CheckLockHeight => [
1132 0x9e, 0x78, 0x98, 0xd0, 0x37, 0x62, 0x71, 0x34, 0xd2, 0xbd, 0x70, 0xc7, 0xfc, 0xa9,
1133 0xcb, 0xa4, 0x5e, 0xaf, 0x26, 0x7d, 0x4d, 0x09, 0xad, 0x50, 0xa9, 0xef, 0x71, 0x7a,
1134 0x8f, 0x27, 0x49, 0xdb,
1135 ],
1136 Elements::CheckLockTime => [
1137 0x68, 0x67, 0x3d, 0x12, 0xe2, 0x73, 0x2f, 0xaa, 0x1d, 0x39, 0xe2, 0x13, 0x6b, 0x14,
1138 0x06, 0xaf, 0xa0, 0x98, 0xa8, 0x4c, 0x96, 0xe8, 0xd6, 0x05, 0x02, 0xa2, 0xdd, 0x61,
1139 0xc5, 0x95, 0x70, 0xbb,
1140 ],
1141 Elements::CheckSigVerify => [
1142 0xb5, 0x80, 0x15, 0x54, 0x6d, 0x28, 0x52, 0x66, 0x5d, 0xd2, 0x1b, 0xf1, 0x12, 0x66,
1143 0x26, 0x70, 0x20, 0xfa, 0x5e, 0x27, 0x50, 0x01, 0xdd, 0x46, 0x18, 0xfa, 0x41, 0x56,
1144 0x25, 0x95, 0x2e, 0x68,
1145 ],
1146 Elements::Complement1 => [
1147 0xed, 0x74, 0xee, 0xb8, 0x3a, 0x00, 0xc7, 0x13, 0xcc, 0x14, 0xf3, 0x3e, 0xfe, 0x55,
1148 0x33, 0x83, 0xcd, 0x04, 0x11, 0xcc, 0x30, 0x20, 0xfd, 0x89, 0x27, 0x93, 0x16, 0x67,
1149 0x5d, 0x91, 0x0e, 0x66,
1150 ],
1151 Elements::Complement16 => [
1152 0x61, 0xfd, 0xd9, 0x04, 0xa4, 0xae, 0xb7, 0xeb, 0x76, 0x84, 0xaf, 0x61, 0x8e, 0x25,
1153 0xaa, 0xe9, 0x07, 0xcd, 0x1d, 0xb0, 0xf6, 0x2d, 0x97, 0x03, 0xc5, 0xb8, 0x54, 0xe1,
1154 0x66, 0x3c, 0xac, 0x9f,
1155 ],
1156 Elements::Complement32 => [
1157 0xfe, 0xb0, 0x2c, 0xc3, 0x6e, 0x19, 0x5b, 0x46, 0x2a, 0xe5, 0x04, 0xa9, 0x12, 0xda,
1158 0xdf, 0xe6, 0x6a, 0xd4, 0x7f, 0x23, 0xa0, 0xcb, 0x3b, 0xae, 0xa2, 0x1d, 0x31, 0xaa,
1159 0xa0, 0xce, 0x10, 0x1d,
1160 ],
1161 Elements::Complement64 => [
1162 0x45, 0x07, 0x2d, 0x5a, 0xa0, 0xe5, 0xc3, 0x7c, 0x9e, 0x52, 0x1d, 0xcc, 0x92, 0xe8,
1163 0xf3, 0x9a, 0x5f, 0x75, 0xe7, 0xd9, 0x28, 0x67, 0x0a, 0xca, 0xb7, 0x9c, 0xd8, 0xc8,
1164 0xb5, 0xb5, 0x9e, 0x1a,
1165 ],
1166 Elements::Complement8 => [
1167 0x69, 0x16, 0xb2, 0x8f, 0xb5, 0x74, 0xd9, 0xc9, 0x08, 0xa3, 0xf3, 0x3f, 0x74, 0xbf,
1168 0x06, 0xf7, 0xed, 0x93, 0x72, 0x54, 0x24, 0x7f, 0x9e, 0xfc, 0x26, 0x03, 0xd7, 0x17,
1169 0x1d, 0xd4, 0x97, 0xbe,
1170 ],
1171 Elements::CurrentAmount => [
1172 0x9e, 0x7b, 0xc9, 0x6d, 0x06, 0xc1, 0xf4, 0xa4, 0xd2, 0xbd, 0x43, 0x33, 0xd5, 0x56,
1173 0x43, 0xcb, 0xa6, 0x86, 0x3d, 0x3a, 0x33, 0x8e, 0x31, 0xdc, 0x0d, 0x17, 0x95, 0x58,
1174 0x41, 0x56, 0xea, 0x69,
1175 ],
1176 Elements::CurrentAnnexHash => [
1177 0x5f, 0x68, 0xbd, 0xaf, 0xd4, 0x17, 0xfe, 0xbb, 0x10, 0xde, 0xe1, 0x6b, 0x1d, 0x47,
1178 0xc2, 0x1f, 0xa9, 0x7e, 0xfc, 0x91, 0x91, 0x57, 0xc7, 0xf7, 0xbc, 0x54, 0xa6, 0x1d,
1179 0xc4, 0xf9, 0xf7, 0xd6,
1180 ],
1181 Elements::CurrentAsset => [
1182 0x03, 0xc8, 0x44, 0x59, 0xa5, 0xec, 0xdf, 0xdb, 0x46, 0xe3, 0xd3, 0x8e, 0xcb, 0x79,
1183 0xff, 0x22, 0x24, 0x3f, 0xdc, 0xf7, 0x0d, 0x80, 0xda, 0x1b, 0xa4, 0x56, 0x99, 0xe7,
1184 0x00, 0x8e, 0xec, 0xfe,
1185 ],
1186 Elements::CurrentIndex => [
1187 0x15, 0xe1, 0x05, 0x1f, 0xf2, 0x3f, 0x85, 0x1c, 0x19, 0x13, 0x1f, 0x0d, 0xe6, 0xed,
1188 0xc4, 0x88, 0x23, 0x76, 0xa2, 0x57, 0x90, 0xdb, 0xd9, 0x10, 0x28, 0x24, 0xaa, 0x22,
1189 0xa8, 0x89, 0xae, 0x84,
1190 ],
1191 Elements::CurrentIssuanceAssetAmount => [
1192 0xdc, 0x41, 0x0e, 0xc6, 0x99, 0x46, 0xf0, 0x8b, 0x9c, 0x4a, 0x40, 0xcf, 0x38, 0x81,
1193 0x9c, 0xbb, 0x01, 0x4e, 0x98, 0xfc, 0xe0, 0xa9, 0xb1, 0x96, 0x51, 0x45, 0x57, 0x47,
1194 0x7f, 0xe1, 0xc2, 0xa7,
1195 ],
1196 Elements::CurrentIssuanceAssetProof => [
1197 0xe5, 0xc1, 0xc6, 0xf7, 0xea, 0x02, 0x96, 0x14, 0x8e, 0x76, 0xf8, 0xb1, 0x79, 0xd4,
1198 0x15, 0x19, 0x82, 0x73, 0xdc, 0xc8, 0xe1, 0xfd, 0x89, 0x1f, 0x83, 0xef, 0x2b, 0xdf,
1199 0xb0, 0x69, 0x29, 0x36,
1200 ],
1201 Elements::CurrentIssuanceTokenAmount => [
1202 0xe3, 0xea, 0x9c, 0x61, 0x70, 0x95, 0x5f, 0x27, 0xb0, 0x1b, 0x12, 0x0c, 0xd6, 0x3a,
1203 0x36, 0x08, 0x50, 0xcc, 0x70, 0x0f, 0x47, 0x25, 0x19, 0x3b, 0xdf, 0xf8, 0x8e, 0x01,
1204 0xdf, 0xb0, 0x4e, 0xad,
1205 ],
1206 Elements::CurrentIssuanceTokenProof => [
1207 0x92, 0xe7, 0xd9, 0xdd, 0xbf, 0x75, 0x6e, 0x3e, 0x62, 0x2a, 0x44, 0xd4, 0xd0, 0x0e,
1208 0x84, 0x23, 0x6b, 0xcc, 0xe4, 0x2f, 0x16, 0xf3, 0x20, 0x0e, 0x8b, 0x89, 0xc0, 0x3c,
1209 0x44, 0x1e, 0x45, 0x8a,
1210 ],
1211 Elements::CurrentNewIssuanceContract => [
1212 0x23, 0x78, 0x15, 0x67, 0x5e, 0x9e, 0x9c, 0xf4, 0xd8, 0x54, 0x85, 0x60, 0xc7, 0x61,
1213 0xe3, 0xba, 0x7f, 0x64, 0xdc, 0xf2, 0x5c, 0x99, 0x52, 0x1b, 0xe9, 0xd8, 0x57, 0xe4,
1214 0xea, 0x41, 0xd8, 0x68,
1215 ],
1216 Elements::CurrentPegin => [
1217 0x36, 0x9a, 0xd5, 0xf6, 0xd7, 0x60, 0x48, 0x1c, 0xb3, 0x53, 0xa9, 0xba, 0xcf, 0x90,
1218 0x0f, 0xf1, 0x62, 0xb7, 0x60, 0x40, 0xc0, 0x7a, 0xd0, 0xa8, 0x3e, 0x52, 0xfc, 0xce,
1219 0xf1, 0x29, 0x57, 0x90,
1220 ],
1221 Elements::CurrentPrevOutpoint => [
1222 0xa1, 0xec, 0x90, 0x9c, 0x81, 0xe5, 0x08, 0xe8, 0x6e, 0x13, 0x61, 0xba, 0x82, 0xe5,
1223 0xfb, 0x47, 0xa2, 0xc7, 0x6b, 0xff, 0xba, 0x73, 0x21, 0xa6, 0xfc, 0x13, 0xcb, 0x12,
1224 0xaf, 0x7f, 0x69, 0x7c,
1225 ],
1226 Elements::CurrentReissuanceBlinding => [
1227 0xb7, 0x15, 0x50, 0xc8, 0xf6, 0x2e, 0x7a, 0xac, 0xff, 0x13, 0xe8, 0xd3, 0xc0, 0xae,
1228 0x05, 0x4e, 0xf0, 0x36, 0x40, 0x9d, 0x76, 0xc0, 0x65, 0x79, 0xc0, 0x26, 0xad, 0x68,
1229 0xa1, 0xb5, 0x61, 0xf8,
1230 ],
1231 Elements::CurrentReissuanceEntropy => [
1232 0x8b, 0x27, 0x15, 0x32, 0x7a, 0x0a, 0xc6, 0xb0, 0xd1, 0x8a, 0x2e, 0x51, 0xfb, 0xda,
1233 0x46, 0xc4, 0xb1, 0x18, 0xee, 0x06, 0x37, 0xd1, 0x14, 0xae, 0x3e, 0x58, 0xa2, 0x3b,
1234 0x45, 0xd6, 0x7f, 0xf8,
1235 ],
1236 Elements::CurrentScriptHash => [
1237 0xbf, 0xaf, 0x85, 0x84, 0x43, 0xce, 0xc8, 0x33, 0x7e, 0x37, 0x83, 0x9d, 0xc4, 0x11,
1238 0x35, 0x02, 0x71, 0x84, 0x58, 0x0c, 0x89, 0x21, 0x57, 0xce, 0x73, 0x04, 0x18, 0xc0,
1239 0x8d, 0x5e, 0xd8, 0x38,
1240 ],
1241 Elements::CurrentScriptSigHash => [
1242 0x8b, 0xaa, 0x9d, 0xf8, 0x54, 0xfe, 0x33, 0xee, 0xea, 0x66, 0x19, 0x5c, 0x97, 0xce,
1243 0x18, 0xed, 0x70, 0x1e, 0x10, 0x7e, 0xea, 0x7e, 0x02, 0xfb, 0x26, 0x03, 0xb2, 0xc1,
1244 0x21, 0x57, 0x50, 0x66,
1245 ],
1246 Elements::CurrentSequence => [
1247 0x0f, 0x42, 0x24, 0xf9, 0xaa, 0x86, 0x44, 0xf5, 0xc0, 0xf7, 0x91, 0x0f, 0x17, 0x39,
1248 0x04, 0x1a, 0xec, 0x8e, 0x7a, 0xf7, 0x7b, 0x5f, 0x38, 0xcf, 0xdc, 0xa0, 0xfd, 0xf4,
1249 0x82, 0x67, 0xa6, 0xc3,
1250 ],
1251 Elements::Decompress => [
1252 0x13, 0x97, 0x33, 0x17, 0xd5, 0x87, 0x41, 0x8e, 0xf3, 0x06, 0x36, 0x31, 0xa6, 0xed,
1253 0xb0, 0xac, 0xfa, 0x1c, 0xbe, 0x49, 0x83, 0xd7, 0x57, 0x4b, 0x1b, 0x30, 0x5f, 0x96,
1254 0x61, 0xc0, 0x48, 0xcb,
1255 ],
1256 Elements::Decrement16 => [
1257 0xe3, 0x4d, 0xb1, 0x18, 0x79, 0x27, 0x2b, 0x32, 0x7a, 0x3b, 0xd0, 0x34, 0xc0, 0xf6,
1258 0x1e, 0xf6, 0x0a, 0x2b, 0xe9, 0x6f, 0xdf, 0xe0, 0xb2, 0xd5, 0x7f, 0xfe, 0x39, 0xce,
1259 0x71, 0x4c, 0x78, 0xfb,
1260 ],
1261 Elements::Decrement32 => [
1262 0x01, 0x9e, 0xad, 0x5a, 0x73, 0x05, 0x60, 0x6d, 0xc9, 0x50, 0xfb, 0x55, 0x47, 0x6d,
1263 0x09, 0xc1, 0x7d, 0x66, 0xf5, 0x70, 0xda, 0xb5, 0x10, 0xb9, 0x0d, 0x2a, 0x27, 0xe2,
1264 0x26, 0x65, 0x99, 0xcf,
1265 ],
1266 Elements::Decrement64 => [
1267 0x34, 0x75, 0x2c, 0xf4, 0xe1, 0xd0, 0xa4, 0x31, 0xf0, 0x17, 0xa6, 0x8b, 0xeb, 0xfa,
1268 0xb7, 0x41, 0xbb, 0xc8, 0x8a, 0xff, 0xb5, 0x7c, 0xc0, 0xb3, 0x02, 0x5c, 0xcf, 0xdd,
1269 0x67, 0x62, 0x2f, 0x35,
1270 ],
1271 Elements::Decrement8 => [
1272 0x28, 0x92, 0xce, 0xb3, 0xb6, 0xec, 0x53, 0x25, 0xd0, 0xc1, 0xb9, 0xf5, 0x20, 0x42,
1273 0x5e, 0x4b, 0x05, 0xc2, 0xe1, 0xf4, 0x37, 0xe0, 0xb3, 0xf5, 0x81, 0xf4, 0x1b, 0x9d,
1274 0x0f, 0x7d, 0xff, 0x4d,
1275 ],
1276 Elements::DivMod128_64 => [
1277 0x22, 0x96, 0xb7, 0x0f, 0x60, 0x0e, 0x8a, 0x21, 0x4a, 0xd0, 0x70, 0xb2, 0x19, 0x4a,
1278 0x67, 0x7d, 0x30, 0x51, 0xbc, 0x1c, 0x49, 0x01, 0x83, 0x97, 0x5f, 0x2a, 0x1d, 0x3e,
1279 0x0c, 0xad, 0xe3, 0x78,
1280 ],
1281 Elements::DivMod16 => [
1282 0x64, 0x8f, 0xab, 0x86, 0x43, 0x74, 0x84, 0x6a, 0xbf, 0x4f, 0x9d, 0x9d, 0xef, 0xe2,
1283 0x75, 0x61, 0x4d, 0x33, 0xf4, 0x82, 0x9c, 0x36, 0xa4, 0x7e, 0xcb, 0x53, 0xd7, 0xbf,
1284 0xb6, 0x05, 0x48, 0x5f,
1285 ],
1286 Elements::DivMod32 => [
1287 0xbd, 0x3d, 0x4d, 0x55, 0x2d, 0x7b, 0x34, 0x7b, 0xd8, 0xa4, 0x4e, 0x3e, 0xe2, 0x24,
1288 0xc8, 0x46, 0xbe, 0x23, 0x0f, 0xf6, 0xe2, 0x04, 0x4d, 0xdb, 0x97, 0xf4, 0x8e, 0x27,
1289 0xd2, 0x0c, 0x42, 0x25,
1290 ],
1291 Elements::DivMod64 => [
1292 0xfa, 0x6b, 0xad, 0x6a, 0x95, 0xe2, 0xab, 0xa4, 0x30, 0x5b, 0xfe, 0x91, 0xcc, 0x47,
1293 0xac, 0xc3, 0xd9, 0x9b, 0x92, 0xe6, 0x75, 0xe6, 0x9d, 0x3b, 0x37, 0xbb, 0x09, 0x13,
1294 0x3d, 0x39, 0x0d, 0x0f,
1295 ],
1296 Elements::DivMod8 => [
1297 0x48, 0xcd, 0x50, 0x1b, 0xb2, 0xaa, 0x2a, 0xca, 0xe0, 0x14, 0xfe, 0x20, 0x8b, 0xb9,
1298 0x94, 0x1d, 0x07, 0xa9, 0xbf, 0xfe, 0x1a, 0xd6, 0xcd, 0x3d, 0x36, 0xfc, 0x6b, 0x08,
1299 0x60, 0xf6, 0xeb, 0xa7,
1300 ],
1301 Elements::Divide16 => [
1302 0x47, 0x0b, 0x01, 0xa5, 0x7c, 0x4f, 0x9d, 0x8f, 0x99, 0x7f, 0xcd, 0xe0, 0x06, 0x19,
1303 0x16, 0x11, 0xdd, 0xa4, 0xc9, 0x8b, 0xa2, 0xa5, 0xf1, 0xda, 0x13, 0x4a, 0xe4, 0xc2,
1304 0x2d, 0x52, 0xe9, 0x20,
1305 ],
1306 Elements::Divide32 => [
1307 0xab, 0x03, 0xac, 0xd8, 0x93, 0x61, 0x0c, 0x3c, 0x65, 0x82, 0xe7, 0xf7, 0xfb, 0xe5,
1308 0xe7, 0x56, 0x25, 0x74, 0xa7, 0xb2, 0x66, 0x46, 0xf1, 0xc2, 0xfd, 0xc6, 0xe7, 0x6e,
1309 0x44, 0x5a, 0x77, 0xa1,
1310 ],
1311 Elements::Divide64 => [
1312 0xeb, 0xfc, 0x56, 0xfb, 0xb8, 0xa4, 0x7e, 0x73, 0xff, 0xab, 0xb7, 0xea, 0x22, 0x8a,
1313 0xc7, 0x84, 0x37, 0xbe, 0x82, 0x0e, 0xdd, 0xfa, 0x47, 0x81, 0x4c, 0xce, 0xbd, 0x26,
1314 0x1b, 0xd8, 0xcf, 0xff,
1315 ],
1316 Elements::Divide8 => [
1317 0x2c, 0xcf, 0xbc, 0x7c, 0x02, 0xbf, 0x4d, 0x53, 0x04, 0x93, 0xbb, 0x22, 0x86, 0x7a,
1318 0x95, 0x1d, 0x8a, 0xe9, 0x13, 0x12, 0x66, 0x87, 0x59, 0x72, 0x84, 0xe9, 0xbb, 0xb3,
1319 0xe1, 0xe7, 0xe3, 0x49,
1320 ],
1321 Elements::Divides16 => [
1322 0x5f, 0xc3, 0xac, 0x38, 0x4d, 0x5f, 0x45, 0x40, 0x41, 0x56, 0x97, 0x1a, 0x76, 0x8d,
1323 0x93, 0xbc, 0x06, 0x4b, 0xc1, 0x7c, 0x15, 0xa3, 0x7c, 0x27, 0x01, 0x9d, 0xde, 0xef,
1324 0x17, 0x04, 0x6d, 0xd4,
1325 ],
1326 Elements::Divides32 => [
1327 0xcc, 0x45, 0xb4, 0x05, 0x24, 0x64, 0x38, 0xf7, 0x65, 0x74, 0x0b, 0x4f, 0xb0, 0xa3,
1328 0x4d, 0xc8, 0x1b, 0x34, 0x78, 0x01, 0x98, 0x86, 0x3b, 0x0f, 0xb1, 0x86, 0x44, 0x6a,
1329 0xdf, 0xbb, 0x09, 0xde,
1330 ],
1331 Elements::Divides64 => [
1332 0xdc, 0x47, 0x3b, 0xfd, 0xec, 0x30, 0xab, 0x98, 0xd4, 0x8c, 0xd0, 0x88, 0x84, 0xef,
1333 0x4f, 0xff, 0xef, 0x3d, 0x4b, 0x16, 0xad, 0x5c, 0x37, 0x11, 0x2a, 0x20, 0x35, 0xb9,
1334 0x9b, 0xb7, 0x74, 0x58,
1335 ],
1336 Elements::Divides8 => [
1337 0x0b, 0x55, 0x02, 0xac, 0x4f, 0x21, 0xf2, 0x30, 0xa0, 0x9c, 0xcf, 0xaf, 0xfa, 0xac,
1338 0x77, 0xa7, 0xc4, 0x1b, 0x2b, 0xf3, 0x0b, 0x14, 0x68, 0x48, 0x1e, 0x4d, 0xfb, 0x98,
1339 0xb6, 0x18, 0x7a, 0x0d,
1340 ],
1341 Elements::Eq1 => [
1342 0x60, 0x7f, 0x6b, 0x8f, 0x5d, 0x25, 0xb8, 0x0e, 0x05, 0xa2, 0xbf, 0x79, 0xd6, 0x2e,
1343 0x87, 0x07, 0x99, 0x52, 0x2c, 0xc3, 0xe3, 0x9c, 0xe9, 0x62, 0x57, 0x45, 0x52, 0x93,
1344 0xf9, 0xb2, 0xb2, 0xed,
1345 ],
1346 Elements::Eq16 => [
1347 0xc9, 0x96, 0xe4, 0x2b, 0x97, 0x9a, 0xbc, 0x53, 0x0c, 0xc2, 0x71, 0x63, 0x66, 0x71,
1348 0xe9, 0x20, 0x54, 0x87, 0x6a, 0x1e, 0xca, 0xed, 0x14, 0x33, 0xfd, 0x61, 0x9a, 0x25,
1349 0xfe, 0x6d, 0x03, 0xad,
1350 ],
1351 Elements::Eq256 => [
1352 0x77, 0x8d, 0x15, 0x06, 0xc7, 0x35, 0xd2, 0x77, 0x6b, 0x95, 0x0f, 0xac, 0xef, 0xc1,
1353 0x59, 0xb6, 0x78, 0xde, 0xc0, 0x38, 0x28, 0xcf, 0x02, 0x73, 0xee, 0xea, 0x64, 0xa9,
1354 0xda, 0x98, 0xc1, 0x2c,
1355 ],
1356 Elements::Eq32 => [
1357 0x66, 0xd3, 0x89, 0x03, 0xe7, 0x3b, 0x1a, 0x13, 0x20, 0xc6, 0x8a, 0x4a, 0x39, 0x70,
1358 0xd7, 0x1f, 0x94, 0xba, 0x9e, 0x2b, 0x15, 0x16, 0x83, 0x99, 0x43, 0xfb, 0x15, 0xe4,
1359 0x4e, 0xbf, 0x57, 0xfb,
1360 ],
1361 Elements::Eq64 => [
1362 0xd6, 0xa6, 0x66, 0xb4, 0xe0, 0xf9, 0xf5, 0x75, 0x50, 0x8d, 0xbf, 0x3b, 0x31, 0xce,
1363 0xea, 0x68, 0x39, 0x3c, 0x7d, 0xb2, 0xe9, 0x8b, 0xc5, 0x92, 0xfd, 0xd2, 0x6f, 0xae,
1364 0x83, 0x7a, 0x0b, 0x87,
1365 ],
1366 Elements::Eq8 => [
1367 0x99, 0x78, 0x7b, 0xa2, 0x67, 0x2d, 0xd0, 0xeb, 0x4d, 0x7d, 0x2e, 0xa9, 0x94, 0x49,
1368 0xde, 0x8f, 0x79, 0x8e, 0x7c, 0xb1, 0x81, 0xa5, 0xe1, 0x66, 0xe1, 0xa5, 0x3f, 0x98,
1369 0x02, 0xb6, 0x20, 0x64,
1370 ],
1371 Elements::FeAdd => [
1372 0xb0, 0x59, 0x3e, 0x18, 0x7e, 0xe7, 0x33, 0x3c, 0x47, 0xa0, 0x54, 0x67, 0xdf, 0x66,
1373 0xd5, 0x82, 0x0a, 0x6f, 0x5b, 0xef, 0x91, 0x4a, 0x4b, 0x76, 0xe5, 0xd1, 0x63, 0x31,
1374 0x4b, 0x5e, 0xf2, 0x0e,
1375 ],
1376 Elements::FeInvert => [
1377 0x34, 0x3e, 0x9c, 0x90, 0xf1, 0x28, 0x50, 0x60, 0x56, 0xb5, 0x48, 0xd2, 0xed, 0x5e,
1378 0x22, 0x3c, 0x81, 0xf5, 0xb0, 0x6a, 0x1e, 0xd8, 0x6b, 0x7c, 0xd9, 0x35, 0x40, 0x57,
1379 0xaa, 0x59, 0x51, 0x02,
1380 ],
1381 Elements::FeIsOdd => [
1382 0xdc, 0xf0, 0x37, 0x5d, 0x20, 0x81, 0x8a, 0x99, 0xf7, 0x23, 0xf8, 0x12, 0x3c, 0xbd,
1383 0x05, 0x1a, 0x38, 0x78, 0xa4, 0x28, 0x24, 0xb3, 0x74, 0x0f, 0x68, 0x21, 0xa5, 0xfa,
1384 0x12, 0x3f, 0x14, 0xc7,
1385 ],
1386 Elements::FeIsZero => [
1387 0x28, 0xff, 0x41, 0x69, 0x9a, 0x88, 0x1a, 0xaf, 0xb7, 0xa9, 0x76, 0xc0, 0xc5, 0x76,
1388 0x35, 0x3f, 0x7f, 0xe5, 0x44, 0x63, 0xb6, 0xaa, 0x75, 0x4c, 0xf2, 0xc6, 0x32, 0x9a,
1389 0xf2, 0x65, 0x0e, 0x3b,
1390 ],
1391 Elements::FeMultiply => [
1392 0x56, 0x69, 0x92, 0x9b, 0x5f, 0x31, 0xfa, 0x3d, 0x02, 0xc5, 0x83, 0x9d, 0xd0, 0x63,
1393 0x54, 0xcd, 0x17, 0x16, 0x35, 0xf3, 0xa0, 0x72, 0x7f, 0x32, 0x2a, 0xbf, 0xc9, 0x94,
1394 0xba, 0x62, 0x90, 0xde,
1395 ],
1396 Elements::FeMultiplyBeta => [
1397 0x7a, 0x78, 0x13, 0x45, 0x0d, 0x82, 0xe9, 0x35, 0x69, 0x0f, 0x43, 0x3e, 0x65, 0xdf,
1398 0x70, 0x7a, 0x4d, 0xd1, 0x75, 0x34, 0xa0, 0x0d, 0xdd, 0x40, 0xdd, 0x85, 0xe3, 0xe3,
1399 0xf7, 0x84, 0x02, 0xc3,
1400 ],
1401 Elements::FeNegate => [
1402 0x3b, 0x0d, 0x7b, 0x5c, 0x2e, 0x6c, 0x3a, 0xeb, 0x5e, 0x00, 0x08, 0x5b, 0x9d, 0x30,
1403 0x58, 0x5a, 0xff, 0x05, 0x4e, 0x32, 0x5a, 0x99, 0x83, 0x61, 0x11, 0x3b, 0xfd, 0x23,
1404 0x28, 0xc0, 0x08, 0xf6,
1405 ],
1406 Elements::FeNormalize => [
1407 0xc5, 0x1b, 0xef, 0xfa, 0x21, 0x5e, 0x9c, 0xde, 0x8e, 0x93, 0x3b, 0xb9, 0x46, 0x80,
1408 0xba, 0xe0, 0x12, 0xc4, 0xda, 0xab, 0x3d, 0x04, 0xb6, 0xcb, 0xf0, 0x73, 0x3f, 0xd7,
1409 0x35, 0x73, 0x35, 0x38,
1410 ],
1411 Elements::FeSquare => [
1412 0x5a, 0x6e, 0x7b, 0x2e, 0xac, 0x73, 0xf4, 0xe4, 0x4d, 0xfa, 0x28, 0xfb, 0x86, 0xbb,
1413 0x11, 0x7b, 0x65, 0x60, 0x6f, 0x28, 0x74, 0xd5, 0x65, 0xc9, 0x79, 0x9c, 0x63, 0xe0,
1414 0xfe, 0x69, 0x2b, 0x1a,
1415 ],
1416 Elements::FeSquareRoot => [
1417 0xe0, 0x01, 0x42, 0xea, 0x03, 0x09, 0x4a, 0x30, 0x4a, 0xc8, 0x2b, 0xc1, 0xe2, 0xd2,
1418 0xdc, 0x71, 0xfb, 0x06, 0x4e, 0xd0, 0x82, 0x85, 0x67, 0x35, 0xb1, 0x4f, 0xf2, 0xc7,
1419 0xfa, 0xf0, 0x36, 0xf0,
1420 ],
1421 Elements::FullAdd16 => [
1422 0xfc, 0x9e, 0x5d, 0xf8, 0x3b, 0xfd, 0xb9, 0x02, 0x8c, 0x87, 0xd1, 0x39, 0xf8, 0x58,
1423 0x39, 0x03, 0xcb, 0x2a, 0x07, 0x04, 0x2a, 0x73, 0xe5, 0x34, 0x81, 0xde, 0xb5, 0x2f,
1424 0xf1, 0xf1, 0xf8, 0x84,
1425 ],
1426 Elements::FullAdd32 => [
1427 0xa7, 0xd9, 0x8d, 0x50, 0xd0, 0x45, 0xcb, 0x90, 0x6b, 0x19, 0x5e, 0x65, 0x11, 0x87,
1428 0x94, 0x95, 0xc8, 0x51, 0x09, 0x59, 0x49, 0xa9, 0xc0, 0x1e, 0x60, 0x39, 0xa8, 0x4b,
1429 0x2a, 0x5e, 0xc9, 0x09,
1430 ],
1431 Elements::FullAdd64 => [
1432 0x7a, 0xec, 0xc8, 0xc9, 0x05, 0x3b, 0xb2, 0xfb, 0x17, 0x0c, 0x1c, 0x97, 0x2f, 0xd4,
1433 0x00, 0x25, 0x64, 0xe1, 0x52, 0xa0, 0x6d, 0x9f, 0x45, 0x80, 0x75, 0xe3, 0x8c, 0x7a,
1434 0x06, 0x98, 0xa7, 0xf4,
1435 ],
1436 Elements::FullAdd8 => [
1437 0xed, 0x3b, 0xa5, 0xb7, 0x9e, 0xa4, 0x5b, 0x18, 0x7a, 0x2d, 0x43, 0xe8, 0xed, 0x80,
1438 0x2d, 0xe1, 0xed, 0x44, 0x26, 0x59, 0x6c, 0xbe, 0x32, 0xe7, 0x57, 0xc8, 0x51, 0x19,
1439 0x15, 0xff, 0xa5, 0xcf,
1440 ],
1441 Elements::FullDecrement16 => [
1442 0xd4, 0xc2, 0xed, 0xda, 0x87, 0x2c, 0x05, 0x50, 0x6f, 0x79, 0x2c, 0xf5, 0x46, 0xa8,
1443 0x9d, 0x4d, 0x7c, 0xff, 0xcb, 0x1e, 0x17, 0xf5, 0xda, 0x61, 0x03, 0x10, 0x0e, 0x7e,
1444 0x73, 0xa7, 0x73, 0x7d,
1445 ],
1446 Elements::FullDecrement32 => [
1447 0x7c, 0xc2, 0x30, 0x4d, 0x17, 0x43, 0x12, 0x10, 0x2e, 0x9b, 0x73, 0x63, 0x45, 0xc7,
1448 0x7f, 0x77, 0x1d, 0x1f, 0x6a, 0x9c, 0x9e, 0x1d, 0x1c, 0xd8, 0xdb, 0x8c, 0xb4, 0x61,
1449 0x39, 0x80, 0xc8, 0xc2,
1450 ],
1451 Elements::FullDecrement64 => [
1452 0x15, 0xc1, 0x63, 0x45, 0x4b, 0xcd, 0x75, 0x44, 0x30, 0xda, 0x55, 0x79, 0xbb, 0xca,
1453 0xad, 0x26, 0xe5, 0x7e, 0x95, 0xc7, 0x72, 0x22, 0x4b, 0x7b, 0x83, 0xc7, 0x05, 0xf7,
1454 0xde, 0xb6, 0x4a, 0xa6,
1455 ],
1456 Elements::FullDecrement8 => [
1457 0x7c, 0x5e, 0x94, 0xa9, 0x98, 0x02, 0x81, 0x82, 0x17, 0x37, 0xb1, 0xce, 0x73, 0xbf,
1458 0xda, 0x4c, 0x79, 0xef, 0x64, 0x9b, 0x3d, 0x05, 0xcc, 0x1c, 0x00, 0xc4, 0xa8, 0xb6,
1459 0x4b, 0x94, 0x9b, 0xbe,
1460 ],
1461 Elements::FullIncrement16 => [
1462 0x81, 0x38, 0x0a, 0xda, 0xa3, 0xa5, 0x47, 0xf1, 0xbc, 0x4b, 0xbb, 0x64, 0x6b, 0xda,
1463 0x9d, 0x9f, 0xb7, 0xbd, 0x4d, 0xc1, 0xb3, 0xa9, 0xf3, 0xdd, 0x22, 0x0b, 0x56, 0xa4,
1464 0x7c, 0x27, 0x98, 0xfb,
1465 ],
1466 Elements::FullIncrement32 => [
1467 0xa7, 0x60, 0xa8, 0x44, 0x9a, 0x2a, 0xb5, 0xde, 0xdb, 0x4e, 0xe5, 0x1b, 0xf5, 0xc2,
1468 0x5a, 0x8f, 0x06, 0xaf, 0x06, 0x66, 0xdf, 0x7f, 0xc4, 0x19, 0xb4, 0x98, 0xb9, 0x09,
1469 0x76, 0xd6, 0x98, 0xcb,
1470 ],
1471 Elements::FullIncrement64 => [
1472 0xc6, 0xaf, 0x30, 0xdd, 0x28, 0x6d, 0x6e, 0x21, 0xc3, 0x88, 0x60, 0xed, 0x1e, 0x2f,
1473 0x21, 0x2a, 0x21, 0xb2, 0xfd, 0x1e, 0xde, 0xad, 0xb5, 0xe0, 0xfc, 0xe2, 0xe3, 0xfd,
1474 0x75, 0xb7, 0xf3, 0xc2,
1475 ],
1476 Elements::FullIncrement8 => [
1477 0xd3, 0x04, 0xea, 0x28, 0xa9, 0x5d, 0x49, 0x6d, 0x14, 0xb4, 0xf2, 0xfb, 0x5c, 0x86,
1478 0x03, 0x72, 0xec, 0xf2, 0x47, 0xbe, 0xfd, 0xe3, 0xea, 0x3b, 0x2a, 0xd6, 0x7b, 0xce,
1479 0x99, 0x03, 0x9d, 0xbc,
1480 ],
1481 Elements::FullLeftShift16_1 => [
1482 0x14, 0xdc, 0xc3, 0x46, 0x6f, 0xa8, 0x28, 0xa3, 0xf0, 0x74, 0x04, 0x51, 0xb8, 0x03,
1483 0x7d, 0x7a, 0xd6, 0x03, 0xea, 0xdc, 0x80, 0xaa, 0xea, 0xdc, 0x66, 0x44, 0x34, 0xac,
1484 0x2a, 0xd7, 0xfd, 0x9c,
1485 ],
1486 Elements::FullLeftShift16_2 => [
1487 0xaf, 0xb7, 0xe9, 0x28, 0xb0, 0x52, 0xc2, 0x28, 0x79, 0x21, 0x66, 0x2c, 0xd8, 0xab,
1488 0x12, 0x2f, 0xe0, 0x74, 0xef, 0xd2, 0x51, 0xa5, 0xc9, 0xcf, 0xbc, 0xaa, 0x36, 0x9d,
1489 0x06, 0x33, 0x73, 0x92,
1490 ],
1491 Elements::FullLeftShift16_4 => [
1492 0x16, 0x6f, 0x34, 0x8c, 0x59, 0xe2, 0x6f, 0x89, 0xa8, 0x3a, 0x99, 0x1f, 0x67, 0xe5,
1493 0xdb, 0xf7, 0x10, 0xcf, 0xae, 0x3d, 0x6d, 0x96, 0x93, 0x82, 0x82, 0xbb, 0x44, 0xc1,
1494 0xaf, 0xa7, 0x10, 0x9b,
1495 ],
1496 Elements::FullLeftShift16_8 => [
1497 0xc0, 0xcd, 0x01, 0x5d, 0xe8, 0xac, 0x4f, 0xcc, 0xd8, 0xdb, 0x89, 0xf4, 0xe5, 0x14,
1498 0x2f, 0xde, 0x27, 0x97, 0x55, 0xb5, 0x42, 0xa2, 0x4f, 0x57, 0xa2, 0xa3, 0xc7, 0xc1,
1499 0xf5, 0x0d, 0x1d, 0xb5,
1500 ],
1501 Elements::FullLeftShift32_1 => [
1502 0xce, 0x33, 0xb5, 0xd0, 0xc5, 0x8d, 0x2d, 0x0b, 0x9b, 0x5a, 0x99, 0x44, 0xd3, 0xda,
1503 0xbd, 0xa0, 0x23, 0xcd, 0x44, 0x64, 0x7b, 0xe6, 0x7c, 0xf4, 0x08, 0x28, 0x30, 0xbb,
1504 0x20, 0x5f, 0x8f, 0xbb,
1505 ],
1506 Elements::FullLeftShift32_16 => [
1507 0x1c, 0xb3, 0x6e, 0x6f, 0x99, 0x30, 0x85, 0x15, 0xd4, 0xb7, 0x11, 0x90, 0x9c, 0x57,
1508 0x4b, 0x21, 0x24, 0xc1, 0xff, 0x42, 0x2d, 0x8d, 0x7d, 0x94, 0x82, 0xe2, 0x5d, 0x87,
1509 0x88, 0xb3, 0xb9, 0x57,
1510 ],
1511 Elements::FullLeftShift32_2 => [
1512 0x3f, 0xae, 0xa9, 0xb5, 0x73, 0xfc, 0x06, 0x9d, 0x8f, 0x43, 0x0f, 0xac, 0xa8, 0x97,
1513 0xb6, 0x87, 0x1e, 0xa0, 0x95, 0x73, 0xc7, 0x15, 0x09, 0x4b, 0x1f, 0x1b, 0xe0, 0x81,
1514 0x84, 0x88, 0xa7, 0x16,
1515 ],
1516 Elements::FullLeftShift32_4 => [
1517 0xcd, 0xbb, 0x0d, 0x23, 0x31, 0x05, 0x90, 0x11, 0x3c, 0x93, 0x4f, 0xe6, 0x60, 0x04,
1518 0xd2, 0xa1, 0x1d, 0xa9, 0xcb, 0xf8, 0x87, 0x3d, 0x00, 0xde, 0xe7, 0xf0, 0x22, 0x96,
1519 0xff, 0x0a, 0x2f, 0x12,
1520 ],
1521 Elements::FullLeftShift32_8 => [
1522 0xcc, 0xd9, 0x24, 0xe1, 0xa6, 0x18, 0x49, 0x42, 0x0f, 0xf6, 0x2e, 0xd8, 0xb2, 0x45,
1523 0xa3, 0xaa, 0x18, 0xc9, 0x8c, 0x41, 0xf9, 0xc5, 0xa3, 0xc0, 0xb8, 0x85, 0x86, 0x3c,
1524 0x44, 0x9b, 0x7d, 0x14,
1525 ],
1526 Elements::FullLeftShift64_1 => [
1527 0xd4, 0x63, 0xcc, 0xdc, 0x7f, 0xd1, 0x4e, 0x5e, 0x89, 0x41, 0x62, 0xb2, 0xae, 0x71,
1528 0x41, 0x28, 0xa1, 0x0d, 0xc9, 0x20, 0x00, 0xb5, 0x4c, 0x84, 0x3b, 0x64, 0x9c, 0xcb,
1529 0x77, 0x56, 0x26, 0xe5,
1530 ],
1531 Elements::FullLeftShift64_16 => [
1532 0x88, 0x2d, 0xce, 0x21, 0x2a, 0x0e, 0x61, 0xf8, 0xf9, 0x4c, 0xb5, 0xe3, 0x2e, 0x00,
1533 0xa5, 0x28, 0x7c, 0xf6, 0x4f, 0x20, 0xc2, 0x1f, 0xca, 0x84, 0xf1, 0xe3, 0xdf, 0x7f,
1534 0x4a, 0x62, 0x91, 0xcd,
1535 ],
1536 Elements::FullLeftShift64_2 => [
1537 0x48, 0xc8, 0x9b, 0x19, 0x1a, 0x51, 0xb6, 0xab, 0x03, 0x4c, 0x80, 0xea, 0xff, 0x34,
1538 0x82, 0x38, 0xd9, 0x3f, 0xb3, 0x1c, 0x1e, 0x92, 0xe7, 0xf2, 0xae, 0x49, 0x31, 0x7e,
1539 0x0e, 0x33, 0xf8, 0x2d,
1540 ],
1541 Elements::FullLeftShift64_32 => [
1542 0x39, 0x75, 0x90, 0x73, 0x33, 0xe1, 0x27, 0x30, 0x62, 0x55, 0xb7, 0xf8, 0x89, 0x39,
1543 0xe2, 0x85, 0x7f, 0x42, 0xae, 0x1b, 0xf0, 0xc6, 0x62, 0x40, 0xa8, 0x22, 0x4c, 0x8d,
1544 0xa3, 0x8b, 0xb1, 0xbe,
1545 ],
1546 Elements::FullLeftShift64_4 => [
1547 0x29, 0x31, 0x32, 0xeb, 0x15, 0xdd, 0xf4, 0x17, 0x74, 0xb0, 0x00, 0x5a, 0x3b, 0x5c,
1548 0x50, 0x95, 0x9f, 0xa8, 0x98, 0x2b, 0x75, 0x9e, 0x83, 0x28, 0x27, 0xc7, 0x4f, 0xa8,
1549 0x28, 0x50, 0x66, 0x6c,
1550 ],
1551 Elements::FullLeftShift64_8 => [
1552 0xe6, 0xab, 0xde, 0xd8, 0xbe, 0x58, 0x5e, 0xb0, 0xb6, 0xd4, 0x6e, 0x0c, 0x5e, 0xb2,
1553 0x8a, 0x74, 0x5f, 0x4e, 0x5c, 0x56, 0xfd, 0x65, 0x21, 0xf8, 0xf3, 0x96, 0xcb, 0x21,
1554 0xa7, 0x58, 0xf7, 0x4c,
1555 ],
1556 Elements::FullLeftShift8_1 => [
1557 0x73, 0x3f, 0xed, 0x08, 0x47, 0xa2, 0xff, 0xac, 0x9a, 0xab, 0xf5, 0x0a, 0x2f, 0xeb,
1558 0x50, 0x59, 0x89, 0x84, 0xf1, 0x6d, 0x8b, 0x73, 0x24, 0x68, 0xb3, 0xd3, 0x15, 0xc0,
1559 0x1e, 0xa4, 0x29, 0x9b,
1560 ],
1561 Elements::FullLeftShift8_2 => [
1562 0xb4, 0x47, 0x4d, 0x0b, 0xa1, 0xcf, 0x4f, 0xa2, 0xd6, 0x4c, 0xd4, 0xfe, 0x67, 0xbd,
1563 0xc9, 0x2c, 0xb8, 0x9e, 0xfa, 0x70, 0xcb, 0x99, 0xaf, 0x77, 0x91, 0xbf, 0x7e, 0xf6,
1564 0xe9, 0x09, 0xd2, 0xc7,
1565 ],
1566 Elements::FullLeftShift8_4 => [
1567 0x8e, 0xb5, 0x22, 0xb9, 0x97, 0x04, 0x74, 0xad, 0xbb, 0x7a, 0xb0, 0xde, 0x37, 0xc4,
1568 0xe7, 0xa0, 0x56, 0xa1, 0xcb, 0x21, 0x2e, 0x41, 0x03, 0xe4, 0xa8, 0xcb, 0xbb, 0xb6,
1569 0x3d, 0x97, 0x56, 0x06,
1570 ],
1571 Elements::FullMultiply16 => [
1572 0x88, 0x47, 0x0c, 0xbf, 0x9b, 0x4d, 0xec, 0x37, 0xea, 0x05, 0xd7, 0xb6, 0x30, 0xf2,
1573 0xf1, 0x12, 0x54, 0x75, 0x67, 0xd3, 0x4f, 0x33, 0xd9, 0x6e, 0x5f, 0x61, 0x1b, 0xd9,
1574 0xda, 0x97, 0xab, 0xb5,
1575 ],
1576 Elements::FullMultiply32 => [
1577 0x28, 0x04, 0x06, 0x00, 0xa6, 0x6e, 0x1a, 0x0c, 0x52, 0x25, 0x85, 0x20, 0x48, 0x8b,
1578 0x94, 0xc8, 0x20, 0xc6, 0xcf, 0x86, 0xca, 0x27, 0xae, 0x39, 0x03, 0x4d, 0xdd, 0xca,
1579 0xb9, 0x04, 0xd1, 0xd5,
1580 ],
1581 Elements::FullMultiply64 => [
1582 0x53, 0x01, 0x4f, 0x35, 0xa8, 0xdf, 0x20, 0x91, 0xaf, 0x3e, 0xf9, 0xb8, 0xd1, 0x6b,
1583 0x38, 0xb9, 0xbc, 0x96, 0x61, 0xbf, 0xdb, 0xc9, 0x57, 0x33, 0x3f, 0xba, 0x2a, 0x94,
1584 0x8c, 0x1e, 0x8c, 0x25,
1585 ],
1586 Elements::FullMultiply8 => [
1587 0xd3, 0xd2, 0x45, 0x54, 0xc4, 0x66, 0xdd, 0x60, 0x37, 0x54, 0x52, 0x47, 0x36, 0xa7,
1588 0x1e, 0xb2, 0x35, 0xde, 0xf9, 0xb5, 0x06, 0x96, 0x5e, 0x32, 0xd5, 0x68, 0x26, 0xe1,
1589 0x9f, 0xba, 0xd6, 0xc1,
1590 ],
1591 Elements::FullRightShift16_1 => [
1592 0xb3, 0x79, 0xe2, 0x96, 0xe9, 0xa9, 0x8f, 0xb3, 0xb5, 0x66, 0x2b, 0x8b, 0xa0, 0x4e,
1593 0x3c, 0xc1, 0xa4, 0x3c, 0x74, 0x42, 0x9e, 0x93, 0x12, 0x33, 0xfd, 0xd7, 0xfc, 0x8f,
1594 0xe6, 0xb7, 0xa2, 0xe0,
1595 ],
1596 Elements::FullRightShift16_2 => [
1597 0xae, 0xb8, 0xc6, 0x08, 0x06, 0xa4, 0x79, 0x20, 0x77, 0x58, 0xe3, 0x90, 0x83, 0xb4,
1598 0xa9, 0xa7, 0xa1, 0x4d, 0xa4, 0xee, 0x9b, 0xc1, 0x09, 0x7f, 0xc5, 0xcb, 0x4b, 0x75,
1599 0x54, 0x0d, 0x75, 0x78,
1600 ],
1601 Elements::FullRightShift16_4 => [
1602 0x60, 0xb7, 0xf0, 0x84, 0x75, 0xcc, 0x0c, 0xce, 0x64, 0xdc, 0xa1, 0x2d, 0x9f, 0x6a,
1603 0x91, 0x9c, 0x30, 0x61, 0x81, 0x10, 0xed, 0xa1, 0x40, 0x65, 0x92, 0x9c, 0x00, 0x4e,
1604 0x7f, 0xc1, 0xb0, 0xfb,
1605 ],
1606 Elements::FullRightShift16_8 => [
1607 0xf7, 0x9d, 0xba, 0x3e, 0x0a, 0xf3, 0xd6, 0xa5, 0x59, 0xa9, 0xe9, 0xdf, 0xfe, 0xa7,
1608 0x10, 0xaf, 0x62, 0x3f, 0xe6, 0xe6, 0x64, 0x4b, 0x89, 0x79, 0x95, 0xd7, 0x1b, 0x8a,
1609 0x41, 0x67, 0xdd, 0xb0,
1610 ],
1611 Elements::FullRightShift32_1 => [
1612 0xad, 0x0d, 0x5c, 0x75, 0xea, 0x68, 0x43, 0x71, 0x91, 0x77, 0x0d, 0x7f, 0xdf, 0x80,
1613 0x4b, 0xbc, 0x9d, 0x57, 0x3d, 0x5f, 0x10, 0x19, 0x98, 0x23, 0xd8, 0x09, 0xc9, 0xc4,
1614 0x6c, 0xd2, 0x75, 0xad,
1615 ],
1616 Elements::FullRightShift32_16 => [
1617 0x45, 0x52, 0x99, 0xfd, 0x6f, 0x42, 0xab, 0x49, 0xdb, 0xb7, 0x09, 0xe6, 0x5a, 0x3b,
1618 0x53, 0x66, 0x25, 0x0b, 0xdc, 0x54, 0x5d, 0x62, 0x29, 0xe8, 0xe2, 0x36, 0x05, 0x6d,
1619 0xdd, 0x19, 0x77, 0xfd,
1620 ],
1621 Elements::FullRightShift32_2 => [
1622 0x44, 0x38, 0x4b, 0x15, 0x06, 0xd4, 0x43, 0xd2, 0xf8, 0xa2, 0x88, 0x2b, 0x45, 0x63,
1623 0xd7, 0x93, 0x1a, 0x7e, 0xbc, 0xe6, 0x4a, 0xcf, 0x0d, 0x02, 0xee, 0x59, 0xec, 0x69,
1624 0xd3, 0x06, 0x52, 0x39,
1625 ],
1626 Elements::FullRightShift32_4 => [
1627 0x2e, 0x9a, 0x8a, 0xb5, 0xa1, 0x81, 0x7b, 0xd0, 0xb8, 0xa4, 0x66, 0x26, 0x99, 0x49,
1628 0x17, 0xa0, 0xde, 0x1a, 0x74, 0x5e, 0x99, 0x52, 0x0c, 0xe6, 0xeb, 0xcc, 0x67, 0xd4,
1629 0x63, 0x65, 0x51, 0xb7,
1630 ],
1631 Elements::FullRightShift32_8 => [
1632 0xaf, 0x47, 0xd4, 0xf9, 0x6e, 0x7d, 0x80, 0x26, 0xd4, 0x4e, 0x6e, 0xca, 0x1b, 0x80,
1633 0x7f, 0x73, 0x34, 0x4c, 0xe2, 0xea, 0xf7, 0x00, 0xb2, 0xc8, 0x2b, 0x4b, 0xb0, 0x02,
1634 0x61, 0xa8, 0x6f, 0x94,
1635 ],
1636 Elements::FullRightShift64_1 => [
1637 0x03, 0xaf, 0xb5, 0x47, 0xc3, 0x09, 0x13, 0xf1, 0x6f, 0x3e, 0x37, 0x0d, 0x7f, 0x9c,
1638 0xa0, 0x29, 0x0b, 0x61, 0x5b, 0x42, 0x85, 0x05, 0x1b, 0xb9, 0x3c, 0x3c, 0x1a, 0x9b,
1639 0x72, 0xee, 0x8d, 0xe4,
1640 ],
1641 Elements::FullRightShift64_16 => [
1642 0x1f, 0xb0, 0x56, 0xfc, 0xb6, 0x90, 0xce, 0xe3, 0xcf, 0xf7, 0x2c, 0x7d, 0xec, 0xda,
1643 0x80, 0x6d, 0x21, 0x46, 0xc4, 0x92, 0xae, 0x73, 0x1a, 0x6b, 0x94, 0xb8, 0xbb, 0x4f,
1644 0x15, 0x99, 0xb0, 0xcc,
1645 ],
1646 Elements::FullRightShift64_2 => [
1647 0x06, 0x73, 0xbf, 0xf2, 0x1e, 0x37, 0x5e, 0x5d, 0xbc, 0xaf, 0x38, 0x04, 0x66, 0x48,
1648 0x25, 0xdd, 0x67, 0x48, 0x44, 0xd2, 0xfd, 0xb7, 0x84, 0xa4, 0xfe, 0xfb, 0xc9, 0x25,
1649 0xcf, 0x6b, 0x27, 0xad,
1650 ],
1651 Elements::FullRightShift64_32 => [
1652 0x35, 0x6f, 0x7d, 0xd4, 0x6b, 0xa3, 0x3f, 0x84, 0xb0, 0x66, 0x72, 0xfd, 0xe9, 0xa2,
1653 0x97, 0x2e, 0x80, 0xf3, 0xea, 0x96, 0x5a, 0xe8, 0xbc, 0x0b, 0xff, 0x67, 0xaa, 0x2f,
1654 0x69, 0xf1, 0x0b, 0x56,
1655 ],
1656 Elements::FullRightShift64_4 => [
1657 0x4c, 0x25, 0xf6, 0x01, 0x1f, 0xd3, 0xd1, 0xac, 0x18, 0xe1, 0x1e, 0xb4, 0x30, 0x61,
1658 0xfa, 0xd6, 0x9f, 0x3c, 0xe3, 0x9f, 0x7a, 0x99, 0xce, 0xde, 0x50, 0xcc, 0x85, 0xbf,
1659 0x88, 0xbf, 0xba, 0x82,
1660 ],
1661 Elements::FullRightShift64_8 => [
1662 0xa5, 0x1d, 0xf9, 0x44, 0x86, 0x02, 0xfa, 0x81, 0x00, 0x1a, 0xa1, 0xb5, 0xb1, 0x3b,
1663 0xe8, 0x8d, 0x4b, 0x2f, 0x4d, 0x0f, 0x60, 0x74, 0x08, 0x01, 0xce, 0xf9, 0x91, 0x00,
1664 0x2f, 0xe3, 0x7d, 0x6d,
1665 ],
1666 Elements::FullRightShift8_1 => [
1667 0xd9, 0xd4, 0xb1, 0x6d, 0x37, 0xe4, 0xeb, 0x5c, 0xc5, 0x15, 0x04, 0x26, 0xe3, 0xe8,
1668 0x6c, 0xf6, 0x0a, 0xbb, 0xdf, 0xa1, 0xd0, 0xec, 0xb4, 0x15, 0x82, 0x96, 0x5e, 0x80,
1669 0x00, 0xcb, 0xd2, 0x91,
1670 ],
1671 Elements::FullRightShift8_2 => [
1672 0x07, 0x9a, 0xa1, 0x66, 0x17, 0x19, 0x8a, 0xd5, 0xdf, 0x2c, 0x98, 0xa6, 0x3a, 0xf7,
1673 0x6c, 0x1b, 0x3e, 0x12, 0x0f, 0xd2, 0x10, 0x6b, 0x22, 0x5f, 0x63, 0xfd, 0x06, 0xac,
1674 0x57, 0x1d, 0x04, 0xa4,
1675 ],
1676 Elements::FullRightShift8_4 => [
1677 0x9d, 0x9d, 0x3f, 0x63, 0x8a, 0x84, 0x63, 0x86, 0xa2, 0x1e, 0x71, 0x5f, 0x39, 0x46,
1678 0x16, 0x86, 0x4a, 0x2e, 0xf7, 0x98, 0x4a, 0x88, 0xcd, 0x95, 0x50, 0x55, 0x66, 0x29,
1679 0x7b, 0xe7, 0xe0, 0x6c,
1680 ],
1681 Elements::FullSubtract16 => [
1682 0x1f, 0xc8, 0x8e, 0x23, 0x29, 0xf4, 0xaa, 0xf1, 0x2b, 0x30, 0x51, 0x3f, 0x7a, 0x21,
1683 0xcf, 0x5d, 0x8d, 0xe2, 0x4b, 0x60, 0x0a, 0x19, 0xa2, 0x17, 0x41, 0x28, 0x1b, 0x4d,
1684 0x61, 0xaa, 0xc6, 0x33,
1685 ],
1686 Elements::FullSubtract32 => [
1687 0x78, 0x27, 0x05, 0xfb, 0x42, 0xe3, 0x6a, 0x7e, 0xf8, 0x31, 0x20, 0x0c, 0x61, 0x77,
1688 0x38, 0xd3, 0x1e, 0x13, 0xb1, 0xd0, 0xe7, 0xce, 0xed, 0x69, 0x3f, 0x13, 0x33, 0x88,
1689 0x35, 0xb3, 0x0a, 0xcb,
1690 ],
1691 Elements::FullSubtract64 => [
1692 0xb2, 0x85, 0x6a, 0x91, 0x80, 0x23, 0x1b, 0xee, 0x3c, 0xb8, 0x92, 0x30, 0xf7, 0x5c,
1693 0x29, 0x2a, 0xf3, 0xe7, 0x52, 0x39, 0xdb, 0xeb, 0x39, 0x65, 0x48, 0x44, 0x1e, 0x6b,
1694 0x5a, 0x27, 0xe8, 0x13,
1695 ],
1696 Elements::FullSubtract8 => [
1697 0x68, 0x85, 0xe1, 0x41, 0xae, 0x23, 0x4c, 0x1e, 0x2a, 0x7e, 0x4f, 0x23, 0x52, 0x98,
1698 0x93, 0x90, 0x36, 0x96, 0x9c, 0x95, 0x0f, 0x2c, 0xef, 0xd4, 0x59, 0xb4, 0x98, 0xac,
1699 0x3d, 0xd8, 0x92, 0x20,
1700 ],
1701 Elements::GeIsOnCurve => [
1702 0x69, 0xf0, 0xe7, 0xa0, 0xc5, 0xff, 0xf8, 0x70, 0x84, 0xed, 0x69, 0x25, 0xf8, 0xdb,
1703 0x76, 0x2e, 0x41, 0x9e, 0x05, 0x7b, 0x96, 0x83, 0x4d, 0xce, 0x96, 0x99, 0xb0, 0xb0,
1704 0x09, 0x42, 0x30, 0x59,
1705 ],
1706 Elements::GeNegate => [
1707 0x1e, 0xd0, 0xce, 0xd8, 0xdd, 0x25, 0x58, 0xe3, 0x48, 0x5f, 0x6f, 0xc3, 0x2d, 0x69,
1708 0xa2, 0x40, 0x5e, 0xca, 0xee, 0x31, 0x2d, 0xc4, 0xdc, 0x65, 0xe0, 0xfd, 0x34, 0x77,
1709 0x73, 0xf5, 0x98, 0x3d,
1710 ],
1711 Elements::GejAdd => [
1712 0x5a, 0x1c, 0x31, 0x03, 0x49, 0xe8, 0xff, 0x5c, 0x5a, 0x61, 0xac, 0x3e, 0x10, 0x12,
1713 0x3f, 0x74, 0xe8, 0x7f, 0xab, 0xa1, 0x4c, 0x78, 0xbc, 0x83, 0xf9, 0xe3, 0x41, 0x36,
1714 0x87, 0xec, 0xf2, 0x8b,
1715 ],
1716 Elements::GejDouble => [
1717 0x1e, 0xdd, 0x05, 0x82, 0xe2, 0xfc, 0xad, 0x99, 0xb1, 0x2d, 0x50, 0x6d, 0x29, 0xb5,
1718 0x0a, 0x63, 0x01, 0x7f, 0x67, 0x69, 0x28, 0xbe, 0x51, 0x13, 0x69, 0x00, 0x6e, 0x07,
1719 0xcb, 0x80, 0xd9, 0x82,
1720 ],
1721 Elements::GejEquiv => [
1722 0x02, 0x74, 0x71, 0x05, 0x94, 0x87, 0xa1, 0x2c, 0xa2, 0x07, 0xf0, 0x94, 0x05, 0x94,
1723 0xd6, 0xcd, 0x87, 0xfc, 0x93, 0x0a, 0x8b, 0x5b, 0x31, 0x43, 0x4a, 0x16, 0xa2, 0xd6,
1724 0x7f, 0x1d, 0x8d, 0xd4,
1725 ],
1726 Elements::GejGeAdd => [
1727 0x1e, 0xa7, 0x10, 0xd5, 0x6e, 0xaf, 0xee, 0x32, 0x5d, 0x26, 0x07, 0xdd, 0xb4, 0x5f,
1728 0xf0, 0x17, 0x0a, 0xde, 0xc2, 0xe0, 0xee, 0x9b, 0xcc, 0x68, 0xe4, 0xb9, 0x3e, 0x1d,
1729 0xe6, 0xad, 0x35, 0x68,
1730 ],
1731 Elements::GejGeAddEx => [
1732 0x78, 0xf0, 0x87, 0x1b, 0x81, 0x73, 0xab, 0xde, 0x71, 0x87, 0x11, 0x26, 0x3b, 0x3a,
1733 0xc1, 0xd9, 0x22, 0x33, 0x7e, 0xd5, 0xed, 0x13, 0x8d, 0x29, 0x49, 0x62, 0xd6, 0x5c,
1734 0xe5, 0x59, 0xbd, 0x92,
1735 ],
1736 Elements::GejGeEquiv => [
1737 0xba, 0x89, 0x9a, 0x00, 0x62, 0x16, 0xd1, 0xc9, 0x3b, 0xd5, 0xec, 0xbe, 0x00, 0x80,
1738 0xd9, 0x07, 0x8a, 0x50, 0x0a, 0x72, 0x9b, 0xbd, 0x39, 0x6a, 0x00, 0x4a, 0xf5, 0x1d,
1739 0x4f, 0xf7, 0xd9, 0x3a,
1740 ],
1741 Elements::GejInfinity => [
1742 0x88, 0xa9, 0x52, 0xdb, 0x38, 0x16, 0xe9, 0x42, 0x59, 0xa6, 0x75, 0x37, 0xfa, 0x8f,
1743 0xca, 0x1a, 0x35, 0xa9, 0x07, 0xa8, 0x6f, 0x51, 0xed, 0xe4, 0x51, 0xfd, 0x32, 0xec,
1744 0x25, 0x3d, 0x9c, 0x62,
1745 ],
1746 Elements::GejIsInfinity => [
1747 0x29, 0x80, 0xa7, 0x35, 0x41, 0x4e, 0x43, 0x21, 0xaf, 0xef, 0xfe, 0xfa, 0x88, 0x37,
1748 0xed, 0xb0, 0xa3, 0x30, 0x9a, 0x33, 0x7d, 0x59, 0xb7, 0xbd, 0xea, 0x92, 0x1c, 0x13,
1749 0x05, 0x6b, 0x04, 0x28,
1750 ],
1751 Elements::GejIsOnCurve => [
1752 0x01, 0x87, 0xe1, 0xe5, 0xef, 0x76, 0x34, 0xa5, 0xf0, 0x16, 0x12, 0x4d, 0x4f, 0xeb,
1753 0x5a, 0x93, 0xdd, 0xe6, 0xaa, 0x78, 0x17, 0x6c, 0xda, 0x48, 0xb1, 0x65, 0xa9, 0xaa,
1754 0x8e, 0x04, 0x49, 0xf2,
1755 ],
1756 Elements::GejNegate => [
1757 0xb3, 0x2c, 0x74, 0xca, 0xb2, 0xc7, 0x50, 0x0b, 0x73, 0xf8, 0xec, 0x05, 0x60, 0xfe,
1758 0x23, 0xfc, 0x4c, 0x21, 0xaa, 0x66, 0x59, 0x6d, 0x7f, 0x2a, 0xcf, 0x49, 0x67, 0x88,
1759 0x6b, 0x76, 0xd8, 0x56,
1760 ],
1761 Elements::GejNormalize => [
1762 0x5d, 0xe0, 0x97, 0x6a, 0xe7, 0xf3, 0x8b, 0x36, 0xf0, 0x02, 0x28, 0x14, 0x96, 0x6d,
1763 0xb2, 0xba, 0xed, 0x5c, 0x47, 0x67, 0x14, 0x94, 0x4d, 0x74, 0x1a, 0x89, 0x79, 0xc4,
1764 0xbc, 0xf8, 0xbe, 0x25,
1765 ],
1766 Elements::GejRescale => [
1767 0xdc, 0xfc, 0x72, 0xa7, 0x68, 0xd5, 0xbe, 0x77, 0x0f, 0x8d, 0xb2, 0x78, 0xae, 0xaf,
1768 0xd1, 0x8e, 0x27, 0x70, 0x4c, 0x64, 0xf8, 0xb4, 0x0f, 0xa6, 0xfe, 0x54, 0xca, 0x94,
1769 0x72, 0x7a, 0x07, 0x6e,
1770 ],
1771 Elements::GejXEquiv => [
1772 0x52, 0xcc, 0x21, 0x47, 0x09, 0xc0, 0xd9, 0xfc, 0xa9, 0xdb, 0x1d, 0x09, 0xcc, 0x80,
1773 0x7c, 0x75, 0xcf, 0x5a, 0x63, 0x13, 0xca, 0x54, 0x0a, 0x77, 0x2d, 0x4e, 0xa9, 0x92,
1774 0x1f, 0x37, 0xe6, 0x24,
1775 ],
1776 Elements::GejYIsOdd => [
1777 0xfe, 0x01, 0x06, 0xaf, 0xb9, 0xd9, 0xe2, 0x4f, 0xd4, 0xdb, 0xe5, 0x45, 0x11, 0xfe,
1778 0x27, 0x2f, 0x4d, 0xcb, 0x30, 0x7a, 0x0e, 0xa5, 0x6d, 0x59, 0x1c, 0xeb, 0x93, 0xab,
1779 0x4b, 0xf8, 0x87, 0x45,
1780 ],
1781 Elements::Generate => [
1782 0xdf, 0x44, 0xe1, 0x7d, 0x2a, 0x55, 0x9d, 0xd0, 0xa7, 0x03, 0x49, 0x54, 0xab, 0x33,
1783 0x37, 0x77, 0x78, 0xb1, 0x51, 0xf1, 0xcd, 0x1e, 0x4f, 0x9f, 0xd3, 0x1b, 0x36, 0x1d,
1784 0x34, 0xa8, 0xd9, 0x73,
1785 ],
1786 Elements::GenesisBlockHash => [
1787 0x00, 0x60, 0xb6, 0x0d, 0x02, 0xb1, 0x33, 0x60, 0x72, 0x84, 0x6a, 0xcf, 0xf4, 0x4d,
1788 0xd0, 0xf4, 0x34, 0x6c, 0x74, 0xa3, 0x5e, 0x7b, 0x56, 0x42, 0x3f, 0x95, 0x19, 0xc4,
1789 0x42, 0xd1, 0x5d, 0xaf,
1790 ],
1791 Elements::HashToCurve => [
1792 0x76, 0xf7, 0xca, 0x1d, 0xb9, 0x44, 0xee, 0x31, 0x5e, 0xd3, 0x62, 0xfe, 0xe0, 0x67,
1793 0x3c, 0x58, 0x94, 0xf8, 0x85, 0x3b, 0x44, 0x60, 0x70, 0x90, 0x1b, 0x85, 0x79, 0x01,
1794 0xf9, 0x49, 0x9d, 0x9b,
1795 ],
1796 Elements::High1 => [
1797 0xc3, 0x2d, 0x87, 0x7e, 0x67, 0x0d, 0x6c, 0x03, 0x7c, 0xb3, 0x35, 0x33, 0x28, 0x9e,
1798 0x19, 0xa7, 0x24, 0xc3, 0x68, 0xaa, 0x75, 0x51, 0xda, 0xa6, 0xd2, 0xda, 0xcc, 0xcd,
1799 0x8c, 0x95, 0xf4, 0xd0,
1800 ],
1801 Elements::High16 => [
1802 0x41, 0x64, 0xab, 0x6e, 0x2f, 0xf8, 0xee, 0xf6, 0x3c, 0x06, 0xc0, 0x80, 0xf1, 0xde,
1803 0xc6, 0x97, 0x0b, 0x4c, 0x5c, 0x31, 0xc0, 0x23, 0x05, 0xab, 0xcc, 0xd8, 0xed, 0x2c,
1804 0x5e, 0x1c, 0x45, 0xce,
1805 ],
1806 Elements::High32 => [
1807 0xd3, 0xa7, 0xce, 0x9c, 0xd5, 0xd5, 0xfb, 0x67, 0x9a, 0x98, 0xef, 0x57, 0xb8, 0x63,
1808 0x22, 0x77, 0x0c, 0xb6, 0x6f, 0xb6, 0xf0, 0x61, 0x6e, 0x16, 0x34, 0xcf, 0xa8, 0x4c,
1809 0x8f, 0x68, 0x09, 0xc6,
1810 ],
1811 Elements::High64 => [
1812 0x4a, 0xf9, 0x1f, 0xaf, 0x8e, 0x39, 0xf4, 0xda, 0x7c, 0x28, 0xa8, 0x79, 0x65, 0x94,
1813 0xa9, 0x22, 0x82, 0x13, 0xd7, 0x32, 0x3e, 0xea, 0x2c, 0xa6, 0x30, 0x75, 0x2c, 0xe4,
1814 0xc5, 0x7f, 0x16, 0xe1,
1815 ],
1816 Elements::High8 => [
1817 0xcb, 0xd7, 0x8d, 0x50, 0xaf, 0x77, 0x99, 0x85, 0x5a, 0xdc, 0x49, 0x03, 0xdb, 0xbe,
1818 0xfc, 0x13, 0x45, 0xd5, 0x14, 0x84, 0xf0, 0x3d, 0x3c, 0x75, 0x5c, 0xaa, 0xa5, 0xca,
1819 0xa9, 0x7d, 0x4a, 0x14,
1820 ],
1821 Elements::Increment16 => [
1822 0xdf, 0x27, 0x48, 0x88, 0xce, 0x4c, 0xeb, 0xdd, 0x57, 0x08, 0xb3, 0x8d, 0xc3, 0xdb,
1823 0xb1, 0x9c, 0xc2, 0xf0, 0x36, 0x4b, 0x24, 0x63, 0xe9, 0x9c, 0xf5, 0xaa, 0xb4, 0xf8,
1824 0xa2, 0x3e, 0xa5, 0x8a,
1825 ],
1826 Elements::Increment32 => [
1827 0x54, 0xf7, 0x57, 0xae, 0xa7, 0x6b, 0xc7, 0xa3, 0x9f, 0xc4, 0x3d, 0x19, 0xb8, 0xdd,
1828 0x56, 0x3a, 0x68, 0x07, 0xdf, 0x02, 0x77, 0xa5, 0x6f, 0xcb, 0x50, 0x10, 0x89, 0xce,
1829 0x7d, 0x06, 0x77, 0x4c,
1830 ],
1831 Elements::Increment64 => [
1832 0x79, 0xed, 0x5f, 0x77, 0x99, 0xfb, 0x09, 0xda, 0x51, 0x04, 0x29, 0xa2, 0x01, 0x28,
1833 0xbe, 0xd0, 0x91, 0xd8, 0x58, 0x76, 0x47, 0x07, 0x12, 0x85, 0xcd, 0xec, 0x3a, 0x0c,
1834 0x95, 0x70, 0x9e, 0x5b,
1835 ],
1836 Elements::Increment8 => [
1837 0x0c, 0x71, 0x7e, 0x84, 0xdf, 0x67, 0x82, 0x3f, 0x57, 0x41, 0xb3, 0xd5, 0x5d, 0xbe,
1838 0xb4, 0x72, 0x9c, 0x2b, 0xd6, 0x2f, 0x5d, 0x1d, 0xef, 0x3c, 0xab, 0xcc, 0xdd, 0x6c,
1839 0xb8, 0xdc, 0xb5, 0x6c,
1840 ],
1841 Elements::InputAmount => [
1842 0xdd, 0x65, 0xac, 0x32, 0xc8, 0x7d, 0x99, 0x6b, 0x40, 0x72, 0x00, 0xfe, 0xef, 0xc4,
1843 0x79, 0xa9, 0x11, 0x9c, 0x1f, 0x28, 0xca, 0xa4, 0x88, 0xb0, 0xaa, 0xc3, 0xac, 0xf5,
1844 0x93, 0x78, 0xd6, 0xba,
1845 ],
1846 Elements::InputAmountsHash => [
1847 0x2b, 0x4d, 0xf4, 0x7e, 0x75, 0x8f, 0xfe, 0x88, 0xe9, 0xcd, 0x5d, 0x39, 0x6d, 0xf3,
1848 0xd7, 0xf9, 0xec, 0x2f, 0xbd, 0x5a, 0x53, 0x95, 0xa6, 0xd8, 0xc1, 0xab, 0x70, 0x44,
1849 0x00, 0xc6, 0x4f, 0x70,
1850 ],
1851 Elements::InputAnnexHash => [
1852 0x0f, 0xd9, 0xe4, 0xc6, 0x31, 0x6b, 0x37, 0x28, 0x6e, 0x88, 0x54, 0x43, 0x0e, 0x7d,
1853 0x74, 0x18, 0x21, 0xdc, 0x89, 0x54, 0x4a, 0x3a, 0x59, 0xf0, 0x3d, 0xfa, 0x40, 0xe5,
1854 0x32, 0xb8, 0x10, 0x7f,
1855 ],
1856 Elements::InputAnnexesHash => [
1857 0xde, 0xd1, 0x52, 0x2e, 0xfa, 0x5a, 0x2b, 0x37, 0x61, 0x73, 0xe4, 0x40, 0xde, 0x22,
1858 0x7a, 0xd0, 0xc9, 0x2b, 0xe2, 0xed, 0xce, 0x7c, 0x23, 0xb5, 0x14, 0x80, 0xe5, 0x0a,
1859 0x77, 0xfc, 0x56, 0x4b,
1860 ],
1861 Elements::InputAsset => [
1862 0x87, 0x2b, 0x36, 0x53, 0xd6, 0x5a, 0xe7, 0xf9, 0x16, 0x6c, 0xbf, 0x70, 0xd4, 0xfd,
1863 0x31, 0x40, 0x47, 0x98, 0x88, 0x4d, 0x61, 0x1b, 0x64, 0x7f, 0xb9, 0xf4, 0xa3, 0x07,
1864 0xc4, 0x80, 0x11, 0xb8,
1865 ],
1866 Elements::InputHash => [
1867 0x33, 0x09, 0xbb, 0x46, 0xb3, 0x15, 0x8d, 0x23, 0x12, 0x4f, 0x8c, 0xed, 0xaa, 0xa1,
1868 0xed, 0x3b, 0x09, 0xa8, 0xae, 0xfe, 0x81, 0x21, 0x2e, 0x11, 0x33, 0x55, 0x23, 0xb6,
1869 0xb2, 0x07, 0xc5, 0x44,
1870 ],
1871 Elements::InputOutpointsHash => [
1872 0x14, 0x0a, 0x2b, 0xae, 0xad, 0x08, 0x3b, 0xaa, 0xc8, 0x06, 0x12, 0x8a, 0xb6, 0x49,
1873 0xe5, 0x2b, 0xbd, 0x3c, 0x64, 0x56, 0x70, 0x0c, 0xbc, 0xfc, 0x6d, 0xbb, 0x29, 0x59,
1874 0x17, 0x3a, 0x4d, 0xf2,
1875 ],
1876 Elements::InputPegin => [
1877 0xdb, 0x37, 0x6f, 0x4a, 0xe8, 0x4e, 0xc0, 0x51, 0xa4, 0x94, 0xd7, 0x66, 0x80, 0x39,
1878 0x72, 0x7b, 0x53, 0x35, 0x3b, 0xe5, 0xae, 0x04, 0x5b, 0xe7, 0x6c, 0x4b, 0x04, 0xda,
1879 0xbd, 0x5b, 0xbf, 0xbb,
1880 ],
1881 Elements::InputPrevOutpoint => [
1882 0x91, 0xf4, 0xd6, 0xec, 0x48, 0x4f, 0x60, 0xca, 0xe9, 0x29, 0x78, 0x58, 0xca, 0xc4,
1883 0x7d, 0xad, 0x50, 0xdb, 0x07, 0xdc, 0x1f, 0x93, 0x7a, 0xc6, 0x14, 0x4c, 0x9c, 0xb4,
1884 0xa9, 0xef, 0x79, 0xd2,
1885 ],
1886 Elements::InputScriptHash => [
1887 0xc3, 0x16, 0xdf, 0x21, 0x77, 0x8e, 0x62, 0x41, 0x05, 0xca, 0x59, 0x90, 0x4b, 0x92,
1888 0x08, 0xe2, 0xd4, 0x23, 0x22, 0x8b, 0x3e, 0xb1, 0xcf, 0x68, 0xb8, 0xec, 0xa4, 0x7b,
1889 0xbc, 0x7b, 0x2f, 0xf3,
1890 ],
1891 Elements::InputScriptSigHash => [
1892 0x94, 0x1f, 0x2b, 0x4f, 0x3b, 0x7f, 0x20, 0x97, 0xd6, 0xea, 0x00, 0xe9, 0x7c, 0x1e,
1893 0x2b, 0xa0, 0x1c, 0xb2, 0x64, 0x87, 0xc5, 0xd2, 0xf4, 0x72, 0x37, 0x38, 0xb3, 0x7c,
1894 0x73, 0x2c, 0x05, 0xc4,
1895 ],
1896 Elements::InputScriptSigsHash => [
1897 0x6c, 0x74, 0x81, 0x42, 0x01, 0x24, 0xb6, 0x64, 0x5d, 0x32, 0xff, 0x9b, 0x45, 0x4a,
1898 0x1c, 0x92, 0xc6, 0x71, 0x86, 0x41, 0x0e, 0x23, 0xcf, 0x60, 0x99, 0x15, 0xdf, 0x90,
1899 0x72, 0x12, 0x0f, 0xc6,
1900 ],
1901 Elements::InputScriptsHash => [
1902 0xdc, 0x13, 0x51, 0x9e, 0x75, 0x3e, 0x58, 0x75, 0x3c, 0x70, 0x98, 0x85, 0x41, 0xad,
1903 0x8a, 0x0b, 0xb5, 0x88, 0x8d, 0x08, 0x46, 0xe3, 0x5e, 0x4d, 0x42, 0x73, 0xf6, 0x56,
1904 0x85, 0x32, 0x2a, 0xe9,
1905 ],
1906 Elements::InputSequence => [
1907 0x3c, 0x6e, 0x4a, 0x3c, 0x21, 0xce, 0xd5, 0x24, 0x73, 0x6c, 0x54, 0x5c, 0x20, 0xe4,
1908 0xe2, 0xde, 0xf7, 0x67, 0x8f, 0x08, 0x4c, 0xd1, 0x2b, 0xcd, 0x65, 0x06, 0xa5, 0x20,
1909 0x0b, 0x5c, 0x17, 0x38,
1910 ],
1911 Elements::InputSequencesHash => [
1912 0xc8, 0x88, 0xc8, 0x73, 0x30, 0x2b, 0x92, 0xb0, 0x0f, 0x20, 0x68, 0x52, 0xc9, 0xea,
1913 0xef, 0x00, 0x0b, 0x40, 0x10, 0x9a, 0x53, 0xdd, 0x68, 0x6a, 0x53, 0xf1, 0x1d, 0xb5,
1914 0x07, 0x4d, 0x99, 0x37,
1915 ],
1916 Elements::InputUtxoHash => [
1917 0x85, 0x03, 0xd0, 0x52, 0x6b, 0xa9, 0x5a, 0x8f, 0xba, 0x8c, 0xa1, 0x35, 0x1c, 0x79,
1918 0x91, 0xc2, 0xa3, 0x86, 0xb7, 0x2f, 0xa8, 0x14, 0x31, 0xea, 0xdb, 0xab, 0x62, 0xcc,
1919 0x1f, 0x5d, 0xc5, 0x18,
1920 ],
1921 Elements::InputUtxosHash => [
1922 0x9c, 0x48, 0xab, 0x31, 0xc0, 0x50, 0xed, 0x06, 0x5a, 0xed, 0x51, 0x68, 0x66, 0xc1,
1923 0x6c, 0x1b, 0x96, 0xc1, 0x95, 0xea, 0x8e, 0x18, 0xb0, 0x24, 0xbf, 0xc0, 0xb8, 0x17,
1924 0x58, 0x49, 0xf0, 0x4e,
1925 ],
1926 Elements::InputsHash => [
1927 0x52, 0x3c, 0xd7, 0x1c, 0x57, 0x89, 0x88, 0x2f, 0x83, 0x75, 0xa5, 0xa5, 0x45, 0x60,
1928 0xde, 0xf8, 0x46, 0x3d, 0x1c, 0x51, 0xe5, 0x6b, 0x7e, 0x11, 0x26, 0x93, 0xe7, 0x7b,
1929 0x84, 0x4f, 0x47, 0x40,
1930 ],
1931 Elements::InternalKey => [
1932 0x9b, 0x74, 0x2e, 0x47, 0x1b, 0x0e, 0x59, 0x1a, 0x97, 0x2b, 0x0d, 0x44, 0x21, 0xf9,
1933 0xc9, 0x65, 0x93, 0x97, 0xf5, 0xda, 0xba, 0x2c, 0x14, 0xda, 0xc6, 0x2c, 0x4a, 0x33,
1934 0x9c, 0xc3, 0xe7, 0xec,
1935 ],
1936 Elements::IsOne16 => [
1937 0x84, 0x35, 0x87, 0x9c, 0xcb, 0x86, 0x44, 0x19, 0x8d, 0xcb, 0x9a, 0x0c, 0xd7, 0x35,
1938 0x46, 0xd7, 0x01, 0xfd, 0xd5, 0xa4, 0xc4, 0x43, 0x23, 0xf5, 0x63, 0x97, 0x15, 0x99,
1939 0xc3, 0x7d, 0x16, 0xfb,
1940 ],
1941 Elements::IsOne32 => [
1942 0xdd, 0xfb, 0xd9, 0xf0, 0xa2, 0xe6, 0x7c, 0x07, 0xde, 0xdb, 0x89, 0xe8, 0x96, 0xb6,
1943 0xc4, 0xf7, 0xd4, 0x5c, 0x51, 0x47, 0xee, 0xd0, 0x61, 0x4e, 0x4c, 0xe7, 0xd0, 0x87,
1944 0x69, 0xaf, 0xf8, 0x2d,
1945 ],
1946 Elements::IsOne64 => [
1947 0x35, 0xc5, 0x25, 0x54, 0x8e, 0x48, 0xee, 0xa0, 0xf7, 0x7b, 0x3b, 0xf9, 0x7a, 0xb6,
1948 0x7a, 0x1f, 0xfe, 0x8f, 0xb0, 0x94, 0xed, 0xe3, 0x32, 0x5e, 0x40, 0x64, 0xb1, 0x65,
1949 0x9c, 0x6d, 0x07, 0x65,
1950 ],
1951 Elements::IsOne8 => [
1952 0x0a, 0xba, 0x9e, 0x57, 0x6e, 0x64, 0xd2, 0x80, 0x4c, 0x8a, 0xc4, 0x68, 0x2b, 0xbb,
1953 0xa5, 0x39, 0x0e, 0xbc, 0x31, 0xa6, 0xe3, 0xe2, 0x65, 0x0f, 0x92, 0x19, 0x23, 0x5d,
1954 0xf4, 0xa6, 0xec, 0xbb,
1955 ],
1956 Elements::IsZero16 => [
1957 0xa2, 0x5a, 0xbd, 0x9c, 0xd2, 0xa4, 0x07, 0x0c, 0x74, 0x2e, 0xf8, 0xde, 0xb0, 0x68,
1958 0x29, 0x22, 0x46, 0x03, 0x2b, 0x96, 0xa5, 0x17, 0x22, 0x3b, 0x12, 0x8c, 0xfc, 0x12,
1959 0xd2, 0x15, 0xc5, 0xba,
1960 ],
1961 Elements::IsZero32 => [
1962 0x61, 0x2a, 0x48, 0x0c, 0xed, 0x6a, 0x79, 0xda, 0x61, 0x19, 0x54, 0x6e, 0x05, 0x6b,
1963 0x8d, 0xf9, 0xfa, 0x95, 0xd1, 0x12, 0x4b, 0x96, 0xd6, 0x01, 0xe1, 0xd3, 0xea, 0x91,
1964 0x8c, 0xc5, 0x60, 0x69,
1965 ],
1966 Elements::IsZero64 => [
1967 0x18, 0xe8, 0xe1, 0x77, 0x6b, 0xa0, 0x80, 0xcc, 0xd3, 0xe1, 0xd6, 0x0c, 0xb7, 0x53,
1968 0x41, 0x45, 0x36, 0xbf, 0x70, 0xdf, 0x18, 0x5f, 0x72, 0xc9, 0xe0, 0x70, 0x79, 0x6f,
1969 0x4c, 0x63, 0xcc, 0x71,
1970 ],
1971 Elements::IsZero8 => [
1972 0xb4, 0xba, 0xa5, 0x09, 0x38, 0x10, 0x84, 0x26, 0x74, 0x0d, 0x82, 0xcf, 0x12, 0x11,
1973 0xe0, 0xed, 0x12, 0x6d, 0xe3, 0xb7, 0x6b, 0x8d, 0x25, 0x9c, 0x50, 0xad, 0x4b, 0x8f,
1974 0xca, 0xb1, 0x0a, 0xb6,
1975 ],
1976 Elements::Issuance => [
1977 0x5c, 0x64, 0x63, 0x12, 0xc1, 0x69, 0xc6, 0x80, 0x27, 0x97, 0x9e, 0x1b, 0xc3, 0x26,
1978 0xc5, 0xdc, 0x95, 0xe5, 0xc5, 0x16, 0x8d, 0x00, 0xd9, 0x8e, 0x9d, 0x50, 0x4a, 0x7c,
1979 0xde, 0x21, 0xd7, 0x68,
1980 ],
1981 Elements::IssuanceAsset => [
1982 0x69, 0x0b, 0xf9, 0x18, 0xe1, 0x52, 0x77, 0x56, 0xcf, 0xbb, 0xf5, 0x1c, 0x83, 0x13,
1983 0x62, 0x14, 0x37, 0x56, 0xd5, 0x2d, 0x04, 0xe1, 0x29, 0x4f, 0x12, 0x64, 0x95, 0x0c,
1984 0x62, 0x67, 0xe5, 0xc9,
1985 ],
1986 Elements::IssuanceAssetAmount => [
1987 0x83, 0x60, 0x51, 0x46, 0xff, 0x26, 0xa4, 0x9c, 0xa1, 0x6f, 0x1c, 0x4a, 0x6e, 0x0c,
1988 0xe0, 0xb7, 0xc2, 0x14, 0xdf, 0x12, 0xc3, 0x77, 0xf5, 0x22, 0x52, 0x3d, 0xeb, 0x6d,
1989 0x5d, 0x0e, 0xe4, 0x4d,
1990 ],
1991 Elements::IssuanceAssetAmountsHash => [
1992 0x70, 0xf1, 0x1c, 0x3b, 0x3b, 0x5d, 0x16, 0x57, 0xd3, 0xb7, 0xc7, 0xee, 0xec, 0x85,
1993 0x0c, 0x30, 0xa3, 0x2e, 0xa9, 0x6a, 0xa3, 0x64, 0x26, 0xfa, 0x30, 0xeb, 0xf5, 0x49,
1994 0x98, 0x51, 0xa8, 0x80,
1995 ],
1996 Elements::IssuanceAssetProof => [
1997 0x0b, 0x06, 0x1f, 0x9f, 0x67, 0x0c, 0x05, 0xdc, 0x39, 0xf4, 0x38, 0x31, 0x3c, 0x13,
1998 0x79, 0xd9, 0xbf, 0x63, 0xf4, 0x4f, 0x98, 0x76, 0xb9, 0x56, 0x69, 0x3b, 0x41, 0xb7,
1999 0xf9, 0x4c, 0x6c, 0x9d,
2000 ],
2001 Elements::IssuanceBlindingEntropyHash => [
2002 0xbf, 0xb6, 0xa9, 0x34, 0x44, 0xe2, 0xa0, 0xb3, 0xfb, 0x7c, 0x13, 0xd1, 0x58, 0x9a,
2003 0x78, 0x7b, 0x66, 0xe8, 0x4b, 0x69, 0xb6, 0x27, 0x4c, 0xea, 0x20, 0xad, 0x99, 0x99,
2004 0xeb, 0x8c, 0xa6, 0x7c,
2005 ],
2006 Elements::IssuanceEntropy => [
2007 0x6d, 0xdf, 0x99, 0xf2, 0x8c, 0x70, 0x19, 0x8d, 0x65, 0x41, 0x7a, 0x83, 0x60, 0x74,
2008 0xf1, 0xb9, 0xb6, 0x10, 0xf2, 0x1f, 0x51, 0x19, 0xfd, 0x55, 0x0f, 0x60, 0xb6, 0xf8,
2009 0xe9, 0x95, 0xbb, 0xf3,
2010 ],
2011 Elements::IssuanceHash => [
2012 0x6e, 0x9f, 0x8a, 0xe8, 0xc4, 0x5b, 0xfb, 0x7e, 0x4e, 0x0c, 0xf2, 0xd0, 0x0f, 0x66,
2013 0x83, 0x2b, 0x47, 0x9d, 0xe7, 0x58, 0x2c, 0xdb, 0xc8, 0x51, 0xd0, 0xb3, 0x23, 0x0f,
2014 0xdf, 0xbb, 0xb7, 0x8d,
2015 ],
2016 Elements::IssuanceRangeProofsHash => [
2017 0x7e, 0x97, 0xf5, 0x19, 0x53, 0x48, 0x31, 0xc7, 0x7a, 0xcf, 0x73, 0xa2, 0x0f, 0xd5,
2018 0x3c, 0xb3, 0x1d, 0x1d, 0x15, 0x6c, 0x9a, 0xcb, 0xbf, 0x87, 0x3d, 0x14, 0x92, 0xd6,
2019 0x0d, 0x13, 0x67, 0xd8,
2020 ],
2021 Elements::IssuanceToken => [
2022 0xbc, 0x2c, 0xb7, 0xe9, 0x64, 0xb2, 0xa2, 0xae, 0xd7, 0x9b, 0x75, 0xc5, 0xf4, 0x40,
2023 0x8f, 0xe8, 0x4a, 0x6d, 0xc9, 0xb9, 0xe8, 0xcd, 0x2c, 0x69, 0x4d, 0x57, 0xc5, 0xf9,
2024 0xb6, 0x12, 0x05, 0xb9,
2025 ],
2026 Elements::IssuanceTokenAmount => [
2027 0x7e, 0x10, 0x64, 0x64, 0xa1, 0x3b, 0x67, 0x64, 0xce, 0x74, 0xd3, 0xfe, 0x6b, 0xa1,
2028 0xcb, 0xd5, 0xf4, 0xae, 0xb8, 0x6b, 0xbb, 0xdf, 0x58, 0x88, 0xdd, 0xf9, 0x90, 0x1d,
2029 0xd8, 0xb6, 0x19, 0xaa,
2030 ],
2031 Elements::IssuanceTokenAmountsHash => [
2032 0x94, 0xb5, 0xa4, 0x59, 0x5b, 0x67, 0x4d, 0xbf, 0xc4, 0x9c, 0x4e, 0x8e, 0xa1, 0xa9,
2033 0xab, 0xc9, 0x3e, 0xd2, 0xf7, 0x70, 0x7c, 0x42, 0x12, 0xa3, 0x2b, 0x5b, 0x86, 0xac,
2034 0x13, 0x18, 0xc9, 0xde,
2035 ],
2036 Elements::IssuanceTokenProof => [
2037 0x46, 0xed, 0x52, 0x75, 0xf5, 0x5a, 0xb3, 0x41, 0xf5, 0x7c, 0x35, 0x19, 0xff, 0xed,
2038 0xf4, 0xe3, 0x7f, 0x3f, 0x59, 0xc9, 0x7c, 0xe9, 0xb8, 0xe1, 0x7f, 0xff, 0xae, 0x16,
2039 0xc6, 0xcc, 0x1c, 0x0e,
2040 ],
2041 Elements::IssuancesHash => [
2042 0x58, 0x65, 0x9f, 0x3f, 0x7e, 0x01, 0x30, 0xc4, 0xfc, 0x91, 0x6f, 0x49, 0xbc, 0x32,
2043 0xea, 0xa0, 0x88, 0x3a, 0xcb, 0x90, 0x22, 0xfc, 0xad, 0x5e, 0x78, 0x05, 0x83, 0x9a,
2044 0x99, 0xe5, 0x0c, 0xf9,
2045 ],
2046 Elements::LbtcAsset => [
2047 0x2a, 0xf7, 0xf7, 0x3a, 0xe3, 0xfb, 0xbf, 0xa2, 0xd2, 0x3a, 0x87, 0x74, 0xe6, 0xe3,
2048 0xca, 0x09, 0x32, 0x54, 0xda, 0x2f, 0xd2, 0xa9, 0xf3, 0x97, 0xa6, 0xae, 0x0a, 0x30,
2049 0xbb, 0x48, 0xf0, 0xd7,
2050 ],
2051 Elements::Le16 => [
2052 0x63, 0xda, 0x72, 0x7c, 0xcb, 0x4c, 0x6a, 0x9d, 0x4e, 0x00, 0x09, 0x64, 0xe7, 0x63,
2053 0xbf, 0xf9, 0x34, 0xea, 0xaf, 0xd0, 0x44, 0x28, 0x7e, 0x12, 0x68, 0xd0, 0x7e, 0xcd,
2054 0xfd, 0xe2, 0x07, 0xe1,
2055 ],
2056 Elements::Le32 => [
2057 0xde, 0xe2, 0x9a, 0x91, 0x65, 0x6d, 0x7a, 0xe7, 0x3d, 0xf4, 0x95, 0x6f, 0xd8, 0xa2,
2058 0xc6, 0xb6, 0x27, 0xaa, 0xb5, 0x1c, 0x11, 0x29, 0xf9, 0xfe, 0x7f, 0x6e, 0xd3, 0xe3,
2059 0x47, 0x92, 0xc7, 0x62,
2060 ],
2061 Elements::Le64 => [
2062 0x01, 0xc5, 0x5d, 0xf7, 0xd4, 0x46, 0x59, 0x66, 0x65, 0x9d, 0xdf, 0xc9, 0x4b, 0x36,
2063 0xd0, 0x33, 0x24, 0x2c, 0x2e, 0xc5, 0x93, 0xce, 0xe1, 0x21, 0x22, 0x44, 0x07, 0x75,
2064 0x66, 0xed, 0x01, 0x5f,
2065 ],
2066 Elements::Le8 => [
2067 0x0f, 0xb7, 0x2d, 0x9f, 0x8e, 0xe2, 0x37, 0x0a, 0xba, 0x55, 0x66, 0x3a, 0x48, 0x99,
2068 0x16, 0x2e, 0x40, 0xca, 0x55, 0x14, 0x71, 0x3e, 0xfb, 0x25, 0xe4, 0xa8, 0x9e, 0x2a,
2069 0x10, 0x4b, 0x34, 0xdb,
2070 ],
2071 Elements::LeftExtend16_32 => [
2072 0xdc, 0xf4, 0x2b, 0x65, 0x42, 0xf6, 0xd4, 0x1c, 0xb7, 0xb5, 0x0e, 0x7c, 0x77, 0x2f,
2073 0x3c, 0x7f, 0x6e, 0x43, 0x22, 0x32, 0xf2, 0xba, 0x20, 0x79, 0xb3, 0x86, 0xa0, 0x5d,
2074 0x7b, 0x46, 0x6a, 0xdd,
2075 ],
2076 Elements::LeftExtend16_64 => [
2077 0x2e, 0xee, 0x48, 0xa9, 0x22, 0x37, 0x94, 0x7c, 0x1a, 0x51, 0x7d, 0xf9, 0x95, 0xf4,
2078 0x4f, 0x1d, 0xfe, 0xf2, 0x0d, 0xdb, 0x4e, 0x9b, 0x53, 0x0b, 0x22, 0xd1, 0x8a, 0x0a,
2079 0x7f, 0xd6, 0x28, 0xaa,
2080 ],
2081 Elements::LeftExtend1_16 => [
2082 0x9a, 0x48, 0xa4, 0x77, 0x8e, 0x7c, 0x3c, 0x28, 0x5a, 0xb6, 0x53, 0x29, 0xd1, 0xcc,
2083 0xc4, 0x99, 0x9d, 0x2d, 0x19, 0x4e, 0x00, 0x5b, 0xd7, 0x94, 0x69, 0x49, 0x53, 0x3d,
2084 0x8c, 0xba, 0x80, 0x6c,
2085 ],
2086 Elements::LeftExtend1_32 => [
2087 0xda, 0xb6, 0xa5, 0x33, 0xcb, 0xcb, 0xe8, 0x36, 0x2c, 0xf1, 0xd5, 0xa1, 0x6e, 0xa3,
2088 0x7c, 0xbc, 0x7e, 0xdc, 0x7f, 0xc8, 0xa9, 0x42, 0x85, 0x71, 0xe1, 0x71, 0xec, 0x6e,
2089 0xe4, 0x4d, 0x08, 0x00,
2090 ],
2091 Elements::LeftExtend1_64 => [
2092 0x11, 0x0e, 0x5c, 0x1e, 0xf0, 0xb4, 0x69, 0xa7, 0x63, 0x85, 0x70, 0xda, 0x94, 0x4d,
2093 0x23, 0x2e, 0x0f, 0x28, 0xc4, 0x61, 0x51, 0xa2, 0x25, 0x35, 0x7d, 0xe3, 0xe9, 0x04,
2094 0x57, 0xa8, 0x8e, 0xa2,
2095 ],
2096 Elements::LeftExtend1_8 => [
2097 0x5a, 0x83, 0x1c, 0xa9, 0x96, 0x21, 0x51, 0x7a, 0x2b, 0x35, 0x4e, 0x5c, 0xac, 0x38,
2098 0xbc, 0x3a, 0x30, 0xc4, 0x00, 0x1f, 0x20, 0xd2, 0x5d, 0x77, 0x97, 0xad, 0xdc, 0xac,
2099 0x5d, 0xa8, 0x61, 0x06,
2100 ],
2101 Elements::LeftExtend32_64 => [
2102 0x84, 0xfc, 0xc6, 0x9b, 0xa1, 0xdb, 0x50, 0xdb, 0xd5, 0x36, 0x3c, 0xf2, 0x77, 0x79,
2103 0x57, 0x60, 0x1d, 0xe2, 0x56, 0x8a, 0xdf, 0x07, 0xaf, 0x41, 0x61, 0xde, 0xbb, 0x1e,
2104 0x5e, 0x37, 0x31, 0x0a,
2105 ],
2106 Elements::LeftExtend8_16 => [
2107 0xfe, 0xa1, 0xf2, 0x5a, 0x82, 0xfd, 0xf6, 0xf8, 0x66, 0x9c, 0xc4, 0x0f, 0xbb, 0x8e,
2108 0x54, 0xa9, 0x26, 0x58, 0xbf, 0xab, 0x94, 0xeb, 0x08, 0x2f, 0x71, 0x7b, 0xa2, 0x65,
2109 0xb5, 0xd8, 0x44, 0xb4,
2110 ],
2111 Elements::LeftExtend8_32 => [
2112 0x09, 0xd7, 0x03, 0xca, 0x46, 0xf7, 0x5d, 0x05, 0x1a, 0x93, 0xd0, 0xe8, 0xa2, 0xaf,
2113 0x05, 0x01, 0xa3, 0x8e, 0x84, 0x86, 0x83, 0xef, 0x10, 0x9c, 0x1f, 0xb4, 0xb5, 0xbe,
2114 0x20, 0xe6, 0x31, 0x5d,
2115 ],
2116 Elements::LeftExtend8_64 => [
2117 0xd3, 0xda, 0xfc, 0xbd, 0xab, 0x69, 0xa2, 0xbb, 0x32, 0x0f, 0x8d, 0x23, 0x0c, 0xef,
2118 0xd0, 0x9c, 0x27, 0xa1, 0x54, 0xc5, 0x1e, 0x7e, 0x5c, 0xd5, 0x33, 0x4e, 0xaf, 0xed,
2119 0x19, 0xe2, 0x0d, 0xf4,
2120 ],
2121 Elements::LeftPadHigh16_32 => [
2122 0x88, 0x8c, 0x7e, 0x0a, 0xb0, 0x03, 0x14, 0x75, 0xc5, 0x14, 0xf9, 0xb3, 0x7c, 0x81,
2123 0xf4, 0x5a, 0x47, 0x31, 0x49, 0x84, 0xe5, 0x02, 0x75, 0x08, 0xdd, 0xc5, 0xeb, 0x8d,
2124 0x8d, 0x10, 0xbe, 0xb9,
2125 ],
2126 Elements::LeftPadHigh16_64 => [
2127 0x52, 0x6b, 0x35, 0x05, 0x45, 0x01, 0x36, 0xd6, 0x81, 0xa5, 0x0b, 0x4b, 0xde, 0x4f,
2128 0xa6, 0x12, 0xda, 0x9d, 0x69, 0xbd, 0x08, 0x17, 0x0e, 0xa3, 0x2d, 0x0a, 0x26, 0x51,
2129 0x11, 0x50, 0x72, 0xeb,
2130 ],
2131 Elements::LeftPadHigh1_16 => [
2132 0x93, 0xae, 0xd6, 0xf6, 0x87, 0x50, 0x77, 0x4b, 0x2d, 0xbf, 0x83, 0x14, 0xca, 0xde,
2133 0xbe, 0x5a, 0x41, 0x52, 0x43, 0xfb, 0xdf, 0x7c, 0x2e, 0xea, 0x8b, 0x22, 0x3d, 0xf3,
2134 0x26, 0x1e, 0x3b, 0xdb,
2135 ],
2136 Elements::LeftPadHigh1_32 => [
2137 0x00, 0x82, 0x98, 0xf8, 0x2f, 0xb6, 0xcf, 0x37, 0xe9, 0xdc, 0x70, 0x3e, 0xa4, 0xf9,
2138 0x49, 0x56, 0x5c, 0x29, 0x65, 0xa7, 0xc7, 0xf4, 0xfa, 0x22, 0xf5, 0x54, 0x56, 0x42,
2139 0x34, 0x08, 0xa3, 0xab,
2140 ],
2141 Elements::LeftPadHigh1_64 => [
2142 0x2b, 0x45, 0x4e, 0xbd, 0x79, 0x1e, 0xc7, 0xda, 0xce, 0xdc, 0xb8, 0x6c, 0x69, 0xd0,
2143 0x26, 0x79, 0x4a, 0x5d, 0xc3, 0x72, 0x52, 0x61, 0xe7, 0xdc, 0x16, 0x50, 0xcc, 0x88,
2144 0x81, 0x17, 0xfc, 0x4f,
2145 ],
2146 Elements::LeftPadHigh1_8 => [
2147 0x6c, 0x27, 0x7c, 0x4c, 0xd0, 0x53, 0xdd, 0x35, 0x02, 0xdb, 0xe0, 0xbb, 0xc1, 0x4e,
2148 0xb0, 0xb3, 0x6a, 0x20, 0x1a, 0xbe, 0xf3, 0xb1, 0x74, 0xb0, 0xeb, 0xfe, 0x05, 0x20,
2149 0x18, 0xb6, 0x7e, 0x67,
2150 ],
2151 Elements::LeftPadHigh32_64 => [
2152 0x5d, 0x41, 0x22, 0x1c, 0xf6, 0x15, 0x82, 0x97, 0xb0, 0x6c, 0x19, 0x57, 0x11, 0x2c,
2153 0x0d, 0x12, 0xf3, 0xeb, 0x91, 0x7a, 0x2f, 0x50, 0x9a, 0x53, 0x9d, 0x5c, 0x9b, 0x79,
2154 0x10, 0x21, 0x9b, 0x65,
2155 ],
2156 Elements::LeftPadHigh8_16 => [
2157 0x21, 0x78, 0xdc, 0x76, 0xc0, 0x4c, 0x79, 0xd9, 0x18, 0x15, 0xd3, 0x8c, 0x96, 0x7f,
2158 0x34, 0x21, 0x3f, 0xfc, 0xc6, 0xc5, 0xf2, 0x43, 0xc9, 0x56, 0x29, 0x73, 0xf0, 0x90,
2159 0xca, 0x5c, 0xae, 0xfa,
2160 ],
2161 Elements::LeftPadHigh8_32 => [
2162 0xa4, 0xe8, 0x6b, 0x53, 0xe5, 0xd0, 0x0f, 0xaf, 0x0b, 0x3e, 0x9d, 0x53, 0x20, 0x2a,
2163 0xf7, 0x73, 0x8d, 0xcb, 0x88, 0x87, 0xa1, 0x8d, 0xfe, 0xe5, 0xbe, 0x34, 0xc4, 0x97,
2164 0x69, 0x8c, 0xa6, 0xb7,
2165 ],
2166 Elements::LeftPadHigh8_64 => [
2167 0xc8, 0x43, 0xa7, 0x2c, 0x41, 0x17, 0x0f, 0x40, 0x34, 0x33, 0xc4, 0x36, 0xa3, 0x9b,
2168 0x05, 0xcf, 0x19, 0x3c, 0x27, 0xd8, 0xbe, 0x35, 0x30, 0xf9, 0xb9, 0x4e, 0x42, 0xd7,
2169 0x63, 0x00, 0x3d, 0x54,
2170 ],
2171 Elements::LeftPadLow16_32 => [
2172 0x21, 0x53, 0x7f, 0x7d, 0x8f, 0x97, 0xf2, 0x20, 0x3c, 0xcc, 0xb0, 0x35, 0xef, 0x1d,
2173 0x46, 0x28, 0x9e, 0xe8, 0xaa, 0x50, 0xf0, 0x23, 0x60, 0x77, 0xd0, 0xd0, 0xb2, 0x10,
2174 0x70, 0x04, 0x40, 0xa1,
2175 ],
2176 Elements::LeftPadLow16_64 => [
2177 0x6b, 0x2e, 0xa9, 0x63, 0x0c, 0x5d, 0xde, 0x03, 0x7a, 0xab, 0x2b, 0xf7, 0x33, 0x21,
2178 0x9b, 0x99, 0xc7, 0xed, 0xc2, 0xec, 0xed, 0xb9, 0xa0, 0x3a, 0xdf, 0xd1, 0x69, 0x43,
2179 0x0b, 0x08, 0xbb, 0x9c,
2180 ],
2181 Elements::LeftPadLow1_16 => [
2182 0x4a, 0xa4, 0x05, 0x20, 0xfa, 0xed, 0x72, 0xe6, 0xe9, 0xbe, 0x3b, 0xe6, 0x93, 0x0f,
2183 0x1e, 0x32, 0xb0, 0xb1, 0x82, 0xc4, 0x32, 0x7a, 0xda, 0x94, 0xa7, 0x1f, 0x00, 0x6d,
2184 0x14, 0x90, 0x15, 0xf9,
2185 ],
2186 Elements::LeftPadLow1_32 => [
2187 0xcf, 0xb4, 0x75, 0x3b, 0xb9, 0xba, 0x36, 0x21, 0xba, 0x09, 0x37, 0x82, 0x5f, 0xad,
2188 0xe6, 0x43, 0x09, 0x8e, 0x38, 0x5e, 0xd6, 0x8e, 0xfb, 0x16, 0xff, 0x58, 0xec, 0xf3,
2189 0x65, 0xd7, 0xe5, 0xe2,
2190 ],
2191 Elements::LeftPadLow1_64 => [
2192 0xe6, 0xf1, 0xc0, 0x9b, 0x5f, 0xe1, 0x26, 0xd0, 0xea, 0x86, 0xe7, 0xbf, 0xc0, 0xb2,
2193 0x8e, 0x84, 0x9f, 0x8f, 0x7e, 0xfd, 0x31, 0x06, 0x4e, 0xa4, 0xfd, 0x1c, 0xca, 0x07,
2194 0x1b, 0x45, 0xdb, 0x93,
2195 ],
2196 Elements::LeftPadLow1_8 => [
2197 0xdc, 0x5a, 0x47, 0xf8, 0xd7, 0x77, 0x65, 0xc9, 0x94, 0xcb, 0xe8, 0x6a, 0xae, 0x44,
2198 0xa9, 0xc5, 0xff, 0x2e, 0xbc, 0x38, 0x10, 0xd7, 0x9c, 0xd8, 0x3b, 0xd2, 0xc4, 0x09,
2199 0x8c, 0x76, 0x2b, 0xf5,
2200 ],
2201 Elements::LeftPadLow32_64 => [
2202 0x2d, 0x88, 0xe4, 0xd0, 0x1e, 0x01, 0x08, 0xc0, 0xd6, 0x88, 0x0f, 0x3c, 0xe8, 0x48,
2203 0x2b, 0xb0, 0x95, 0x1f, 0x2b, 0x3f, 0xc5, 0xdf, 0x4b, 0x1a, 0xdb, 0x18, 0x4a, 0x1b,
2204 0xfd, 0x1f, 0x64, 0x65,
2205 ],
2206 Elements::LeftPadLow8_16 => [
2207 0xac, 0x1a, 0x4c, 0x97, 0x83, 0xe4, 0xdb, 0xed, 0x27, 0x00, 0xeb, 0x29, 0x52, 0xe3,
2208 0x06, 0x2a, 0x5a, 0x72, 0x71, 0x2f, 0x82, 0x15, 0x98, 0x61, 0xb0, 0x8e, 0x67, 0xef,
2209 0x4a, 0x71, 0xf5, 0xf2,
2210 ],
2211 Elements::LeftPadLow8_32 => [
2212 0x3d, 0xa5, 0xf1, 0xa8, 0xc9, 0x78, 0x19, 0xae, 0x7e, 0x10, 0xb9, 0x36, 0x4f, 0xf8,
2213 0x49, 0x96, 0xd0, 0xd7, 0x3e, 0x69, 0x8a, 0x49, 0xda, 0x69, 0x1f, 0x69, 0xa2, 0x73,
2214 0x25, 0x42, 0x01, 0xcd,
2215 ],
2216 Elements::LeftPadLow8_64 => [
2217 0x25, 0xbc, 0x18, 0xd4, 0x9f, 0x93, 0x40, 0x72, 0x27, 0x7d, 0x3f, 0x61, 0x3b, 0xf1,
2218 0x6c, 0x11, 0x8d, 0xf1, 0x97, 0xbc, 0x92, 0x87, 0x2d, 0x2a, 0xff, 0xe4, 0x17, 0xad,
2219 0xea, 0xaf, 0x1a, 0x85,
2220 ],
2221 Elements::LeftRotate16 => [
2222 0x88, 0xc1, 0x23, 0x37, 0xcd, 0x75, 0x4f, 0x83, 0x80, 0x98, 0x6d, 0x86, 0xfe, 0x3a,
2223 0x89, 0xe2, 0x62, 0x74, 0x66, 0x53, 0xe1, 0xba, 0xdd, 0x9c, 0xc9, 0xb4, 0x76, 0x45,
2224 0xfe, 0x57, 0x19, 0x5a,
2225 ],
2226 Elements::LeftRotate32 => [
2227 0x39, 0x81, 0x6c, 0xcd, 0x9e, 0x9c, 0xf1, 0x19, 0x1f, 0x06, 0x5d, 0x2e, 0xb7, 0xa7,
2228 0xfb, 0x83, 0x82, 0x8d, 0x91, 0xec, 0x7d, 0x99, 0x77, 0xa1, 0xfc, 0x70, 0xbe, 0x9b,
2229 0x31, 0xa4, 0x68, 0xb9,
2230 ],
2231 Elements::LeftRotate64 => [
2232 0x8b, 0x23, 0x55, 0xc3, 0x1e, 0x3b, 0x61, 0x4b, 0xd4, 0xb4, 0x1c, 0x3e, 0xcf, 0x27,
2233 0x74, 0x24, 0xd0, 0x26, 0x76, 0x6b, 0x37, 0xbc, 0x6c, 0x10, 0x56, 0x21, 0xf4, 0xf6,
2234 0xa1, 0x6f, 0x9b, 0xdf,
2235 ],
2236 Elements::LeftRotate8 => [
2237 0x9e, 0x96, 0x6e, 0x88, 0x0c, 0x6b, 0x0c, 0x48, 0x3c, 0x90, 0xbe, 0xee, 0xd7, 0xc5,
2238 0x73, 0x7c, 0xa5, 0xf3, 0xfa, 0xcf, 0x85, 0xaa, 0xb3, 0xd5, 0x31, 0xad, 0x34, 0xbd,
2239 0x7b, 0x1a, 0x9b, 0x68,
2240 ],
2241 Elements::LeftShift16 => [
2242 0xb0, 0x53, 0x60, 0x18, 0x4d, 0x06, 0x02, 0xb5, 0x81, 0x40, 0x5e, 0x32, 0x96, 0x0b,
2243 0x31, 0xc0, 0x52, 0x19, 0x35, 0x8d, 0xe8, 0x9e, 0xfd, 0xf4, 0x94, 0x64, 0x72, 0x3d,
2244 0xd6, 0x25, 0x61, 0x7a,
2245 ],
2246 Elements::LeftShift32 => [
2247 0x34, 0xbf, 0x54, 0xf5, 0x94, 0xc2, 0x62, 0x10, 0x07, 0xf8, 0xc7, 0x8b, 0x30, 0xfa,
2248 0xd3, 0x96, 0x72, 0x00, 0x9b, 0xb3, 0x66, 0xaa, 0xce, 0x1e, 0x5e, 0x41, 0xee, 0x4d,
2249 0x9c, 0xc5, 0x41, 0xa8,
2250 ],
2251 Elements::LeftShift64 => [
2252 0x5d, 0xe9, 0x53, 0xf0, 0x4d, 0xea, 0xed, 0x90, 0x47, 0x56, 0x76, 0x47, 0xa1, 0xeb,
2253 0x7a, 0xbe, 0x66, 0x5f, 0xec, 0xcb, 0xe7, 0xed, 0x10, 0xcb, 0x7d, 0xbe, 0x69, 0x12,
2254 0x73, 0xc0, 0x94, 0xb0,
2255 ],
2256 Elements::LeftShift8 => [
2257 0xab, 0x9d, 0x3e, 0x9a, 0xc3, 0x90, 0x38, 0xad, 0x88, 0xb1, 0x03, 0xf0, 0x72, 0x25,
2258 0x4c, 0x0e, 0xc6, 0xe2, 0x74, 0x75, 0xe2, 0x75, 0xc2, 0x45, 0xe8, 0x8c, 0xce, 0x0d,
2259 0x07, 0x2e, 0x64, 0x46,
2260 ],
2261 Elements::LeftShiftWith16 => [
2262 0xe2, 0x91, 0x07, 0x88, 0x55, 0x50, 0x45, 0x0e, 0xb7, 0x27, 0xd0, 0xcf, 0x14, 0xe1,
2263 0x04, 0xae, 0x12, 0xf8, 0x3a, 0x24, 0xe2, 0xe2, 0xac, 0xa3, 0xcc, 0xe4, 0x33, 0xde,
2264 0x2f, 0x35, 0xd7, 0xb3,
2265 ],
2266 Elements::LeftShiftWith32 => [
2267 0xf3, 0x92, 0x50, 0xc4, 0x5a, 0x13, 0x10, 0xcc, 0x63, 0x8c, 0x78, 0x8d, 0xee, 0xc5,
2268 0xc3, 0x65, 0xb4, 0xd1, 0x76, 0xd1, 0x0e, 0xfb, 0xf4, 0xc6, 0x01, 0xcf, 0x5e, 0xeb,
2269 0xe0, 0xa5, 0x73, 0xe9,
2270 ],
2271 Elements::LeftShiftWith64 => [
2272 0xad, 0x87, 0x94, 0xcf, 0xae, 0xf2, 0xb7, 0xf7, 0x74, 0xfa, 0x68, 0xd3, 0x09, 0xbb,
2273 0xc9, 0x8d, 0xfe, 0xe5, 0x8c, 0x40, 0x40, 0x0b, 0x2e, 0xb5, 0x78, 0xa2, 0x12, 0xf4,
2274 0x38, 0xbd, 0x07, 0xab,
2275 ],
2276 Elements::LeftShiftWith8 => [
2277 0xdd, 0x9c, 0xc1, 0xce, 0xa7, 0x49, 0x09, 0x48, 0x1f, 0xf5, 0x8f, 0x87, 0x6f, 0xf6,
2278 0x6e, 0x0f, 0x5d, 0x52, 0xbf, 0x89, 0xb0, 0x25, 0x8f, 0xa9, 0x5b, 0x32, 0x00, 0x02,
2279 0xc3, 0x2a, 0x79, 0x15,
2280 ],
2281 Elements::Leftmost16_1 => [
2282 0xde, 0x6a, 0x4c, 0x98, 0x33, 0x7e, 0x68, 0x0d, 0x6e, 0x6e, 0xe2, 0xbf, 0x36, 0xd3,
2283 0xa0, 0x81, 0x7d, 0x2a, 0x9a, 0x98, 0x32, 0x5f, 0x87, 0xe5, 0xec, 0xeb, 0x8a, 0x6f,
2284 0x11, 0x68, 0xf5, 0xca,
2285 ],
2286 Elements::Leftmost16_2 => [
2287 0x00, 0x58, 0x09, 0xb8, 0x05, 0x1a, 0x2a, 0x50, 0x28, 0x33, 0xb2, 0x2c, 0x2c, 0x17,
2288 0x98, 0x1e, 0xaf, 0x9d, 0xd1, 0xd3, 0xdb, 0xc8, 0xf8, 0xc8, 0x94, 0x51, 0x6c, 0x1d,
2289 0x5f, 0x31, 0x14, 0x6c,
2290 ],
2291 Elements::Leftmost16_4 => [
2292 0x9c, 0x50, 0xee, 0x22, 0x84, 0xd8, 0x57, 0xc4, 0x7c, 0x05, 0x44, 0x47, 0x13, 0x54,
2293 0x10, 0x5e, 0x98, 0xdf, 0xe0, 0x27, 0x54, 0xd2, 0xe4, 0x2d, 0xe1, 0x1d, 0x32, 0x34,
2294 0xed, 0x10, 0xb6, 0x42,
2295 ],
2296 Elements::Leftmost16_8 => [
2297 0x5a, 0x1a, 0x72, 0x91, 0x4e, 0x14, 0x9c, 0x22, 0xb4, 0x64, 0xc8, 0xf6, 0xa3, 0xd9,
2298 0xcf, 0x41, 0xb0, 0x71, 0x92, 0xbe, 0xf0, 0xd8, 0xa1, 0xcc, 0x7c, 0xbe, 0x57, 0x04,
2299 0xa9, 0xe8, 0xea, 0x70,
2300 ],
2301 Elements::Leftmost32_1 => [
2302 0x5f, 0xb8, 0xe6, 0x34, 0x2a, 0xb7, 0x4e, 0xe2, 0xc9, 0x22, 0x5b, 0x87, 0x2f, 0xa0,
2303 0xc9, 0x12, 0x04, 0x6a, 0x69, 0xdb, 0xb7, 0x19, 0xbc, 0xd6, 0xc8, 0xd7, 0x9b, 0x76,
2304 0x60, 0xc4, 0xeb, 0xca,
2305 ],
2306 Elements::Leftmost32_16 => [
2307 0x54, 0xae, 0x50, 0xb4, 0x6b, 0x5b, 0x2e, 0x68, 0xf5, 0x36, 0xc0, 0x1c, 0x39, 0x61,
2308 0x7b, 0x0c, 0xee, 0x42, 0xe1, 0xc4, 0x9a, 0x2c, 0xd1, 0xd2, 0x6a, 0xf8, 0xea, 0x87,
2309 0x15, 0xac, 0x4d, 0x11,
2310 ],
2311 Elements::Leftmost32_2 => [
2312 0x12, 0x30, 0x68, 0x55, 0x45, 0x95, 0x42, 0x7e, 0x3c, 0x1d, 0xe2, 0x43, 0xba, 0xb6,
2313 0x6f, 0x33, 0x48, 0x36, 0x8a, 0xaa, 0x44, 0x61, 0x7d, 0x6a, 0x02, 0x47, 0x9f, 0xb7,
2314 0x04, 0xbc, 0xfd, 0x1e,
2315 ],
2316 Elements::Leftmost32_4 => [
2317 0x55, 0xa8, 0x7b, 0x66, 0xc3, 0x39, 0xe3, 0x63, 0xe0, 0x3d, 0x4d, 0xaa, 0xc6, 0x22,
2318 0x90, 0xeb, 0xa9, 0x3c, 0x1a, 0x3a, 0x73, 0x82, 0xcb, 0xf6, 0x1f, 0x20, 0xb3, 0x4a,
2319 0x50, 0x51, 0x24, 0xad,
2320 ],
2321 Elements::Leftmost32_8 => [
2322 0x9f, 0x34, 0x5b, 0xee, 0x0b, 0x16, 0x2d, 0x42, 0xa0, 0x35, 0x71, 0x8f, 0x8c, 0xa1,
2323 0xad, 0xc8, 0xac, 0x2f, 0x71, 0x0d, 0xc4, 0x00, 0x52, 0xa8, 0x25, 0x66, 0xe6, 0xd8,
2324 0x07, 0xbe, 0xf8, 0xb8,
2325 ],
2326 Elements::Leftmost64_1 => [
2327 0xb9, 0x24, 0xd3, 0x3b, 0x5e, 0xfe, 0xfc, 0x8e, 0x20, 0x42, 0x08, 0x19, 0x25, 0x91,
2328 0x7c, 0xff, 0x23, 0x9b, 0x31, 0xc8, 0xbd, 0xbd, 0xf4, 0xac, 0xae, 0x6b, 0xb8, 0xd9,
2329 0xcd, 0x21, 0x7b, 0x4f,
2330 ],
2331 Elements::Leftmost64_16 => [
2332 0x12, 0xaa, 0x85, 0xe0, 0x5c, 0x1e, 0x96, 0x22, 0x27, 0x9c, 0x4c, 0x2d, 0xdc, 0xf8,
2333 0x97, 0xc9, 0x5d, 0xdc, 0xc0, 0x11, 0x39, 0x97, 0x28, 0x3b, 0x6b, 0x3e, 0x09, 0x49,
2334 0xbc, 0x81, 0x13, 0xcb,
2335 ],
2336 Elements::Leftmost64_2 => [
2337 0xbc, 0xec, 0x97, 0xf4, 0x3b, 0xa5, 0x5c, 0xd4, 0x0d, 0x85, 0xa1, 0xe7, 0x6c, 0xba,
2338 0xde, 0x7b, 0x0b, 0x1e, 0x9f, 0x13, 0x97, 0x47, 0x79, 0x3d, 0xcb, 0x34, 0x80, 0xbe,
2339 0xe1, 0xf7, 0x51, 0xca,
2340 ],
2341 Elements::Leftmost64_32 => [
2342 0x9c, 0x89, 0x69, 0x39, 0x86, 0xe5, 0x57, 0x33, 0xab, 0x96, 0x2a, 0x30, 0x0b, 0x05,
2343 0x79, 0x50, 0x3d, 0x83, 0xde, 0x8a, 0xc1, 0x9b, 0x17, 0x9b, 0x41, 0x7e, 0x1c, 0xa2,
2344 0x53, 0x85, 0xb3, 0x8f,
2345 ],
2346 Elements::Leftmost64_4 => [
2347 0xd2, 0xd6, 0x45, 0x20, 0x92, 0xd6, 0x56, 0x6f, 0x89, 0xa1, 0xf6, 0x4e, 0x73, 0x65,
2348 0x96, 0xf9, 0x00, 0x0e, 0x5e, 0x6f, 0x63, 0xe4, 0x00, 0x17, 0xd0, 0xcb, 0x80, 0xf3,
2349 0xf7, 0xad, 0xfd, 0x18,
2350 ],
2351 Elements::Leftmost64_8 => [
2352 0xf7, 0x7b, 0x62, 0xbb, 0x01, 0xb9, 0x05, 0x11, 0xb6, 0xd0, 0x6e, 0xbf, 0x2e, 0x36,
2353 0xc0, 0x65, 0x65, 0xac, 0xb5, 0xaa, 0xd1, 0xef, 0xc7, 0x7c, 0x36, 0xa1, 0x0a, 0x26,
2354 0x1d, 0xe9, 0x21, 0xda,
2355 ],
2356 Elements::Leftmost8_1 => [
2357 0x5a, 0x73, 0x0b, 0x58, 0xe3, 0xab, 0xcb, 0x2f, 0x4d, 0xe2, 0x21, 0x59, 0x80, 0x30,
2358 0x23, 0x10, 0x2c, 0xd6, 0x64, 0x21, 0x91, 0x19, 0x20, 0xca, 0x21, 0xa2, 0xa0, 0x5c,
2359 0x9b, 0x21, 0x1c, 0xe8,
2360 ],
2361 Elements::Leftmost8_2 => [
2362 0x25, 0x79, 0x08, 0x56, 0x10, 0x3d, 0xce, 0x6c, 0x7b, 0xbb, 0x3d, 0xd7, 0x18, 0xb1,
2363 0x69, 0x10, 0x9c, 0xae, 0x85, 0x37, 0x99, 0xd1, 0x24, 0x56, 0xc8, 0x5d, 0x83, 0x49,
2364 0xec, 0x18, 0xdc, 0x53,
2365 ],
2366 Elements::Leftmost8_4 => [
2367 0x73, 0xd9, 0xf0, 0x18, 0x15, 0x7a, 0x14, 0x78, 0x4e, 0xe7, 0x0b, 0x21, 0x9c, 0xeb,
2368 0x40, 0x42, 0xfa, 0x62, 0x1d, 0x0e, 0xe6, 0xd5, 0x45, 0xa0, 0xfd, 0xba, 0xb9, 0x44,
2369 0x43, 0x46, 0xe3, 0x31,
2370 ],
2371 Elements::LinearCombination1 => [
2372 0x6d, 0x9f, 0x4a, 0x87, 0x0f, 0xbf, 0x74, 0x0c, 0x22, 0x0e, 0xff, 0xf3, 0x07, 0xb5,
2373 0xed, 0x91, 0xa5, 0x8c, 0x5e, 0x51, 0xa8, 0xad, 0xfc, 0x3b, 0x15, 0x90, 0x30, 0xf5,
2374 0x12, 0xd3, 0x99, 0x41,
2375 ],
2376 Elements::LinearVerify1 => [
2377 0x27, 0x83, 0x13, 0xd7, 0xce, 0x4a, 0xd5, 0x89, 0x11, 0xde, 0x24, 0xee, 0x54, 0x0d,
2378 0x19, 0xec, 0xeb, 0xb6, 0x2f, 0x4a, 0xb4, 0xa7, 0x1e, 0x2a, 0xad, 0xd4, 0x51, 0x2b,
2379 0x2e, 0x4b, 0xc2, 0xe2,
2380 ],
2381 Elements::LockTime => [
2382 0xa1, 0x68, 0x97, 0xc5, 0xdb, 0x49, 0x27, 0xc6, 0xcb, 0x07, 0xb1, 0x65, 0xbd, 0x2c,
2383 0xc3, 0x8b, 0x36, 0xa6, 0x02, 0x68, 0x6c, 0x74, 0xa1, 0x90, 0x34, 0xaa, 0x37, 0x87,
2384 0xac, 0x58, 0x2a, 0x0b,
2385 ],
2386 Elements::Low1 => [
2387 0xf2, 0x7b, 0x69, 0xbb, 0x09, 0x16, 0x09, 0xf5, 0x9e, 0x00, 0x33, 0x05, 0x0d, 0x01,
2388 0xa5, 0xbc, 0x77, 0xff, 0x07, 0xd9, 0x42, 0x70, 0x7a, 0x79, 0xcf, 0x5e, 0xe4, 0x10,
2389 0xa9, 0x98, 0xa0, 0x43,
2390 ],
2391 Elements::Low16 => [
2392 0x97, 0x7c, 0xbd, 0x1e, 0x7f, 0xfc, 0x05, 0xe7, 0x16, 0xd9, 0xc1, 0xb4, 0x9f, 0x7d,
2393 0x51, 0x7f, 0x85, 0x3d, 0xbf, 0x3e, 0x98, 0xa4, 0xc7, 0x48, 0x04, 0x6e, 0xac, 0xf4,
2394 0x17, 0xf8, 0x9c, 0x2f,
2395 ],
2396 Elements::Low32 => [
2397 0xbe, 0x41, 0x69, 0x82, 0x8f, 0x07, 0x67, 0x78, 0xb6, 0x0d, 0x54, 0x56, 0xf7, 0x88,
2398 0x6e, 0xd7, 0xf3, 0x0b, 0x10, 0x1d, 0x6c, 0xcb, 0xd9, 0xea, 0x0c, 0x4d, 0xb1, 0x42,
2399 0xea, 0xc6, 0x6b, 0x12,
2400 ],
2401 Elements::Low64 => [
2402 0x01, 0x9a, 0x66, 0xbf, 0xba, 0x17, 0x51, 0x68, 0x8b, 0xe7, 0x13, 0x89, 0xed, 0x7b,
2403 0xf3, 0x71, 0xb3, 0x01, 0x4d, 0xfb, 0x32, 0x95, 0x62, 0xac, 0x3b, 0x3e, 0x9d, 0xfe,
2404 0x92, 0x06, 0xa5, 0xbc,
2405 ],
2406 Elements::Low8 => [
2407 0x21, 0x7b, 0x56, 0x43, 0x95, 0x6b, 0x48, 0x33, 0xaa, 0x56, 0x22, 0xf0, 0x0f, 0x06,
2408 0x88, 0xba, 0x86, 0x0d, 0x4a, 0xdb, 0xf9, 0x40, 0xcb, 0xdc, 0xd2, 0xb5, 0x9f, 0x26,
2409 0xd6, 0x15, 0x93, 0xb1,
2410 ],
2411 Elements::Lt16 => [
2412 0x56, 0xa2, 0x0d, 0x55, 0xed, 0xb4, 0x43, 0x88, 0x18, 0x05, 0x44, 0xc3, 0xed, 0x40,
2413 0x41, 0x45, 0xa3, 0xb6, 0x6f, 0xd2, 0xc4, 0x11, 0x38, 0x42, 0xf6, 0x4e, 0xae, 0xaf,
2414 0xba, 0xd4, 0xbb, 0x06,
2415 ],
2416 Elements::Lt32 => [
2417 0xca, 0xb0, 0xdc, 0x5b, 0x0e, 0xcb, 0xf6, 0xd2, 0x48, 0x16, 0xfc, 0x20, 0x10, 0xfc,
2418 0x31, 0x19, 0x36, 0x63, 0xc3, 0x06, 0x96, 0x8d, 0x9c, 0xee, 0x3b, 0x00, 0x4c, 0x0b,
2419 0xc1, 0x84, 0xb4, 0x78,
2420 ],
2421 Elements::Lt64 => [
2422 0x47, 0xd6, 0x7e, 0x52, 0xb2, 0x7b, 0xa7, 0x8e, 0xdd, 0x07, 0x5a, 0xa2, 0x70, 0xde,
2423 0xd0, 0x07, 0xa7, 0xa9, 0xa6, 0x84, 0x99, 0x34, 0x4f, 0x28, 0x62, 0xf5, 0x06, 0x90,
2424 0x49, 0xa0, 0xce, 0xfe,
2425 ],
2426 Elements::Lt8 => [
2427 0x73, 0xd0, 0x04, 0x46, 0x55, 0xc0, 0xdf, 0x45, 0xc2, 0x71, 0xa1, 0x71, 0x3f, 0xf9,
2428 0xb9, 0xa4, 0x3d, 0xde, 0x56, 0xe6, 0x74, 0xd1, 0x75, 0x4e, 0x76, 0xed, 0xb1, 0x6f,
2429 0x94, 0x9c, 0x4f, 0xab,
2430 ],
2431 Elements::Maj1 => [
2432 0xcb, 0x2d, 0x98, 0x6d, 0x7f, 0x00, 0x10, 0x7a, 0x3c, 0x25, 0xf6, 0xb2, 0xf1, 0x48,
2433 0x91, 0xd0, 0x2e, 0x20, 0xae, 0x16, 0xf0, 0xa1, 0x25, 0x2c, 0x92, 0xd9, 0xb5, 0x8a,
2434 0xe7, 0x33, 0x88, 0xaa,
2435 ],
2436 Elements::Maj16 => [
2437 0x0a, 0xf6, 0xd0, 0xc1, 0x71, 0xfe, 0x33, 0xa2, 0x15, 0x9b, 0xf9, 0x88, 0x00, 0xf0,
2438 0x41, 0x2c, 0x25, 0x97, 0xe9, 0x97, 0x84, 0xd0, 0x74, 0xfd, 0xfa, 0x33, 0xd7, 0xfd,
2439 0xe5, 0x97, 0xdd, 0xfd,
2440 ],
2441 Elements::Maj32 => [
2442 0x30, 0x60, 0x83, 0x8d, 0x48, 0x45, 0x6f, 0x33, 0x92, 0xd5, 0xd6, 0x9b, 0x5e, 0xec,
2443 0x08, 0x92, 0x76, 0xcd, 0x58, 0xbb, 0x67, 0xa1, 0x2c, 0x64, 0x2e, 0xc7, 0x3a, 0xeb,
2444 0x9a, 0xda, 0xcb, 0xdd,
2445 ],
2446 Elements::Maj64 => [
2447 0x8e, 0xbc, 0xc1, 0x74, 0x57, 0xea, 0x2b, 0x14, 0x23, 0x1b, 0x0e, 0x90, 0x1e, 0xa7,
2448 0xb1, 0xd4, 0x7b, 0x9b, 0x78, 0x98, 0x63, 0x72, 0xa4, 0x41, 0x6f, 0xe7, 0x3f, 0x67,
2449 0x63, 0xfe, 0xb2, 0x4b,
2450 ],
2451 Elements::Maj8 => [
2452 0x89, 0x30, 0xd1, 0xd0, 0x99, 0x1b, 0x0a, 0x58, 0x1d, 0x0b, 0x1d, 0x85, 0xad, 0x72,
2453 0x14, 0x7d, 0x66, 0x49, 0xa3, 0x59, 0x93, 0x28, 0x3f, 0xc9, 0x72, 0x14, 0x43, 0x1f,
2454 0x0b, 0x6a, 0x7a, 0xa8,
2455 ],
2456 Elements::Max16 => [
2457 0xe0, 0x11, 0x47, 0x17, 0x69, 0x1a, 0xc1, 0xa7, 0x39, 0x28, 0x8f, 0xc6, 0xff, 0xa1,
2458 0xc6, 0x50, 0x7c, 0x43, 0xe6, 0xf1, 0xd4, 0xc1, 0x87, 0x70, 0xff, 0xa1, 0x66, 0xae,
2459 0x83, 0x9d, 0xd5, 0x33,
2460 ],
2461 Elements::Max32 => [
2462 0x1d, 0x72, 0x3c, 0xb3, 0x89, 0x94, 0x22, 0x19, 0xec, 0x10, 0x34, 0x85, 0x31, 0x7f,
2463 0xa5, 0xd8, 0x7e, 0xe1, 0x5c, 0x24, 0xb2, 0x08, 0x0f, 0x50, 0x46, 0x65, 0x0d, 0x80,
2464 0x30, 0x8b, 0x18, 0x9d,
2465 ],
2466 Elements::Max64 => [
2467 0x00, 0x73, 0xac, 0x3c, 0x6e, 0xa9, 0x39, 0xdc, 0xc7, 0xee, 0xe4, 0xea, 0x63, 0xdc,
2468 0xfd, 0x75, 0x20, 0x37, 0x35, 0x5b, 0x48, 0x4f, 0x6e, 0x70, 0x16, 0xb3, 0x00, 0xe2,
2469 0xd2, 0x8c, 0x07, 0xc3,
2470 ],
2471 Elements::Max8 => [
2472 0x6b, 0xc1, 0x03, 0x70, 0xf3, 0xe7, 0xa7, 0xb9, 0x2a, 0xcb, 0x14, 0x23, 0xbb, 0xdf,
2473 0x0b, 0x3d, 0x7e, 0x3c, 0xd0, 0xd2, 0xdb, 0xc7, 0x05, 0xa3, 0x4d, 0x8d, 0xc9, 0x9c,
2474 0x91, 0x04, 0x22, 0xfb,
2475 ],
2476 Elements::Median16 => [
2477 0x24, 0x14, 0xe3, 0xc4, 0x39, 0x65, 0x9d, 0x8a, 0xa9, 0xd0, 0x87, 0xe1, 0xad, 0xe7,
2478 0x72, 0x66, 0x67, 0x3d, 0x1c, 0x8b, 0xd4, 0xe7, 0x50, 0x1b, 0x22, 0xac, 0x46, 0xa3,
2479 0xff, 0x39, 0x97, 0x5d,
2480 ],
2481 Elements::Median32 => [
2482 0x07, 0x92, 0x35, 0x6b, 0x61, 0x0b, 0x57, 0xd0, 0xec, 0x19, 0x9e, 0x98, 0x53, 0x5e,
2483 0xa9, 0xbc, 0xcc, 0xe8, 0x43, 0xa5, 0xdf, 0x5d, 0xd2, 0x40, 0x8c, 0x41, 0x48, 0x86,
2484 0xdf, 0xd6, 0xbd, 0x1e,
2485 ],
2486 Elements::Median64 => [
2487 0x07, 0x66, 0xd8, 0x9b, 0x43, 0x0f, 0xfd, 0xf0, 0x38, 0x69, 0x1b, 0x18, 0x43, 0x9c,
2488 0xd6, 0xfc, 0x49, 0x29, 0x17, 0x2e, 0xa8, 0x84, 0xfd, 0xaf, 0x16, 0x69, 0x36, 0xb3,
2489 0x8b, 0x15, 0xfd, 0x0c,
2490 ],
2491 Elements::Median8 => [
2492 0xa4, 0xa0, 0xb6, 0x31, 0x0f, 0xf0, 0xed, 0x4a, 0x4c, 0x3e, 0x03, 0xeb, 0xc7, 0xa9,
2493 0x13, 0x06, 0xef, 0x66, 0x04, 0x24, 0xbc, 0x95, 0xa0, 0xd3, 0xf2, 0xfd, 0xb7, 0x1f,
2494 0xb6, 0xaf, 0xd8, 0xb7,
2495 ],
2496 Elements::Min16 => [
2497 0xf1, 0x58, 0xf4, 0x0a, 0x86, 0x09, 0x93, 0xb4, 0x10, 0x7f, 0xb2, 0x71, 0xfb, 0x4c,
2498 0x8f, 0x95, 0x5b, 0xa4, 0x54, 0x2a, 0xd1, 0x82, 0x1c, 0xd2, 0xf1, 0x3c, 0x88, 0x0c,
2499 0xa4, 0xbe, 0xe2, 0xe2,
2500 ],
2501 Elements::Min32 => [
2502 0xe5, 0xe4, 0x13, 0xdc, 0x5d, 0xe5, 0xe2, 0x2d, 0x66, 0xf3, 0x2d, 0x8d, 0xbf, 0x50,
2503 0x05, 0x3e, 0xd2, 0x78, 0xe1, 0x75, 0xc0, 0xd4, 0xb3, 0x44, 0xeb, 0xd4, 0x61, 0xbe,
2504 0xb1, 0x08, 0xe5, 0x5e,
2505 ],
2506 Elements::Min64 => [
2507 0x43, 0xd8, 0x2f, 0x6c, 0x61, 0x28, 0xaa, 0x01, 0xa9, 0x97, 0xbb, 0x17, 0xe5, 0xe7,
2508 0xf5, 0x01, 0xe7, 0xbe, 0x7d, 0xb9, 0x58, 0x9e, 0x56, 0x6d, 0xe9, 0x7a, 0x32, 0xea,
2509 0xe7, 0xe7, 0xb3, 0x39,
2510 ],
2511 Elements::Min8 => [
2512 0x6b, 0x01, 0x2c, 0xa3, 0x18, 0x5d, 0xc0, 0x05, 0xe8, 0x94, 0x2c, 0xfb, 0xc9, 0xf2,
2513 0x38, 0xdc, 0xed, 0xaf, 0x0c, 0x00, 0x43, 0x52, 0x64, 0x47, 0xe3, 0xec, 0x31, 0xce,
2514 0xfa, 0x6e, 0x40, 0x64,
2515 ],
2516 Elements::Modulo16 => [
2517 0x62, 0xc1, 0x79, 0xac, 0x84, 0xc5, 0x75, 0x0b, 0x42, 0x5f, 0x9a, 0x1b, 0x8f, 0x81,
2518 0xed, 0xaa, 0x7f, 0x5c, 0xf2, 0x2c, 0x19, 0xd8, 0x6b, 0x0d, 0xcf, 0x96, 0xde, 0xa6,
2519 0xba, 0xd9, 0x9b, 0x3b,
2520 ],
2521 Elements::Modulo32 => [
2522 0xa1, 0xf0, 0x1c, 0x10, 0x6f, 0xc3, 0x6a, 0x76, 0x4e, 0x99, 0xb2, 0x33, 0x98, 0xe2,
2523 0x1e, 0x7c, 0x26, 0x7f, 0x88, 0x9f, 0xcc, 0xeb, 0xd1, 0x48, 0x7d, 0x3d, 0xe1, 0xcc,
2524 0x67, 0xc3, 0x2b, 0xd9,
2525 ],
2526 Elements::Modulo64 => [
2527 0x50, 0xc8, 0x2f, 0xd0, 0x31, 0x09, 0xc9, 0x8b, 0x72, 0x37, 0xe9, 0x16, 0x74, 0x04,
2528 0x19, 0x64, 0x38, 0x1e, 0x6c, 0x2e, 0xbb, 0xe2, 0x5b, 0xf3, 0xe0, 0xd3, 0x7a, 0x9f,
2529 0x06, 0x0f, 0x15, 0x02,
2530 ],
2531 Elements::Modulo8 => [
2532 0x5c, 0x63, 0xc7, 0x7a, 0x16, 0x08, 0xe2, 0xf6, 0xa3, 0x74, 0x8c, 0x11, 0x0f, 0xbb,
2533 0x9a, 0x1c, 0x56, 0x9f, 0xb4, 0xd5, 0x40, 0xf3, 0xdd, 0x2e, 0x4f, 0x80, 0xe9, 0x0d,
2534 0xd5, 0xea, 0x99, 0x82,
2535 ],
2536 Elements::Multiply16 => [
2537 0x46, 0xe6, 0x2a, 0xbf, 0x8e, 0x30, 0xa7, 0x74, 0x6d, 0xe0, 0xe9, 0x29, 0xf7, 0xbe,
2538 0xed, 0xdb, 0xde, 0x8b, 0x26, 0x9b, 0xab, 0x08, 0xf7, 0x6e, 0x95, 0x47, 0x10, 0x8b,
2539 0x1c, 0x36, 0x01, 0x74,
2540 ],
2541 Elements::Multiply32 => [
2542 0x2d, 0xec, 0xdc, 0x5b, 0x0c, 0x6f, 0xf6, 0x3d, 0x11, 0xf5, 0x38, 0x52, 0xe0, 0xde,
2543 0xed, 0x11, 0x44, 0x81, 0x35, 0x5b, 0xb6, 0xc6, 0xce, 0x15, 0x46, 0xae, 0x9f, 0x81,
2544 0x5b, 0xee, 0x77, 0x50,
2545 ],
2546 Elements::Multiply64 => [
2547 0xbf, 0xa8, 0x62, 0x6d, 0xbf, 0x10, 0x00, 0x1d, 0xe3, 0x90, 0xd9, 0x97, 0xf2, 0xee,
2548 0x7b, 0x19, 0x0c, 0x24, 0xa7, 0x8c, 0xfe, 0xcb, 0x91, 0xf5, 0xd7, 0xc1, 0x0c, 0x3f,
2549 0x9d, 0xdb, 0xb1, 0xe6,
2550 ],
2551 Elements::Multiply8 => [
2552 0x29, 0xda, 0x13, 0x37, 0x4f, 0x7c, 0xb3, 0x08, 0x40, 0x5f, 0xe2, 0x30, 0xf8, 0x99,
2553 0x48, 0x5c, 0x50, 0x0e, 0x6e, 0x95, 0x20, 0xc1, 0x5e, 0x8a, 0x76, 0xe5, 0x3a, 0x92,
2554 0xe7, 0xac, 0x64, 0xd6,
2555 ],
2556 Elements::Negate16 => [
2557 0xf6, 0x42, 0x17, 0x3b, 0x85, 0xef, 0x21, 0x96, 0x9d, 0x8d, 0x90, 0x48, 0x80, 0x7e,
2558 0x3d, 0x4f, 0xac, 0xf3, 0xf5, 0xf9, 0xe5, 0x9a, 0xa5, 0xcf, 0x0c, 0x60, 0xf8, 0x74,
2559 0x22, 0xed, 0x7c, 0x8f,
2560 ],
2561 Elements::Negate32 => [
2562 0x54, 0x9b, 0x65, 0xce, 0x97, 0xc6, 0xb3, 0x34, 0xb8, 0xae, 0x94, 0x56, 0x96, 0x0e,
2563 0x36, 0x5b, 0xb2, 0x84, 0xd7, 0x6d, 0x40, 0x05, 0xe9, 0x21, 0xf4, 0x89, 0xbc, 0x36,
2564 0x26, 0x17, 0x1b, 0x06,
2565 ],
2566 Elements::Negate64 => [
2567 0x35, 0xac, 0xca, 0x27, 0xce, 0x65, 0x85, 0x79, 0xef, 0x1c, 0x55, 0xad, 0x1a, 0xbe,
2568 0xa0, 0x05, 0x0d, 0x93, 0x66, 0xd1, 0x22, 0x09, 0xad, 0x13, 0x05, 0x25, 0x49, 0xc3,
2569 0x43, 0x64, 0x91, 0xd0,
2570 ],
2571 Elements::Negate8 => [
2572 0xd8, 0x71, 0xc5, 0x42, 0x47, 0x3f, 0x4d, 0xd9, 0x02, 0xd3, 0x1f, 0xe3, 0xfc, 0x9a,
2573 0xc0, 0xf3, 0x31, 0x9e, 0x42, 0xe8, 0x0c, 0xae, 0x21, 0x81, 0xff, 0xc8, 0x5e, 0x6c,
2574 0x60, 0xfb, 0x09, 0x88,
2575 ],
2576 Elements::NewIssuanceContract => [
2577 0xdb, 0x64, 0x80, 0x8c, 0x3f, 0xf4, 0x48, 0x80, 0xd7, 0x2b, 0xc2, 0x95, 0xd9, 0xac,
2578 0x06, 0x43, 0xe5, 0x14, 0x04, 0xde, 0x53, 0x98, 0xad, 0x9e, 0x93, 0x1b, 0xd3, 0xd2,
2579 0xad, 0xbc, 0xa6, 0xc4,
2580 ],
2581 Elements::NonceHash => [
2582 0xfb, 0x1e, 0x03, 0x44, 0xdc, 0xda, 0xf9, 0xdb, 0x91, 0xb9, 0x87, 0xe8, 0xf9, 0x66,
2583 0x10, 0x67, 0x9f, 0x05, 0xde, 0xb2, 0x06, 0xb4, 0x01, 0x05, 0x75, 0x02, 0xa4, 0x84,
2584 0xaa, 0x87, 0xf8, 0xbf,
2585 ],
2586 Elements::NumInputs => [
2587 0xb2, 0x28, 0x8e, 0xba, 0xad, 0xcb, 0xcf, 0xce, 0x1c, 0x63, 0x19, 0x64, 0xc8, 0x6b,
2588 0x12, 0x7d, 0x6f, 0x91, 0xdc, 0x65, 0x7c, 0x59, 0xa7, 0xfb, 0x45, 0x3e, 0x91, 0x11,
2589 0xd8, 0x74, 0x81, 0xf5,
2590 ],
2591 Elements::NumOutputs => [
2592 0x26, 0x7d, 0x41, 0x65, 0x44, 0x93, 0x90, 0x3e, 0x02, 0x57, 0x75, 0x1a, 0xe6, 0xd4,
2593 0x2d, 0x9c, 0xe1, 0xbb, 0x92, 0x24, 0x6d, 0x0e, 0xf7, 0x67, 0xc3, 0x37, 0xb0, 0xc3,
2594 0x2b, 0x19, 0x72, 0xfd,
2595 ],
2596 Elements::One16 => [
2597 0x3f, 0x9f, 0x8d, 0xd1, 0x4c, 0x46, 0xee, 0x02, 0x47, 0x15, 0x57, 0x92, 0x9a, 0xc2,
2598 0xbb, 0x6c, 0x1a, 0xca, 0x00, 0x52, 0x1d, 0x8a, 0xfa, 0xf0, 0xdc, 0xd9, 0xf2, 0xca,
2599 0x7f, 0x31, 0xe6, 0x04,
2600 ],
2601 Elements::One32 => [
2602 0x47, 0x8d, 0xc3, 0x9d, 0xc3, 0x99, 0x5e, 0x2e, 0xdb, 0x7e, 0xc6, 0x74, 0x65, 0x6c,
2603 0xae, 0x79, 0x8f, 0x52, 0xe5, 0x72, 0x92, 0x61, 0x74, 0xa6, 0x68, 0xcc, 0x97, 0xbc,
2604 0xa4, 0x48, 0xd1, 0xcc,
2605 ],
2606 Elements::One64 => [
2607 0xa3, 0x92, 0xce, 0xfc, 0x0d, 0xa5, 0x3c, 0x65, 0xae, 0xe6, 0x12, 0xf5, 0xc6, 0x81,
2608 0x6c, 0xa8, 0x92, 0xfc, 0x15, 0x6d, 0x43, 0x71, 0x48, 0x76, 0xb3, 0xa0, 0x05, 0x68,
2609 0xe1, 0xba, 0x3e, 0xba,
2610 ],
2611 Elements::One8 => [
2612 0xff, 0x59, 0x4e, 0x22, 0xbf, 0xd7, 0x58, 0x13, 0xc0, 0x56, 0xe0, 0xa2, 0x34, 0xed,
2613 0x12, 0xfa, 0x82, 0x87, 0xd1, 0xd5, 0x31, 0x6f, 0x23, 0x90, 0x2b, 0xf0, 0x79, 0xdb,
2614 0xcc, 0x4f, 0x4e, 0xa8,
2615 ],
2616 Elements::Or1 => [
2617 0x9b, 0xf5, 0x91, 0x74, 0x41, 0x0a, 0x80, 0x9d, 0x3d, 0xa2, 0xb5, 0x8c, 0x7e, 0x0d,
2618 0x05, 0xc5, 0x5c, 0xec, 0x38, 0xbd, 0xaa, 0x5f, 0xca, 0xc3, 0x82, 0xa3, 0x11, 0x77,
2619 0x0e, 0xe0, 0xeb, 0x38,
2620 ],
2621 Elements::Or16 => [
2622 0xdd, 0x9a, 0x31, 0x93, 0xd6, 0x19, 0xd9, 0x59, 0xfa, 0x0b, 0x6d, 0x8b, 0x47, 0xaf,
2623 0x78, 0x54, 0xf7, 0xe0, 0x46, 0x7b, 0xa3, 0x59, 0x01, 0xce, 0x43, 0xd8, 0x00, 0xfc,
2624 0xaf, 0x73, 0x0f, 0xf9,
2625 ],
2626 Elements::Or32 => [
2627 0x9a, 0x01, 0x9f, 0x07, 0xdf, 0x49, 0x96, 0xb3, 0x3e, 0x64, 0x7f, 0x4d, 0xe7, 0xe5,
2628 0x6c, 0x1d, 0x8f, 0x03, 0x26, 0x9c, 0xbf, 0xa3, 0xc7, 0x58, 0x2c, 0xfe, 0x80, 0x8e,
2629 0x90, 0x98, 0x70, 0xb7,
2630 ],
2631 Elements::Or64 => [
2632 0xc2, 0x4f, 0x35, 0x80, 0x05, 0xf8, 0x03, 0x77, 0x2b, 0x1c, 0x3e, 0x43, 0x9c, 0xf1,
2633 0xb7, 0x09, 0xbd, 0x9f, 0x4d, 0x42, 0x52, 0x75, 0x91, 0x30, 0x3a, 0x36, 0xf6, 0xb1,
2634 0xc3, 0xcf, 0x29, 0xcc,
2635 ],
2636 Elements::Or8 => [
2637 0x84, 0xb5, 0x36, 0x89, 0xf2, 0x1d, 0x4e, 0x69, 0x7d, 0x0f, 0xe8, 0x98, 0x8c, 0xe7,
2638 0x36, 0xab, 0x72, 0xc9, 0xc8, 0x6f, 0x84, 0x75, 0x89, 0xda, 0xa9, 0xae, 0x6a, 0x78,
2639 0x46, 0x30, 0xe6, 0x20,
2640 ],
2641 Elements::OutpointHash => [
2642 0x8d, 0x2a, 0x5a, 0xa0, 0x6e, 0x98, 0xc4, 0x1b, 0x30, 0xfd, 0x07, 0x03, 0xe5, 0xe5,
2643 0x4c, 0x86, 0xb4, 0x2b, 0xee, 0x33, 0xbc, 0x89, 0xcb, 0x60, 0x93, 0xcd, 0xb0, 0x94,
2644 0x05, 0xa7, 0x2d, 0x9d,
2645 ],
2646 Elements::OutputAmount => [
2647 0x55, 0xe4, 0x13, 0x99, 0x21, 0x69, 0x40, 0x8e, 0x33, 0x8e, 0x11, 0xa8, 0xd7, 0xbe,
2648 0x60, 0x2b, 0x3e, 0xc9, 0x51, 0x1e, 0x7e, 0xb6, 0x91, 0xdf, 0x32, 0xd9, 0x79, 0x7a,
2649 0x63, 0x95, 0xa1, 0xa1,
2650 ],
2651 Elements::OutputAmountsHash => [
2652 0x40, 0x23, 0x69, 0x63, 0xe1, 0x0e, 0xf8, 0xad, 0x9c, 0xb6, 0xe0, 0xa7, 0xc7, 0x9a,
2653 0xc8, 0x66, 0x0d, 0x2f, 0xc1, 0xa5, 0x7f, 0xef, 0xf8, 0x85, 0x15, 0xa7, 0x85, 0x27,
2654 0x91, 0xb1, 0x86, 0xcb,
2655 ],
2656 Elements::OutputAsset => [
2657 0x57, 0x5a, 0x49, 0xba, 0xb2, 0x1f, 0xfe, 0xe8, 0xe5, 0xbd, 0x00, 0xed, 0xce, 0x32,
2658 0x40, 0x61, 0x04, 0xa0, 0x5d, 0xde, 0xf5, 0xfc, 0x31, 0xa1, 0xa6, 0x45, 0xb1, 0x29,
2659 0x54, 0x8c, 0x8f, 0x3e,
2660 ],
2661 Elements::OutputHash => [
2662 0x7c, 0xb1, 0x7f, 0x8f, 0xc7, 0xa1, 0xae, 0x4e, 0xfc, 0xe3, 0x0a, 0x14, 0x54, 0xe5,
2663 0x2f, 0x85, 0x85, 0x21, 0x3c, 0xd0, 0xf3, 0x67, 0xa1, 0x27, 0xac, 0x27, 0xbb, 0x97,
2664 0x66, 0xea, 0x9e, 0xee,
2665 ],
2666 Elements::OutputIsFee => [
2667 0x9f, 0xbb, 0xe8, 0xae, 0xbd, 0xed, 0xd5, 0x77, 0xae, 0x46, 0x62, 0x80, 0xa9, 0x9b,
2668 0x67, 0xb7, 0x34, 0x32, 0x87, 0xef, 0x34, 0x06, 0x92, 0x53, 0x4a, 0x00, 0x98, 0x03,
2669 0x15, 0xe5, 0x17, 0x72,
2670 ],
2671 Elements::OutputNonce => [
2672 0x71, 0x75, 0xfd, 0x99, 0xa2, 0xba, 0xa1, 0xc3, 0xaf, 0xaa, 0xf7, 0xfa, 0xbd, 0xaa,
2673 0x67, 0xc2, 0xc8, 0x27, 0x48, 0x3b, 0xc8, 0xa0, 0xb9, 0x76, 0x50, 0xcb, 0x79, 0x42,
2674 0xea, 0x29, 0x5a, 0x18,
2675 ],
2676 Elements::OutputNoncesHash => [
2677 0x50, 0xf1, 0x87, 0x66, 0xde, 0x98, 0x28, 0xdb, 0x0a, 0x8c, 0x41, 0xd7, 0xbe, 0xb8,
2678 0x40, 0xf7, 0x7b, 0xc6, 0xe1, 0x21, 0xff, 0x12, 0x3d, 0x54, 0x96, 0xf1, 0xea, 0x0d,
2679 0x6a, 0x78, 0xb8, 0x3a,
2680 ],
2681 Elements::OutputNullDatum => [
2682 0x38, 0xa5, 0xa7, 0xe8, 0x61, 0xb3, 0xb3, 0x6c, 0xce, 0x68, 0x3a, 0x77, 0x2d, 0xb0,
2683 0xc8, 0x62, 0x8b, 0x7f, 0xd3, 0xb4, 0xcf, 0x8e, 0x7b, 0xce, 0x70, 0x75, 0x8f, 0xa6,
2684 0xf6, 0xf1, 0x47, 0xbf,
2685 ],
2686 Elements::OutputRangeProof => [
2687 0x6f, 0xf9, 0xef, 0x3d, 0xac, 0x50, 0x43, 0x10, 0xdf, 0xbc, 0x60, 0x56, 0x1d, 0x2a,
2688 0xdd, 0xeb, 0x44, 0x93, 0x2f, 0x77, 0x7e, 0x7f, 0x13, 0xad, 0xf0, 0x77, 0x4e, 0xb6,
2689 0xb1, 0x4d, 0xf9, 0x66,
2690 ],
2691 Elements::OutputRangeProofsHash => [
2692 0x0d, 0x7d, 0x8a, 0xc9, 0x7a, 0xf9, 0x53, 0x9a, 0xbb, 0xa6, 0x4d, 0x81, 0x04, 0xd1,
2693 0x7e, 0x97, 0x08, 0x54, 0x67, 0x7c, 0x27, 0x46, 0x1d, 0x25, 0xdf, 0x21, 0xa7, 0xf6,
2694 0xb6, 0x62, 0x08, 0x1e,
2695 ],
2696 Elements::OutputScriptHash => [
2697 0x2f, 0x51, 0x39, 0x26, 0x6f, 0x14, 0x3a, 0x33, 0xe1, 0x66, 0x8e, 0x59, 0x4f, 0x43,
2698 0xe8, 0xd1, 0x39, 0x44, 0x07, 0xe3, 0xa9, 0xb8, 0xb8, 0x02, 0xb3, 0x9a, 0x5e, 0x1e,
2699 0xdc, 0x54, 0xe8, 0x51,
2700 ],
2701 Elements::OutputScriptsHash => [
2702 0x21, 0x33, 0x3a, 0xc9, 0x58, 0xa4, 0xeb, 0xfd, 0x5e, 0xab, 0x79, 0x56, 0xdb, 0x73,
2703 0xed, 0x03, 0x26, 0x94, 0x26, 0xaf, 0x8d, 0x7d, 0x24, 0x98, 0xde, 0x57, 0xee, 0xf6,
2704 0x87, 0x04, 0xfb, 0x0a,
2705 ],
2706 Elements::OutputSurjectionProof => [
2707 0x09, 0x16, 0x60, 0x08, 0x1d, 0x52, 0xc3, 0x3f, 0x17, 0xa9, 0x56, 0xbd, 0xda, 0xc6,
2708 0x2a, 0xa2, 0xd2, 0xed, 0x92, 0x8f, 0x8c, 0xff, 0xef, 0x4c, 0xf8, 0xdb, 0xb6, 0x97,
2709 0xb1, 0x53, 0xaa, 0x65,
2710 ],
2711 Elements::OutputSurjectionProofsHash => [
2712 0x36, 0x30, 0xb5, 0x20, 0x83, 0x02, 0x64, 0x1b, 0xf1, 0x9c, 0x4b, 0xf5, 0xca, 0x04,
2713 0x7a, 0xc3, 0xeb, 0x7a, 0xf5, 0x4d, 0x5d, 0x3f, 0x5b, 0xf8, 0xf1, 0xd4, 0x13, 0x12,
2714 0x49, 0x9d, 0x63, 0x84,
2715 ],
2716 Elements::OutputsHash => [
2717 0x95, 0xb3, 0x51, 0x1a, 0xea, 0x00, 0xd0, 0x43, 0xa4, 0xe0, 0x28, 0xb2, 0x5a, 0x17,
2718 0x1c, 0x74, 0x2e, 0xc2, 0xff, 0x7a, 0xd3, 0xa7, 0xdf, 0x2f, 0x1f, 0x6e, 0xda, 0xd0,
2719 0x8b, 0xad, 0x2b, 0x69,
2720 ],
2721 Elements::ParseLock => [
2722 0x3d, 0x38, 0x36, 0xfd, 0x30, 0x85, 0xc1, 0xfb, 0xac, 0x6c, 0xd5, 0xfa, 0x0d, 0xbf,
2723 0x4a, 0x3f, 0xb2, 0x55, 0x45, 0x93, 0x17, 0xa2, 0x66, 0xd6, 0xd6, 0xf7, 0x38, 0x2b,
2724 0xb0, 0x5f, 0x07, 0xad,
2725 ],
2726 Elements::ParseSequence => [
2727 0x74, 0xf3, 0x5c, 0x01, 0x9e, 0xf5, 0x14, 0xb7, 0x0a, 0xb0, 0x08, 0xbf, 0x2a, 0x12,
2728 0x6d, 0xe7, 0xe0, 0x0f, 0x6e, 0x3c, 0xcd, 0x28, 0x5d, 0x51, 0xdb, 0xd3, 0xac, 0x71,
2729 0xbe, 0xa9, 0xc8, 0x8d,
2730 ],
2731 Elements::PointVerify1 => [
2732 0x90, 0xa3, 0xd6, 0x69, 0xb0, 0x0d, 0xa7, 0x95, 0xef, 0xb2, 0xbe, 0xd8, 0xc3, 0x70,
2733 0xc9, 0xe3, 0xea, 0x0f, 0x19, 0xc4, 0x1c, 0x7c, 0xf2, 0x3e, 0x49, 0x2e, 0x33, 0x17,
2734 0x1a, 0x47, 0xf5, 0xff,
2735 ],
2736 Elements::ReissuanceBlinding => [
2737 0xeb, 0x6e, 0x58, 0x1e, 0x20, 0xba, 0x0b, 0xab, 0xe9, 0x04, 0xc8, 0xda, 0x71, 0xa8,
2738 0x1f, 0x7c, 0x88, 0xb9, 0xcf, 0x4f, 0x42, 0xd7, 0x8b, 0x54, 0x0c, 0x1b, 0x39, 0x8c,
2739 0x3f, 0x10, 0x5c, 0xcc,
2740 ],
2741 Elements::ReissuanceEntropy => [
2742 0xd1, 0xd2, 0x2c, 0x49, 0x7f, 0x12, 0x9c, 0x6d, 0x6f, 0xdb, 0xe4, 0x91, 0x36, 0x4a,
2743 0x35, 0x13, 0xbc, 0xd6, 0x6e, 0x15, 0x61, 0x8c, 0xbb, 0xe2, 0xe5, 0x07, 0x39, 0xbd,
2744 0x83, 0x4d, 0xb7, 0xf8,
2745 ],
2746 Elements::RightExtend16_32 => [
2747 0x78, 0x07, 0x16, 0xd3, 0xe8, 0x29, 0x1a, 0x51, 0xe4, 0x5a, 0xda, 0x50, 0x55, 0x8e,
2748 0xfe, 0x41, 0x1c, 0x47, 0x5c, 0x08, 0x5e, 0xec, 0x5a, 0x28, 0xad, 0x97, 0x91, 0xc3,
2749 0x12, 0xfe, 0xe2, 0xbc,
2750 ],
2751 Elements::RightExtend16_64 => [
2752 0xc7, 0x70, 0x49, 0x7e, 0x45, 0x23, 0x08, 0xeb, 0xf5, 0x2e, 0x51, 0xb0, 0x58, 0x5e,
2753 0x91, 0x51, 0xe0, 0xff, 0xc3, 0x50, 0x86, 0xab, 0x77, 0x2d, 0x72, 0x41, 0x53, 0x2a,
2754 0x1b, 0xe1, 0x5e, 0x07,
2755 ],
2756 Elements::RightExtend32_64 => [
2757 0x42, 0xb4, 0x3a, 0xdc, 0x74, 0xb5, 0x26, 0x6c, 0x91, 0xd7, 0x3d, 0xf4, 0x91, 0xdc,
2758 0xae, 0x59, 0x73, 0x88, 0x04, 0xeb, 0x44, 0x0b, 0x23, 0xda, 0x32, 0x75, 0x30, 0x48,
2759 0x74, 0x86, 0xb7, 0xe8,
2760 ],
2761 Elements::RightExtend8_16 => [
2762 0xbc, 0xb2, 0x68, 0x3a, 0x8c, 0xb8, 0xb8, 0xc2, 0x35, 0xfa, 0xa8, 0x96, 0xa9, 0xc0,
2763 0x69, 0xe1, 0xb5, 0x5b, 0xb0, 0x55, 0x8e, 0x73, 0x9e, 0x70, 0xe2, 0x89, 0x14, 0x21,
2764 0x1e, 0x32, 0x75, 0xc8,
2765 ],
2766 Elements::RightExtend8_32 => [
2767 0x6d, 0xdb, 0x55, 0x48, 0xfd, 0x58, 0x3c, 0xd2, 0xd3, 0x58, 0x6e, 0x6b, 0x8b, 0xf9,
2768 0x95, 0x24, 0x6b, 0x61, 0x93, 0x4f, 0x49, 0x76, 0x44, 0x67, 0x77, 0xdd, 0x57, 0x40,
2769 0xb3, 0x19, 0xe4, 0x62,
2770 ],
2771 Elements::RightExtend8_64 => [
2772 0xda, 0x4f, 0x9c, 0x21, 0x45, 0x51, 0x26, 0x82, 0x07, 0x58, 0xa2, 0xe4, 0xb5, 0x3f,
2773 0xce, 0xb4, 0x52, 0x3e, 0x6e, 0x7a, 0x29, 0x23, 0xa1, 0xa1, 0x61, 0xfc, 0x37, 0x89,
2774 0x2a, 0xc8, 0xda, 0x2a,
2775 ],
2776 Elements::RightPadHigh16_32 => [
2777 0x3e, 0x4e, 0x5e, 0x9e, 0x71, 0xe1, 0x37, 0xa2, 0x68, 0x63, 0x43, 0xe0, 0x5a, 0xc5,
2778 0x63, 0x16, 0xac, 0xfc, 0x58, 0x99, 0x1c, 0xb3, 0x8d, 0xb1, 0xb3, 0x23, 0x44, 0x13,
2779 0xf7, 0x30, 0xa1, 0x42,
2780 ],
2781 Elements::RightPadHigh16_64 => [
2782 0xde, 0x09, 0xdf, 0x9d, 0x43, 0xdd, 0xad, 0x2d, 0x69, 0x12, 0x04, 0x98, 0x6c, 0xf0,
2783 0x81, 0x9d, 0x6b, 0x80, 0x45, 0xbc, 0xa4, 0x14, 0xd8, 0x0a, 0xf2, 0x16, 0x28, 0x92,
2784 0xa9, 0x25, 0x7e, 0xad,
2785 ],
2786 Elements::RightPadHigh1_16 => [
2787 0xff, 0x12, 0x97, 0xd8, 0x78, 0xe2, 0x6e, 0x19, 0x59, 0xbc, 0xc7, 0xe8, 0xae, 0xf9,
2788 0x7a, 0xc0, 0xb6, 0x5a, 0xdc, 0x39, 0x92, 0x3e, 0xc6, 0x50, 0x5e, 0x50, 0xf9, 0x83,
2789 0x05, 0x73, 0x3b, 0x6c,
2790 ],
2791 Elements::RightPadHigh1_32 => [
2792 0x28, 0x3f, 0x8a, 0xfb, 0x41, 0x38, 0x2d, 0x2b, 0xe1, 0x8f, 0x8a, 0x77, 0xc3, 0x14,
2793 0xba, 0x17, 0x76, 0xcb, 0x80, 0xc8, 0xec, 0x36, 0xca, 0x12, 0xaa, 0x67, 0xb3, 0x2b,
2794 0xb6, 0x4e, 0xd8, 0x43,
2795 ],
2796 Elements::RightPadHigh1_64 => [
2797 0xa3, 0x42, 0x35, 0x28, 0x60, 0xa3, 0x35, 0x0d, 0x79, 0xc3, 0xe9, 0xfc, 0x7a, 0x4a,
2798 0xb3, 0x78, 0x9b, 0x8b, 0x02, 0x97, 0x85, 0x6f, 0xd1, 0x69, 0xca, 0x4d, 0x7d, 0xe2,
2799 0x5f, 0x7d, 0x7c, 0xc4,
2800 ],
2801 Elements::RightPadHigh1_8 => [
2802 0x71, 0x03, 0xc0, 0xfe, 0x00, 0xf5, 0x22, 0xa2, 0x21, 0x6c, 0x4a, 0x6b, 0xe5, 0xf7,
2803 0xe0, 0xeb, 0x4d, 0x70, 0x3c, 0xa7, 0x8f, 0x9c, 0x59, 0x8f, 0x6b, 0x3d, 0xfd, 0xe4,
2804 0x37, 0xd8, 0x0c, 0x84,
2805 ],
2806 Elements::RightPadHigh32_64 => [
2807 0x5d, 0xc9, 0x10, 0x7d, 0x45, 0x34, 0x95, 0x8c, 0xe4, 0x42, 0x27, 0x67, 0x56, 0x3a,
2808 0x03, 0x1a, 0x38, 0x0f, 0x60, 0xd3, 0x83, 0x71, 0x48, 0xab, 0x3c, 0x8c, 0xc9, 0xc4,
2809 0xc7, 0xd9, 0x96, 0xa2,
2810 ],
2811 Elements::RightPadHigh8_16 => [
2812 0xc0, 0xe2, 0xfd, 0x46, 0xf7, 0x88, 0x3b, 0x12, 0x85, 0xa6, 0xf1, 0xa1, 0xdb, 0x96,
2813 0xd9, 0x3c, 0x25, 0x48, 0x04, 0x0f, 0xcd, 0x3f, 0x5c, 0x23, 0xfb, 0xb2, 0x0b, 0x5e,
2814 0x83, 0x03, 0x7c, 0x96,
2815 ],
2816 Elements::RightPadHigh8_32 => [
2817 0x29, 0x1e, 0x62, 0x77, 0x08, 0x52, 0x0c, 0x2c, 0xa6, 0xae, 0xce, 0x32, 0xa8, 0x77,
2818 0xb7, 0x78, 0x49, 0xc4, 0xa7, 0xa2, 0x13, 0xcb, 0x89, 0xe1, 0xbd, 0xa7, 0xc5, 0xc5,
2819 0xfe, 0x75, 0x5f, 0x73,
2820 ],
2821 Elements::RightPadHigh8_64 => [
2822 0x6b, 0x6f, 0xa2, 0x37, 0x2e, 0xd2, 0x5e, 0x4a, 0x34, 0xd4, 0xae, 0x17, 0x23, 0x42,
2823 0xad, 0xbb, 0x25, 0x9b, 0xe8, 0x98, 0x76, 0x00, 0xdb, 0x19, 0x2e, 0xcb, 0x8d, 0xa4,
2824 0x34, 0xb9, 0xd8, 0x8f,
2825 ],
2826 Elements::RightPadLow16_32 => [
2827 0x77, 0x31, 0xd5, 0x60, 0xd3, 0x75, 0x92, 0xd1, 0xa3, 0x1f, 0x73, 0x62, 0x96, 0x7a,
2828 0xb2, 0xe4, 0x75, 0x92, 0xac, 0xa6, 0xe9, 0x2a, 0xb8, 0x58, 0x82, 0x37, 0x92, 0xda,
2829 0xe5, 0xd2, 0xdb, 0x52,
2830 ],
2831 Elements::RightPadLow16_64 => [
2832 0x0f, 0xe1, 0xc0, 0xdb, 0x9d, 0x4a, 0x2d, 0x63, 0xe2, 0xba, 0x4a, 0x33, 0x11, 0x7a,
2833 0xad, 0xba, 0x64, 0x51, 0x4a, 0x2b, 0x87, 0xa7, 0xa4, 0xe7, 0x93, 0xfa, 0xac, 0xfe,
2834 0x6b, 0x36, 0x34, 0x47,
2835 ],
2836 Elements::RightPadLow1_16 => [
2837 0x79, 0x14, 0xc8, 0xf2, 0x22, 0x47, 0xc2, 0xc3, 0x4b, 0x9c, 0x84, 0xe9, 0x2d, 0x14,
2838 0x44, 0xae, 0xc2, 0xe1, 0x7a, 0x0e, 0xf5, 0x86, 0xba, 0xb2, 0x78, 0x8e, 0xe6, 0xef,
2839 0x68, 0x84, 0x0d, 0x98,
2840 ],
2841 Elements::RightPadLow1_32 => [
2842 0x31, 0xb6, 0xce, 0x26, 0xe5, 0x59, 0xf7, 0x6c, 0xf3, 0x66, 0xf4, 0x80, 0x69, 0x85,
2843 0xec, 0xc2, 0x99, 0x55, 0x0f, 0x15, 0xd4, 0xc3, 0xa6, 0x72, 0x9e, 0x29, 0xd7, 0x0e,
2844 0x39, 0x89, 0x56, 0x52,
2845 ],
2846 Elements::RightPadLow1_64 => [
2847 0xc5, 0x52, 0x4a, 0xe6, 0x54, 0x8a, 0xcd, 0x63, 0x08, 0x2d, 0x94, 0x89, 0x3e, 0x18,
2848 0xf9, 0xed, 0xbb, 0x92, 0x31, 0xe7, 0x6b, 0xb4, 0xe1, 0x1b, 0xbf, 0xf6, 0xa7, 0xbd,
2849 0x16, 0xf4, 0xb0, 0x29,
2850 ],
2851 Elements::RightPadLow1_8 => [
2852 0x59, 0xd7, 0x22, 0x70, 0xef, 0x0e, 0x8f, 0x77, 0x0c, 0x8d, 0x11, 0xf3, 0x17, 0x73,
2853 0xf9, 0xb6, 0xe9, 0x0a, 0x4a, 0xec, 0xeb, 0x5b, 0xfb, 0x3d, 0xfe, 0x96, 0x8c, 0x4e,
2854 0x9d, 0xac, 0x5f, 0xe8,
2855 ],
2856 Elements::RightPadLow32_64 => [
2857 0xd4, 0x22, 0x7d, 0x06, 0x6f, 0x18, 0xb9, 0x11, 0xd6, 0xf5, 0xd9, 0xbf, 0xb9, 0xd9,
2858 0xf4, 0x6e, 0x9a, 0xea, 0xdb, 0xbe, 0xfa, 0x34, 0xd4, 0x74, 0x43, 0x2a, 0x1e, 0x78,
2859 0x9e, 0x48, 0x86, 0xff,
2860 ],
2861 Elements::RightPadLow8_16 => [
2862 0xab, 0xa4, 0x7a, 0x53, 0x6e, 0x12, 0x27, 0xe1, 0x22, 0xba, 0xac, 0xf1, 0x9c, 0xfd,
2863 0x28, 0x23, 0xb9, 0xb7, 0x8d, 0x79, 0xcc, 0x06, 0xd3, 0x4c, 0x34, 0x8b, 0x14, 0xa1,
2864 0xa1, 0x5a, 0xbd, 0x64,
2865 ],
2866 Elements::RightPadLow8_32 => [
2867 0x8f, 0x80, 0xa6, 0xc2, 0x74, 0x71, 0x6b, 0x67, 0x22, 0x04, 0x11, 0x34, 0xea, 0x1c,
2868 0x68, 0xaa, 0xbf, 0x02, 0x13, 0x29, 0x8f, 0x4e, 0x18, 0xf8, 0xf4, 0x92, 0xdc, 0x53,
2869 0x80, 0x8a, 0x31, 0x74,
2870 ],
2871 Elements::RightPadLow8_64 => [
2872 0xd6, 0x9c, 0x85, 0xe7, 0xb2, 0xd7, 0xe9, 0x49, 0x43, 0x6c, 0xb1, 0x29, 0x5e, 0x4a,
2873 0xa7, 0x05, 0x57, 0xd7, 0x5e, 0x7c, 0xbd, 0xec, 0x02, 0xcc, 0xa8, 0x5f, 0xbf, 0xb1,
2874 0x33, 0x08, 0xb2, 0x10,
2875 ],
2876 Elements::RightRotate16 => [
2877 0xe5, 0x10, 0x70, 0x82, 0x47, 0xf9, 0x1b, 0x4f, 0x0a, 0x8a, 0x22, 0xa4, 0x46, 0xb8,
2878 0x13, 0x7d, 0x0d, 0x42, 0xbe, 0xe7, 0x4c, 0x8c, 0x1e, 0xdd, 0x6d, 0x44, 0x6e, 0xdb,
2879 0x20, 0x13, 0xb5, 0x98,
2880 ],
2881 Elements::RightRotate32 => [
2882 0x98, 0x91, 0x57, 0x31, 0x41, 0x29, 0x22, 0xdb, 0xc5, 0x16, 0xa7, 0x37, 0x3a, 0xfc,
2883 0x4d, 0xe6, 0x48, 0x09, 0xf8, 0x3b, 0x26, 0x4b, 0xcf, 0xca, 0x6a, 0xe7, 0x48, 0x83,
2884 0xdb, 0xe1, 0x04, 0xd6,
2885 ],
2886 Elements::RightRotate64 => [
2887 0x9e, 0x2f, 0xb9, 0x8a, 0xdf, 0x10, 0x29, 0x33, 0x9d, 0xbe, 0x45, 0xa2, 0x2a, 0x54,
2888 0xa3, 0x90, 0xca, 0x09, 0x86, 0xed, 0xce, 0xa3, 0x2e, 0xac, 0xb8, 0x2e, 0xbc, 0xc8,
2889 0x94, 0xa2, 0x71, 0x1a,
2890 ],
2891 Elements::RightRotate8 => [
2892 0x00, 0xc7, 0xc2, 0x6d, 0x95, 0xa5, 0x0b, 0x5a, 0xf9, 0x34, 0x9f, 0xfe, 0x47, 0xe1,
2893 0xd4, 0x3f, 0x3d, 0x76, 0x1f, 0x17, 0xa7, 0x45, 0x3c, 0x98, 0x47, 0x91, 0xe8, 0x7d,
2894 0xc6, 0xa3, 0x11, 0xc8,
2895 ],
2896 Elements::RightShift16 => [
2897 0x8b, 0x5e, 0x0f, 0xeb, 0x95, 0x81, 0x30, 0xf0, 0x50, 0x83, 0x32, 0x15, 0x9e, 0x54,
2898 0xc2, 0xdf, 0x98, 0xaf, 0x83, 0x52, 0x1a, 0xca, 0xb3, 0x08, 0x4f, 0xd4, 0xf7, 0xc3,
2899 0xa2, 0xcc, 0xea, 0x77,
2900 ],
2901 Elements::RightShift32 => [
2902 0x4b, 0x1f, 0x25, 0x80, 0xe0, 0x85, 0x0d, 0x38, 0xe2, 0xa1, 0x15, 0x73, 0x38, 0x05,
2903 0x2f, 0x1c, 0x37, 0x9f, 0x9d, 0x81, 0x57, 0xf6, 0x2d, 0x33, 0x89, 0x0a, 0xf2, 0x4f,
2904 0xd9, 0xa7, 0xf7, 0x3e,
2905 ],
2906 Elements::RightShift64 => [
2907 0x91, 0xa2, 0x97, 0xd7, 0xb5, 0x8a, 0x39, 0x3b, 0xf5, 0x90, 0x25, 0x94, 0x77, 0x47,
2908 0xc8, 0x6d, 0xd4, 0x87, 0x65, 0x9c, 0xc5, 0x6f, 0xb5, 0xa6, 0xf6, 0x43, 0x99, 0x55,
2909 0x12, 0x9a, 0x95, 0x63,
2910 ],
2911 Elements::RightShift8 => [
2912 0xa4, 0xc3, 0x54, 0x6f, 0xf2, 0x7e, 0x56, 0xd6, 0x4e, 0x91, 0x8a, 0xb2, 0xfa, 0x6d,
2913 0x00, 0xfc, 0x27, 0x04, 0x58, 0x5b, 0x25, 0xbd, 0xe0, 0x04, 0x9d, 0x6d, 0x8f, 0x48,
2914 0xd8, 0xcf, 0x1c, 0xd0,
2915 ],
2916 Elements::RightShiftWith16 => [
2917 0xfd, 0x97, 0x70, 0x30, 0xe3, 0xa2, 0x5a, 0x32, 0xe7, 0x75, 0xb8, 0xd5, 0xe8, 0x71,
2918 0x74, 0xa7, 0xa9, 0xe8, 0x73, 0x1e, 0xc3, 0x6c, 0xf1, 0x32, 0x64, 0x20, 0xad, 0x91,
2919 0x50, 0x2e, 0x6e, 0x98,
2920 ],
2921 Elements::RightShiftWith32 => [
2922 0x28, 0x29, 0xba, 0x02, 0x1f, 0x54, 0x07, 0x7a, 0xff, 0xb6, 0x6a, 0xc6, 0xb6, 0xdf,
2923 0xd3, 0xfe, 0xf3, 0x8b, 0xc4, 0x14, 0x91, 0x84, 0x5a, 0x41, 0xce, 0x9d, 0xd3, 0x70,
2924 0x58, 0x6c, 0x2d, 0x04,
2925 ],
2926 Elements::RightShiftWith64 => [
2927 0x00, 0x6f, 0xa3, 0xc5, 0x45, 0x79, 0x75, 0x47, 0x86, 0xfc, 0x64, 0xdc, 0x32, 0xe1,
2928 0x9a, 0x22, 0x5c, 0xc1, 0x52, 0xc9, 0x4d, 0xee, 0xb3, 0xc6, 0xab, 0x29, 0x67, 0xdd,
2929 0xbf, 0xc6, 0x46, 0x53,
2930 ],
2931 Elements::RightShiftWith8 => [
2932 0xfc, 0xb5, 0xbe, 0x65, 0x07, 0xf0, 0xca, 0x44, 0xbe, 0x2b, 0xe1, 0xcc, 0x3c, 0x3c,
2933 0xfe, 0x39, 0x94, 0x40, 0x4b, 0x80, 0x83, 0xbd, 0x76, 0x02, 0xb2, 0x10, 0x2c, 0xb1,
2934 0xfc, 0xfa, 0x2c, 0x61,
2935 ],
2936 Elements::Rightmost16_1 => [
2937 0x3f, 0x3c, 0x43, 0x46, 0x87, 0x17, 0x42, 0x26, 0x5e, 0x87, 0xf0, 0x01, 0xb4, 0x6d,
2938 0xe7, 0xd1, 0x98, 0x75, 0x1b, 0x34, 0xfa, 0xa1, 0x80, 0x18, 0xde, 0x60, 0xc8, 0x46,
2939 0x8d, 0x9b, 0x98, 0xa4,
2940 ],
2941 Elements::Rightmost16_2 => [
2942 0x78, 0xf1, 0x71, 0x47, 0x6a, 0x3b, 0x0e, 0xd1, 0xe3, 0xa5, 0x45, 0x5a, 0x5f, 0xbb,
2943 0xcc, 0x90, 0x19, 0x81, 0xb3, 0x23, 0x0f, 0xea, 0x12, 0x64, 0x20, 0x4d, 0xac, 0xd0,
2944 0x81, 0xf9, 0x40, 0x80,
2945 ],
2946 Elements::Rightmost16_4 => [
2947 0x75, 0xa1, 0xdf, 0xb6, 0xae, 0x2c, 0x06, 0x6b, 0x2d, 0x0e, 0x20, 0x93, 0x04, 0x8a,
2948 0xdb, 0xc5, 0x0d, 0x46, 0x50, 0x65, 0x6f, 0xb2, 0xd3, 0x57, 0x8b, 0x57, 0xd9, 0xde,
2949 0x4c, 0x61, 0xc8, 0xb5,
2950 ],
2951 Elements::Rightmost16_8 => [
2952 0xee, 0x76, 0x9c, 0x1c, 0xc8, 0xa3, 0xfd, 0xd1, 0x83, 0x8f, 0xc9, 0xf0, 0x49, 0x0c,
2953 0xe7, 0x03, 0x93, 0xfd, 0x91, 0xba, 0x3c, 0xbd, 0x4a, 0xbd, 0x08, 0x64, 0x9f, 0xb9,
2954 0xc4, 0x43, 0x11, 0xbd,
2955 ],
2956 Elements::Rightmost32_1 => [
2957 0xcb, 0x0d, 0xb5, 0x69, 0xa3, 0x61, 0x86, 0xa2, 0x56, 0x05, 0xa9, 0xd2, 0xe4, 0xe1,
2958 0x0a, 0x20, 0xc1, 0x11, 0xd5, 0x0c, 0x34, 0xf1, 0x72, 0x46, 0x52, 0x0b, 0xc4, 0x54,
2959 0xd8, 0x68, 0x28, 0x36,
2960 ],
2961 Elements::Rightmost32_16 => [
2962 0x06, 0xfa, 0xa3, 0xbe, 0x67, 0x8c, 0xd6, 0xfd, 0xd7, 0xf3, 0x11, 0x2e, 0xbf, 0x2c,
2963 0x48, 0x62, 0x7a, 0xfa, 0x78, 0x75, 0xf7, 0x06, 0x8d, 0x26, 0xa9, 0xcc, 0x04, 0x5b,
2964 0x2c, 0x8f, 0x11, 0xbc,
2965 ],
2966 Elements::Rightmost32_2 => [
2967 0x00, 0xb8, 0x81, 0x5a, 0xd7, 0x42, 0x3d, 0xd5, 0x8c, 0xb9, 0x8b, 0xe8, 0x2c, 0xad,
2968 0x26, 0x67, 0x5c, 0x3b, 0xf5, 0x4a, 0x0b, 0xed, 0xba, 0xde, 0x34, 0x64, 0xb4, 0xfe,
2969 0x5a, 0x4e, 0x8c, 0xe6,
2970 ],
2971 Elements::Rightmost32_4 => [
2972 0x3d, 0xfa, 0x7a, 0x20, 0x19, 0x8e, 0x42, 0xd6, 0xa7, 0x94, 0x8c, 0x8e, 0xd8, 0xe0,
2973 0xd4, 0x7e, 0xc7, 0xc0, 0x00, 0x7b, 0x3d, 0x68, 0x66, 0xca, 0x15, 0xe3, 0xda, 0x04,
2974 0x5b, 0x85, 0x63, 0xc7,
2975 ],
2976 Elements::Rightmost32_8 => [
2977 0x17, 0xb5, 0x8d, 0x6e, 0x30, 0x4b, 0x1c, 0x7e, 0x5d, 0xbf, 0x0c, 0x4d, 0xf6, 0xfc,
2978 0xc8, 0x03, 0xc0, 0x08, 0x94, 0x4c, 0x79, 0x95, 0x55, 0x5b, 0x94, 0xe1, 0x28, 0x9b,
2979 0x25, 0x49, 0xbe, 0x99,
2980 ],
2981 Elements::Rightmost64_1 => [
2982 0x5e, 0x8f, 0xb4, 0x9f, 0xac, 0xe0, 0x34, 0x48, 0x1d, 0xc6, 0x53, 0x61, 0x8e, 0x2a,
2983 0x8b, 0x65, 0xea, 0xf0, 0x99, 0x3f, 0x28, 0x84, 0x4c, 0xc9, 0xb1, 0x30, 0xca, 0xcc,
2984 0xe4, 0x5e, 0x82, 0xde,
2985 ],
2986 Elements::Rightmost64_16 => [
2987 0xc6, 0x4c, 0xa9, 0x96, 0x55, 0x36, 0xf2, 0x37, 0xbc, 0x4d, 0x16, 0x6e, 0x4a, 0xec,
2988 0xa5, 0x6e, 0xac, 0x26, 0x62, 0xe6, 0x3a, 0xcc, 0xb9, 0x8b, 0x6e, 0x54, 0x25, 0x60,
2989 0xf9, 0xe5, 0x38, 0xda,
2990 ],
2991 Elements::Rightmost64_2 => [
2992 0x83, 0xd2, 0xda, 0x6f, 0x34, 0x20, 0xd7, 0x79, 0xbc, 0xb8, 0xf6, 0x0d, 0x0b, 0x69,
2993 0x6e, 0xed, 0x74, 0xc3, 0x1d, 0xb0, 0x8a, 0xdd, 0xbe, 0xbd, 0x12, 0x35, 0xa5, 0xdf,
2994 0x8f, 0x59, 0xc4, 0x2f,
2995 ],
2996 Elements::Rightmost64_32 => [
2997 0x7d, 0x2d, 0xff, 0x6e, 0x3d, 0xd5, 0x04, 0xbb, 0x0e, 0x57, 0x03, 0xa0, 0x33, 0x58,
2998 0x6d, 0x27, 0xd9, 0x66, 0x44, 0xc0, 0x48, 0xab, 0x34, 0xa4, 0x5b, 0xf5, 0x35, 0x12,
2999 0x9d, 0x50, 0x11, 0x67,
3000 ],
3001 Elements::Rightmost64_4 => [
3002 0x84, 0x1b, 0xbd, 0x65, 0x27, 0x42, 0xdd, 0xd3, 0xad, 0xea, 0xe4, 0x3c, 0xfe, 0xd6,
3003 0x32, 0x9f, 0x2f, 0xd6, 0x2e, 0x6f, 0xec, 0xd0, 0xfd, 0x58, 0xe3, 0xc3, 0xfb, 0x8b,
3004 0x5a, 0x0e, 0x4d, 0xd5,
3005 ],
3006 Elements::Rightmost64_8 => [
3007 0xa0, 0xa6, 0x1c, 0x76, 0x58, 0xa1, 0x86, 0x23, 0xbf, 0x1d, 0x01, 0x1a, 0x97, 0x92,
3008 0xd5, 0x18, 0xfb, 0xd0, 0x24, 0x14, 0x2a, 0x90, 0x44, 0x00, 0xec, 0xde, 0xea, 0x92,
3009 0x45, 0x7a, 0x0a, 0x81,
3010 ],
3011 Elements::Rightmost8_1 => [
3012 0x99, 0x9b, 0x68, 0x6e, 0x60, 0xb3, 0xd1, 0xec, 0xd6, 0xc6, 0xd7, 0x7f, 0xbc, 0xa8,
3013 0x2c, 0xb2, 0xab, 0xbd, 0x41, 0x82, 0xc8, 0x21, 0x12, 0x67, 0x47, 0x5f, 0xa0, 0xc1,
3014 0x90, 0x1d, 0x89, 0xf9,
3015 ],
3016 Elements::Rightmost8_2 => [
3017 0x53, 0x07, 0xff, 0xbf, 0x51, 0x6c, 0xd0, 0xee, 0xf3, 0xff, 0x43, 0x87, 0xb9, 0x05,
3018 0x2c, 0x14, 0x4a, 0x4d, 0xfa, 0x23, 0x29, 0x23, 0x7c, 0x6b, 0x27, 0x49, 0x92, 0xb2,
3019 0xc8, 0x04, 0x7b, 0x60,
3020 ],
3021 Elements::Rightmost8_4 => [
3022 0x7f, 0x52, 0xe6, 0x45, 0xbb, 0xbb, 0xd7, 0x92, 0x69, 0xc4, 0x3e, 0xf0, 0x2d, 0xb9,
3023 0x82, 0xf8, 0xc6, 0x36, 0x33, 0xc1, 0x79, 0xe4, 0x06, 0x91, 0x73, 0x93, 0x36, 0x04,
3024 0xcc, 0x63, 0x5b, 0xca,
3025 ],
3026 Elements::ScalarAdd => [
3027 0x34, 0xba, 0xa4, 0x0b, 0x2e, 0x0a, 0xa8, 0xcb, 0x7e, 0x97, 0xc7, 0x3e, 0x3e, 0xd3,
3028 0xb3, 0x65, 0xa1, 0x5b, 0x7c, 0x3f, 0x76, 0x61, 0xfb, 0x19, 0x71, 0x5e, 0xc6, 0x05,
3029 0xc1, 0x14, 0x9d, 0x11,
3030 ],
3031 Elements::ScalarInvert => [
3032 0x62, 0x31, 0xbd, 0xab, 0x73, 0xca, 0x34, 0xea, 0x7e, 0x83, 0x7d, 0xaa, 0xd6, 0x92,
3033 0xed, 0xe5, 0xba, 0xbf, 0xae, 0x09, 0xb5, 0x75, 0x6d, 0x2a, 0xb3, 0x6c, 0x5a, 0x36,
3034 0x47, 0x5a, 0x65, 0x89,
3035 ],
3036 Elements::ScalarIsZero => [
3037 0xf7, 0x5e, 0xda, 0x06, 0xce, 0x6a, 0xf0, 0x9f, 0xae, 0x37, 0xdb, 0x4e, 0x62, 0x25,
3038 0xe6, 0xa8, 0xac, 0x86, 0xa2, 0x36, 0x37, 0x62, 0x7d, 0x62, 0x64, 0x09, 0x19, 0x0f,
3039 0xf3, 0xb3, 0x9d, 0x90,
3040 ],
3041 Elements::ScalarMultiply => [
3042 0xb2, 0xbc, 0xc3, 0x90, 0xd6, 0x37, 0xb9, 0xe0, 0x3f, 0xbf, 0xc4, 0x2f, 0xff, 0x71,
3043 0xd2, 0x2e, 0x72, 0x00, 0xf6, 0x93, 0x29, 0xce, 0xf7, 0x16, 0x9e, 0x68, 0xa8, 0xc7,
3044 0x1a, 0x7f, 0x0a, 0x4b,
3045 ],
3046 Elements::ScalarMultiplyLambda => [
3047 0x89, 0xd5, 0x85, 0x5c, 0x5f, 0x85, 0xc0, 0x03, 0x5d, 0x27, 0xb0, 0xc0, 0x9e, 0x20,
3048 0x33, 0x0b, 0x00, 0x1c, 0x68, 0x4b, 0x59, 0x86, 0xab, 0xce, 0xd8, 0x36, 0x0c, 0xd3,
3049 0x9b, 0x08, 0xc4, 0xe1,
3050 ],
3051 Elements::ScalarNegate => [
3052 0x07, 0x05, 0xac, 0xdf, 0xb8, 0x66, 0x40, 0x00, 0x0e, 0x3d, 0x3b, 0xad, 0x50, 0x9a,
3053 0x14, 0xa7, 0x8c, 0x17, 0x1f, 0x61, 0xed, 0xc0, 0x84, 0x23, 0xb0, 0x42, 0xb9, 0x47,
3054 0x48, 0x43, 0x9c, 0xf8,
3055 ],
3056 Elements::ScalarNormalize => [
3057 0xa0, 0x61, 0xe1, 0x9d, 0x75, 0xc3, 0x25, 0xa2, 0x6d, 0x56, 0x5a, 0xad, 0x7e, 0x3f,
3058 0x9a, 0xe2, 0x6b, 0x22, 0x2f, 0x25, 0xe8, 0x02, 0x17, 0x4f, 0x6b, 0xac, 0xd5, 0x11,
3059 0x27, 0x7a, 0xea, 0xa5,
3060 ],
3061 Elements::ScalarSquare => [
3062 0x49, 0xf7, 0x34, 0xa2, 0x65, 0x9c, 0xa0, 0xab, 0x7c, 0x9e, 0x67, 0xfc, 0xfc, 0x3c,
3063 0x0d, 0x72, 0xaf, 0x0f, 0x91, 0x7c, 0x9e, 0xdc, 0xb9, 0x92, 0x9d, 0x17, 0x7a, 0x0f,
3064 0x0d, 0xe8, 0x9d, 0x59,
3065 ],
3066 Elements::Scale => [
3067 0xc0, 0x45, 0x43, 0xdc, 0x85, 0xef, 0x11, 0x37, 0x4a, 0x93, 0x0f, 0x4a, 0x94, 0x8e,
3068 0xb7, 0x35, 0xa6, 0x50, 0x0a, 0x1a, 0x71, 0x58, 0xd5, 0x73, 0x12, 0x3f, 0x07, 0x21,
3069 0x71, 0x75, 0xf3, 0x18,
3070 ],
3071 Elements::ScriptCMR => [
3072 0xec, 0x15, 0xf5, 0x9c, 0x52, 0x4d, 0x94, 0x14, 0x69, 0x81, 0x19, 0x54, 0x65, 0x4f,
3073 0x63, 0x58, 0x30, 0xec, 0xd7, 0xde, 0x51, 0x76, 0x62, 0xb2, 0x5c, 0xa4, 0xe8, 0xd0,
3074 0x5c, 0x2c, 0xce, 0x89,
3075 ],
3076 Elements::Sha256Block => [
3077 0x0c, 0x97, 0xa0, 0x08, 0xad, 0xe8, 0x7b, 0xb1, 0xe0, 0xac, 0x06, 0xb7, 0xd0, 0x31,
3078 0x30, 0x23, 0x36, 0x28, 0x58, 0xef, 0x90, 0xec, 0x14, 0xec, 0x9c, 0xb9, 0x5f, 0x0d,
3079 0xa9, 0x64, 0xe0, 0x08,
3080 ],
3081 Elements::Sha256Ctx8Add1 => [
3082 0x37, 0x06, 0x6c, 0x67, 0xad, 0x95, 0x24, 0x9d, 0x4b, 0xa6, 0xe1, 0x81, 0x44, 0xca,
3083 0x0a, 0x41, 0x5d, 0x9c, 0x83, 0x2a, 0xa6, 0xb6, 0x06, 0x28, 0xe9, 0x7c, 0x96, 0x7e,
3084 0xb1, 0x79, 0x33, 0x83,
3085 ],
3086 Elements::Sha256Ctx8Add128 => [
3087 0x2d, 0xcf, 0x48, 0x4c, 0x25, 0x7f, 0x67, 0x94, 0x0c, 0xa3, 0x75, 0xba, 0x98, 0xe8,
3088 0x3c, 0xe0, 0xe2, 0xa7, 0x1e, 0x16, 0xda, 0x50, 0x51, 0xd1, 0xbb, 0x19, 0xfb, 0x5f,
3089 0x34, 0x6f, 0x15, 0x4f,
3090 ],
3091 Elements::Sha256Ctx8Add16 => [
3092 0x82, 0x99, 0x25, 0x20, 0x40, 0xcb, 0x39, 0xe3, 0x26, 0xa2, 0x48, 0xd5, 0xc7, 0x88,
3093 0xf9, 0x51, 0x6d, 0x15, 0xa2, 0xff, 0x41, 0x45, 0xbb, 0x64, 0xad, 0x65, 0x77, 0xae,
3094 0x1a, 0x3e, 0xf7, 0x27,
3095 ],
3096 Elements::Sha256Ctx8Add2 => [
3097 0x8b, 0xae, 0x3e, 0x7e, 0x1e, 0xd4, 0xdc, 0xba, 0x6e, 0x64, 0x5a, 0xa1, 0x43, 0x41,
3098 0xbb, 0xae, 0x0d, 0xbb, 0x3a, 0xe2, 0x1b, 0xb6, 0x3d, 0xc0, 0x30, 0xca, 0x0e, 0x44,
3099 0x7a, 0x85, 0x7e, 0xc2,
3100 ],
3101 Elements::Sha256Ctx8Add256 => [
3102 0x44, 0xb7, 0x17, 0xe1, 0x97, 0x09, 0x99, 0xb6, 0x6b, 0x69, 0x3d, 0x8c, 0x9d, 0x1d,
3103 0x3b, 0x06, 0x05, 0xc2, 0xb7, 0xa6, 0x21, 0x3e, 0x6b, 0xa5, 0x6c, 0x69, 0xaf, 0x8d,
3104 0x7f, 0xae, 0x16, 0x86,
3105 ],
3106 Elements::Sha256Ctx8Add32 => [
3107 0x39, 0x23, 0x9a, 0x43, 0xa8, 0x4b, 0xac, 0x6f, 0x29, 0x69, 0xbf, 0xa9, 0x5b, 0xfe,
3108 0x6a, 0x04, 0xfc, 0xba, 0x80, 0x92, 0x89, 0x59, 0x39, 0xf1, 0x2a, 0x1c, 0xe0, 0xe2,
3109 0x63, 0x21, 0xec, 0x10,
3110 ],
3111 Elements::Sha256Ctx8Add4 => [
3112 0xd7, 0xd7, 0x45, 0x61, 0x4b, 0x37, 0xa7, 0xe0, 0x7d, 0xce, 0x22, 0xf6, 0x4e, 0x7b,
3113 0x1e, 0xdf, 0xe2, 0x3b, 0xed, 0xa8, 0x51, 0xf1, 0xe7, 0x6f, 0x1a, 0x6b, 0x02, 0x8f,
3114 0xcc, 0x5e, 0x9f, 0xc0,
3115 ],
3116 Elements::Sha256Ctx8Add512 => [
3117 0xbe, 0x36, 0x80, 0x32, 0xd8, 0x6e, 0xbc, 0xf2, 0x13, 0xca, 0x45, 0xba, 0x6e, 0xca,
3118 0xb5, 0x4c, 0xb1, 0xf2, 0x66, 0x1d, 0x40, 0x3d, 0xa0, 0x59, 0x06, 0x30, 0x0b, 0xc5,
3119 0x11, 0x37, 0xaa, 0xb5,
3120 ],
3121 Elements::Sha256Ctx8Add64 => [
3122 0xfd, 0xc4, 0x34, 0xce, 0x83, 0xdb, 0xdc, 0xe0, 0x78, 0x2a, 0xa3, 0x6d, 0x41, 0x8d,
3123 0xef, 0x7f, 0x99, 0xaf, 0x82, 0x93, 0xaf, 0xb2, 0x9e, 0x83, 0x9f, 0xe4, 0x94, 0x8f,
3124 0x62, 0x34, 0xf7, 0x7f,
3125 ],
3126 Elements::Sha256Ctx8Add8 => [
3127 0x9c, 0x98, 0x83, 0x30, 0x79, 0x9a, 0x68, 0x0b, 0xfe, 0x73, 0xd7, 0xca, 0xa3, 0x68,
3128 0x9f, 0xe4, 0xe4, 0x83, 0xda, 0x4e, 0xe6, 0xd8, 0x18, 0x58, 0x79, 0x27, 0xc7, 0xf4,
3129 0x33, 0x92, 0xde, 0xf7,
3130 ],
3131 Elements::Sha256Ctx8AddBuffer511 => [
3132 0xc0, 0x27, 0xe1, 0x06, 0x29, 0x96, 0xae, 0x94, 0xac, 0x39, 0x71, 0xa2, 0xc4, 0xfa,
3133 0xe5, 0x49, 0x97, 0xeb, 0xf0, 0x9b, 0x9f, 0x7d, 0xa5, 0x75, 0x63, 0x9b, 0xe6, 0x17,
3134 0x16, 0x7f, 0x02, 0xe3,
3135 ],
3136 Elements::Sha256Ctx8Finalize => [
3137 0xcb, 0xba, 0x1f, 0x1d, 0x8a, 0x97, 0xab, 0x4d, 0x1f, 0xa9, 0x68, 0x6e, 0x7a, 0xee,
3138 0xf0, 0x66, 0xfb, 0x5b, 0xf2, 0x90, 0x71, 0x6e, 0xae, 0x10, 0xe7, 0x0b, 0x61, 0x99,
3139 0x96, 0xc5, 0x95, 0x94,
3140 ],
3141 Elements::Sha256Ctx8Init => [
3142 0xa5, 0x3c, 0x76, 0x79, 0xe3, 0xae, 0x03, 0x47, 0xd4, 0xd7, 0x91, 0x26, 0xa7, 0xc7,
3143 0xe4, 0x9a, 0xc0, 0xde, 0xc9, 0x0c, 0xdf, 0x93, 0x57, 0x99, 0xcd, 0xdb, 0x58, 0xda,
3144 0x8f, 0x44, 0x96, 0xe4,
3145 ],
3146 Elements::Sha256Iv => [
3147 0x73, 0x89, 0xf0, 0x02, 0x53, 0x05, 0xdc, 0xe8, 0x28, 0xd4, 0xa1, 0xfe, 0x83, 0x74,
3148 0x30, 0x46, 0xa3, 0x67, 0xc9, 0x23, 0xf1, 0x8a, 0xbf, 0x36, 0x5e, 0x39, 0x1e, 0x5b,
3149 0x04, 0xaf, 0x1a, 0x47,
3150 ],
3151 Elements::SigAllHash => [
3152 0x6a, 0xc5, 0x3d, 0x3f, 0x93, 0xb8, 0xca, 0xf3, 0xea, 0x85, 0x34, 0xae, 0x61, 0x2a,
3153 0xbd, 0x32, 0x32, 0x5d, 0x2b, 0x0f, 0xec, 0x17, 0xde, 0x36, 0xaf, 0x0f, 0x71, 0xaa,
3154 0x97, 0x8f, 0x7c, 0xde,
3155 ],
3156 Elements::Some1 => [
3157 0xfb, 0xda, 0xd6, 0xb0, 0x22, 0xa0, 0xc7, 0x8f, 0xf3, 0x56, 0x04, 0xaa, 0xfa, 0xcd,
3158 0x27, 0xcc, 0x10, 0xf5, 0x1e, 0xe0, 0x69, 0x8c, 0x41, 0xf1, 0xad, 0xa9, 0x03, 0x97,
3159 0x61, 0x8d, 0x52, 0x6f,
3160 ],
3161 Elements::Some16 => [
3162 0x7e, 0x2c, 0xcd, 0xbf, 0xc2, 0x4d, 0xd8, 0xd8, 0xa9, 0x04, 0xb0, 0x17, 0xdd, 0x4f,
3163 0x57, 0xe7, 0xc8, 0x74, 0x96, 0x34, 0x8a, 0xca, 0x7d, 0x04, 0x58, 0xc9, 0xd1, 0x6b,
3164 0x68, 0xbc, 0xda, 0x1c,
3165 ],
3166 Elements::Some32 => [
3167 0x45, 0x36, 0xae, 0xb1, 0x21, 0xc4, 0x27, 0x3f, 0xfc, 0x2a, 0x48, 0xfe, 0xd9, 0xee,
3168 0xd0, 0x31, 0x2e, 0xbd, 0x97, 0x2d, 0xec, 0x56, 0x81, 0xf4, 0x7e, 0xad, 0x0f, 0x62,
3169 0xd9, 0x54, 0x45, 0x2a,
3170 ],
3171 Elements::Some64 => [
3172 0x7f, 0x0b, 0xbd, 0x9d, 0x66, 0x31, 0xc1, 0x30, 0x9f, 0x90, 0x1c, 0x2f, 0x0d, 0x7a,
3173 0x0d, 0x28, 0x4a, 0x34, 0x41, 0x6c, 0xf7, 0x50, 0xdb, 0x1f, 0xe2, 0xb9, 0xf3, 0xd6,
3174 0xed, 0x70, 0x94, 0x09,
3175 ],
3176 Elements::Some8 => [
3177 0x2d, 0x8c, 0x8f, 0x71, 0xee, 0x5e, 0x75, 0x82, 0xf0, 0xed, 0x65, 0xf5, 0x26, 0xc0,
3178 0x26, 0x05, 0xdc, 0xb9, 0x3c, 0x0b, 0xdd, 0xb9, 0x43, 0x3a, 0xff, 0x3f, 0x25, 0xc2,
3179 0x28, 0xac, 0xda, 0x8a,
3180 ],
3181 Elements::Subtract16 => [
3182 0x56, 0x9e, 0x6c, 0x6b, 0x39, 0xe7, 0xd8, 0x12, 0x65, 0x9b, 0x67, 0xaa, 0xc0, 0x8a,
3183 0xd1, 0x50, 0x99, 0xee, 0xad, 0x79, 0x8f, 0xd1, 0xd4, 0x2d, 0xa1, 0x7e, 0xe3, 0xf0,
3184 0xd4, 0xd4, 0x49, 0x2a,
3185 ],
3186 Elements::Subtract32 => [
3187 0x19, 0xd3, 0x5e, 0x0a, 0xf1, 0xe1, 0x65, 0x14, 0xa6, 0xdf, 0xc2, 0x9a, 0x91, 0x41,
3188 0x87, 0x13, 0x39, 0x64, 0xc4, 0x80, 0xf6, 0x60, 0xe7, 0xeb, 0x92, 0x4e, 0xe1, 0x6d,
3189 0xba, 0xa2, 0x49, 0xcb,
3190 ],
3191 Elements::Subtract64 => [
3192 0x52, 0x3e, 0x11, 0x86, 0x28, 0xbf, 0x3a, 0xc1, 0xa6, 0xbe, 0x5a, 0x72, 0xbd, 0xb1,
3193 0x14, 0x1b, 0x89, 0xe0, 0xe0, 0x01, 0xe4, 0x02, 0xad, 0xda, 0x82, 0x58, 0x79, 0x00,
3194 0x03, 0xf8, 0x8a, 0xd8,
3195 ],
3196 Elements::Subtract8 => [
3197 0x40, 0x95, 0x0b, 0x86, 0xf6, 0xf1, 0xf9, 0x93, 0x55, 0xde, 0xe1, 0x1f, 0x77, 0xda,
3198 0xf2, 0x79, 0xa0, 0xcb, 0x6c, 0x6d, 0x15, 0x6a, 0xe4, 0x4b, 0x7d, 0x5d, 0x25, 0x71,
3199 0x64, 0xb2, 0x67, 0xc5,
3200 ],
3201 Elements::Swu => [
3202 0xab, 0xf7, 0x0b, 0xe0, 0x0b, 0x30, 0xf5, 0x77, 0xf9, 0x87, 0xcb, 0x50, 0x48, 0x89,
3203 0x96, 0xba, 0x35, 0x96, 0xdb, 0xf9, 0xc1, 0xe8, 0x44, 0xa8, 0xb1, 0xb8, 0xb7, 0x10,
3204 0x85, 0x3b, 0x65, 0xeb,
3205 ],
3206 Elements::TapEnvHash => [
3207 0x72, 0x27, 0x07, 0x71, 0x93, 0xec, 0x17, 0x41, 0x8e, 0xbf, 0x78, 0x77, 0xaf, 0xdc,
3208 0x70, 0x97, 0xbd, 0x5e, 0xed, 0x57, 0xe8, 0x26, 0xdf, 0x66, 0x05, 0xc6, 0x48, 0x69,
3209 0x1d, 0x00, 0x34, 0x03,
3210 ],
3211 Elements::TapdataInit => [
3212 0x6c, 0x67, 0xe5, 0xc1, 0x07, 0x35, 0x30, 0x5e, 0xe7, 0xde, 0xb5, 0x9a, 0x6c, 0x6a,
3213 0xc2, 0xef, 0xfc, 0xab, 0x4f, 0xf7, 0xbb, 0x47, 0x9e, 0xa7, 0x00, 0x81, 0x60, 0x6e,
3214 0x60, 0x48, 0x4c, 0xa7,
3215 ],
3216 Elements::TapleafHash => [
3217 0xd4, 0x5a, 0x66, 0x1f, 0xc9, 0x10, 0x0e, 0x2e, 0xa9, 0xdf, 0x78, 0x9c, 0xa2, 0x34,
3218 0x6d, 0xa8, 0x42, 0x71, 0x7e, 0xf6, 0xa8, 0xc8, 0x24, 0x18, 0x4f, 0x2d, 0xa8, 0xc7,
3219 0xfb, 0x01, 0x62, 0x03,
3220 ],
3221 Elements::TapleafVersion => [
3222 0xdd, 0xb0, 0xed, 0xd6, 0xce, 0x1e, 0x07, 0x98, 0x3d, 0x1a, 0x62, 0x26, 0xf0, 0x0b,
3223 0x12, 0x51, 0x89, 0xaf, 0x13, 0xbd, 0x5c, 0xd0, 0x68, 0x12, 0x3a, 0xd4, 0x3f, 0x48,
3224 0x20, 0x1b, 0x00, 0x6f,
3225 ],
3226 Elements::Tappath => [
3227 0x42, 0xc0, 0xc1, 0xf2, 0xef, 0x0e, 0x28, 0xae, 0x7d, 0xef, 0xa1, 0x5e, 0x84, 0xa0,
3228 0x6f, 0x35, 0xfb, 0xf6, 0xfc, 0x89, 0x7b, 0x29, 0xf6, 0x83, 0xfe, 0x1a, 0x24, 0xe3,
3229 0x0d, 0xc5, 0x8b, 0xaf,
3230 ],
3231 Elements::TappathHash => [
3232 0x9d, 0xa9, 0x06, 0xe3, 0xec, 0x08, 0x60, 0x65, 0xbe, 0x14, 0x41, 0x36, 0xb5, 0x16,
3233 0x20, 0xb6, 0x6d, 0xdf, 0x4d, 0x71, 0x38, 0x57, 0x35, 0x4e, 0xba, 0x3b, 0x97, 0xc7,
3234 0x75, 0x85, 0xf4, 0x43,
3235 ],
3236 Elements::TotalFee => [
3237 0x4e, 0xba, 0x3f, 0x22, 0xba, 0xc0, 0xa4, 0x65, 0xe4, 0xd0, 0x8a, 0x9a, 0xc4, 0x05,
3238 0x18, 0xef, 0x97, 0x2c, 0x2e, 0x86, 0x12, 0x09, 0x0a, 0x51, 0xe3, 0x20, 0x3f, 0xcb,
3239 0xd2, 0xf4, 0xed, 0xbe,
3240 ],
3241 Elements::TransactionId => [
3242 0x08, 0xb8, 0xeb, 0x3c, 0x2d, 0x2d, 0x95, 0x84, 0x58, 0xe1, 0x63, 0xe9, 0x43, 0x34,
3243 0x95, 0x0c, 0x0b, 0xb9, 0x14, 0xa0, 0xb9, 0xd2, 0x14, 0xfc, 0x5e, 0x9d, 0xe8, 0xf7,
3244 0x0a, 0x17, 0xa0, 0xd4,
3245 ],
3246 Elements::TxHash => [
3247 0xc3, 0x61, 0x02, 0xae, 0xda, 0x8b, 0xcf, 0x62, 0xa8, 0x5e, 0x71, 0x4b, 0x18, 0xe4,
3248 0xc5, 0x0c, 0xd4, 0x17, 0xff, 0xbf, 0x86, 0xd7, 0x37, 0x34, 0xe0, 0x2c, 0xbf, 0xcb,
3249 0x53, 0x13, 0xfc, 0xcf,
3250 ],
3251 Elements::TxIsFinal => [
3252 0x8b, 0x31, 0x45, 0x72, 0x24, 0x70, 0xa0, 0x7d, 0xe9, 0x0a, 0x28, 0xba, 0x89, 0xf3,
3253 0xf8, 0x86, 0x42, 0x61, 0x00, 0x96, 0x54, 0xce, 0x86, 0x6c, 0xd8, 0xea, 0xf7, 0x6c,
3254 0x5d, 0x86, 0x26, 0xeb,
3255 ],
3256 Elements::TxLockHeight => [
3257 0xc2, 0x02, 0x57, 0xf8, 0xe7, 0x6e, 0xcd, 0x0a, 0xe7, 0xad, 0x63, 0x4f, 0x5d, 0xfa,
3258 0x68, 0xae, 0x9a, 0x5e, 0xde, 0xd0, 0xe2, 0xee, 0xbe, 0x4e, 0xe5, 0x2c, 0xb4, 0x7a,
3259 0xcf, 0xb0, 0x26, 0x4c,
3260 ],
3261 Elements::TxLockTime => [
3262 0x3e, 0xe1, 0x90, 0x05, 0x42, 0xd0, 0x1e, 0xfd, 0x4e, 0x9a, 0x01, 0xd4, 0xef, 0xb1,
3263 0xf9, 0xdd, 0x99, 0x2c, 0xed, 0x35, 0xb7, 0xa7, 0x52, 0xf8, 0x3d, 0xa5, 0x93, 0x38,
3264 0x15, 0x38, 0xde, 0xa4,
3265 ],
3266 Elements::Verify => [
3267 0x34, 0x3e, 0x6d, 0xc1, 0x6b, 0x3f, 0x52, 0xe8, 0x3e, 0x3b, 0x4c, 0xcc, 0x99, 0xb8,
3268 0xc6, 0xf9, 0x6a, 0x07, 0x4f, 0xe3, 0x99, 0x32, 0x7a, 0xf3, 0x64, 0xbc, 0x28, 0x5e,
3269 0x29, 0x97, 0x45, 0xa2,
3270 ],
3271 Elements::Version => [
3272 0x08, 0x7f, 0xc9, 0x5c, 0x41, 0x00, 0x33, 0x48, 0x75, 0x9f, 0xd8, 0x40, 0x37, 0x2c,
3273 0x6f, 0x91, 0x2d, 0x9b, 0xe4, 0xe6, 0x1e, 0xee, 0x3c, 0x6a, 0x7a, 0x40, 0xdc, 0x13,
3274 0xc9, 0xc1, 0xbc, 0x70,
3275 ],
3276 Elements::Xor1 => [
3277 0x9d, 0xc9, 0xfe, 0x42, 0xf7, 0xeb, 0x34, 0x64, 0x9f, 0x1c, 0x72, 0xd2, 0xe5, 0xdd,
3278 0x16, 0x7d, 0xb2, 0x1b, 0xe5, 0x32, 0x13, 0x72, 0xd5, 0xca, 0x7f, 0x6a, 0x18, 0x4f,
3279 0x93, 0xe0, 0x5e, 0xe3,
3280 ],
3281 Elements::Xor16 => [
3282 0x1f, 0xca, 0xf4, 0x0b, 0xde, 0xdd, 0x72, 0xe7, 0x97, 0xb0, 0x9f, 0xe7, 0x87, 0x53,
3283 0xb0, 0xab, 0x27, 0x87, 0x2c, 0x0b, 0xd1, 0x2b, 0x03, 0x49, 0x55, 0xfb, 0xfa, 0xc2,
3284 0x38, 0x12, 0xef, 0x26,
3285 ],
3286 Elements::Xor32 => [
3287 0x1d, 0x49, 0xfc, 0x94, 0xf2, 0x2b, 0x5d, 0x31, 0xb7, 0xf9, 0xef, 0xb5, 0x37, 0x8e,
3288 0x5f, 0x8a, 0x42, 0x62, 0x6a, 0xed, 0x4e, 0x92, 0x79, 0x93, 0x48, 0xd6, 0xb7, 0x88,
3289 0xdf, 0xe8, 0x6b, 0x1c,
3290 ],
3291 Elements::Xor64 => [
3292 0x7a, 0x3f, 0x3f, 0x55, 0x20, 0x47, 0x83, 0x65, 0x33, 0x44, 0x31, 0x1d, 0x1d, 0xc5,
3293 0x09, 0xd3, 0x5b, 0x66, 0x39, 0xc0, 0xd8, 0xb9, 0x67, 0xa2, 0x07, 0x80, 0x6c, 0xd8,
3294 0x7d, 0x31, 0xd6, 0xe6,
3295 ],
3296 Elements::Xor8 => [
3297 0xd8, 0x33, 0x5f, 0x48, 0x90, 0xc1, 0xd8, 0xed, 0x76, 0x6c, 0x71, 0x35, 0x90, 0x2e,
3298 0x01, 0xa0, 0x09, 0x4e, 0x3a, 0x98, 0x16, 0xf7, 0x0c, 0x84, 0x7c, 0xc3, 0xd7, 0xc0,
3299 0x00, 0x40, 0x6e, 0xfe,
3300 ],
3301 Elements::XorXor1 => [
3302 0x1e, 0x10, 0x7b, 0x05, 0xff, 0x94, 0x1d, 0x31, 0xd7, 0x57, 0x8b, 0x43, 0x73, 0x28,
3303 0xba, 0x52, 0xf3, 0xff, 0x20, 0xa0, 0x68, 0xc0, 0xd2, 0xbd, 0xef, 0x08, 0x76, 0x80,
3304 0x93, 0xcc, 0x7c, 0x63,
3305 ],
3306 Elements::XorXor16 => [
3307 0xb7, 0x76, 0x98, 0x9d, 0xa5, 0x09, 0x5c, 0x4b, 0xe9, 0x4b, 0x1a, 0xef, 0x75, 0x94,
3308 0x66, 0xe1, 0x1f, 0x63, 0x9c, 0x19, 0x39, 0x47, 0x1f, 0xa1, 0x8e, 0x36, 0xe7, 0xe4,
3309 0x90, 0xc3, 0x89, 0x61,
3310 ],
3311 Elements::XorXor32 => [
3312 0xd1, 0x68, 0xfa, 0xc1, 0xac, 0x7f, 0xc4, 0x83, 0x57, 0xbe, 0x1b, 0x65, 0x33, 0x75,
3313 0xec, 0x5e, 0x3f, 0x05, 0x82, 0x3a, 0xae, 0x6a, 0xc9, 0x85, 0xe9, 0x40, 0x3e, 0xea,
3314 0xb1, 0x2b, 0xb9, 0xf8,
3315 ],
3316 Elements::XorXor64 => [
3317 0x36, 0x1c, 0x57, 0x93, 0x0e, 0xf9, 0x7d, 0x49, 0xcb, 0xc6, 0x79, 0xfa, 0xef, 0x1e,
3318 0x3b, 0xcf, 0xfb, 0x78, 0x79, 0x95, 0xb9, 0x61, 0xe5, 0x53, 0x7d, 0x2b, 0x1e, 0xeb,
3319 0xc9, 0xc9, 0xa6, 0xe8,
3320 ],
3321 Elements::XorXor8 => [
3322 0xc2, 0xda, 0x6e, 0x9c, 0xa6, 0x4d, 0x8a, 0x73, 0xc1, 0x77, 0x26, 0x67, 0xb3, 0xd7,
3323 0xa0, 0x93, 0x8b, 0xcb, 0x8a, 0x6c, 0x43, 0xfd, 0x04, 0x73, 0xee, 0xc7, 0x1b, 0x77,
3324 0x49, 0x4a, 0xad, 0x94,
3325 ],
3326 };
3327
3328 Cmr::from_byte_array(bytes)
3329 }
3330
3331 fn source_ty(&self) -> TypeName {
3332 let name: &'static [u8] = match self {
3333 Elements::Add16 => b"i",
3334 Elements::Add32 => b"l",
3335 Elements::Add64 => b"*ll",
3336 Elements::Add8 => b"****22*22**22*22***22*22**22*22",
3337 Elements::All16 => b"****22*22**22*22***22*22**22*22",
3338 Elements::All32 => b"i",
3339 Elements::All64 => b"l",
3340 Elements::All8 => b"***22*22**22*22",
3341 Elements::And1 => b"*22",
3342 Elements::And16 => b"i",
3343 Elements::And32 => b"l",
3344 Elements::And64 => b"*ll",
3345 Elements::And8 => b"****22*22**22*22***22*22**22*22",
3346 Elements::AnnexHash => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh+1h",
3347 Elements::AssetAmountHash => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*+*2hh+*2hl",
3348 Elements::Bip0340Verify => b"**hh*hh",
3349 Elements::BrokenDoNotUseCheckLockDistance => b"****22*22**22*22***22*22**22*22",
3350 Elements::BrokenDoNotUseCheckLockDuration => b"****22*22**22*22***22*22**22*22",
3351 Elements::BrokenDoNotUseTxLockDistance => b"1",
3352 Elements::BrokenDoNotUseTxLockDuration => b"1",
3353 Elements::BuildTapbranch => b"*hh",
3354 Elements::BuildTapleafSimplicity => b"h",
3355 Elements::BuildTaptweak => b"*hh",
3356 Elements::CalculateAsset => b"h",
3357 Elements::CalculateConfidentialToken => b"h",
3358 Elements::CalculateExplicitToken => b"h",
3359 Elements::CalculateIssuanceEntropy => b"**hih",
3360 Elements::Ch1 => b"*2*22",
3361 Elements::Ch16 => b"*****22*22**22*22***22*22**22*22i",
3362 Elements::Ch32 => b"*il",
3363 Elements::Ch64 => b"*l*ll",
3364 Elements::Ch8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3365 Elements::CheckLockHeight => b"i",
3366 Elements::CheckLockTime => b"i",
3367 Elements::CheckSigVerify => b"**h*hh*hh",
3368 Elements::Complement1 => b"2",
3369 Elements::Complement16 => b"****22*22**22*22***22*22**22*22",
3370 Elements::Complement32 => b"i",
3371 Elements::Complement64 => b"l",
3372 Elements::Complement8 => b"***22*22**22*22",
3373 Elements::CurrentAmount => b"1",
3374 Elements::CurrentAnnexHash => b"1",
3375 Elements::CurrentAsset => b"1",
3376 Elements::CurrentIndex => b"1",
3377 Elements::CurrentIssuanceAssetAmount => b"1",
3378 Elements::CurrentIssuanceAssetProof => b"1",
3379 Elements::CurrentIssuanceTokenAmount => b"1",
3380 Elements::CurrentIssuanceTokenProof => b"1",
3381 Elements::CurrentNewIssuanceContract => b"1",
3382 Elements::CurrentPegin => b"1",
3383 Elements::CurrentPrevOutpoint => b"1",
3384 Elements::CurrentReissuanceBlinding => b"1",
3385 Elements::CurrentReissuanceEntropy => b"1",
3386 Elements::CurrentScriptHash => b"1",
3387 Elements::CurrentScriptSigHash => b"1",
3388 Elements::CurrentSequence => b"1",
3389 Elements::Decompress => b"*2h",
3390 Elements::Decrement16 => b"****22*22**22*22***22*22**22*22",
3391 Elements::Decrement32 => b"i",
3392 Elements::Decrement64 => b"l",
3393 Elements::Decrement8 => b"***22*22**22*22",
3394 Elements::DivMod128_64 => b"**lll",
3395 Elements::DivMod16 => b"i",
3396 Elements::DivMod32 => b"l",
3397 Elements::DivMod64 => b"*ll",
3398 Elements::DivMod8 => b"****22*22**22*22***22*22**22*22",
3399 Elements::Divide16 => b"i",
3400 Elements::Divide32 => b"l",
3401 Elements::Divide64 => b"*ll",
3402 Elements::Divide8 => b"****22*22**22*22***22*22**22*22",
3403 Elements::Divides16 => b"i",
3404 Elements::Divides32 => b"l",
3405 Elements::Divides64 => b"*ll",
3406 Elements::Divides8 => b"****22*22**22*22***22*22**22*22",
3407 Elements::Eq1 => b"*22",
3408 Elements::Eq16 => b"i",
3409 Elements::Eq256 => b"*hh",
3410 Elements::Eq32 => b"l",
3411 Elements::Eq64 => b"*ll",
3412 Elements::Eq8 => b"****22*22**22*22***22*22**22*22",
3413 Elements::FeAdd => b"*hh",
3414 Elements::FeInvert => b"h",
3415 Elements::FeIsOdd => b"h",
3416 Elements::FeIsZero => b"h",
3417 Elements::FeMultiply => b"*hh",
3418 Elements::FeMultiplyBeta => b"h",
3419 Elements::FeNegate => b"h",
3420 Elements::FeNormalize => b"h",
3421 Elements::FeSquare => b"h",
3422 Elements::FeSquareRoot => b"h",
3423 Elements::FullAdd16 => b"*2i",
3424 Elements::FullAdd32 => b"*2l",
3425 Elements::FullAdd64 => b"*2*ll",
3426 Elements::FullAdd8 => b"*2****22*22**22*22***22*22**22*22",
3427 Elements::FullDecrement16 => b"*2****22*22**22*22***22*22**22*22",
3428 Elements::FullDecrement32 => b"*2i",
3429 Elements::FullDecrement64 => b"*2l",
3430 Elements::FullDecrement8 => b"*2***22*22**22*22",
3431 Elements::FullIncrement16 => b"*2****22*22**22*22***22*22**22*22",
3432 Elements::FullIncrement32 => b"*2i",
3433 Elements::FullIncrement64 => b"*2l",
3434 Elements::FullIncrement8 => b"*2***22*22**22*22",
3435 Elements::FullLeftShift16_1 => b"*****22*22**22*22***22*22**22*222",
3436 Elements::FullLeftShift16_2 => b"*****22*22**22*22***22*22**22*22*22",
3437 Elements::FullLeftShift16_4 => b"*****22*22**22*22***22*22**22*22**22*22",
3438 Elements::FullLeftShift16_8 => b"*****22*22**22*22***22*22**22*22***22*22**22*22",
3439 Elements::FullLeftShift32_1 => b"*i2",
3440 Elements::FullLeftShift32_16 => b"*i****22*22**22*22***22*22**22*22",
3441 Elements::FullLeftShift32_2 => b"*i*22",
3442 Elements::FullLeftShift32_4 => b"*i**22*22",
3443 Elements::FullLeftShift32_8 => b"*i***22*22**22*22",
3444 Elements::FullLeftShift64_1 => b"*l2",
3445 Elements::FullLeftShift64_16 => b"*l****22*22**22*22***22*22**22*22",
3446 Elements::FullLeftShift64_2 => b"*l*22",
3447 Elements::FullLeftShift64_32 => b"*li",
3448 Elements::FullLeftShift64_4 => b"*l**22*22",
3449 Elements::FullLeftShift64_8 => b"*l***22*22**22*22",
3450 Elements::FullLeftShift8_1 => b"****22*22**22*222",
3451 Elements::FullLeftShift8_2 => b"****22*22**22*22*22",
3452 Elements::FullLeftShift8_4 => b"****22*22**22*22**22*22",
3453 Elements::FullMultiply16 => b"l",
3454 Elements::FullMultiply32 => b"*ll",
3455 Elements::FullMultiply64 => b"h",
3456 Elements::FullMultiply8 => b"i",
3457 Elements::FullRightShift16_1 => b"*2****22*22**22*22***22*22**22*22",
3458 Elements::FullRightShift16_2 => b"**22****22*22**22*22***22*22**22*22",
3459 Elements::FullRightShift16_4 => b"***22*22****22*22**22*22***22*22**22*22",
3460 Elements::FullRightShift16_8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3461 Elements::FullRightShift32_1 => b"*2i",
3462 Elements::FullRightShift32_16 => b"*****22*22**22*22***22*22**22*22i",
3463 Elements::FullRightShift32_2 => b"**22i",
3464 Elements::FullRightShift32_4 => b"***22*22i",
3465 Elements::FullRightShift32_8 => b"****22*22**22*22i",
3466 Elements::FullRightShift64_1 => b"*2l",
3467 Elements::FullRightShift64_16 => b"*****22*22**22*22***22*22**22*22l",
3468 Elements::FullRightShift64_2 => b"**22l",
3469 Elements::FullRightShift64_32 => b"*il",
3470 Elements::FullRightShift64_4 => b"***22*22l",
3471 Elements::FullRightShift64_8 => b"****22*22**22*22l",
3472 Elements::FullRightShift8_1 => b"*2***22*22**22*22",
3473 Elements::FullRightShift8_2 => b"**22***22*22**22*22",
3474 Elements::FullRightShift8_4 => b"***22*22***22*22**22*22",
3475 Elements::FullSubtract16 => b"*2i",
3476 Elements::FullSubtract32 => b"*2l",
3477 Elements::FullSubtract64 => b"*2*ll",
3478 Elements::FullSubtract8 => b"*2****22*22**22*22***22*22**22*22",
3479 Elements::GeIsOnCurve => b"*hh",
3480 Elements::GeNegate => b"*hh",
3481 Elements::GejAdd => b"***hhh**hhh",
3482 Elements::GejDouble => b"**hhh",
3483 Elements::GejEquiv => b"***hhh**hhh",
3484 Elements::GejGeAdd => b"***hhh*hh",
3485 Elements::GejGeAddEx => b"***hhh*hh",
3486 Elements::GejGeEquiv => b"***hhh*hh",
3487 Elements::GejInfinity => b"1",
3488 Elements::GejIsInfinity => b"**hhh",
3489 Elements::GejIsOnCurve => b"**hhh",
3490 Elements::GejNegate => b"**hhh",
3491 Elements::GejNormalize => b"**hhh",
3492 Elements::GejRescale => b"***hhhh",
3493 Elements::GejXEquiv => b"*h**hhh",
3494 Elements::GejYIsOdd => b"**hhh",
3495 Elements::Generate => b"h",
3496 Elements::GenesisBlockHash => b"1",
3497 Elements::HashToCurve => b"h",
3498 Elements::High1 => b"1",
3499 Elements::High16 => b"1",
3500 Elements::High32 => b"1",
3501 Elements::High64 => b"1",
3502 Elements::High8 => b"1",
3503 Elements::Increment16 => b"****22*22**22*22***22*22**22*22",
3504 Elements::Increment32 => b"i",
3505 Elements::Increment64 => b"l",
3506 Elements::Increment8 => b"***22*22**22*22",
3507 Elements::InputAmount => b"i",
3508 Elements::InputAmountsHash => b"1",
3509 Elements::InputAnnexHash => b"i",
3510 Elements::InputAnnexesHash => b"1",
3511 Elements::InputAsset => b"i",
3512 Elements::InputHash => b"i",
3513 Elements::InputOutpointsHash => b"1",
3514 Elements::InputPegin => b"i",
3515 Elements::InputPrevOutpoint => b"i",
3516 Elements::InputScriptHash => b"i",
3517 Elements::InputScriptSigHash => b"i",
3518 Elements::InputScriptSigsHash => b"1",
3519 Elements::InputScriptsHash => b"1",
3520 Elements::InputSequence => b"i",
3521 Elements::InputSequencesHash => b"1",
3522 Elements::InputUtxoHash => b"i",
3523 Elements::InputUtxosHash => b"1",
3524 Elements::InputsHash => b"1",
3525 Elements::InternalKey => b"1",
3526 Elements::IsOne16 => b"****22*22**22*22***22*22**22*22",
3527 Elements::IsOne32 => b"i",
3528 Elements::IsOne64 => b"l",
3529 Elements::IsOne8 => b"***22*22**22*22",
3530 Elements::IsZero16 => b"****22*22**22*22***22*22**22*22",
3531 Elements::IsZero32 => b"i",
3532 Elements::IsZero64 => b"l",
3533 Elements::IsZero8 => b"***22*22**22*22",
3534 Elements::Issuance => b"i",
3535 Elements::IssuanceAsset => b"i",
3536 Elements::IssuanceAssetAmount => b"i",
3537 Elements::IssuanceAssetAmountsHash => b"1",
3538 Elements::IssuanceAssetProof => b"i",
3539 Elements::IssuanceBlindingEntropyHash => b"1",
3540 Elements::IssuanceEntropy => b"i",
3541 Elements::IssuanceHash => b"i",
3542 Elements::IssuanceRangeProofsHash => b"1",
3543 Elements::IssuanceToken => b"i",
3544 Elements::IssuanceTokenAmount => b"i",
3545 Elements::IssuanceTokenAmountsHash => b"1",
3546 Elements::IssuanceTokenProof => b"i",
3547 Elements::IssuancesHash => b"1",
3548 Elements::LbtcAsset => b"1",
3549 Elements::Le16 => b"i",
3550 Elements::Le32 => b"l",
3551 Elements::Le64 => b"*ll",
3552 Elements::Le8 => b"****22*22**22*22***22*22**22*22",
3553 Elements::LeftExtend16_32 => b"****22*22**22*22***22*22**22*22",
3554 Elements::LeftExtend16_64 => b"****22*22**22*22***22*22**22*22",
3555 Elements::LeftExtend1_16 => b"2",
3556 Elements::LeftExtend1_32 => b"2",
3557 Elements::LeftExtend1_64 => b"2",
3558 Elements::LeftExtend1_8 => b"2",
3559 Elements::LeftExtend32_64 => b"i",
3560 Elements::LeftExtend8_16 => b"***22*22**22*22",
3561 Elements::LeftExtend8_32 => b"***22*22**22*22",
3562 Elements::LeftExtend8_64 => b"***22*22**22*22",
3563 Elements::LeftPadHigh16_32 => b"****22*22**22*22***22*22**22*22",
3564 Elements::LeftPadHigh16_64 => b"****22*22**22*22***22*22**22*22",
3565 Elements::LeftPadHigh1_16 => b"2",
3566 Elements::LeftPadHigh1_32 => b"2",
3567 Elements::LeftPadHigh1_64 => b"2",
3568 Elements::LeftPadHigh1_8 => b"2",
3569 Elements::LeftPadHigh32_64 => b"i",
3570 Elements::LeftPadHigh8_16 => b"***22*22**22*22",
3571 Elements::LeftPadHigh8_32 => b"***22*22**22*22",
3572 Elements::LeftPadHigh8_64 => b"***22*22**22*22",
3573 Elements::LeftPadLow16_32 => b"****22*22**22*22***22*22**22*22",
3574 Elements::LeftPadLow16_64 => b"****22*22**22*22***22*22**22*22",
3575 Elements::LeftPadLow1_16 => b"2",
3576 Elements::LeftPadLow1_32 => b"2",
3577 Elements::LeftPadLow1_64 => b"2",
3578 Elements::LeftPadLow1_8 => b"2",
3579 Elements::LeftPadLow32_64 => b"i",
3580 Elements::LeftPadLow8_16 => b"***22*22**22*22",
3581 Elements::LeftPadLow8_32 => b"***22*22**22*22",
3582 Elements::LeftPadLow8_64 => b"***22*22**22*22",
3583 Elements::LeftRotate16 => b"***22*22****22*22**22*22***22*22**22*22",
3584 Elements::LeftRotate32 => b"****22*22**22*22i",
3585 Elements::LeftRotate64 => b"****22*22**22*22l",
3586 Elements::LeftRotate8 => b"***22*22***22*22**22*22",
3587 Elements::LeftShift16 => b"***22*22****22*22**22*22***22*22**22*22",
3588 Elements::LeftShift32 => b"****22*22**22*22i",
3589 Elements::LeftShift64 => b"****22*22**22*22l",
3590 Elements::LeftShift8 => b"***22*22***22*22**22*22",
3591 Elements::LeftShiftWith16 => b"*2***22*22****22*22**22*22***22*22**22*22",
3592 Elements::LeftShiftWith32 => b"*2****22*22**22*22i",
3593 Elements::LeftShiftWith64 => b"*2****22*22**22*22l",
3594 Elements::LeftShiftWith8 => b"*2***22*22***22*22**22*22",
3595 Elements::Leftmost16_1 => b"****22*22**22*22***22*22**22*22",
3596 Elements::Leftmost16_2 => b"****22*22**22*22***22*22**22*22",
3597 Elements::Leftmost16_4 => b"****22*22**22*22***22*22**22*22",
3598 Elements::Leftmost16_8 => b"****22*22**22*22***22*22**22*22",
3599 Elements::Leftmost32_1 => b"i",
3600 Elements::Leftmost32_16 => b"i",
3601 Elements::Leftmost32_2 => b"i",
3602 Elements::Leftmost32_4 => b"i",
3603 Elements::Leftmost32_8 => b"i",
3604 Elements::Leftmost64_1 => b"l",
3605 Elements::Leftmost64_16 => b"l",
3606 Elements::Leftmost64_2 => b"l",
3607 Elements::Leftmost64_32 => b"l",
3608 Elements::Leftmost64_4 => b"l",
3609 Elements::Leftmost64_8 => b"l",
3610 Elements::Leftmost8_1 => b"***22*22**22*22",
3611 Elements::Leftmost8_2 => b"***22*22**22*22",
3612 Elements::Leftmost8_4 => b"***22*22**22*22",
3613 Elements::LinearCombination1 => b"**h**hhhh",
3614 Elements::LinearVerify1 => b"***h*hhh*hh",
3615 Elements::LockTime => b"1",
3616 Elements::Low1 => b"1",
3617 Elements::Low16 => b"1",
3618 Elements::Low32 => b"1",
3619 Elements::Low64 => b"1",
3620 Elements::Low8 => b"1",
3621 Elements::Lt16 => b"i",
3622 Elements::Lt32 => b"l",
3623 Elements::Lt64 => b"*ll",
3624 Elements::Lt8 => b"****22*22**22*22***22*22**22*22",
3625 Elements::Maj1 => b"*2*22",
3626 Elements::Maj16 => b"*****22*22**22*22***22*22**22*22i",
3627 Elements::Maj32 => b"*il",
3628 Elements::Maj64 => b"*l*ll",
3629 Elements::Maj8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3630 Elements::Max16 => b"i",
3631 Elements::Max32 => b"l",
3632 Elements::Max64 => b"*ll",
3633 Elements::Max8 => b"****22*22**22*22***22*22**22*22",
3634 Elements::Median16 => b"*****22*22**22*22***22*22**22*22i",
3635 Elements::Median32 => b"*il",
3636 Elements::Median64 => b"*l*ll",
3637 Elements::Median8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3638 Elements::Min16 => b"i",
3639 Elements::Min32 => b"l",
3640 Elements::Min64 => b"*ll",
3641 Elements::Min8 => b"****22*22**22*22***22*22**22*22",
3642 Elements::Modulo16 => b"i",
3643 Elements::Modulo32 => b"l",
3644 Elements::Modulo64 => b"*ll",
3645 Elements::Modulo8 => b"****22*22**22*22***22*22**22*22",
3646 Elements::Multiply16 => b"i",
3647 Elements::Multiply32 => b"l",
3648 Elements::Multiply64 => b"*ll",
3649 Elements::Multiply8 => b"****22*22**22*22***22*22**22*22",
3650 Elements::Negate16 => b"****22*22**22*22***22*22**22*22",
3651 Elements::Negate32 => b"i",
3652 Elements::Negate64 => b"l",
3653 Elements::Negate8 => b"***22*22**22*22",
3654 Elements::NewIssuanceContract => b"i",
3655 Elements::NonceHash => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh+1+*2hh",
3656 Elements::NumInputs => b"1",
3657 Elements::NumOutputs => b"1",
3658 Elements::One16 => b"1",
3659 Elements::One32 => b"1",
3660 Elements::One64 => b"1",
3661 Elements::One8 => b"1",
3662 Elements::Or1 => b"*22",
3663 Elements::Or16 => b"i",
3664 Elements::Or32 => b"l",
3665 Elements::Or64 => b"*ll",
3666 Elements::Or8 => b"****22*22**22*22***22*22**22*22",
3667 Elements::OutpointHash => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*+1h*hi",
3668 Elements::OutputAmount => b"i",
3669 Elements::OutputAmountsHash => b"1",
3670 Elements::OutputAsset => b"i",
3671 Elements::OutputHash => b"i",
3672 Elements::OutputIsFee => b"i",
3673 Elements::OutputNonce => b"i",
3674 Elements::OutputNoncesHash => b"1",
3675 Elements::OutputNullDatum => b"l",
3676 Elements::OutputRangeProof => b"i",
3677 Elements::OutputRangeProofsHash => b"1",
3678 Elements::OutputScriptHash => b"i",
3679 Elements::OutputScriptsHash => b"1",
3680 Elements::OutputSurjectionProof => b"i",
3681 Elements::OutputSurjectionProofsHash => b"1",
3682 Elements::OutputsHash => b"1",
3683 Elements::ParseLock => b"i",
3684 Elements::ParseSequence => b"i",
3685 Elements::PointVerify1 => b"***h*2hh*2h",
3686 Elements::ReissuanceBlinding => b"i",
3687 Elements::ReissuanceEntropy => b"i",
3688 Elements::RightExtend16_32 => b"****22*22**22*22***22*22**22*22",
3689 Elements::RightExtend16_64 => b"****22*22**22*22***22*22**22*22",
3690 Elements::RightExtend32_64 => b"i",
3691 Elements::RightExtend8_16 => b"***22*22**22*22",
3692 Elements::RightExtend8_32 => b"***22*22**22*22",
3693 Elements::RightExtend8_64 => b"***22*22**22*22",
3694 Elements::RightPadHigh16_32 => b"****22*22**22*22***22*22**22*22",
3695 Elements::RightPadHigh16_64 => b"****22*22**22*22***22*22**22*22",
3696 Elements::RightPadHigh1_16 => b"2",
3697 Elements::RightPadHigh1_32 => b"2",
3698 Elements::RightPadHigh1_64 => b"2",
3699 Elements::RightPadHigh1_8 => b"2",
3700 Elements::RightPadHigh32_64 => b"i",
3701 Elements::RightPadHigh8_16 => b"***22*22**22*22",
3702 Elements::RightPadHigh8_32 => b"***22*22**22*22",
3703 Elements::RightPadHigh8_64 => b"***22*22**22*22",
3704 Elements::RightPadLow16_32 => b"****22*22**22*22***22*22**22*22",
3705 Elements::RightPadLow16_64 => b"****22*22**22*22***22*22**22*22",
3706 Elements::RightPadLow1_16 => b"2",
3707 Elements::RightPadLow1_32 => b"2",
3708 Elements::RightPadLow1_64 => b"2",
3709 Elements::RightPadLow1_8 => b"2",
3710 Elements::RightPadLow32_64 => b"i",
3711 Elements::RightPadLow8_16 => b"***22*22**22*22",
3712 Elements::RightPadLow8_32 => b"***22*22**22*22",
3713 Elements::RightPadLow8_64 => b"***22*22**22*22",
3714 Elements::RightRotate16 => b"***22*22****22*22**22*22***22*22**22*22",
3715 Elements::RightRotate32 => b"****22*22**22*22i",
3716 Elements::RightRotate64 => b"****22*22**22*22l",
3717 Elements::RightRotate8 => b"***22*22***22*22**22*22",
3718 Elements::RightShift16 => b"***22*22****22*22**22*22***22*22**22*22",
3719 Elements::RightShift32 => b"****22*22**22*22i",
3720 Elements::RightShift64 => b"****22*22**22*22l",
3721 Elements::RightShift8 => b"***22*22***22*22**22*22",
3722 Elements::RightShiftWith16 => b"*2***22*22****22*22**22*22***22*22**22*22",
3723 Elements::RightShiftWith32 => b"*2****22*22**22*22i",
3724 Elements::RightShiftWith64 => b"*2****22*22**22*22l",
3725 Elements::RightShiftWith8 => b"*2***22*22***22*22**22*22",
3726 Elements::Rightmost16_1 => b"****22*22**22*22***22*22**22*22",
3727 Elements::Rightmost16_2 => b"****22*22**22*22***22*22**22*22",
3728 Elements::Rightmost16_4 => b"****22*22**22*22***22*22**22*22",
3729 Elements::Rightmost16_8 => b"****22*22**22*22***22*22**22*22",
3730 Elements::Rightmost32_1 => b"i",
3731 Elements::Rightmost32_16 => b"i",
3732 Elements::Rightmost32_2 => b"i",
3733 Elements::Rightmost32_4 => b"i",
3734 Elements::Rightmost32_8 => b"i",
3735 Elements::Rightmost64_1 => b"l",
3736 Elements::Rightmost64_16 => b"l",
3737 Elements::Rightmost64_2 => b"l",
3738 Elements::Rightmost64_32 => b"l",
3739 Elements::Rightmost64_4 => b"l",
3740 Elements::Rightmost64_8 => b"l",
3741 Elements::Rightmost8_1 => b"***22*22**22*22",
3742 Elements::Rightmost8_2 => b"***22*22**22*22",
3743 Elements::Rightmost8_4 => b"***22*22**22*22",
3744 Elements::ScalarAdd => b"*hh",
3745 Elements::ScalarInvert => b"h",
3746 Elements::ScalarIsZero => b"h",
3747 Elements::ScalarMultiply => b"*hh",
3748 Elements::ScalarMultiplyLambda => b"h",
3749 Elements::ScalarNegate => b"h",
3750 Elements::ScalarNormalize => b"h",
3751 Elements::ScalarSquare => b"h",
3752 Elements::Scale => b"*h**hhh",
3753 Elements::ScriptCMR => b"1",
3754 Elements::Sha256Block => b"*h*hh",
3755 Elements::Sha256Ctx8Add1 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh***22*22**22*22",
3756 Elements::Sha256Ctx8Add128 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh**hh*hh",
3757 Elements::Sha256Ctx8Add16 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*ll",
3758 Elements::Sha256Ctx8Add2 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh****22*22**22*22***22*22**22*22",
3759 Elements::Sha256Ctx8Add256 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh***hh*hh**hh*hh",
3760 Elements::Sha256Ctx8Add32 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhh",
3761 Elements::Sha256Ctx8Add4 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhi",
3762 Elements::Sha256Ctx8Add512 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh****hh*hh**hh*hh***hh*hh**hh*hh",
3763 Elements::Sha256Ctx8Add64 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*hh",
3764 Elements::Sha256Ctx8Add8 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhl",
3765 Elements::Sha256Ctx8AddBuffer511 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*+1***hh*hh**hh*hh*+1**hh*hh*+1*hh*+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22",
3766 Elements::Sha256Ctx8Finalize => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3767 Elements::Sha256Ctx8Init => b"1",
3768 Elements::Sha256Iv => b"1",
3769 Elements::SigAllHash => b"1",
3770 Elements::Some1 => b"2",
3771 Elements::Some16 => b"****22*22**22*22***22*22**22*22",
3772 Elements::Some32 => b"i",
3773 Elements::Some64 => b"l",
3774 Elements::Some8 => b"***22*22**22*22",
3775 Elements::Subtract16 => b"i",
3776 Elements::Subtract32 => b"l",
3777 Elements::Subtract64 => b"*ll",
3778 Elements::Subtract8 => b"****22*22**22*22***22*22**22*22",
3779 Elements::Swu => b"h",
3780 Elements::TapEnvHash => b"1",
3781 Elements::TapdataInit => b"1",
3782 Elements::TapleafHash => b"1",
3783 Elements::TapleafVersion => b"1",
3784 Elements::Tappath => b"***22*22**22*22",
3785 Elements::TappathHash => b"1",
3786 Elements::TotalFee => b"h",
3787 Elements::TransactionId => b"1",
3788 Elements::TxHash => b"1",
3789 Elements::TxIsFinal => b"1",
3790 Elements::TxLockHeight => b"1",
3791 Elements::TxLockTime => b"1",
3792 Elements::Verify => b"2",
3793 Elements::Version => b"1",
3794 Elements::Xor1 => b"*22",
3795 Elements::Xor16 => b"i",
3796 Elements::Xor32 => b"l",
3797 Elements::Xor64 => b"*ll",
3798 Elements::Xor8 => b"****22*22**22*22***22*22**22*22",
3799 Elements::XorXor1 => b"*2*22",
3800 Elements::XorXor16 => b"*****22*22**22*22***22*22**22*22i",
3801 Elements::XorXor32 => b"*il",
3802 Elements::XorXor64 => b"*l*ll",
3803 Elements::XorXor8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3804 };
3805
3806 TypeName(name)
3807 }
3808
3809 fn target_ty(&self) -> TypeName {
3810 let name: &'static [u8] = match self {
3811 Elements::Add16 => b"*2****22*22**22*22***22*22**22*22",
3812 Elements::Add32 => b"*2i",
3813 Elements::Add64 => b"*2l",
3814 Elements::Add8 => b"*2***22*22**22*22",
3815 Elements::All16 => b"2",
3816 Elements::All32 => b"2",
3817 Elements::All64 => b"2",
3818 Elements::All8 => b"2",
3819 Elements::And1 => b"2",
3820 Elements::And16 => b"****22*22**22*22***22*22**22*22",
3821 Elements::And32 => b"i",
3822 Elements::And64 => b"l",
3823 Elements::And8 => b"***22*22**22*22",
3824 Elements::AnnexHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3825 Elements::AssetAmountHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3826 Elements::Bip0340Verify => b"1",
3827 Elements::BrokenDoNotUseCheckLockDistance => b"1",
3828 Elements::BrokenDoNotUseCheckLockDuration => b"1",
3829 Elements::BrokenDoNotUseTxLockDistance => b"****22*22**22*22***22*22**22*22",
3830 Elements::BrokenDoNotUseTxLockDuration => b"****22*22**22*22***22*22**22*22",
3831 Elements::BuildTapbranch => b"h",
3832 Elements::BuildTapleafSimplicity => b"h",
3833 Elements::BuildTaptweak => b"h",
3834 Elements::CalculateAsset => b"h",
3835 Elements::CalculateConfidentialToken => b"h",
3836 Elements::CalculateExplicitToken => b"h",
3837 Elements::CalculateIssuanceEntropy => b"h",
3838 Elements::Ch1 => b"2",
3839 Elements::Ch16 => b"****22*22**22*22***22*22**22*22",
3840 Elements::Ch32 => b"i",
3841 Elements::Ch64 => b"l",
3842 Elements::Ch8 => b"***22*22**22*22",
3843 Elements::CheckLockHeight => b"1",
3844 Elements::CheckLockTime => b"1",
3845 Elements::CheckSigVerify => b"1",
3846 Elements::Complement1 => b"2",
3847 Elements::Complement16 => b"****22*22**22*22***22*22**22*22",
3848 Elements::Complement32 => b"i",
3849 Elements::Complement64 => b"l",
3850 Elements::Complement8 => b"***22*22**22*22",
3851 Elements::CurrentAmount => b"*+*2hh+*2hl",
3852 Elements::CurrentAnnexHash => b"+1h",
3853 Elements::CurrentAsset => b"+*2hh",
3854 Elements::CurrentIndex => b"i",
3855 Elements::CurrentIssuanceAssetAmount => b"+1+*2hl",
3856 Elements::CurrentIssuanceAssetProof => b"h",
3857 Elements::CurrentIssuanceTokenAmount => b"+1+*2hl",
3858 Elements::CurrentIssuanceTokenProof => b"h",
3859 Elements::CurrentNewIssuanceContract => b"+1h",
3860 Elements::CurrentPegin => b"+1h",
3861 Elements::CurrentPrevOutpoint => b"*hi",
3862 Elements::CurrentReissuanceBlinding => b"+1h",
3863 Elements::CurrentReissuanceEntropy => b"+1h",
3864 Elements::CurrentScriptHash => b"h",
3865 Elements::CurrentScriptSigHash => b"h",
3866 Elements::CurrentSequence => b"i",
3867 Elements::Decompress => b"+1*hh",
3868 Elements::Decrement16 => b"*2****22*22**22*22***22*22**22*22",
3869 Elements::Decrement32 => b"*2i",
3870 Elements::Decrement64 => b"*2l",
3871 Elements::Decrement8 => b"*2***22*22**22*22",
3872 Elements::DivMod128_64 => b"*ll",
3873 Elements::DivMod16 => b"i",
3874 Elements::DivMod32 => b"l",
3875 Elements::DivMod64 => b"*ll",
3876 Elements::DivMod8 => b"****22*22**22*22***22*22**22*22",
3877 Elements::Divide16 => b"****22*22**22*22***22*22**22*22",
3878 Elements::Divide32 => b"i",
3879 Elements::Divide64 => b"l",
3880 Elements::Divide8 => b"***22*22**22*22",
3881 Elements::Divides16 => b"2",
3882 Elements::Divides32 => b"2",
3883 Elements::Divides64 => b"2",
3884 Elements::Divides8 => b"2",
3885 Elements::Eq1 => b"2",
3886 Elements::Eq16 => b"2",
3887 Elements::Eq256 => b"2",
3888 Elements::Eq32 => b"2",
3889 Elements::Eq64 => b"2",
3890 Elements::Eq8 => b"2",
3891 Elements::FeAdd => b"h",
3892 Elements::FeInvert => b"h",
3893 Elements::FeIsOdd => b"2",
3894 Elements::FeIsZero => b"2",
3895 Elements::FeMultiply => b"h",
3896 Elements::FeMultiplyBeta => b"h",
3897 Elements::FeNegate => b"h",
3898 Elements::FeNormalize => b"h",
3899 Elements::FeSquare => b"h",
3900 Elements::FeSquareRoot => b"+1h",
3901 Elements::FullAdd16 => b"*2****22*22**22*22***22*22**22*22",
3902 Elements::FullAdd32 => b"*2i",
3903 Elements::FullAdd64 => b"*2l",
3904 Elements::FullAdd8 => b"*2***22*22**22*22",
3905 Elements::FullDecrement16 => b"*2****22*22**22*22***22*22**22*22",
3906 Elements::FullDecrement32 => b"*2i",
3907 Elements::FullDecrement64 => b"*2l",
3908 Elements::FullDecrement8 => b"*2***22*22**22*22",
3909 Elements::FullIncrement16 => b"*2****22*22**22*22***22*22**22*22",
3910 Elements::FullIncrement32 => b"*2i",
3911 Elements::FullIncrement64 => b"*2l",
3912 Elements::FullIncrement8 => b"*2***22*22**22*22",
3913 Elements::FullLeftShift16_1 => b"*2****22*22**22*22***22*22**22*22",
3914 Elements::FullLeftShift16_2 => b"**22****22*22**22*22***22*22**22*22",
3915 Elements::FullLeftShift16_4 => b"***22*22****22*22**22*22***22*22**22*22",
3916 Elements::FullLeftShift16_8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3917 Elements::FullLeftShift32_1 => b"*2i",
3918 Elements::FullLeftShift32_16 => b"*****22*22**22*22***22*22**22*22i",
3919 Elements::FullLeftShift32_2 => b"**22i",
3920 Elements::FullLeftShift32_4 => b"***22*22i",
3921 Elements::FullLeftShift32_8 => b"****22*22**22*22i",
3922 Elements::FullLeftShift64_1 => b"*2l",
3923 Elements::FullLeftShift64_16 => b"*****22*22**22*22***22*22**22*22l",
3924 Elements::FullLeftShift64_2 => b"**22l",
3925 Elements::FullLeftShift64_32 => b"*il",
3926 Elements::FullLeftShift64_4 => b"***22*22l",
3927 Elements::FullLeftShift64_8 => b"****22*22**22*22l",
3928 Elements::FullLeftShift8_1 => b"*2***22*22**22*22",
3929 Elements::FullLeftShift8_2 => b"**22***22*22**22*22",
3930 Elements::FullLeftShift8_4 => b"***22*22***22*22**22*22",
3931 Elements::FullMultiply16 => b"i",
3932 Elements::FullMultiply32 => b"l",
3933 Elements::FullMultiply64 => b"*ll",
3934 Elements::FullMultiply8 => b"****22*22**22*22***22*22**22*22",
3935 Elements::FullRightShift16_1 => b"*****22*22**22*22***22*22**22*222",
3936 Elements::FullRightShift16_2 => b"*****22*22**22*22***22*22**22*22*22",
3937 Elements::FullRightShift16_4 => b"*****22*22**22*22***22*22**22*22**22*22",
3938 Elements::FullRightShift16_8 => b"*****22*22**22*22***22*22**22*22***22*22**22*22",
3939 Elements::FullRightShift32_1 => b"*i2",
3940 Elements::FullRightShift32_16 => b"*i****22*22**22*22***22*22**22*22",
3941 Elements::FullRightShift32_2 => b"*i*22",
3942 Elements::FullRightShift32_4 => b"*i**22*22",
3943 Elements::FullRightShift32_8 => b"*i***22*22**22*22",
3944 Elements::FullRightShift64_1 => b"*l2",
3945 Elements::FullRightShift64_16 => b"*l****22*22**22*22***22*22**22*22",
3946 Elements::FullRightShift64_2 => b"*l*22",
3947 Elements::FullRightShift64_32 => b"*li",
3948 Elements::FullRightShift64_4 => b"*l**22*22",
3949 Elements::FullRightShift64_8 => b"*l***22*22**22*22",
3950 Elements::FullRightShift8_1 => b"****22*22**22*222",
3951 Elements::FullRightShift8_2 => b"****22*22**22*22*22",
3952 Elements::FullRightShift8_4 => b"****22*22**22*22**22*22",
3953 Elements::FullSubtract16 => b"*2****22*22**22*22***22*22**22*22",
3954 Elements::FullSubtract32 => b"*2i",
3955 Elements::FullSubtract64 => b"*2l",
3956 Elements::FullSubtract8 => b"*2***22*22**22*22",
3957 Elements::GeIsOnCurve => b"2",
3958 Elements::GeNegate => b"*hh",
3959 Elements::GejAdd => b"**hhh",
3960 Elements::GejDouble => b"**hhh",
3961 Elements::GejEquiv => b"2",
3962 Elements::GejGeAdd => b"**hhh",
3963 Elements::GejGeAddEx => b"*h**hhh",
3964 Elements::GejGeEquiv => b"2",
3965 Elements::GejInfinity => b"**hhh",
3966 Elements::GejIsInfinity => b"2",
3967 Elements::GejIsOnCurve => b"2",
3968 Elements::GejNegate => b"**hhh",
3969 Elements::GejNormalize => b"+1*hh",
3970 Elements::GejRescale => b"**hhh",
3971 Elements::GejXEquiv => b"2",
3972 Elements::GejYIsOdd => b"2",
3973 Elements::Generate => b"**hhh",
3974 Elements::GenesisBlockHash => b"h",
3975 Elements::HashToCurve => b"*hh",
3976 Elements::High1 => b"2",
3977 Elements::High16 => b"****22*22**22*22***22*22**22*22",
3978 Elements::High32 => b"i",
3979 Elements::High64 => b"l",
3980 Elements::High8 => b"***22*22**22*22",
3981 Elements::Increment16 => b"*2****22*22**22*22***22*22**22*22",
3982 Elements::Increment32 => b"*2i",
3983 Elements::Increment64 => b"*2l",
3984 Elements::Increment8 => b"*2***22*22**22*22",
3985 Elements::InputAmount => b"+1*+*2hh+*2hl",
3986 Elements::InputAmountsHash => b"h",
3987 Elements::InputAnnexHash => b"+1+1h",
3988 Elements::InputAnnexesHash => b"h",
3989 Elements::InputAsset => b"+1+*2hh",
3990 Elements::InputHash => b"+1h",
3991 Elements::InputOutpointsHash => b"h",
3992 Elements::InputPegin => b"+1+1h",
3993 Elements::InputPrevOutpoint => b"+1*hi",
3994 Elements::InputScriptHash => b"+1h",
3995 Elements::InputScriptSigHash => b"+1h",
3996 Elements::InputScriptSigsHash => b"h",
3997 Elements::InputScriptsHash => b"h",
3998 Elements::InputSequence => b"+1i",
3999 Elements::InputSequencesHash => b"h",
4000 Elements::InputUtxoHash => b"+1h",
4001 Elements::InputUtxosHash => b"h",
4002 Elements::InputsHash => b"h",
4003 Elements::InternalKey => b"h",
4004 Elements::IsOne16 => b"2",
4005 Elements::IsOne32 => b"2",
4006 Elements::IsOne64 => b"2",
4007 Elements::IsOne8 => b"2",
4008 Elements::IsZero16 => b"2",
4009 Elements::IsZero32 => b"2",
4010 Elements::IsZero64 => b"2",
4011 Elements::IsZero8 => b"2",
4012 Elements::Issuance => b"+1+12",
4013 Elements::IssuanceAsset => b"+1+1h",
4014 Elements::IssuanceAssetAmount => b"+1+1+*2hl",
4015 Elements::IssuanceAssetAmountsHash => b"h",
4016 Elements::IssuanceAssetProof => b"+1h",
4017 Elements::IssuanceBlindingEntropyHash => b"h",
4018 Elements::IssuanceEntropy => b"+1+1h",
4019 Elements::IssuanceHash => b"+1h",
4020 Elements::IssuanceRangeProofsHash => b"h",
4021 Elements::IssuanceToken => b"+1+1h",
4022 Elements::IssuanceTokenAmount => b"+1+1+*2hl",
4023 Elements::IssuanceTokenAmountsHash => b"h",
4024 Elements::IssuanceTokenProof => b"+1h",
4025 Elements::IssuancesHash => b"h",
4026 Elements::LbtcAsset => b"h",
4027 Elements::Le16 => b"2",
4028 Elements::Le32 => b"2",
4029 Elements::Le64 => b"2",
4030 Elements::Le8 => b"2",
4031 Elements::LeftExtend16_32 => b"i",
4032 Elements::LeftExtend16_64 => b"l",
4033 Elements::LeftExtend1_16 => b"****22*22**22*22***22*22**22*22",
4034 Elements::LeftExtend1_32 => b"i",
4035 Elements::LeftExtend1_64 => b"l",
4036 Elements::LeftExtend1_8 => b"***22*22**22*22",
4037 Elements::LeftExtend32_64 => b"l",
4038 Elements::LeftExtend8_16 => b"****22*22**22*22***22*22**22*22",
4039 Elements::LeftExtend8_32 => b"i",
4040 Elements::LeftExtend8_64 => b"l",
4041 Elements::LeftPadHigh16_32 => b"i",
4042 Elements::LeftPadHigh16_64 => b"l",
4043 Elements::LeftPadHigh1_16 => b"****22*22**22*22***22*22**22*22",
4044 Elements::LeftPadHigh1_32 => b"i",
4045 Elements::LeftPadHigh1_64 => b"l",
4046 Elements::LeftPadHigh1_8 => b"***22*22**22*22",
4047 Elements::LeftPadHigh32_64 => b"l",
4048 Elements::LeftPadHigh8_16 => b"****22*22**22*22***22*22**22*22",
4049 Elements::LeftPadHigh8_32 => b"i",
4050 Elements::LeftPadHigh8_64 => b"l",
4051 Elements::LeftPadLow16_32 => b"i",
4052 Elements::LeftPadLow16_64 => b"l",
4053 Elements::LeftPadLow1_16 => b"****22*22**22*22***22*22**22*22",
4054 Elements::LeftPadLow1_32 => b"i",
4055 Elements::LeftPadLow1_64 => b"l",
4056 Elements::LeftPadLow1_8 => b"***22*22**22*22",
4057 Elements::LeftPadLow32_64 => b"l",
4058 Elements::LeftPadLow8_16 => b"****22*22**22*22***22*22**22*22",
4059 Elements::LeftPadLow8_32 => b"i",
4060 Elements::LeftPadLow8_64 => b"l",
4061 Elements::LeftRotate16 => b"****22*22**22*22***22*22**22*22",
4062 Elements::LeftRotate32 => b"i",
4063 Elements::LeftRotate64 => b"l",
4064 Elements::LeftRotate8 => b"***22*22**22*22",
4065 Elements::LeftShift16 => b"****22*22**22*22***22*22**22*22",
4066 Elements::LeftShift32 => b"i",
4067 Elements::LeftShift64 => b"l",
4068 Elements::LeftShift8 => b"***22*22**22*22",
4069 Elements::LeftShiftWith16 => b"****22*22**22*22***22*22**22*22",
4070 Elements::LeftShiftWith32 => b"i",
4071 Elements::LeftShiftWith64 => b"l",
4072 Elements::LeftShiftWith8 => b"***22*22**22*22",
4073 Elements::Leftmost16_1 => b"2",
4074 Elements::Leftmost16_2 => b"*22",
4075 Elements::Leftmost16_4 => b"**22*22",
4076 Elements::Leftmost16_8 => b"***22*22**22*22",
4077 Elements::Leftmost32_1 => b"2",
4078 Elements::Leftmost32_16 => b"****22*22**22*22***22*22**22*22",
4079 Elements::Leftmost32_2 => b"*22",
4080 Elements::Leftmost32_4 => b"**22*22",
4081 Elements::Leftmost32_8 => b"***22*22**22*22",
4082 Elements::Leftmost64_1 => b"2",
4083 Elements::Leftmost64_16 => b"****22*22**22*22***22*22**22*22",
4084 Elements::Leftmost64_2 => b"*22",
4085 Elements::Leftmost64_32 => b"i",
4086 Elements::Leftmost64_4 => b"**22*22",
4087 Elements::Leftmost64_8 => b"***22*22**22*22",
4088 Elements::Leftmost8_1 => b"2",
4089 Elements::Leftmost8_2 => b"*22",
4090 Elements::Leftmost8_4 => b"**22*22",
4091 Elements::LinearCombination1 => b"**hhh",
4092 Elements::LinearVerify1 => b"1",
4093 Elements::LockTime => b"i",
4094 Elements::Low1 => b"2",
4095 Elements::Low16 => b"****22*22**22*22***22*22**22*22",
4096 Elements::Low32 => b"i",
4097 Elements::Low64 => b"l",
4098 Elements::Low8 => b"***22*22**22*22",
4099 Elements::Lt16 => b"2",
4100 Elements::Lt32 => b"2",
4101 Elements::Lt64 => b"2",
4102 Elements::Lt8 => b"2",
4103 Elements::Maj1 => b"2",
4104 Elements::Maj16 => b"****22*22**22*22***22*22**22*22",
4105 Elements::Maj32 => b"i",
4106 Elements::Maj64 => b"l",
4107 Elements::Maj8 => b"***22*22**22*22",
4108 Elements::Max16 => b"****22*22**22*22***22*22**22*22",
4109 Elements::Max32 => b"i",
4110 Elements::Max64 => b"l",
4111 Elements::Max8 => b"***22*22**22*22",
4112 Elements::Median16 => b"****22*22**22*22***22*22**22*22",
4113 Elements::Median32 => b"i",
4114 Elements::Median64 => b"l",
4115 Elements::Median8 => b"***22*22**22*22",
4116 Elements::Min16 => b"****22*22**22*22***22*22**22*22",
4117 Elements::Min32 => b"i",
4118 Elements::Min64 => b"l",
4119 Elements::Min8 => b"***22*22**22*22",
4120 Elements::Modulo16 => b"****22*22**22*22***22*22**22*22",
4121 Elements::Modulo32 => b"i",
4122 Elements::Modulo64 => b"l",
4123 Elements::Modulo8 => b"***22*22**22*22",
4124 Elements::Multiply16 => b"i",
4125 Elements::Multiply32 => b"l",
4126 Elements::Multiply64 => b"*ll",
4127 Elements::Multiply8 => b"****22*22**22*22***22*22**22*22",
4128 Elements::Negate16 => b"*2****22*22**22*22***22*22**22*22",
4129 Elements::Negate32 => b"*2i",
4130 Elements::Negate64 => b"*2l",
4131 Elements::Negate8 => b"*2***22*22**22*22",
4132 Elements::NewIssuanceContract => b"+1+1h",
4133 Elements::NonceHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4134 Elements::NumInputs => b"i",
4135 Elements::NumOutputs => b"i",
4136 Elements::One16 => b"****22*22**22*22***22*22**22*22",
4137 Elements::One32 => b"i",
4138 Elements::One64 => b"l",
4139 Elements::One8 => b"***22*22**22*22",
4140 Elements::Or1 => b"2",
4141 Elements::Or16 => b"****22*22**22*22***22*22**22*22",
4142 Elements::Or32 => b"i",
4143 Elements::Or64 => b"l",
4144 Elements::Or8 => b"***22*22**22*22",
4145 Elements::OutpointHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4146 Elements::OutputAmount => b"+1*+*2hh+*2hl",
4147 Elements::OutputAmountsHash => b"h",
4148 Elements::OutputAsset => b"+1+*2hh",
4149 Elements::OutputHash => b"+1h",
4150 Elements::OutputIsFee => b"+12",
4151 Elements::OutputNonce => b"+1+1+*2hh",
4152 Elements::OutputNoncesHash => b"h",
4153 Elements::OutputNullDatum => b"+1+1+**22h+2**22*22",
4154 Elements::OutputRangeProof => b"+1h",
4155 Elements::OutputRangeProofsHash => b"h",
4156 Elements::OutputScriptHash => b"+1h",
4157 Elements::OutputScriptsHash => b"h",
4158 Elements::OutputSurjectionProof => b"+1h",
4159 Elements::OutputSurjectionProofsHash => b"h",
4160 Elements::OutputsHash => b"h",
4161 Elements::ParseLock => b"+ii",
4162 Elements::ParseSequence => b"+1+****22*22**22*22***22*22**22*22****22*22**22*22***22*22**22*22",
4163 Elements::PointVerify1 => b"1",
4164 Elements::ReissuanceBlinding => b"+1+1h",
4165 Elements::ReissuanceEntropy => b"+1+1h",
4166 Elements::RightExtend16_32 => b"i",
4167 Elements::RightExtend16_64 => b"l",
4168 Elements::RightExtend32_64 => b"l",
4169 Elements::RightExtend8_16 => b"****22*22**22*22***22*22**22*22",
4170 Elements::RightExtend8_32 => b"i",
4171 Elements::RightExtend8_64 => b"l",
4172 Elements::RightPadHigh16_32 => b"i",
4173 Elements::RightPadHigh16_64 => b"l",
4174 Elements::RightPadHigh1_16 => b"****22*22**22*22***22*22**22*22",
4175 Elements::RightPadHigh1_32 => b"i",
4176 Elements::RightPadHigh1_64 => b"l",
4177 Elements::RightPadHigh1_8 => b"***22*22**22*22",
4178 Elements::RightPadHigh32_64 => b"l",
4179 Elements::RightPadHigh8_16 => b"****22*22**22*22***22*22**22*22",
4180 Elements::RightPadHigh8_32 => b"i",
4181 Elements::RightPadHigh8_64 => b"l",
4182 Elements::RightPadLow16_32 => b"i",
4183 Elements::RightPadLow16_64 => b"l",
4184 Elements::RightPadLow1_16 => b"****22*22**22*22***22*22**22*22",
4185 Elements::RightPadLow1_32 => b"i",
4186 Elements::RightPadLow1_64 => b"l",
4187 Elements::RightPadLow1_8 => b"***22*22**22*22",
4188 Elements::RightPadLow32_64 => b"l",
4189 Elements::RightPadLow8_16 => b"****22*22**22*22***22*22**22*22",
4190 Elements::RightPadLow8_32 => b"i",
4191 Elements::RightPadLow8_64 => b"l",
4192 Elements::RightRotate16 => b"****22*22**22*22***22*22**22*22",
4193 Elements::RightRotate32 => b"i",
4194 Elements::RightRotate64 => b"l",
4195 Elements::RightRotate8 => b"***22*22**22*22",
4196 Elements::RightShift16 => b"****22*22**22*22***22*22**22*22",
4197 Elements::RightShift32 => b"i",
4198 Elements::RightShift64 => b"l",
4199 Elements::RightShift8 => b"***22*22**22*22",
4200 Elements::RightShiftWith16 => b"****22*22**22*22***22*22**22*22",
4201 Elements::RightShiftWith32 => b"i",
4202 Elements::RightShiftWith64 => b"l",
4203 Elements::RightShiftWith8 => b"***22*22**22*22",
4204 Elements::Rightmost16_1 => b"2",
4205 Elements::Rightmost16_2 => b"*22",
4206 Elements::Rightmost16_4 => b"**22*22",
4207 Elements::Rightmost16_8 => b"***22*22**22*22",
4208 Elements::Rightmost32_1 => b"2",
4209 Elements::Rightmost32_16 => b"****22*22**22*22***22*22**22*22",
4210 Elements::Rightmost32_2 => b"*22",
4211 Elements::Rightmost32_4 => b"**22*22",
4212 Elements::Rightmost32_8 => b"***22*22**22*22",
4213 Elements::Rightmost64_1 => b"2",
4214 Elements::Rightmost64_16 => b"****22*22**22*22***22*22**22*22",
4215 Elements::Rightmost64_2 => b"*22",
4216 Elements::Rightmost64_32 => b"i",
4217 Elements::Rightmost64_4 => b"**22*22",
4218 Elements::Rightmost64_8 => b"***22*22**22*22",
4219 Elements::Rightmost8_1 => b"2",
4220 Elements::Rightmost8_2 => b"*22",
4221 Elements::Rightmost8_4 => b"**22*22",
4222 Elements::ScalarAdd => b"h",
4223 Elements::ScalarInvert => b"h",
4224 Elements::ScalarIsZero => b"2",
4225 Elements::ScalarMultiply => b"h",
4226 Elements::ScalarMultiplyLambda => b"h",
4227 Elements::ScalarNegate => b"h",
4228 Elements::ScalarNormalize => b"h",
4229 Elements::ScalarSquare => b"h",
4230 Elements::Scale => b"**hhh",
4231 Elements::ScriptCMR => b"h",
4232 Elements::Sha256Block => b"h",
4233 Elements::Sha256Ctx8Add1 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4234 Elements::Sha256Ctx8Add128 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4235 Elements::Sha256Ctx8Add16 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4236 Elements::Sha256Ctx8Add2 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4237 Elements::Sha256Ctx8Add256 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4238 Elements::Sha256Ctx8Add32 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4239 Elements::Sha256Ctx8Add4 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4240 Elements::Sha256Ctx8Add512 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4241 Elements::Sha256Ctx8Add64 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4242 Elements::Sha256Ctx8Add8 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4243 Elements::Sha256Ctx8AddBuffer511 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4244 Elements::Sha256Ctx8Finalize => b"h",
4245 Elements::Sha256Ctx8Init => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4246 Elements::Sha256Iv => b"h",
4247 Elements::SigAllHash => b"h",
4248 Elements::Some1 => b"2",
4249 Elements::Some16 => b"2",
4250 Elements::Some32 => b"2",
4251 Elements::Some64 => b"2",
4252 Elements::Some8 => b"2",
4253 Elements::Subtract16 => b"*2****22*22**22*22***22*22**22*22",
4254 Elements::Subtract32 => b"*2i",
4255 Elements::Subtract64 => b"*2l",
4256 Elements::Subtract8 => b"*2***22*22**22*22",
4257 Elements::Swu => b"*hh",
4258 Elements::TapEnvHash => b"h",
4259 Elements::TapdataInit => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4260 Elements::TapleafHash => b"h",
4261 Elements::TapleafVersion => b"***22*22**22*22",
4262 Elements::Tappath => b"+1h",
4263 Elements::TappathHash => b"h",
4264 Elements::TotalFee => b"l",
4265 Elements::TransactionId => b"h",
4266 Elements::TxHash => b"h",
4267 Elements::TxIsFinal => b"2",
4268 Elements::TxLockHeight => b"i",
4269 Elements::TxLockTime => b"i",
4270 Elements::Verify => b"1",
4271 Elements::Version => b"i",
4272 Elements::Xor1 => b"2",
4273 Elements::Xor16 => b"****22*22**22*22***22*22**22*22",
4274 Elements::Xor32 => b"i",
4275 Elements::Xor64 => b"l",
4276 Elements::Xor8 => b"***22*22**22*22",
4277 Elements::XorXor1 => b"2",
4278 Elements::XorXor16 => b"****22*22**22*22***22*22**22*22",
4279 Elements::XorXor32 => b"i",
4280 Elements::XorXor64 => b"l",
4281 Elements::XorXor8 => b"***22*22**22*22",
4282 };
4283
4284 TypeName(name)
4285 }
4286
4287 fn encode(&self, w: &mut BitWriter<&mut dyn Write>) -> std::io::Result<usize> {
4288 let (n, len) = match self {
4289 Elements::Verify => (0, 3),
4290 Elements::Low1 => (8, 6),
4291 Elements::Low8 => (37, 8),
4292 Elements::Low16 => (304, 11),
4293 Elements::Low32 => (305, 11),
4294 Elements::Low64 => (306, 11),
4295 Elements::High1 => (10, 6),
4296 Elements::High8 => (45, 8),
4297 Elements::High16 => (368, 11),
4298 Elements::High32 => (369, 11),
4299 Elements::High64 => (370, 11),
4300 Elements::Complement1 => (96, 9),
4301 Elements::Complement8 => (389, 11),
4302 Elements::Complement16 => (3120, 14),
4303 Elements::Complement32 => (3121, 14),
4304 Elements::Complement64 => (3122, 14),
4305 Elements::And1 => (98, 9),
4306 Elements::And8 => (397, 11),
4307 Elements::And16 => (3184, 14),
4308 Elements::And32 => (3185, 14),
4309 Elements::And64 => (3186, 14),
4310 Elements::Or1 => (100, 9),
4311 Elements::Or8 => (405, 11),
4312 Elements::Or16 => (3248, 14),
4313 Elements::Or32 => (3249, 14),
4314 Elements::Or64 => (3250, 14),
4315 Elements::Xor1 => (102, 9),
4316 Elements::Xor8 => (413, 11),
4317 Elements::Xor16 => (3312, 14),
4318 Elements::Xor32 => (3313, 14),
4319 Elements::Xor64 => (3314, 14),
4320 Elements::Maj1 => (208, 10),
4321 Elements::Maj8 => (837, 12),
4322 Elements::Maj16 => (6704, 15),
4323 Elements::Maj32 => (6705, 15),
4324 Elements::Maj64 => (6706, 15),
4325 Elements::XorXor1 => (210, 10),
4326 Elements::XorXor8 => (845, 12),
4327 Elements::XorXor16 => (6768, 15),
4328 Elements::XorXor32 => (6769, 15),
4329 Elements::XorXor64 => (6770, 15),
4330 Elements::Ch1 => (212, 10),
4331 Elements::Ch8 => (853, 12),
4332 Elements::Ch16 => (6832, 15),
4333 Elements::Ch32 => (6833, 15),
4334 Elements::Ch64 => (6834, 15),
4335 Elements::Some1 => (214, 10),
4336 Elements::Some8 => (861, 12),
4337 Elements::Some16 => (6896, 15),
4338 Elements::Some32 => (6897, 15),
4339 Elements::Some64 => (6898, 15),
4340 Elements::All8 => (869, 12),
4341 Elements::All16 => (6960, 15),
4342 Elements::All32 => (6961, 15),
4343 Elements::All64 => (6962, 15),
4344 Elements::Eq1 => (218, 10),
4345 Elements::Eq8 => (877, 12),
4346 Elements::Eq16 => (7024, 15),
4347 Elements::Eq32 => (7025, 15),
4348 Elements::Eq64 => (7026, 15),
4349 Elements::Eq256 => (14056, 16),
4350 Elements::FullLeftShift8_1 => (1765, 13),
4351 Elements::FullLeftShift16_1 => (14128, 16),
4352 Elements::FullLeftShift32_1 => (14129, 16),
4353 Elements::FullLeftShift64_1 => (14130, 16),
4354 Elements::FullLeftShift8_2 => (7076, 15),
4355 Elements::FullLeftShift16_2 => (7077, 15),
4356 Elements::FullLeftShift32_2 => (56624, 18),
4357 Elements::FullLeftShift64_2 => (56625, 18),
4358 Elements::FullLeftShift8_4 => (1770, 13),
4359 Elements::FullLeftShift16_4 => (7084, 15),
4360 Elements::FullLeftShift32_4 => (7085, 15),
4361 Elements::FullLeftShift64_4 => (56688, 18),
4362 Elements::FullLeftShift16_8 => (14176, 16),
4363 Elements::FullLeftShift32_8 => (56708, 18),
4364 Elements::FullLeftShift64_8 => (56709, 18),
4365 Elements::FullLeftShift32_16 => (14178, 16),
4366 Elements::FullLeftShift64_16 => (56716, 18),
4367 Elements::FullLeftShift64_32 => (14180, 16),
4368 Elements::FullRightShift8_1 => (1781, 13),
4369 Elements::FullRightShift16_1 => (14256, 16),
4370 Elements::FullRightShift32_1 => (14257, 16),
4371 Elements::FullRightShift64_1 => (14258, 16),
4372 Elements::FullRightShift8_2 => (7140, 15),
4373 Elements::FullRightShift16_2 => (7141, 15),
4374 Elements::FullRightShift32_2 => (57136, 18),
4375 Elements::FullRightShift64_2 => (57137, 18),
4376 Elements::FullRightShift8_4 => (1786, 13),
4377 Elements::FullRightShift16_4 => (7148, 15),
4378 Elements::FullRightShift32_4 => (7149, 15),
4379 Elements::FullRightShift64_4 => (57200, 18),
4380 Elements::FullRightShift16_8 => (14304, 16),
4381 Elements::FullRightShift32_8 => (57220, 18),
4382 Elements::FullRightShift64_8 => (57221, 18),
4383 Elements::FullRightShift32_16 => (14306, 16),
4384 Elements::FullRightShift64_16 => (57228, 18),
4385 Elements::FullRightShift64_32 => (14308, 16),
4386 Elements::Leftmost8_1 => (28677, 17),
4387 Elements::Leftmost16_1 => (229424, 20),
4388 Elements::Leftmost32_1 => (229425, 20),
4389 Elements::Leftmost64_1 => (229426, 20),
4390 Elements::Leftmost8_2 => (114724, 19),
4391 Elements::Leftmost16_2 => (114725, 19),
4392 Elements::Leftmost32_2 => (917808, 22),
4393 Elements::Leftmost64_2 => (917809, 22),
4394 Elements::Leftmost8_4 => (28682, 17),
4395 Elements::Leftmost16_4 => (114732, 19),
4396 Elements::Leftmost32_4 => (114733, 19),
4397 Elements::Leftmost64_4 => (917872, 22),
4398 Elements::Leftmost16_8 => (229472, 20),
4399 Elements::Leftmost32_8 => (917892, 22),
4400 Elements::Leftmost64_8 => (917893, 22),
4401 Elements::Leftmost32_16 => (229474, 20),
4402 Elements::Leftmost64_16 => (917900, 22),
4403 Elements::Leftmost64_32 => (229476, 20),
4404 Elements::Rightmost8_1 => (28693, 17),
4405 Elements::Rightmost16_1 => (229552, 20),
4406 Elements::Rightmost32_1 => (229553, 20),
4407 Elements::Rightmost64_1 => (229554, 20),
4408 Elements::Rightmost8_2 => (114788, 19),
4409 Elements::Rightmost16_2 => (114789, 19),
4410 Elements::Rightmost32_2 => (918320, 22),
4411 Elements::Rightmost64_2 => (918321, 22),
4412 Elements::Rightmost8_4 => (28698, 17),
4413 Elements::Rightmost16_4 => (114796, 19),
4414 Elements::Rightmost32_4 => (114797, 19),
4415 Elements::Rightmost64_4 => (918384, 22),
4416 Elements::Rightmost16_8 => (229600, 20),
4417 Elements::Rightmost32_8 => (918404, 22),
4418 Elements::Rightmost64_8 => (918405, 22),
4419 Elements::Rightmost32_16 => (229602, 20),
4420 Elements::Rightmost64_16 => (918412, 22),
4421 Elements::Rightmost64_32 => (229604, 20),
4422 Elements::LeftPadLow1_8 => (28709, 17),
4423 Elements::LeftPadLow1_16 => (229680, 20),
4424 Elements::LeftPadLow1_32 => (229681, 20),
4425 Elements::LeftPadLow1_64 => (229682, 20),
4426 Elements::LeftPadLow8_16 => (229728, 20),
4427 Elements::LeftPadLow8_32 => (918916, 22),
4428 Elements::LeftPadLow8_64 => (918917, 22),
4429 Elements::LeftPadLow16_32 => (229730, 20),
4430 Elements::LeftPadLow16_64 => (918924, 22),
4431 Elements::LeftPadLow32_64 => (229732, 20),
4432 Elements::LeftPadHigh1_8 => (28725, 17),
4433 Elements::LeftPadHigh1_16 => (229808, 20),
4434 Elements::LeftPadHigh1_32 => (229809, 20),
4435 Elements::LeftPadHigh1_64 => (229810, 20),
4436 Elements::LeftPadHigh8_16 => (229856, 20),
4437 Elements::LeftPadHigh8_32 => (919428, 22),
4438 Elements::LeftPadHigh8_64 => (919429, 22),
4439 Elements::LeftPadHigh16_32 => (229858, 20),
4440 Elements::LeftPadHigh16_64 => (919436, 22),
4441 Elements::LeftPadHigh32_64 => (229860, 20),
4442 Elements::LeftExtend1_8 => (28741, 17),
4443 Elements::LeftExtend1_16 => (229936, 20),
4444 Elements::LeftExtend1_32 => (229937, 20),
4445 Elements::LeftExtend1_64 => (229938, 20),
4446 Elements::LeftExtend8_16 => (229984, 20),
4447 Elements::LeftExtend8_32 => (919940, 22),
4448 Elements::LeftExtend8_64 => (919941, 22),
4449 Elements::LeftExtend16_32 => (229986, 20),
4450 Elements::LeftExtend16_64 => (919948, 22),
4451 Elements::LeftExtend32_64 => (229988, 20),
4452 Elements::RightPadLow1_8 => (28757, 17),
4453 Elements::RightPadLow1_16 => (230064, 20),
4454 Elements::RightPadLow1_32 => (230065, 20),
4455 Elements::RightPadLow1_64 => (230066, 20),
4456 Elements::RightPadLow8_16 => (230112, 20),
4457 Elements::RightPadLow8_32 => (920452, 22),
4458 Elements::RightPadLow8_64 => (920453, 22),
4459 Elements::RightPadLow16_32 => (230114, 20),
4460 Elements::RightPadLow16_64 => (920460, 22),
4461 Elements::RightPadLow32_64 => (230116, 20),
4462 Elements::RightPadHigh1_8 => (28773, 17),
4463 Elements::RightPadHigh1_16 => (230192, 20),
4464 Elements::RightPadHigh1_32 => (230193, 20),
4465 Elements::RightPadHigh1_64 => (230194, 20),
4466 Elements::RightPadHigh8_16 => (230240, 20),
4467 Elements::RightPadHigh8_32 => (920964, 22),
4468 Elements::RightPadHigh8_64 => (920965, 22),
4469 Elements::RightPadHigh16_32 => (230242, 20),
4470 Elements::RightPadHigh16_64 => (920972, 22),
4471 Elements::RightPadHigh32_64 => (230244, 20),
4472 Elements::RightExtend8_16 => (230368, 20),
4473 Elements::RightExtend8_32 => (921476, 22),
4474 Elements::RightExtend8_64 => (921477, 22),
4475 Elements::RightExtend16_32 => (230370, 20),
4476 Elements::RightExtend16_64 => (921484, 22),
4477 Elements::RightExtend32_64 => (230372, 20),
4478 Elements::LeftShiftWith8 => (14405, 16),
4479 Elements::LeftShiftWith16 => (115248, 19),
4480 Elements::LeftShiftWith32 => (115249, 19),
4481 Elements::LeftShiftWith64 => (115250, 19),
4482 Elements::RightShiftWith8 => (14413, 16),
4483 Elements::RightShiftWith16 => (115312, 19),
4484 Elements::RightShiftWith32 => (115313, 19),
4485 Elements::RightShiftWith64 => (115314, 19),
4486 Elements::LeftShift8 => (14421, 16),
4487 Elements::LeftShift16 => (115376, 19),
4488 Elements::LeftShift32 => (115377, 19),
4489 Elements::LeftShift64 => (115378, 19),
4490 Elements::RightShift8 => (14429, 16),
4491 Elements::RightShift16 => (115440, 19),
4492 Elements::RightShift32 => (115441, 19),
4493 Elements::RightShift64 => (115442, 19),
4494 Elements::LeftRotate8 => (14437, 16),
4495 Elements::LeftRotate16 => (115504, 19),
4496 Elements::LeftRotate32 => (115505, 19),
4497 Elements::LeftRotate64 => (115506, 19),
4498 Elements::RightRotate8 => (14445, 16),
4499 Elements::RightRotate16 => (115568, 19),
4500 Elements::RightRotate32 => (115569, 19),
4501 Elements::RightRotate64 => (115570, 19),
4502 Elements::One8 => (69, 8),
4503 Elements::One16 => (560, 11),
4504 Elements::One32 => (561, 11),
4505 Elements::One64 => (562, 11),
4506 Elements::FullAdd8 => (293, 10),
4507 Elements::FullAdd16 => (2352, 13),
4508 Elements::FullAdd32 => (2353, 13),
4509 Elements::FullAdd64 => (2354, 13),
4510 Elements::Add8 => (301, 10),
4511 Elements::Add16 => (2416, 13),
4512 Elements::Add32 => (2417, 13),
4513 Elements::Add64 => (2418, 13),
4514 Elements::FullIncrement8 => (2437, 13),
4515 Elements::FullIncrement16 => (19504, 16),
4516 Elements::FullIncrement32 => (19505, 16),
4517 Elements::FullIncrement64 => (19506, 16),
4518 Elements::Increment8 => (2445, 13),
4519 Elements::Increment16 => (19568, 16),
4520 Elements::Increment32 => (19569, 16),
4521 Elements::Increment64 => (19570, 16),
4522 Elements::FullSubtract8 => (2461, 13),
4523 Elements::FullSubtract16 => (19696, 16),
4524 Elements::FullSubtract32 => (19697, 16),
4525 Elements::FullSubtract64 => (19698, 16),
4526 Elements::Subtract8 => (4933, 14),
4527 Elements::Subtract16 => (39472, 17),
4528 Elements::Subtract32 => (39473, 17),
4529 Elements::Subtract64 => (39474, 17),
4530 Elements::Negate8 => (4941, 14),
4531 Elements::Negate16 => (39536, 17),
4532 Elements::Negate32 => (39537, 17),
4533 Elements::Negate64 => (39538, 17),
4534 Elements::FullDecrement8 => (4949, 14),
4535 Elements::FullDecrement16 => (39600, 17),
4536 Elements::FullDecrement32 => (39601, 17),
4537 Elements::FullDecrement64 => (39602, 17),
4538 Elements::Decrement8 => (4957, 14),
4539 Elements::Decrement16 => (39664, 17),
4540 Elements::Decrement32 => (39665, 17),
4541 Elements::Decrement64 => (39666, 17),
4542 Elements::FullMultiply8 => (4965, 14),
4543 Elements::FullMultiply16 => (39728, 17),
4544 Elements::FullMultiply32 => (39729, 17),
4545 Elements::FullMultiply64 => (39730, 17),
4546 Elements::Multiply8 => (4973, 14),
4547 Elements::Multiply16 => (39792, 17),
4548 Elements::Multiply32 => (39793, 17),
4549 Elements::Multiply64 => (39794, 17),
4550 Elements::IsZero8 => (4981, 14),
4551 Elements::IsZero16 => (39856, 17),
4552 Elements::IsZero32 => (39857, 17),
4553 Elements::IsZero64 => (39858, 17),
4554 Elements::IsOne8 => (4989, 14),
4555 Elements::IsOne16 => (39920, 17),
4556 Elements::IsOne32 => (39921, 17),
4557 Elements::IsOne64 => (39922, 17),
4558 Elements::Le8 => (79877, 18),
4559 Elements::Le16 => (639024, 21),
4560 Elements::Le32 => (639025, 21),
4561 Elements::Le64 => (639026, 21),
4562 Elements::Lt8 => (79885, 18),
4563 Elements::Lt16 => (639088, 21),
4564 Elements::Lt32 => (639089, 21),
4565 Elements::Lt64 => (639090, 21),
4566 Elements::Min8 => (79893, 18),
4567 Elements::Min16 => (639152, 21),
4568 Elements::Min32 => (639153, 21),
4569 Elements::Min64 => (639154, 21),
4570 Elements::Max8 => (79901, 18),
4571 Elements::Max16 => (639216, 21),
4572 Elements::Max32 => (639217, 21),
4573 Elements::Max64 => (639218, 21),
4574 Elements::Median8 => (79909, 18),
4575 Elements::Median16 => (639280, 21),
4576 Elements::Median32 => (639281, 21),
4577 Elements::Median64 => (639282, 21),
4578 Elements::DivMod128_64 => (639346, 21),
4579 Elements::DivMod8 => (79925, 18),
4580 Elements::DivMod16 => (639408, 21),
4581 Elements::DivMod32 => (639409, 21),
4582 Elements::DivMod64 => (639410, 21),
4583 Elements::Divide8 => (79933, 18),
4584 Elements::Divide16 => (639472, 21),
4585 Elements::Divide32 => (639473, 21),
4586 Elements::Divide64 => (639474, 21),
4587 Elements::Modulo8 => (79941, 18),
4588 Elements::Modulo16 => (639536, 21),
4589 Elements::Modulo32 => (639537, 21),
4590 Elements::Modulo64 => (639538, 21),
4591 Elements::Divides8 => (79949, 18),
4592 Elements::Divides16 => (639600, 21),
4593 Elements::Divides32 => (639601, 21),
4594 Elements::Divides64 => (639602, 21),
4595 Elements::Sha256Block => (20, 6),
4596 Elements::Sha256Iv => (84, 8),
4597 Elements::Sha256Ctx8Add1 => (170, 9),
4598 Elements::Sha256Ctx8Add2 => (684, 11),
4599 Elements::Sha256Ctx8Add4 => (685, 11),
4600 Elements::Sha256Ctx8Add8 => (5488, 14),
4601 Elements::Sha256Ctx8Add16 => (5489, 14),
4602 Elements::Sha256Ctx8Add32 => (5490, 14),
4603 Elements::Sha256Ctx8Add64 => (5491, 14),
4604 Elements::Sha256Ctx8Add128 => (10984, 15),
4605 Elements::Sha256Ctx8Add256 => (10985, 15),
4606 Elements::Sha256Ctx8Add512 => (10986, 15),
4607 Elements::Sha256Ctx8AddBuffer511 => (688, 11),
4608 Elements::Sha256Ctx8Finalize => (689, 11),
4609 Elements::Sha256Ctx8Init => (690, 11),
4610 Elements::PointVerify1 => (192, 9),
4611 Elements::Decompress => (388, 10),
4612 Elements::LinearVerify1 => (778, 11),
4613 Elements::LinearCombination1 => (6240, 14),
4614 Elements::Scale => (3121, 13),
4615 Elements::Generate => (3122, 13),
4616 Elements::GejInfinity => (3123, 13),
4617 Elements::GejNormalize => (6248, 14),
4618 Elements::GejNegate => (6249, 14),
4619 Elements::GeNegate => (6250, 14),
4620 Elements::GejDouble => (6251, 14),
4621 Elements::GejAdd => (6252, 14),
4622 Elements::GejGeAddEx => (6253, 14),
4623 Elements::GejGeAdd => (6254, 14),
4624 Elements::GejRescale => (6255, 14),
4625 Elements::GejIsInfinity => (100096, 18),
4626 Elements::GejEquiv => (100097, 18),
4627 Elements::GejGeEquiv => (100098, 18),
4628 Elements::GejXEquiv => (100099, 18),
4629 Elements::GejYIsOdd => (100100, 18),
4630 Elements::GejIsOnCurve => (100101, 18),
4631 Elements::GeIsOnCurve => (100102, 18),
4632 Elements::ScalarNormalize => (100103, 18),
4633 Elements::ScalarNegate => (100104, 18),
4634 Elements::ScalarAdd => (100105, 18),
4635 Elements::ScalarSquare => (100106, 18),
4636 Elements::ScalarMultiply => (100107, 18),
4637 Elements::ScalarMultiplyLambda => (100108, 18),
4638 Elements::ScalarInvert => (100109, 18),
4639 Elements::ScalarIsZero => (100110, 18),
4640 Elements::FeNormalize => (200227, 19),
4641 Elements::FeNegate => (200228, 19),
4642 Elements::FeAdd => (200229, 19),
4643 Elements::FeSquare => (200230, 19),
4644 Elements::FeMultiply => (200231, 19),
4645 Elements::FeMultiplyBeta => (200232, 19),
4646 Elements::FeInvert => (200233, 19),
4647 Elements::FeSquareRoot => (200234, 19),
4648 Elements::FeIsZero => (200235, 19),
4649 Elements::FeIsOdd => (200236, 19),
4650 Elements::HashToCurve => (200238, 19),
4651 Elements::Swu => (200239, 19),
4652 Elements::CheckSigVerify => (98, 8),
4653 Elements::Bip0340Verify => (396, 10),
4654 Elements::ParseLock => (102, 8),
4655 Elements::ParseSequence => (412, 10),
4656 Elements::TapdataInit => (413, 10),
4657 Elements::SigAllHash => (4, 3),
4658 Elements::TxHash => (20, 5),
4659 Elements::TapEnvHash => (21, 5),
4660 Elements::OutputsHash => (176, 8),
4661 Elements::InputsHash => (177, 8),
4662 Elements::IssuancesHash => (178, 8),
4663 Elements::InputUtxosHash => (179, 8),
4664 Elements::OutputHash => (360, 9),
4665 Elements::OutputAmountsHash => (361, 9),
4666 Elements::OutputScriptsHash => (362, 9),
4667 Elements::OutputNoncesHash => (363, 9),
4668 Elements::OutputRangeProofsHash => (364, 9),
4669 Elements::OutputSurjectionProofsHash => (365, 9),
4670 Elements::InputHash => (366, 9),
4671 Elements::InputOutpointsHash => (367, 9),
4672 Elements::InputSequencesHash => (5888, 13),
4673 Elements::InputAnnexesHash => (5889, 13),
4674 Elements::InputScriptSigsHash => (5890, 13),
4675 Elements::IssuanceHash => (5891, 13),
4676 Elements::IssuanceAssetAmountsHash => (5892, 13),
4677 Elements::IssuanceTokenAmountsHash => (5893, 13),
4678 Elements::IssuanceRangeProofsHash => (5894, 13),
4679 Elements::IssuanceBlindingEntropyHash => (5895, 13),
4680 Elements::InputUtxoHash => (5896, 13),
4681 Elements::InputAmountsHash => (5897, 13),
4682 Elements::InputScriptsHash => (5898, 13),
4683 Elements::TapleafHash => (5899, 13),
4684 Elements::TappathHash => (5900, 13),
4685 Elements::OutpointHash => (5901, 13),
4686 Elements::AssetAmountHash => (5902, 13),
4687 Elements::NonceHash => (5903, 13),
4688 Elements::AnnexHash => (11808, 14),
4689 Elements::BuildTapleafSimplicity => (11809, 14),
4690 Elements::BuildTapbranch => (11810, 14),
4691 Elements::BuildTaptweak => (11811, 14),
4692 Elements::CheckLockHeight => (24, 5),
4693 Elements::CheckLockTime => (100, 7),
4694 Elements::BrokenDoNotUseCheckLockDistance => (101, 7),
4695 Elements::BrokenDoNotUseCheckLockDuration => (816, 10),
4696 Elements::TxLockHeight => (817, 10),
4697 Elements::TxLockTime => (818, 10),
4698 Elements::BrokenDoNotUseTxLockDistance => (819, 10),
4699 Elements::BrokenDoNotUseTxLockDuration => (1640, 11),
4700 Elements::TxIsFinal => (1641, 11),
4701 Elements::Issuance => (26, 5),
4702 Elements::IssuanceAsset => (108, 7),
4703 Elements::IssuanceToken => (109, 7),
4704 Elements::IssuanceEntropy => (880, 10),
4705 Elements::CalculateIssuanceEntropy => (881, 10),
4706 Elements::CalculateAsset => (882, 10),
4707 Elements::CalculateExplicitToken => (883, 10),
4708 Elements::CalculateConfidentialToken => (1768, 11),
4709 Elements::LbtcAsset => (1769, 11),
4710 Elements::ScriptCMR => (224, 8),
4711 Elements::InternalKey => (900, 10),
4712 Elements::CurrentIndex => (901, 10),
4713 Elements::NumInputs => (7216, 13),
4714 Elements::NumOutputs => (7217, 13),
4715 Elements::LockTime => (7218, 13),
4716 Elements::OutputAsset => (7219, 13),
4717 Elements::OutputAmount => (14440, 14),
4718 Elements::OutputNonce => (14441, 14),
4719 Elements::OutputScriptHash => (14442, 14),
4720 Elements::OutputNullDatum => (14443, 14),
4721 Elements::OutputIsFee => (14444, 14),
4722 Elements::OutputSurjectionProof => (14445, 14),
4723 Elements::OutputRangeProof => (14446, 14),
4724 Elements::TotalFee => (14447, 14),
4725 Elements::CurrentPegin => (231168, 18),
4726 Elements::CurrentPrevOutpoint => (231169, 18),
4727 Elements::CurrentAsset => (231170, 18),
4728 Elements::CurrentAmount => (231171, 18),
4729 Elements::CurrentScriptHash => (231172, 18),
4730 Elements::CurrentSequence => (231173, 18),
4731 Elements::CurrentAnnexHash => (231174, 18),
4732 Elements::CurrentScriptSigHash => (231175, 18),
4733 Elements::CurrentReissuanceBlinding => (231176, 18),
4734 Elements::CurrentNewIssuanceContract => (231177, 18),
4735 Elements::CurrentReissuanceEntropy => (231178, 18),
4736 Elements::CurrentIssuanceAssetAmount => (231179, 18),
4737 Elements::CurrentIssuanceTokenAmount => (231180, 18),
4738 Elements::CurrentIssuanceAssetProof => (231181, 18),
4739 Elements::CurrentIssuanceTokenProof => (231182, 18),
4740 Elements::InputPegin => (231183, 18),
4741 Elements::InputPrevOutpoint => (462368, 19),
4742 Elements::InputAsset => (462369, 19),
4743 Elements::InputAmount => (462370, 19),
4744 Elements::InputScriptHash => (462371, 19),
4745 Elements::InputSequence => (462372, 19),
4746 Elements::InputAnnexHash => (462373, 19),
4747 Elements::InputScriptSigHash => (462374, 19),
4748 Elements::ReissuanceBlinding => (462375, 19),
4749 Elements::NewIssuanceContract => (462376, 19),
4750 Elements::ReissuanceEntropy => (462377, 19),
4751 Elements::IssuanceAssetAmount => (462378, 19),
4752 Elements::IssuanceTokenAmount => (462379, 19),
4753 Elements::IssuanceAssetProof => (462380, 19),
4754 Elements::IssuanceTokenProof => (462381, 19),
4755 Elements::TapleafVersion => (462382, 19),
4756 Elements::Tappath => (462383, 19),
4757 Elements::Version => (462384, 19),
4758 Elements::GenesisBlockHash => (462385, 19),
4759 Elements::TransactionId => (462386, 19),
4760 };
4761
4762 w.write_bits_be(n, len)
4763 }
4764
4765 fn decode<I: Iterator<Item = u8>>(bits: &mut BitIter<I>) -> Result<Self, decode::Error> where Self: Sized {
4766 decode_bits!(bits, {
4767 0 => {
4768 0 => {
4769 0 => {Elements::Verify},
4770 1 => {
4771 0 => {
4772 0 => {
4773 0 => {Elements::Low1},
4774 1 => {
4775 0 => {
4776 0 => {},
4777 1 => {Elements::Low8}
4778 },
4779 1 => {
4780 0 => {
4781 0 => {
4782 0 => {
4783 0 => {Elements::Low16},
4784 1 => {Elements::Low32}
4785 },
4786 1 => {
4787 0 => {Elements::Low64},
4788 1 => {}
4789 }
4790 },
4791 1 => {}
4792 },
4793 1 => {}
4794 }
4795 }
4796 },
4797 1 => {
4798 0 => {Elements::High1},
4799 1 => {
4800 0 => {
4801 0 => {},
4802 1 => {Elements::High8}
4803 },
4804 1 => {
4805 0 => {
4806 0 => {
4807 0 => {
4808 0 => {Elements::High16},
4809 1 => {Elements::High32}
4810 },
4811 1 => {
4812 0 => {Elements::High64},
4813 1 => {}
4814 }
4815 },
4816 1 => {}
4817 },
4818 1 => {}
4819 }
4820 }
4821 }
4822 },
4823 1 => {
4824 0 => {
4825 0 => {
4826 0 => {
4827 0 => {
4828 0 => {Elements::Complement1},
4829 1 => {
4830 0 => {
4831 0 => {},
4832 1 => {Elements::Complement8}
4833 },
4834 1 => {
4835 0 => {
4836 0 => {
4837 0 => {
4838 0 => {Elements::Complement16},
4839 1 => {Elements::Complement32}
4840 },
4841 1 => {
4842 0 => {Elements::Complement64},
4843 1 => {}
4844 }
4845 },
4846 1 => {}
4847 },
4848 1 => {}
4849 }
4850 }
4851 },
4852 1 => {
4853 0 => {Elements::And1},
4854 1 => {
4855 0 => {
4856 0 => {},
4857 1 => {Elements::And8}
4858 },
4859 1 => {
4860 0 => {
4861 0 => {
4862 0 => {
4863 0 => {Elements::And16},
4864 1 => {Elements::And32}
4865 },
4866 1 => {
4867 0 => {Elements::And64},
4868 1 => {}
4869 }
4870 },
4871 1 => {}
4872 },
4873 1 => {}
4874 }
4875 }
4876 }
4877 },
4878 1 => {
4879 0 => {
4880 0 => {Elements::Or1},
4881 1 => {
4882 0 => {
4883 0 => {},
4884 1 => {Elements::Or8}
4885 },
4886 1 => {
4887 0 => {
4888 0 => {
4889 0 => {
4890 0 => {Elements::Or16},
4891 1 => {Elements::Or32}
4892 },
4893 1 => {
4894 0 => {Elements::Or64},
4895 1 => {}
4896 }
4897 },
4898 1 => {}
4899 },
4900 1 => {}
4901 }
4902 }
4903 },
4904 1 => {
4905 0 => {Elements::Xor1},
4906 1 => {
4907 0 => {
4908 0 => {},
4909 1 => {Elements::Xor8}
4910 },
4911 1 => {
4912 0 => {
4913 0 => {
4914 0 => {
4915 0 => {Elements::Xor16},
4916 1 => {Elements::Xor32}
4917 },
4918 1 => {
4919 0 => {Elements::Xor64},
4920 1 => {}
4921 }
4922 },
4923 1 => {}
4924 },
4925 1 => {}
4926 }
4927 }
4928 }
4929 }
4930 },
4931 1 => {
4932 0 => {
4933 0 => {
4934 0 => {
4935 0 => {Elements::Maj1},
4936 1 => {
4937 0 => {
4938 0 => {},
4939 1 => {Elements::Maj8}
4940 },
4941 1 => {
4942 0 => {
4943 0 => {
4944 0 => {
4945 0 => {Elements::Maj16},
4946 1 => {Elements::Maj32}
4947 },
4948 1 => {
4949 0 => {Elements::Maj64},
4950 1 => {}
4951 }
4952 },
4953 1 => {}
4954 },
4955 1 => {}
4956 }
4957 }
4958 },
4959 1 => {
4960 0 => {Elements::XorXor1},
4961 1 => {
4962 0 => {
4963 0 => {},
4964 1 => {Elements::XorXor8}
4965 },
4966 1 => {
4967 0 => {
4968 0 => {
4969 0 => {
4970 0 => {Elements::XorXor16},
4971 1 => {Elements::XorXor32}
4972 },
4973 1 => {
4974 0 => {Elements::XorXor64},
4975 1 => {}
4976 }
4977 },
4978 1 => {}
4979 },
4980 1 => {}
4981 }
4982 }
4983 }
4984 },
4985 1 => {
4986 0 => {
4987 0 => {Elements::Ch1},
4988 1 => {
4989 0 => {
4990 0 => {},
4991 1 => {Elements::Ch8}
4992 },
4993 1 => {
4994 0 => {
4995 0 => {
4996 0 => {
4997 0 => {Elements::Ch16},
4998 1 => {Elements::Ch32}
4999 },
5000 1 => {
5001 0 => {Elements::Ch64},
5002 1 => {}
5003 }
5004 },
5005 1 => {}
5006 },
5007 1 => {}
5008 }
5009 }
5010 },
5011 1 => {
5012 0 => {Elements::Some1},
5013 1 => {
5014 0 => {
5015 0 => {},
5016 1 => {Elements::Some8}
5017 },
5018 1 => {
5019 0 => {
5020 0 => {
5021 0 => {
5022 0 => {Elements::Some16},
5023 1 => {Elements::Some32}
5024 },
5025 1 => {
5026 0 => {Elements::Some64},
5027 1 => {}
5028 }
5029 },
5030 1 => {}
5031 },
5032 1 => {}
5033 }
5034 }
5035 }
5036 }
5037 },
5038 1 => {
5039 0 => {
5040 0 => {
5041 0 => {},
5042 1 => {
5043 0 => {
5044 0 => {},
5045 1 => {Elements::All8}
5046 },
5047 1 => {
5048 0 => {
5049 0 => {
5050 0 => {
5051 0 => {Elements::All16},
5052 1 => {Elements::All32}
5053 },
5054 1 => {
5055 0 => {Elements::All64},
5056 1 => {}
5057 }
5058 },
5059 1 => {}
5060 },
5061 1 => {}
5062 }
5063 }
5064 },
5065 1 => {
5066 0 => {Elements::Eq1},
5067 1 => {
5068 0 => {
5069 0 => {},
5070 1 => {Elements::Eq8}
5071 },
5072 1 => {
5073 0 => {
5074 0 => {
5075 0 => {
5076 0 => {Elements::Eq16},
5077 1 => {Elements::Eq32}
5078 },
5079 1 => {
5080 0 => {Elements::Eq64},
5081 1 => {}
5082 }
5083 },
5084 1 => {
5085 0 => {
5086 0 => {
5087 0 => {Elements::Eq256},
5088 1 => {}
5089 },
5090 1 => {}
5091 },
5092 1 => {}
5093 }
5094 },
5095 1 => {}
5096 }
5097 }
5098 }
5099 },
5100 1 => {
5101 0 => {
5102 0 => {
5103 0 => {},
5104 1 => {
5105 0 => {
5106 0 => {},
5107 1 => {Elements::FullLeftShift8_1}
5108 },
5109 1 => {
5110 0 => {
5111 0 => {
5112 0 => {
5113 0 => {Elements::FullLeftShift16_1},
5114 1 => {Elements::FullLeftShift32_1}
5115 },
5116 1 => {
5117 0 => {Elements::FullLeftShift64_1},
5118 1 => {}
5119 }
5120 },
5121 1 => {}
5122 },
5123 1 => {}
5124 }
5125 }
5126 },
5127 1 => {
5128 0 => {
5129 0 => {
5130 0 => {},
5131 1 => {
5132 0 => {
5133 0 => {Elements::FullLeftShift8_2},
5134 1 => {Elements::FullLeftShift16_2}
5135 },
5136 1 => {
5137 0 => {
5138 0 => {
5139 0 => {
5140 0 => {Elements::FullLeftShift32_2},
5141 1 => {Elements::FullLeftShift64_2}
5142 },
5143 1 => {}
5144 },
5145 1 => {}
5146 },
5147 1 => {}
5148 }
5149 }
5150 },
5151 1 => {
5152 0 => {Elements::FullLeftShift8_4},
5153 1 => {
5154 0 => {
5155 0 => {Elements::FullLeftShift16_4},
5156 1 => {Elements::FullLeftShift32_4}
5157 },
5158 1 => {
5159 0 => {
5160 0 => {
5161 0 => {
5162 0 => {Elements::FullLeftShift64_4},
5163 1 => {}
5164 },
5165 1 => {}
5166 },
5167 1 => {}
5168 },
5169 1 => {}
5170 }
5171 }
5172 }
5173 },
5174 1 => {
5175 0 => {
5176 0 => {
5177 0 => {
5178 0 => {
5179 0 => {Elements::FullLeftShift16_8},
5180 1 => {
5181 0 => {
5182 0 => {Elements::FullLeftShift32_8},
5183 1 => {Elements::FullLeftShift64_8}
5184 },
5185 1 => {}
5186 }
5187 },
5188 1 => {
5189 0 => {Elements::FullLeftShift32_16},
5190 1 => {
5191 0 => {
5192 0 => {Elements::FullLeftShift64_16},
5193 1 => {}
5194 },
5195 1 => {}
5196 }
5197 }
5198 },
5199 1 => {
5200 0 => {
5201 0 => {Elements::FullLeftShift64_32},
5202 1 => {}
5203 },
5204 1 => {}
5205 }
5206 },
5207 1 => {}
5208 },
5209 1 => {}
5210 }
5211 }
5212 },
5213 1 => {
5214 0 => {
5215 0 => {},
5216 1 => {
5217 0 => {
5218 0 => {},
5219 1 => {Elements::FullRightShift8_1}
5220 },
5221 1 => {
5222 0 => {
5223 0 => {
5224 0 => {
5225 0 => {Elements::FullRightShift16_1},
5226 1 => {Elements::FullRightShift32_1}
5227 },
5228 1 => {
5229 0 => {Elements::FullRightShift64_1},
5230 1 => {}
5231 }
5232 },
5233 1 => {}
5234 },
5235 1 => {}
5236 }
5237 }
5238 },
5239 1 => {
5240 0 => {
5241 0 => {
5242 0 => {},
5243 1 => {
5244 0 => {
5245 0 => {Elements::FullRightShift8_2},
5246 1 => {Elements::FullRightShift16_2}
5247 },
5248 1 => {
5249 0 => {
5250 0 => {
5251 0 => {
5252 0 => {Elements::FullRightShift32_2},
5253 1 => {Elements::FullRightShift64_2}
5254 },
5255 1 => {}
5256 },
5257 1 => {}
5258 },
5259 1 => {}
5260 }
5261 }
5262 },
5263 1 => {
5264 0 => {Elements::FullRightShift8_4},
5265 1 => {
5266 0 => {
5267 0 => {Elements::FullRightShift16_4},
5268 1 => {Elements::FullRightShift32_4}
5269 },
5270 1 => {
5271 0 => {
5272 0 => {
5273 0 => {
5274 0 => {Elements::FullRightShift64_4},
5275 1 => {}
5276 },
5277 1 => {}
5278 },
5279 1 => {}
5280 },
5281 1 => {}
5282 }
5283 }
5284 }
5285 },
5286 1 => {
5287 0 => {
5288 0 => {
5289 0 => {
5290 0 => {
5291 0 => {Elements::FullRightShift16_8},
5292 1 => {
5293 0 => {
5294 0 => {Elements::FullRightShift32_8},
5295 1 => {Elements::FullRightShift64_8}
5296 },
5297 1 => {}
5298 }
5299 },
5300 1 => {
5301 0 => {Elements::FullRightShift32_16},
5302 1 => {
5303 0 => {
5304 0 => {Elements::FullRightShift64_16},
5305 1 => {}
5306 },
5307 1 => {}
5308 }
5309 }
5310 },
5311 1 => {
5312 0 => {
5313 0 => {Elements::FullRightShift64_32},
5314 1 => {}
5315 },
5316 1 => {}
5317 }
5318 },
5319 1 => {}
5320 },
5321 1 => {}
5322 }
5323 }
5324 }
5325 }
5326 }
5327 }
5328 },
5329 1 => {
5330 0 => {
5331 0 => {
5332 0 => {
5333 0 => {
5334 0 => {
5335 0 => {
5336 0 => {
5337 0 => {
5338 0 => {
5339 0 => {},
5340 1 => {
5341 0 => {
5342 0 => {},
5343 1 => {Elements::Leftmost8_1}
5344 },
5345 1 => {
5346 0 => {
5347 0 => {
5348 0 => {
5349 0 => {Elements::Leftmost16_1},
5350 1 => {Elements::Leftmost32_1}
5351 },
5352 1 => {
5353 0 => {Elements::Leftmost64_1},
5354 1 => {}
5355 }
5356 },
5357 1 => {}
5358 },
5359 1 => {}
5360 }
5361 }
5362 },
5363 1 => {
5364 0 => {
5365 0 => {
5366 0 => {},
5367 1 => {
5368 0 => {
5369 0 => {Elements::Leftmost8_2},
5370 1 => {Elements::Leftmost16_2}
5371 },
5372 1 => {
5373 0 => {
5374 0 => {
5375 0 => {
5376 0 => {Elements::Leftmost32_2},
5377 1 => {Elements::Leftmost64_2}
5378 },
5379 1 => {}
5380 },
5381 1 => {}
5382 },
5383 1 => {}
5384 }
5385 }
5386 },
5387 1 => {
5388 0 => {Elements::Leftmost8_4},
5389 1 => {
5390 0 => {
5391 0 => {Elements::Leftmost16_4},
5392 1 => {Elements::Leftmost32_4}
5393 },
5394 1 => {
5395 0 => {
5396 0 => {
5397 0 => {
5398 0 => {Elements::Leftmost64_4},
5399 1 => {}
5400 },
5401 1 => {}
5402 },
5403 1 => {}
5404 },
5405 1 => {}
5406 }
5407 }
5408 }
5409 },
5410 1 => {
5411 0 => {
5412 0 => {
5413 0 => {
5414 0 => {
5415 0 => {Elements::Leftmost16_8},
5416 1 => {
5417 0 => {
5418 0 => {Elements::Leftmost32_8},
5419 1 => {Elements::Leftmost64_8}
5420 },
5421 1 => {}
5422 }
5423 },
5424 1 => {
5425 0 => {Elements::Leftmost32_16},
5426 1 => {
5427 0 => {
5428 0 => {Elements::Leftmost64_16},
5429 1 => {}
5430 },
5431 1 => {}
5432 }
5433 }
5434 },
5435 1 => {
5436 0 => {
5437 0 => {Elements::Leftmost64_32},
5438 1 => {}
5439 },
5440 1 => {}
5441 }
5442 },
5443 1 => {}
5444 },
5445 1 => {}
5446 }
5447 }
5448 },
5449 1 => {
5450 0 => {
5451 0 => {},
5452 1 => {
5453 0 => {
5454 0 => {},
5455 1 => {Elements::Rightmost8_1}
5456 },
5457 1 => {
5458 0 => {
5459 0 => {
5460 0 => {
5461 0 => {Elements::Rightmost16_1},
5462 1 => {Elements::Rightmost32_1}
5463 },
5464 1 => {
5465 0 => {Elements::Rightmost64_1},
5466 1 => {}
5467 }
5468 },
5469 1 => {}
5470 },
5471 1 => {}
5472 }
5473 }
5474 },
5475 1 => {
5476 0 => {
5477 0 => {
5478 0 => {},
5479 1 => {
5480 0 => {
5481 0 => {Elements::Rightmost8_2},
5482 1 => {Elements::Rightmost16_2}
5483 },
5484 1 => {
5485 0 => {
5486 0 => {
5487 0 => {
5488 0 => {Elements::Rightmost32_2},
5489 1 => {Elements::Rightmost64_2}
5490 },
5491 1 => {}
5492 },
5493 1 => {}
5494 },
5495 1 => {}
5496 }
5497 }
5498 },
5499 1 => {
5500 0 => {Elements::Rightmost8_4},
5501 1 => {
5502 0 => {
5503 0 => {Elements::Rightmost16_4},
5504 1 => {Elements::Rightmost32_4}
5505 },
5506 1 => {
5507 0 => {
5508 0 => {
5509 0 => {
5510 0 => {Elements::Rightmost64_4},
5511 1 => {}
5512 },
5513 1 => {}
5514 },
5515 1 => {}
5516 },
5517 1 => {}
5518 }
5519 }
5520 }
5521 },
5522 1 => {
5523 0 => {
5524 0 => {
5525 0 => {
5526 0 => {
5527 0 => {Elements::Rightmost16_8},
5528 1 => {
5529 0 => {
5530 0 => {Elements::Rightmost32_8},
5531 1 => {Elements::Rightmost64_8}
5532 },
5533 1 => {}
5534 }
5535 },
5536 1 => {
5537 0 => {Elements::Rightmost32_16},
5538 1 => {
5539 0 => {
5540 0 => {Elements::Rightmost64_16},
5541 1 => {}
5542 },
5543 1 => {}
5544 }
5545 }
5546 },
5547 1 => {
5548 0 => {
5549 0 => {Elements::Rightmost64_32},
5550 1 => {}
5551 },
5552 1 => {}
5553 }
5554 },
5555 1 => {}
5556 },
5557 1 => {}
5558 }
5559 }
5560 }
5561 },
5562 1 => {
5563 0 => {
5564 0 => {
5565 0 => {},
5566 1 => {
5567 0 => {
5568 0 => {},
5569 1 => {Elements::LeftPadLow1_8}
5570 },
5571 1 => {
5572 0 => {
5573 0 => {
5574 0 => {
5575 0 => {Elements::LeftPadLow1_16},
5576 1 => {Elements::LeftPadLow1_32}
5577 },
5578 1 => {
5579 0 => {Elements::LeftPadLow1_64},
5580 1 => {}
5581 }
5582 },
5583 1 => {}
5584 },
5585 1 => {}
5586 }
5587 }
5588 },
5589 1 => {
5590 0 => {},
5591 1 => {
5592 0 => {
5593 0 => {
5594 0 => {
5595 0 => {
5596 0 => {Elements::LeftPadLow8_16},
5597 1 => {
5598 0 => {
5599 0 => {Elements::LeftPadLow8_32},
5600 1 => {Elements::LeftPadLow8_64}
5601 },
5602 1 => {}
5603 }
5604 },
5605 1 => {
5606 0 => {Elements::LeftPadLow16_32},
5607 1 => {
5608 0 => {
5609 0 => {Elements::LeftPadLow16_64},
5610 1 => {}
5611 },
5612 1 => {}
5613 }
5614 }
5615 },
5616 1 => {
5617 0 => {
5618 0 => {Elements::LeftPadLow32_64},
5619 1 => {}
5620 },
5621 1 => {}
5622 }
5623 },
5624 1 => {}
5625 },
5626 1 => {}
5627 }
5628 }
5629 },
5630 1 => {
5631 0 => {
5632 0 => {},
5633 1 => {
5634 0 => {
5635 0 => {},
5636 1 => {Elements::LeftPadHigh1_8}
5637 },
5638 1 => {
5639 0 => {
5640 0 => {
5641 0 => {
5642 0 => {Elements::LeftPadHigh1_16},
5643 1 => {Elements::LeftPadHigh1_32}
5644 },
5645 1 => {
5646 0 => {Elements::LeftPadHigh1_64},
5647 1 => {}
5648 }
5649 },
5650 1 => {}
5651 },
5652 1 => {}
5653 }
5654 }
5655 },
5656 1 => {
5657 0 => {},
5658 1 => {
5659 0 => {
5660 0 => {
5661 0 => {
5662 0 => {
5663 0 => {Elements::LeftPadHigh8_16},
5664 1 => {
5665 0 => {
5666 0 => {Elements::LeftPadHigh8_32},
5667 1 => {Elements::LeftPadHigh8_64}
5668 },
5669 1 => {}
5670 }
5671 },
5672 1 => {
5673 0 => {Elements::LeftPadHigh16_32},
5674 1 => {
5675 0 => {
5676 0 => {Elements::LeftPadHigh16_64},
5677 1 => {}
5678 },
5679 1 => {}
5680 }
5681 }
5682 },
5683 1 => {
5684 0 => {
5685 0 => {Elements::LeftPadHigh32_64},
5686 1 => {}
5687 },
5688 1 => {}
5689 }
5690 },
5691 1 => {}
5692 },
5693 1 => {}
5694 }
5695 }
5696 }
5697 }
5698 },
5699 1 => {
5700 0 => {
5701 0 => {
5702 0 => {
5703 0 => {},
5704 1 => {
5705 0 => {
5706 0 => {},
5707 1 => {Elements::LeftExtend1_8}
5708 },
5709 1 => {
5710 0 => {
5711 0 => {
5712 0 => {
5713 0 => {Elements::LeftExtend1_16},
5714 1 => {Elements::LeftExtend1_32}
5715 },
5716 1 => {
5717 0 => {Elements::LeftExtend1_64},
5718 1 => {}
5719 }
5720 },
5721 1 => {}
5722 },
5723 1 => {}
5724 }
5725 }
5726 },
5727 1 => {
5728 0 => {},
5729 1 => {
5730 0 => {
5731 0 => {
5732 0 => {
5733 0 => {
5734 0 => {Elements::LeftExtend8_16},
5735 1 => {
5736 0 => {
5737 0 => {Elements::LeftExtend8_32},
5738 1 => {Elements::LeftExtend8_64}
5739 },
5740 1 => {}
5741 }
5742 },
5743 1 => {
5744 0 => {Elements::LeftExtend16_32},
5745 1 => {
5746 0 => {
5747 0 => {Elements::LeftExtend16_64},
5748 1 => {}
5749 },
5750 1 => {}
5751 }
5752 }
5753 },
5754 1 => {
5755 0 => {
5756 0 => {Elements::LeftExtend32_64},
5757 1 => {}
5758 },
5759 1 => {}
5760 }
5761 },
5762 1 => {}
5763 },
5764 1 => {}
5765 }
5766 }
5767 },
5768 1 => {
5769 0 => {
5770 0 => {},
5771 1 => {
5772 0 => {
5773 0 => {},
5774 1 => {Elements::RightPadLow1_8}
5775 },
5776 1 => {
5777 0 => {
5778 0 => {
5779 0 => {
5780 0 => {Elements::RightPadLow1_16},
5781 1 => {Elements::RightPadLow1_32}
5782 },
5783 1 => {
5784 0 => {Elements::RightPadLow1_64},
5785 1 => {}
5786 }
5787 },
5788 1 => {}
5789 },
5790 1 => {}
5791 }
5792 }
5793 },
5794 1 => {
5795 0 => {},
5796 1 => {
5797 0 => {
5798 0 => {
5799 0 => {
5800 0 => {
5801 0 => {Elements::RightPadLow8_16},
5802 1 => {
5803 0 => {
5804 0 => {Elements::RightPadLow8_32},
5805 1 => {Elements::RightPadLow8_64}
5806 },
5807 1 => {}
5808 }
5809 },
5810 1 => {
5811 0 => {Elements::RightPadLow16_32},
5812 1 => {
5813 0 => {
5814 0 => {Elements::RightPadLow16_64},
5815 1 => {}
5816 },
5817 1 => {}
5818 }
5819 }
5820 },
5821 1 => {
5822 0 => {
5823 0 => {Elements::RightPadLow32_64},
5824 1 => {}
5825 },
5826 1 => {}
5827 }
5828 },
5829 1 => {}
5830 },
5831 1 => {}
5832 }
5833 }
5834 }
5835 },
5836 1 => {
5837 0 => {
5838 0 => {
5839 0 => {},
5840 1 => {
5841 0 => {
5842 0 => {},
5843 1 => {Elements::RightPadHigh1_8}
5844 },
5845 1 => {
5846 0 => {
5847 0 => {
5848 0 => {
5849 0 => {Elements::RightPadHigh1_16},
5850 1 => {Elements::RightPadHigh1_32}
5851 },
5852 1 => {
5853 0 => {Elements::RightPadHigh1_64},
5854 1 => {}
5855 }
5856 },
5857 1 => {}
5858 },
5859 1 => {}
5860 }
5861 }
5862 },
5863 1 => {
5864 0 => {},
5865 1 => {
5866 0 => {
5867 0 => {
5868 0 => {
5869 0 => {
5870 0 => {Elements::RightPadHigh8_16},
5871 1 => {
5872 0 => {
5873 0 => {Elements::RightPadHigh8_32},
5874 1 => {Elements::RightPadHigh8_64}
5875 },
5876 1 => {}
5877 }
5878 },
5879 1 => {
5880 0 => {Elements::RightPadHigh16_32},
5881 1 => {
5882 0 => {
5883 0 => {Elements::RightPadHigh16_64},
5884 1 => {}
5885 },
5886 1 => {}
5887 }
5888 }
5889 },
5890 1 => {
5891 0 => {
5892 0 => {Elements::RightPadHigh32_64},
5893 1 => {}
5894 },
5895 1 => {}
5896 }
5897 },
5898 1 => {}
5899 },
5900 1 => {}
5901 }
5902 }
5903 },
5904 1 => {
5905 0 => {},
5906 1 => {
5907 0 => {},
5908 1 => {
5909 0 => {
5910 0 => {
5911 0 => {
5912 0 => {
5913 0 => {Elements::RightExtend8_16},
5914 1 => {
5915 0 => {
5916 0 => {Elements::RightExtend8_32},
5917 1 => {Elements::RightExtend8_64}
5918 },
5919 1 => {}
5920 }
5921 },
5922 1 => {
5923 0 => {Elements::RightExtend16_32},
5924 1 => {
5925 0 => {
5926 0 => {Elements::RightExtend16_64},
5927 1 => {}
5928 },
5929 1 => {}
5930 }
5931 }
5932 },
5933 1 => {
5934 0 => {
5935 0 => {Elements::RightExtend32_64},
5936 1 => {}
5937 },
5938 1 => {}
5939 }
5940 },
5941 1 => {}
5942 },
5943 1 => {}
5944 }
5945 }
5946 }
5947 }
5948 }
5949 },
5950 1 => {
5951 0 => {
5952 0 => {
5953 0 => {
5954 0 => {},
5955 1 => {
5956 0 => {
5957 0 => {},
5958 1 => {Elements::LeftShiftWith8}
5959 },
5960 1 => {
5961 0 => {
5962 0 => {
5963 0 => {
5964 0 => {Elements::LeftShiftWith16},
5965 1 => {Elements::LeftShiftWith32}
5966 },
5967 1 => {
5968 0 => {Elements::LeftShiftWith64},
5969 1 => {}
5970 }
5971 },
5972 1 => {}
5973 },
5974 1 => {}
5975 }
5976 }
5977 },
5978 1 => {
5979 0 => {},
5980 1 => {
5981 0 => {
5982 0 => {},
5983 1 => {Elements::RightShiftWith8}
5984 },
5985 1 => {
5986 0 => {
5987 0 => {
5988 0 => {
5989 0 => {Elements::RightShiftWith16},
5990 1 => {Elements::RightShiftWith32}
5991 },
5992 1 => {
5993 0 => {Elements::RightShiftWith64},
5994 1 => {}
5995 }
5996 },
5997 1 => {}
5998 },
5999 1 => {}
6000 }
6001 }
6002 }
6003 },
6004 1 => {
6005 0 => {
6006 0 => {},
6007 1 => {
6008 0 => {
6009 0 => {},
6010 1 => {Elements::LeftShift8}
6011 },
6012 1 => {
6013 0 => {
6014 0 => {
6015 0 => {
6016 0 => {Elements::LeftShift16},
6017 1 => {Elements::LeftShift32}
6018 },
6019 1 => {
6020 0 => {Elements::LeftShift64},
6021 1 => {}
6022 }
6023 },
6024 1 => {}
6025 },
6026 1 => {}
6027 }
6028 }
6029 },
6030 1 => {
6031 0 => {},
6032 1 => {
6033 0 => {
6034 0 => {},
6035 1 => {Elements::RightShift8}
6036 },
6037 1 => {
6038 0 => {
6039 0 => {
6040 0 => {
6041 0 => {Elements::RightShift16},
6042 1 => {Elements::RightShift32}
6043 },
6044 1 => {
6045 0 => {Elements::RightShift64},
6046 1 => {}
6047 }
6048 },
6049 1 => {}
6050 },
6051 1 => {}
6052 }
6053 }
6054 }
6055 }
6056 },
6057 1 => {
6058 0 => {
6059 0 => {
6060 0 => {},
6061 1 => {
6062 0 => {
6063 0 => {},
6064 1 => {Elements::LeftRotate8}
6065 },
6066 1 => {
6067 0 => {
6068 0 => {
6069 0 => {
6070 0 => {Elements::LeftRotate16},
6071 1 => {Elements::LeftRotate32}
6072 },
6073 1 => {
6074 0 => {Elements::LeftRotate64},
6075 1 => {}
6076 }
6077 },
6078 1 => {}
6079 },
6080 1 => {}
6081 }
6082 }
6083 },
6084 1 => {
6085 0 => {},
6086 1 => {
6087 0 => {
6088 0 => {},
6089 1 => {Elements::RightRotate8}
6090 },
6091 1 => {
6092 0 => {
6093 0 => {
6094 0 => {
6095 0 => {Elements::RightRotate16},
6096 1 => {Elements::RightRotate32}
6097 },
6098 1 => {
6099 0 => {Elements::RightRotate64},
6100 1 => {}
6101 }
6102 },
6103 1 => {}
6104 },
6105 1 => {}
6106 }
6107 }
6108 }
6109 },
6110 1 => {}
6111 }
6112 }
6113 },
6114 1 => {}
6115 },
6116 1 => {}
6117 },
6118 1 => {}
6119 },
6120 1 => {}
6121 }
6122 }
6123 }
6124 },
6125 1 => {
6126 0 => {
6127 0 => {
6128 0 => {
6129 0 => {},
6130 1 => {
6131 0 => {
6132 0 => {},
6133 1 => {Elements::One8}
6134 },
6135 1 => {
6136 0 => {
6137 0 => {
6138 0 => {
6139 0 => {Elements::One16},
6140 1 => {Elements::One32}
6141 },
6142 1 => {
6143 0 => {Elements::One64},
6144 1 => {}
6145 }
6146 },
6147 1 => {}
6148 },
6149 1 => {}
6150 }
6151 }
6152 },
6153 1 => {
6154 0 => {
6155 0 => {
6156 0 => {},
6157 1 => {
6158 0 => {
6159 0 => {},
6160 1 => {Elements::FullAdd8}
6161 },
6162 1 => {
6163 0 => {
6164 0 => {
6165 0 => {
6166 0 => {Elements::FullAdd16},
6167 1 => {Elements::FullAdd32}
6168 },
6169 1 => {
6170 0 => {Elements::FullAdd64},
6171 1 => {}
6172 }
6173 },
6174 1 => {}
6175 },
6176 1 => {}
6177 }
6178 }
6179 },
6180 1 => {
6181 0 => {},
6182 1 => {
6183 0 => {
6184 0 => {},
6185 1 => {Elements::Add8}
6186 },
6187 1 => {
6188 0 => {
6189 0 => {
6190 0 => {
6191 0 => {Elements::Add16},
6192 1 => {Elements::Add32}
6193 },
6194 1 => {
6195 0 => {Elements::Add64},
6196 1 => {}
6197 }
6198 },
6199 1 => {}
6200 },
6201 1 => {}
6202 }
6203 }
6204 }
6205 },
6206 1 => {
6207 0 => {
6208 0 => {
6209 0 => {
6210 0 => {
6211 0 => {},
6212 1 => {
6213 0 => {
6214 0 => {},
6215 1 => {Elements::FullIncrement8}
6216 },
6217 1 => {
6218 0 => {
6219 0 => {
6220 0 => {
6221 0 => {Elements::FullIncrement16},
6222 1 => {Elements::FullIncrement32}
6223 },
6224 1 => {
6225 0 => {Elements::FullIncrement64},
6226 1 => {}
6227 }
6228 },
6229 1 => {}
6230 },
6231 1 => {}
6232 }
6233 }
6234 },
6235 1 => {
6236 0 => {},
6237 1 => {
6238 0 => {
6239 0 => {},
6240 1 => {Elements::Increment8}
6241 },
6242 1 => {
6243 0 => {
6244 0 => {
6245 0 => {
6246 0 => {Elements::Increment16},
6247 1 => {Elements::Increment32}
6248 },
6249 1 => {
6250 0 => {Elements::Increment64},
6251 1 => {}
6252 }
6253 },
6254 1 => {}
6255 },
6256 1 => {}
6257 }
6258 }
6259 }
6260 },
6261 1 => {
6262 0 => {},
6263 1 => {
6264 0 => {},
6265 1 => {
6266 0 => {
6267 0 => {},
6268 1 => {Elements::FullSubtract8}
6269 },
6270 1 => {
6271 0 => {
6272 0 => {
6273 0 => {
6274 0 => {Elements::FullSubtract16},
6275 1 => {Elements::FullSubtract32}
6276 },
6277 1 => {
6278 0 => {Elements::FullSubtract64},
6279 1 => {}
6280 }
6281 },
6282 1 => {}
6283 },
6284 1 => {}
6285 }
6286 }
6287 }
6288 }
6289 },
6290 1 => {
6291 0 => {
6292 0 => {
6293 0 => {
6294 0 => {},
6295 1 => {
6296 0 => {
6297 0 => {},
6298 1 => {Elements::Subtract8}
6299 },
6300 1 => {
6301 0 => {
6302 0 => {
6303 0 => {
6304 0 => {Elements::Subtract16},
6305 1 => {Elements::Subtract32}
6306 },
6307 1 => {
6308 0 => {Elements::Subtract64},
6309 1 => {}
6310 }
6311 },
6312 1 => {}
6313 },
6314 1 => {}
6315 }
6316 }
6317 },
6318 1 => {
6319 0 => {},
6320 1 => {
6321 0 => {
6322 0 => {},
6323 1 => {Elements::Negate8}
6324 },
6325 1 => {
6326 0 => {
6327 0 => {
6328 0 => {
6329 0 => {Elements::Negate16},
6330 1 => {Elements::Negate32}
6331 },
6332 1 => {
6333 0 => {Elements::Negate64},
6334 1 => {}
6335 }
6336 },
6337 1 => {}
6338 },
6339 1 => {}
6340 }
6341 }
6342 }
6343 },
6344 1 => {
6345 0 => {
6346 0 => {},
6347 1 => {
6348 0 => {
6349 0 => {},
6350 1 => {Elements::FullDecrement8}
6351 },
6352 1 => {
6353 0 => {
6354 0 => {
6355 0 => {
6356 0 => {Elements::FullDecrement16},
6357 1 => {Elements::FullDecrement32}
6358 },
6359 1 => {
6360 0 => {Elements::FullDecrement64},
6361 1 => {}
6362 }
6363 },
6364 1 => {}
6365 },
6366 1 => {}
6367 }
6368 }
6369 },
6370 1 => {
6371 0 => {},
6372 1 => {
6373 0 => {
6374 0 => {},
6375 1 => {Elements::Decrement8}
6376 },
6377 1 => {
6378 0 => {
6379 0 => {
6380 0 => {
6381 0 => {Elements::Decrement16},
6382 1 => {Elements::Decrement32}
6383 },
6384 1 => {
6385 0 => {Elements::Decrement64},
6386 1 => {}
6387 }
6388 },
6389 1 => {}
6390 },
6391 1 => {}
6392 }
6393 }
6394 }
6395 }
6396 },
6397 1 => {
6398 0 => {
6399 0 => {
6400 0 => {},
6401 1 => {
6402 0 => {
6403 0 => {},
6404 1 => {Elements::FullMultiply8}
6405 },
6406 1 => {
6407 0 => {
6408 0 => {
6409 0 => {
6410 0 => {Elements::FullMultiply16},
6411 1 => {Elements::FullMultiply32}
6412 },
6413 1 => {
6414 0 => {Elements::FullMultiply64},
6415 1 => {}
6416 }
6417 },
6418 1 => {}
6419 },
6420 1 => {}
6421 }
6422 }
6423 },
6424 1 => {
6425 0 => {},
6426 1 => {
6427 0 => {
6428 0 => {},
6429 1 => {Elements::Multiply8}
6430 },
6431 1 => {
6432 0 => {
6433 0 => {
6434 0 => {
6435 0 => {Elements::Multiply16},
6436 1 => {Elements::Multiply32}
6437 },
6438 1 => {
6439 0 => {Elements::Multiply64},
6440 1 => {}
6441 }
6442 },
6443 1 => {}
6444 },
6445 1 => {}
6446 }
6447 }
6448 }
6449 },
6450 1 => {
6451 0 => {
6452 0 => {},
6453 1 => {
6454 0 => {
6455 0 => {},
6456 1 => {Elements::IsZero8}
6457 },
6458 1 => {
6459 0 => {
6460 0 => {
6461 0 => {
6462 0 => {Elements::IsZero16},
6463 1 => {Elements::IsZero32}
6464 },
6465 1 => {
6466 0 => {Elements::IsZero64},
6467 1 => {}
6468 }
6469 },
6470 1 => {}
6471 },
6472 1 => {}
6473 }
6474 }
6475 },
6476 1 => {
6477 0 => {},
6478 1 => {
6479 0 => {
6480 0 => {},
6481 1 => {Elements::IsOne8}
6482 },
6483 1 => {
6484 0 => {
6485 0 => {
6486 0 => {
6487 0 => {Elements::IsOne16},
6488 1 => {Elements::IsOne32}
6489 },
6490 1 => {
6491 0 => {Elements::IsOne64},
6492 1 => {}
6493 }
6494 },
6495 1 => {}
6496 },
6497 1 => {}
6498 }
6499 }
6500 }
6501 }
6502 }
6503 }
6504 },
6505 1 => {
6506 0 => {
6507 0 => {
6508 0 => {
6509 0 => {
6510 0 => {
6511 0 => {
6512 0 => {
6513 0 => {
6514 0 => {},
6515 1 => {
6516 0 => {
6517 0 => {},
6518 1 => {Elements::Le8}
6519 },
6520 1 => {
6521 0 => {
6522 0 => {
6523 0 => {
6524 0 => {Elements::Le16},
6525 1 => {Elements::Le32}
6526 },
6527 1 => {
6528 0 => {Elements::Le64},
6529 1 => {}
6530 }
6531 },
6532 1 => {}
6533 },
6534 1 => {}
6535 }
6536 }
6537 },
6538 1 => {
6539 0 => {},
6540 1 => {
6541 0 => {
6542 0 => {},
6543 1 => {Elements::Lt8}
6544 },
6545 1 => {
6546 0 => {
6547 0 => {
6548 0 => {
6549 0 => {Elements::Lt16},
6550 1 => {Elements::Lt32}
6551 },
6552 1 => {
6553 0 => {Elements::Lt64},
6554 1 => {}
6555 }
6556 },
6557 1 => {}
6558 },
6559 1 => {}
6560 }
6561 }
6562 }
6563 },
6564 1 => {
6565 0 => {
6566 0 => {},
6567 1 => {
6568 0 => {
6569 0 => {},
6570 1 => {Elements::Min8}
6571 },
6572 1 => {
6573 0 => {
6574 0 => {
6575 0 => {
6576 0 => {Elements::Min16},
6577 1 => {Elements::Min32}
6578 },
6579 1 => {
6580 0 => {Elements::Min64},
6581 1 => {}
6582 }
6583 },
6584 1 => {}
6585 },
6586 1 => {}
6587 }
6588 }
6589 },
6590 1 => {
6591 0 => {},
6592 1 => {
6593 0 => {
6594 0 => {},
6595 1 => {Elements::Max8}
6596 },
6597 1 => {
6598 0 => {
6599 0 => {
6600 0 => {
6601 0 => {Elements::Max16},
6602 1 => {Elements::Max32}
6603 },
6604 1 => {
6605 0 => {Elements::Max64},
6606 1 => {}
6607 }
6608 },
6609 1 => {}
6610 },
6611 1 => {}
6612 }
6613 }
6614 }
6615 }
6616 },
6617 1 => {
6618 0 => {
6619 0 => {
6620 0 => {},
6621 1 => {
6622 0 => {
6623 0 => {},
6624 1 => {Elements::Median8}
6625 },
6626 1 => {
6627 0 => {
6628 0 => {
6629 0 => {
6630 0 => {Elements::Median16},
6631 1 => {Elements::Median32}
6632 },
6633 1 => {
6634 0 => {Elements::Median64},
6635 1 => {}
6636 }
6637 },
6638 1 => {}
6639 },
6640 1 => {}
6641 }
6642 }
6643 },
6644 1 => {
6645 0 => {},
6646 1 => {
6647 0 => {},
6648 1 => {
6649 0 => {
6650 0 => {
6651 0 => {},
6652 1 => {
6653 0 => {Elements::DivMod128_64},
6654 1 => {}
6655 }
6656 },
6657 1 => {}
6658 },
6659 1 => {}
6660 }
6661 }
6662 }
6663 },
6664 1 => {
6665 0 => {
6666 0 => {},
6667 1 => {
6668 0 => {
6669 0 => {},
6670 1 => {Elements::DivMod8}
6671 },
6672 1 => {
6673 0 => {
6674 0 => {
6675 0 => {
6676 0 => {Elements::DivMod16},
6677 1 => {Elements::DivMod32}
6678 },
6679 1 => {
6680 0 => {Elements::DivMod64},
6681 1 => {}
6682 }
6683 },
6684 1 => {}
6685 },
6686 1 => {}
6687 }
6688 }
6689 },
6690 1 => {
6691 0 => {},
6692 1 => {
6693 0 => {
6694 0 => {},
6695 1 => {Elements::Divide8}
6696 },
6697 1 => {
6698 0 => {
6699 0 => {
6700 0 => {
6701 0 => {Elements::Divide16},
6702 1 => {Elements::Divide32}
6703 },
6704 1 => {
6705 0 => {Elements::Divide64},
6706 1 => {}
6707 }
6708 },
6709 1 => {}
6710 },
6711 1 => {}
6712 }
6713 }
6714 }
6715 }
6716 }
6717 },
6718 1 => {
6719 0 => {
6720 0 => {
6721 0 => {
6722 0 => {},
6723 1 => {
6724 0 => {
6725 0 => {},
6726 1 => {Elements::Modulo8}
6727 },
6728 1 => {
6729 0 => {
6730 0 => {
6731 0 => {
6732 0 => {Elements::Modulo16},
6733 1 => {Elements::Modulo32}
6734 },
6735 1 => {
6736 0 => {Elements::Modulo64},
6737 1 => {}
6738 }
6739 },
6740 1 => {}
6741 },
6742 1 => {}
6743 }
6744 }
6745 },
6746 1 => {
6747 0 => {},
6748 1 => {
6749 0 => {
6750 0 => {},
6751 1 => {Elements::Divides8}
6752 },
6753 1 => {
6754 0 => {
6755 0 => {
6756 0 => {
6757 0 => {Elements::Divides16},
6758 1 => {Elements::Divides32}
6759 },
6760 1 => {
6761 0 => {Elements::Divides64},
6762 1 => {}
6763 }
6764 },
6765 1 => {}
6766 },
6767 1 => {}
6768 }
6769 }
6770 }
6771 },
6772 1 => {}
6773 },
6774 1 => {}
6775 }
6776 },
6777 1 => {}
6778 },
6779 1 => {}
6780 },
6781 1 => {}
6782 },
6783 1 => {}
6784 }
6785 }
6786 }
6787 },
6788 1 => {
6789 0 => {
6790 0 => {Elements::Sha256Block},
6791 1 => {
6792 0 => {
6793 0 => {Elements::Sha256Iv},
6794 1 => {
6795 0 => {Elements::Sha256Ctx8Add1},
6796 1 => {
6797 0 => {
6798 0 => {Elements::Sha256Ctx8Add2},
6799 1 => {Elements::Sha256Ctx8Add4}
6800 },
6801 1 => {
6802 0 => {
6803 0 => {
6804 0 => {
6805 0 => {Elements::Sha256Ctx8Add8},
6806 1 => {Elements::Sha256Ctx8Add16}
6807 },
6808 1 => {
6809 0 => {Elements::Sha256Ctx8Add32},
6810 1 => {Elements::Sha256Ctx8Add64}
6811 }
6812 },
6813 1 => {
6814 0 => {
6815 0 => {
6816 0 => {Elements::Sha256Ctx8Add128},
6817 1 => {Elements::Sha256Ctx8Add256}
6818 },
6819 1 => {
6820 0 => {Elements::Sha256Ctx8Add512},
6821 1 => {}
6822 }
6823 },
6824 1 => {}
6825 }
6826 },
6827 1 => {}
6828 }
6829 }
6830 }
6831 },
6832 1 => {
6833 0 => {
6834 0 => {
6835 0 => {
6836 0 => {Elements::Sha256Ctx8AddBuffer511},
6837 1 => {Elements::Sha256Ctx8Finalize}
6838 },
6839 1 => {
6840 0 => {Elements::Sha256Ctx8Init},
6841 1 => {}
6842 }
6843 },
6844 1 => {}
6845 },
6846 1 => {}
6847 }
6848 }
6849 },
6850 1 => {}
6851 }
6852 },
6853 1 => {
6854 0 => {
6855 0 => {
6856 0 => {
6857 0 => {
6858 0 => {
6859 0 => {Elements::PointVerify1},
6860 1 => {}
6861 },
6862 1 => {
6863 0 => {
6864 0 => {Elements::Decompress},
6865 1 => {
6866 0 => {Elements::LinearVerify1},
6867 1 => {}
6868 }
6869 },
6870 1 => {
6871 0 => {
6872 0 => {
6873 0 => {
6874 0 => {
6875 0 => {Elements::LinearCombination1},
6876 1 => {}
6877 },
6878 1 => {Elements::Scale}
6879 },
6880 1 => {
6881 0 => {Elements::Generate},
6882 1 => {Elements::GejInfinity}
6883 }
6884 },
6885 1 => {
6886 0 => {
6887 0 => {
6888 0 => {Elements::GejNormalize},
6889 1 => {Elements::GejNegate}
6890 },
6891 1 => {
6892 0 => {Elements::GeNegate},
6893 1 => {Elements::GejDouble}
6894 }
6895 },
6896 1 => {
6897 0 => {
6898 0 => {Elements::GejAdd},
6899 1 => {Elements::GejGeAddEx}
6900 },
6901 1 => {
6902 0 => {Elements::GejGeAdd},
6903 1 => {Elements::GejRescale}
6904 }
6905 }
6906 }
6907 },
6908 1 => {
6909 0 => {
6910 0 => {
6911 0 => {
6912 0 => {
6913 0 => {
6914 0 => {
6915 0 => {
6916 0 => {Elements::GejIsInfinity},
6917 1 => {Elements::GejEquiv}
6918 },
6919 1 => {
6920 0 => {Elements::GejGeEquiv},
6921 1 => {Elements::GejXEquiv}
6922 }
6923 },
6924 1 => {
6925 0 => {
6926 0 => {Elements::GejYIsOdd},
6927 1 => {Elements::GejIsOnCurve}
6928 },
6929 1 => {
6930 0 => {Elements::GeIsOnCurve},
6931 1 => {Elements::ScalarNormalize}
6932 }
6933 }
6934 },
6935 1 => {
6936 0 => {
6937 0 => {
6938 0 => {Elements::ScalarNegate},
6939 1 => {Elements::ScalarAdd}
6940 },
6941 1 => {
6942 0 => {Elements::ScalarSquare},
6943 1 => {Elements::ScalarMultiply}
6944 }
6945 },
6946 1 => {
6947 0 => {
6948 0 => {Elements::ScalarMultiplyLambda},
6949 1 => {Elements::ScalarInvert}
6950 },
6951 1 => {
6952 0 => {Elements::ScalarIsZero},
6953 1 => {}
6954 }
6955 }
6956 }
6957 },
6958 1 => {
6959 0 => {
6960 0 => {
6961 0 => {
6962 0 => {},
6963 1 => {
6964 0 => {},
6965 1 => {Elements::FeNormalize}
6966 }
6967 },
6968 1 => {
6969 0 => {
6970 0 => {Elements::FeNegate},
6971 1 => {Elements::FeAdd}
6972 },
6973 1 => {
6974 0 => {Elements::FeSquare},
6975 1 => {Elements::FeMultiply}
6976 }
6977 }
6978 },
6979 1 => {
6980 0 => {
6981 0 => {
6982 0 => {Elements::FeMultiplyBeta},
6983 1 => {Elements::FeInvert}
6984 },
6985 1 => {
6986 0 => {Elements::FeSquareRoot},
6987 1 => {Elements::FeIsZero}
6988 }
6989 },
6990 1 => {
6991 0 => {
6992 0 => {Elements::FeIsOdd},
6993 1 => {}
6994 },
6995 1 => {
6996 0 => {Elements::HashToCurve},
6997 1 => {Elements::Swu}
6998 }
6999 }
7000 }
7001 },
7002 1 => {}
7003 }
7004 },
7005 1 => {}
7006 },
7007 1 => {}
7008 },
7009 1 => {}
7010 }
7011 }
7012 }
7013 },
7014 1 => {
7015 0 => {Elements::CheckSigVerify},
7016 1 => {
7017 0 => {
7018 0 => {Elements::Bip0340Verify},
7019 1 => {}
7020 },
7021 1 => {}
7022 }
7023 }
7024 },
7025 1 => {
7026 0 => {},
7027 1 => {
7028 0 => {Elements::ParseLock},
7029 1 => {
7030 0 => {
7031 0 => {Elements::ParseSequence},
7032 1 => {Elements::TapdataInit}
7033 },
7034 1 => {}
7035 }
7036 }
7037 }
7038 },
7039 1 => {}
7040 },
7041 1 => {}
7042 }
7043 }
7044 },
7045 1 => {
7046 0 => {
7047 0 => {Elements::SigAllHash},
7048 1 => {
7049 0 => {
7050 0 => {Elements::TxHash},
7051 1 => {Elements::TapEnvHash}
7052 },
7053 1 => {
7054 0 => {
7055 0 => {
7056 0 => {
7057 0 => {Elements::OutputsHash},
7058 1 => {Elements::InputsHash}
7059 },
7060 1 => {
7061 0 => {Elements::IssuancesHash},
7062 1 => {Elements::InputUtxosHash}
7063 }
7064 },
7065 1 => {
7066 0 => {
7067 0 => {
7068 0 => {Elements::OutputHash},
7069 1 => {Elements::OutputAmountsHash}
7070 },
7071 1 => {
7072 0 => {Elements::OutputScriptsHash},
7073 1 => {Elements::OutputNoncesHash}
7074 }
7075 },
7076 1 => {
7077 0 => {
7078 0 => {Elements::OutputRangeProofsHash},
7079 1 => {Elements::OutputSurjectionProofsHash}
7080 },
7081 1 => {
7082 0 => {Elements::InputHash},
7083 1 => {Elements::InputOutpointsHash}
7084 }
7085 }
7086 }
7087 },
7088 1 => {
7089 0 => {
7090 0 => {
7091 0 => {
7092 0 => {
7093 0 => {
7094 0 => {
7095 0 => {
7096 0 => {Elements::InputSequencesHash},
7097 1 => {Elements::InputAnnexesHash}
7098 },
7099 1 => {
7100 0 => {Elements::InputScriptSigsHash},
7101 1 => {Elements::IssuanceHash}
7102 }
7103 },
7104 1 => {
7105 0 => {
7106 0 => {Elements::IssuanceAssetAmountsHash},
7107 1 => {Elements::IssuanceTokenAmountsHash}
7108 },
7109 1 => {
7110 0 => {Elements::IssuanceRangeProofsHash},
7111 1 => {Elements::IssuanceBlindingEntropyHash}
7112 }
7113 }
7114 },
7115 1 => {
7116 0 => {
7117 0 => {
7118 0 => {Elements::InputUtxoHash},
7119 1 => {Elements::InputAmountsHash}
7120 },
7121 1 => {
7122 0 => {Elements::InputScriptsHash},
7123 1 => {Elements::TapleafHash}
7124 }
7125 },
7126 1 => {
7127 0 => {
7128 0 => {Elements::TappathHash},
7129 1 => {Elements::OutpointHash}
7130 },
7131 1 => {
7132 0 => {Elements::AssetAmountHash},
7133 1 => {Elements::NonceHash}
7134 }
7135 }
7136 }
7137 },
7138 1 => {
7139 0 => {
7140 0 => {
7141 0 => {
7142 0 => {
7143 0 => {Elements::AnnexHash},
7144 1 => {Elements::BuildTapleafSimplicity}
7145 },
7146 1 => {
7147 0 => {Elements::BuildTapbranch},
7148 1 => {Elements::BuildTaptweak}
7149 }
7150 },
7151 1 => {}
7152 },
7153 1 => {}
7154 },
7155 1 => {}
7156 }
7157 },
7158 1 => {}
7159 },
7160 1 => {}
7161 },
7162 1 => {}
7163 }
7164 }
7165 }
7166 },
7167 1 => {
7168 0 => {
7169 0 => {
7170 0 => {Elements::CheckLockHeight},
7171 1 => {
7172 0 => {
7173 0 => {Elements::CheckLockTime},
7174 1 => {Elements::BrokenDoNotUseCheckLockDistance}
7175 },
7176 1 => {
7177 0 => {
7178 0 => {
7179 0 => {
7180 0 => {Elements::BrokenDoNotUseCheckLockDuration},
7181 1 => {Elements::TxLockHeight}
7182 },
7183 1 => {
7184 0 => {Elements::TxLockTime},
7185 1 => {Elements::BrokenDoNotUseTxLockDistance}
7186 }
7187 },
7188 1 => {
7189 0 => {
7190 0 => {
7191 0 => {Elements::BrokenDoNotUseTxLockDuration},
7192 1 => {Elements::TxIsFinal}
7193 },
7194 1 => {}
7195 },
7196 1 => {}
7197 }
7198 },
7199 1 => {}
7200 }
7201 }
7202 },
7203 1 => {
7204 0 => {Elements::Issuance},
7205 1 => {
7206 0 => {
7207 0 => {Elements::IssuanceAsset},
7208 1 => {Elements::IssuanceToken}
7209 },
7210 1 => {
7211 0 => {
7212 0 => {
7213 0 => {
7214 0 => {Elements::IssuanceEntropy},
7215 1 => {Elements::CalculateIssuanceEntropy}
7216 },
7217 1 => {
7218 0 => {Elements::CalculateAsset},
7219 1 => {Elements::CalculateExplicitToken}
7220 }
7221 },
7222 1 => {
7223 0 => {
7224 0 => {
7225 0 => {Elements::CalculateConfidentialToken},
7226 1 => {Elements::LbtcAsset}
7227 },
7228 1 => {}
7229 },
7230 1 => {}
7231 }
7232 },
7233 1 => {}
7234 }
7235 }
7236 }
7237 },
7238 1 => {
7239 0 => {
7240 0 => {
7241 0 => {
7242 0 => {
7243 0 => {Elements::ScriptCMR},
7244 1 => {
7245 0 => {
7246 0 => {Elements::InternalKey},
7247 1 => {Elements::CurrentIndex}
7248 },
7249 1 => {
7250 0 => {
7251 0 => {
7252 0 => {
7253 0 => {Elements::NumInputs},
7254 1 => {Elements::NumOutputs}
7255 },
7256 1 => {
7257 0 => {Elements::LockTime},
7258 1 => {Elements::OutputAsset}
7259 }
7260 },
7261 1 => {
7262 0 => {
7263 0 => {
7264 0 => {Elements::OutputAmount},
7265 1 => {Elements::OutputNonce}
7266 },
7267 1 => {
7268 0 => {Elements::OutputScriptHash},
7269 1 => {Elements::OutputNullDatum}
7270 }
7271 },
7272 1 => {
7273 0 => {
7274 0 => {Elements::OutputIsFee},
7275 1 => {Elements::OutputSurjectionProof}
7276 },
7277 1 => {
7278 0 => {Elements::OutputRangeProof},
7279 1 => {Elements::TotalFee}
7280 }
7281 }
7282 }
7283 },
7284 1 => {
7285 0 => {
7286 0 => {
7287 0 => {
7288 0 => {
7289 0 => {
7290 0 => {
7291 0 => {
7292 0 => {Elements::CurrentPegin},
7293 1 => {Elements::CurrentPrevOutpoint}
7294 },
7295 1 => {
7296 0 => {Elements::CurrentAsset},
7297 1 => {Elements::CurrentAmount}
7298 }
7299 },
7300 1 => {
7301 0 => {
7302 0 => {Elements::CurrentScriptHash},
7303 1 => {Elements::CurrentSequence}
7304 },
7305 1 => {
7306 0 => {Elements::CurrentAnnexHash},
7307 1 => {Elements::CurrentScriptSigHash}
7308 }
7309 }
7310 },
7311 1 => {
7312 0 => {
7313 0 => {
7314 0 => {Elements::CurrentReissuanceBlinding},
7315 1 => {Elements::CurrentNewIssuanceContract}
7316 },
7317 1 => {
7318 0 => {Elements::CurrentReissuanceEntropy},
7319 1 => {Elements::CurrentIssuanceAssetAmount}
7320 }
7321 },
7322 1 => {
7323 0 => {
7324 0 => {Elements::CurrentIssuanceTokenAmount},
7325 1 => {Elements::CurrentIssuanceAssetProof}
7326 },
7327 1 => {
7328 0 => {Elements::CurrentIssuanceTokenProof},
7329 1 => {Elements::InputPegin}
7330 }
7331 }
7332 }
7333 },
7334 1 => {
7335 0 => {
7336 0 => {
7337 0 => {
7338 0 => {
7339 0 => {Elements::InputPrevOutpoint},
7340 1 => {Elements::InputAsset}
7341 },
7342 1 => {
7343 0 => {Elements::InputAmount},
7344 1 => {Elements::InputScriptHash}
7345 }
7346 },
7347 1 => {
7348 0 => {
7349 0 => {Elements::InputSequence},
7350 1 => {Elements::InputAnnexHash}
7351 },
7352 1 => {
7353 0 => {Elements::InputScriptSigHash},
7354 1 => {Elements::ReissuanceBlinding}
7355 }
7356 }
7357 },
7358 1 => {
7359 0 => {
7360 0 => {
7361 0 => {Elements::NewIssuanceContract},
7362 1 => {Elements::ReissuanceEntropy}
7363 },
7364 1 => {
7365 0 => {Elements::IssuanceAssetAmount},
7366 1 => {Elements::IssuanceTokenAmount}
7367 }
7368 },
7369 1 => {
7370 0 => {
7371 0 => {Elements::IssuanceAssetProof},
7372 1 => {Elements::IssuanceTokenProof}
7373 },
7374 1 => {
7375 0 => {Elements::TapleafVersion},
7376 1 => {Elements::Tappath}
7377 }
7378 }
7379 }
7380 },
7381 1 => {
7382 0 => {
7383 0 => {
7384 0 => {
7385 0 => {Elements::Version},
7386 1 => {Elements::GenesisBlockHash}
7387 },
7388 1 => {
7389 0 => {Elements::TransactionId},
7390 1 => {}
7391 }
7392 },
7393 1 => {}
7394 },
7395 1 => {}
7396 }
7397 }
7398 },
7399 1 => {}
7400 },
7401 1 => {}
7402 },
7403 1 => {}
7404 }
7405 }
7406 }
7407 },
7408 1 => {}
7409 },
7410 1 => {}
7411 },
7412 1 => {}
7413 },
7414 1 => {}
7415 }
7416 }
7417 }
7418 })
7419 }
7420
7421 fn cost(&self) -> Cost {
7422 match self {
7423 Elements::Add16 => Cost::from_milliweight(108),
7424 Elements::Add32 => Cost::from_milliweight(117),
7425 Elements::Add64 => Cost::from_milliweight(109),
7426 Elements::Add8 => Cost::from_milliweight(112),
7427 Elements::All16 => Cost::from_milliweight(62),
7428 Elements::All32 => Cost::from_milliweight(65),
7429 Elements::All64 => Cost::from_milliweight(79),
7430 Elements::All8 => Cost::from_milliweight(76),
7431 Elements::And1 => Cost::from_milliweight(79),
7432 Elements::And16 => Cost::from_milliweight(88),
7433 Elements::And32 => Cost::from_milliweight(94),
7434 Elements::And64 => Cost::from_milliweight(93),
7435 Elements::And8 => Cost::from_milliweight(91),
7436 Elements::AnnexHash => Cost::from_milliweight(241),
7437 Elements::AssetAmountHash => Cost::from_milliweight(308),
7438 Elements::Bip0340Verify => Cost::from_milliweight(49087),
7439 Elements::BrokenDoNotUseCheckLockDistance => Cost::from_milliweight(105),
7440 Elements::BrokenDoNotUseCheckLockDuration => Cost::from_milliweight(102),
7441 Elements::BrokenDoNotUseTxLockDistance => Cost::from_milliweight(91),
7442 Elements::BrokenDoNotUseTxLockDuration => Cost::from_milliweight(84),
7443 Elements::BuildTapbranch => Cost::from_milliweight(2563),
7444 Elements::BuildTapleafSimplicity => Cost::from_milliweight(1843),
7445 Elements::BuildTaptweak => Cost::from_milliweight(92813),
7446 Elements::CalculateAsset => Cost::from_milliweight(807),
7447 Elements::CalculateConfidentialToken => Cost::from_milliweight(707),
7448 Elements::CalculateExplicitToken => Cost::from_milliweight(771),
7449 Elements::CalculateIssuanceEntropy => Cost::from_milliweight(2095),
7450 Elements::Ch1 => Cost::from_milliweight(78),
7451 Elements::Ch16 => Cost::from_milliweight(94),
7452 Elements::Ch32 => Cost::from_milliweight(91),
7453 Elements::Ch64 => Cost::from_milliweight(91),
7454 Elements::Ch8 => Cost::from_milliweight(77),
7455 Elements::CheckLockHeight => Cost::from_milliweight(77),
7456 Elements::CheckLockTime => Cost::from_milliweight(93),
7457 Elements::CheckSigVerify => Cost::from_milliweight(50000),
7458 Elements::Complement1 => Cost::from_milliweight(79),
7459 Elements::Complement16 => Cost::from_milliweight(75),
7460 Elements::Complement32 => Cost::from_milliweight(93),
7461 Elements::Complement64 => Cost::from_milliweight(88),
7462 Elements::Complement8 => Cost::from_milliweight(80),
7463 Elements::CurrentAmount => Cost::from_milliweight(225),
7464 Elements::CurrentAnnexHash => Cost::from_milliweight(79),
7465 Elements::CurrentAsset => Cost::from_milliweight(171),
7466 Elements::CurrentIndex => Cost::from_milliweight(88),
7467 Elements::CurrentIssuanceAssetAmount => Cost::from_milliweight(165),
7468 Elements::CurrentIssuanceAssetProof => Cost::from_milliweight(140),
7469 Elements::CurrentIssuanceTokenAmount => Cost::from_milliweight(188),
7470 Elements::CurrentIssuanceTokenProof => Cost::from_milliweight(144),
7471 Elements::CurrentNewIssuanceContract => Cost::from_milliweight(145),
7472 Elements::CurrentPegin => Cost::from_milliweight(147),
7473 Elements::CurrentPrevOutpoint => Cost::from_milliweight(156),
7474 Elements::CurrentReissuanceBlinding => Cost::from_milliweight(94),
7475 Elements::CurrentReissuanceEntropy => Cost::from_milliweight(85),
7476 Elements::CurrentScriptHash => Cost::from_milliweight(134),
7477 Elements::CurrentScriptSigHash => Cost::from_milliweight(139),
7478 Elements::CurrentSequence => Cost::from_milliweight(89),
7479 Elements::Decompress => Cost::from_milliweight(10861),
7480 Elements::Decrement16 => Cost::from_milliweight(85),
7481 Elements::Decrement32 => Cost::from_milliweight(91),
7482 Elements::Decrement64 => Cost::from_milliweight(89),
7483 Elements::Decrement8 => Cost::from_milliweight(79),
7484 Elements::DivMod128_64 => Cost::from_milliweight(208),
7485 Elements::DivMod16 => Cost::from_milliweight(118),
7486 Elements::DivMod32 => Cost::from_milliweight(115),
7487 Elements::DivMod64 => Cost::from_milliweight(86),
7488 Elements::DivMod8 => Cost::from_milliweight(128),
7489 Elements::Divide16 => Cost::from_milliweight(98),
7490 Elements::Divide32 => Cost::from_milliweight(100),
7491 Elements::Divide64 => Cost::from_milliweight(101),
7492 Elements::Divide8 => Cost::from_milliweight(108),
7493 Elements::Divides16 => Cost::from_milliweight(93),
7494 Elements::Divides32 => Cost::from_milliweight(87),
7495 Elements::Divides64 => Cost::from_milliweight(91),
7496 Elements::Divides8 => Cost::from_milliweight(98),
7497 Elements::Eq1 => Cost::from_milliweight(74),
7498 Elements::Eq16 => Cost::from_milliweight(84),
7499 Elements::Eq256 => Cost::from_milliweight(225),
7500 Elements::Eq32 => Cost::from_milliweight(88),
7501 Elements::Eq64 => Cost::from_milliweight(100),
7502 Elements::Eq8 => Cost::from_milliweight(95),
7503 Elements::FeAdd => Cost::from_milliweight(755),
7504 Elements::FeInvert => Cost::from_milliweight(3175),
7505 Elements::FeIsOdd => Cost::from_milliweight(290),
7506 Elements::FeIsZero => Cost::from_milliweight(268),
7507 Elements::FeMultiply => Cost::from_milliweight(808),
7508 Elements::FeMultiplyBeta => Cost::from_milliweight(579),
7509 Elements::FeNegate => Cost::from_milliweight(531),
7510 Elements::FeNormalize => Cost::from_milliweight(521),
7511 Elements::FeSquare => Cost::from_milliweight(556),
7512 Elements::FeSquareRoot => Cost::from_milliweight(10275),
7513 Elements::FullAdd16 => Cost::from_milliweight(121),
7514 Elements::FullAdd32 => Cost::from_milliweight(119),
7515 Elements::FullAdd64 => Cost::from_milliweight(121),
7516 Elements::FullAdd8 => Cost::from_milliweight(127),
7517 Elements::FullDecrement16 => Cost::from_milliweight(92),
7518 Elements::FullDecrement32 => Cost::from_milliweight(107),
7519 Elements::FullDecrement64 => Cost::from_milliweight(81),
7520 Elements::FullDecrement8 => Cost::from_milliweight(91),
7521 Elements::FullIncrement16 => Cost::from_milliweight(89),
7522 Elements::FullIncrement32 => Cost::from_milliweight(104),
7523 Elements::FullIncrement64 => Cost::from_milliweight(99),
7524 Elements::FullIncrement8 => Cost::from_milliweight(72),
7525 Elements::FullLeftShift16_1 => Cost::from_milliweight(83),
7526 Elements::FullLeftShift16_2 => Cost::from_milliweight(83),
7527 Elements::FullLeftShift16_4 => Cost::from_milliweight(89),
7528 Elements::FullLeftShift16_8 => Cost::from_milliweight(65),
7529 Elements::FullLeftShift32_1 => Cost::from_milliweight(84),
7530 Elements::FullLeftShift32_16 => Cost::from_milliweight(81),
7531 Elements::FullLeftShift32_2 => Cost::from_milliweight(67),
7532 Elements::FullLeftShift32_4 => Cost::from_milliweight(84),
7533 Elements::FullLeftShift32_8 => Cost::from_milliweight(91),
7534 Elements::FullLeftShift64_1 => Cost::from_milliweight(99),
7535 Elements::FullLeftShift64_16 => Cost::from_milliweight(90),
7536 Elements::FullLeftShift64_2 => Cost::from_milliweight(94),
7537 Elements::FullLeftShift64_32 => Cost::from_milliweight(86),
7538 Elements::FullLeftShift64_4 => Cost::from_milliweight(94),
7539 Elements::FullLeftShift64_8 => Cost::from_milliweight(86),
7540 Elements::FullLeftShift8_1 => Cost::from_milliweight(96),
7541 Elements::FullLeftShift8_2 => Cost::from_milliweight(96),
7542 Elements::FullLeftShift8_4 => Cost::from_milliweight(85),
7543 Elements::FullMultiply16 => Cost::from_milliweight(112),
7544 Elements::FullMultiply32 => Cost::from_milliweight(96),
7545 Elements::FullMultiply64 => Cost::from_milliweight(127),
7546 Elements::FullMultiply8 => Cost::from_milliweight(109),
7547 Elements::FullRightShift16_1 => Cost::from_milliweight(80),
7548 Elements::FullRightShift16_2 => Cost::from_milliweight(79),
7549 Elements::FullRightShift16_4 => Cost::from_milliweight(88),
7550 Elements::FullRightShift16_8 => Cost::from_milliweight(57),
7551 Elements::FullRightShift32_1 => Cost::from_milliweight(74),
7552 Elements::FullRightShift32_16 => Cost::from_milliweight(64),
7553 Elements::FullRightShift32_2 => Cost::from_milliweight(63),
7554 Elements::FullRightShift32_4 => Cost::from_milliweight(71),
7555 Elements::FullRightShift32_8 => Cost::from_milliweight(84),
7556 Elements::FullRightShift64_1 => Cost::from_milliweight(99),
7557 Elements::FullRightShift64_16 => Cost::from_milliweight(86),
7558 Elements::FullRightShift64_2 => Cost::from_milliweight(86),
7559 Elements::FullRightShift64_32 => Cost::from_milliweight(73),
7560 Elements::FullRightShift64_4 => Cost::from_milliweight(93),
7561 Elements::FullRightShift64_8 => Cost::from_milliweight(99),
7562 Elements::FullRightShift8_1 => Cost::from_milliweight(88),
7563 Elements::FullRightShift8_2 => Cost::from_milliweight(86),
7564 Elements::FullRightShift8_4 => Cost::from_milliweight(89),
7565 Elements::FullSubtract16 => Cost::from_milliweight(121),
7566 Elements::FullSubtract32 => Cost::from_milliweight(116),
7567 Elements::FullSubtract64 => Cost::from_milliweight(98),
7568 Elements::FullSubtract8 => Cost::from_milliweight(126),
7569 Elements::GeIsOnCurve => Cost::from_milliweight(642),
7570 Elements::GeNegate => Cost::from_milliweight(945),
7571 Elements::GejAdd => Cost::from_milliweight(2897),
7572 Elements::GejDouble => Cost::from_milliweight(1764),
7573 Elements::GejEquiv => Cost::from_milliweight(2220),
7574 Elements::GejGeAdd => Cost::from_milliweight(2477),
7575 Elements::GejGeAddEx => Cost::from_milliweight(2719),
7576 Elements::GejGeEquiv => Cost::from_milliweight(1765),
7577 Elements::GejInfinity => Cost::from_milliweight(716),
7578 Elements::GejIsInfinity => Cost::from_milliweight(666),
7579 Elements::GejIsOnCurve => Cost::from_milliweight(1016),
7580 Elements::GejNegate => Cost::from_milliweight(1381),
7581 Elements::GejNormalize => Cost::from_milliweight(4099),
7582 Elements::GejRescale => Cost::from_milliweight(1908),
7583 Elements::GejXEquiv => Cost::from_milliweight(1047),
7584 Elements::GejYIsOdd => Cost::from_milliweight(3651),
7585 Elements::Generate => Cost::from_milliweight(50071),
7586 Elements::GenesisBlockHash => Cost::from_milliweight(148),
7587 Elements::HashToCurve => Cost::from_milliweight(68094),
7588 Elements::High1 => Cost::from_milliweight(57),
7589 Elements::High16 => Cost::from_milliweight(66),
7590 Elements::High32 => Cost::from_milliweight(58),
7591 Elements::High64 => Cost::from_milliweight(68),
7592 Elements::High8 => Cost::from_milliweight(59),
7593 Elements::Increment16 => Cost::from_milliweight(69),
7594 Elements::Increment32 => Cost::from_milliweight(92),
7595 Elements::Increment64 => Cost::from_milliweight(87),
7596 Elements::Increment8 => Cost::from_milliweight(85),
7597 Elements::InputAmount => Cost::from_milliweight(285),
7598 Elements::InputAmountsHash => Cost::from_milliweight(140),
7599 Elements::InputAnnexHash => Cost::from_milliweight(90),
7600 Elements::InputAnnexesHash => Cost::from_milliweight(155),
7601 Elements::InputAsset => Cost::from_milliweight(162),
7602 Elements::InputHash => Cost::from_milliweight(965),
7603 Elements::InputOutpointsHash => Cost::from_milliweight(142),
7604 Elements::InputPegin => Cost::from_milliweight(151),
7605 Elements::InputPrevOutpoint => Cost::from_milliweight(160),
7606 Elements::InputScriptHash => Cost::from_milliweight(147),
7607 Elements::InputScriptSigHash => Cost::from_milliweight(153),
7608 Elements::InputScriptSigsHash => Cost::from_milliweight(138),
7609 Elements::InputScriptsHash => Cost::from_milliweight(137),
7610 Elements::InputSequence => Cost::from_milliweight(99),
7611 Elements::InputSequencesHash => Cost::from_milliweight(142),
7612 Elements::InputUtxoHash => Cost::from_milliweight(1996),
7613 Elements::InputUtxosHash => Cost::from_milliweight(140),
7614 Elements::InputsHash => Cost::from_milliweight(154),
7615 Elements::InternalKey => Cost::from_milliweight(152),
7616 Elements::IsOne16 => Cost::from_milliweight(82),
7617 Elements::IsOne32 => Cost::from_milliweight(65),
7618 Elements::IsOne64 => Cost::from_milliweight(83),
7619 Elements::IsOne8 => Cost::from_milliweight(91),
7620 Elements::IsZero16 => Cost::from_milliweight(75),
7621 Elements::IsZero32 => Cost::from_milliweight(85),
7622 Elements::IsZero64 => Cost::from_milliweight(80),
7623 Elements::IsZero8 => Cost::from_milliweight(77),
7624 Elements::Issuance => Cost::from_milliweight(91),
7625 Elements::IssuanceAsset => Cost::from_milliweight(151),
7626 Elements::IssuanceAssetAmount => Cost::from_milliweight(162),
7627 Elements::IssuanceAssetAmountsHash => Cost::from_milliweight(139),
7628 Elements::IssuanceAssetProof => Cost::from_milliweight(150),
7629 Elements::IssuanceBlindingEntropyHash => Cost::from_milliweight(129),
7630 Elements::IssuanceEntropy => Cost::from_milliweight(153),
7631 Elements::IssuanceHash => Cost::from_milliweight(3738),
7632 Elements::IssuanceRangeProofsHash => Cost::from_milliweight(129),
7633 Elements::IssuanceToken => Cost::from_milliweight(149),
7634 Elements::IssuanceTokenAmount => Cost::from_milliweight(196),
7635 Elements::IssuanceTokenAmountsHash => Cost::from_milliweight(138),
7636 Elements::IssuanceTokenProof => Cost::from_milliweight(150),
7637 Elements::IssuancesHash => Cost::from_milliweight(141),
7638 Elements::LbtcAsset => Cost::from_milliweight(145),
7639 Elements::Le16 => Cost::from_milliweight(112),
7640 Elements::Le32 => Cost::from_milliweight(93),
7641 Elements::Le64 => Cost::from_milliweight(93),
7642 Elements::Le8 => Cost::from_milliweight(109),
7643 Elements::LeftExtend16_32 => Cost::from_milliweight(86),
7644 Elements::LeftExtend16_64 => Cost::from_milliweight(89),
7645 Elements::LeftExtend1_16 => Cost::from_milliweight(67),
7646 Elements::LeftExtend1_32 => Cost::from_milliweight(60),
7647 Elements::LeftExtend1_64 => Cost::from_milliweight(76),
7648 Elements::LeftExtend1_8 => Cost::from_milliweight(65),
7649 Elements::LeftExtend32_64 => Cost::from_milliweight(63),
7650 Elements::LeftExtend8_16 => Cost::from_milliweight(88),
7651 Elements::LeftExtend8_32 => Cost::from_milliweight(90),
7652 Elements::LeftExtend8_64 => Cost::from_milliweight(107),
7653 Elements::LeftPadHigh16_32 => Cost::from_milliweight(91),
7654 Elements::LeftPadHigh16_64 => Cost::from_milliweight(110),
7655 Elements::LeftPadHigh1_16 => Cost::from_milliweight(141),
7656 Elements::LeftPadHigh1_32 => Cost::from_milliweight(263),
7657 Elements::LeftPadHigh1_64 => Cost::from_milliweight(422),
7658 Elements::LeftPadHigh1_8 => Cost::from_milliweight(99),
7659 Elements::LeftPadHigh32_64 => Cost::from_milliweight(93),
7660 Elements::LeftPadHigh8_16 => Cost::from_milliweight(88),
7661 Elements::LeftPadHigh8_32 => Cost::from_milliweight(103),
7662 Elements::LeftPadHigh8_64 => Cost::from_milliweight(136),
7663 Elements::LeftPadLow16_32 => Cost::from_milliweight(69),
7664 Elements::LeftPadLow16_64 => Cost::from_milliweight(106),
7665 Elements::LeftPadLow1_16 => Cost::from_milliweight(65),
7666 Elements::LeftPadLow1_32 => Cost::from_milliweight(63),
7667 Elements::LeftPadLow1_64 => Cost::from_milliweight(61),
7668 Elements::LeftPadLow1_8 => Cost::from_milliweight(56),
7669 Elements::LeftPadLow32_64 => Cost::from_milliweight(91),
7670 Elements::LeftPadLow8_16 => Cost::from_milliweight(66),
7671 Elements::LeftPadLow8_32 => Cost::from_milliweight(61),
7672 Elements::LeftPadLow8_64 => Cost::from_milliweight(112),
7673 Elements::LeftRotate16 => Cost::from_milliweight(77),
7674 Elements::LeftRotate32 => Cost::from_milliweight(106),
7675 Elements::LeftRotate64 => Cost::from_milliweight(98),
7676 Elements::LeftRotate8 => Cost::from_milliweight(88),
7677 Elements::LeftShift16 => Cost::from_milliweight(72),
7678 Elements::LeftShift32 => Cost::from_milliweight(78),
7679 Elements::LeftShift64 => Cost::from_milliweight(82),
7680 Elements::LeftShift8 => Cost::from_milliweight(91),
7681 Elements::LeftShiftWith16 => Cost::from_milliweight(83),
7682 Elements::LeftShiftWith32 => Cost::from_milliweight(95),
7683 Elements::LeftShiftWith64 => Cost::from_milliweight(103),
7684 Elements::LeftShiftWith8 => Cost::from_milliweight(107),
7685 Elements::Leftmost16_1 => Cost::from_milliweight(93),
7686 Elements::Leftmost16_2 => Cost::from_milliweight(90),
7687 Elements::Leftmost16_4 => Cost::from_milliweight(75),
7688 Elements::Leftmost16_8 => Cost::from_milliweight(71),
7689 Elements::Leftmost32_1 => Cost::from_milliweight(77),
7690 Elements::Leftmost32_16 => Cost::from_milliweight(102),
7691 Elements::Leftmost32_2 => Cost::from_milliweight(66),
7692 Elements::Leftmost32_4 => Cost::from_milliweight(52),
7693 Elements::Leftmost32_8 => Cost::from_milliweight(103),
7694 Elements::Leftmost64_1 => Cost::from_milliweight(78),
7695 Elements::Leftmost64_16 => Cost::from_milliweight(88),
7696 Elements::Leftmost64_2 => Cost::from_milliweight(71),
7697 Elements::Leftmost64_32 => Cost::from_milliweight(90),
7698 Elements::Leftmost64_4 => Cost::from_milliweight(79),
7699 Elements::Leftmost64_8 => Cost::from_milliweight(86),
7700 Elements::Leftmost8_1 => Cost::from_milliweight(90),
7701 Elements::Leftmost8_2 => Cost::from_milliweight(90),
7702 Elements::Leftmost8_4 => Cost::from_milliweight(87),
7703 Elements::LinearCombination1 => Cost::from_milliweight(84674),
7704 Elements::LinearVerify1 => Cost::from_milliweight(43364),
7705 Elements::LockTime => Cost::from_milliweight(85),
7706 Elements::Low1 => Cost::from_milliweight(38),
7707 Elements::Low16 => Cost::from_milliweight(69),
7708 Elements::Low32 => Cost::from_milliweight(62),
7709 Elements::Low64 => Cost::from_milliweight(47),
7710 Elements::Low8 => Cost::from_milliweight(47),
7711 Elements::Lt16 => Cost::from_milliweight(123),
7712 Elements::Lt32 => Cost::from_milliweight(107),
7713 Elements::Lt64 => Cost::from_milliweight(76),
7714 Elements::Lt8 => Cost::from_milliweight(107),
7715 Elements::Maj1 => Cost::from_milliweight(62),
7716 Elements::Maj16 => Cost::from_milliweight(80),
7717 Elements::Maj32 => Cost::from_milliweight(96),
7718 Elements::Maj64 => Cost::from_milliweight(93),
7719 Elements::Maj8 => Cost::from_milliweight(94),
7720 Elements::Max16 => Cost::from_milliweight(114),
7721 Elements::Max32 => Cost::from_milliweight(92),
7722 Elements::Max64 => Cost::from_milliweight(104),
7723 Elements::Max8 => Cost::from_milliweight(96),
7724 Elements::Median16 => Cost::from_milliweight(123),
7725 Elements::Median32 => Cost::from_milliweight(101),
7726 Elements::Median64 => Cost::from_milliweight(109),
7727 Elements::Median8 => Cost::from_milliweight(122),
7728 Elements::Min16 => Cost::from_milliweight(97),
7729 Elements::Min32 => Cost::from_milliweight(113),
7730 Elements::Min64 => Cost::from_milliweight(102),
7731 Elements::Min8 => Cost::from_milliweight(99),
7732 Elements::Modulo16 => Cost::from_milliweight(103),
7733 Elements::Modulo32 => Cost::from_milliweight(102),
7734 Elements::Modulo64 => Cost::from_milliweight(85),
7735 Elements::Modulo8 => Cost::from_milliweight(102),
7736 Elements::Multiply16 => Cost::from_milliweight(90),
7737 Elements::Multiply32 => Cost::from_milliweight(90),
7738 Elements::Multiply64 => Cost::from_milliweight(85),
7739 Elements::Multiply8 => Cost::from_milliweight(93),
7740 Elements::Negate16 => Cost::from_milliweight(70),
7741 Elements::Negate32 => Cost::from_milliweight(85),
7742 Elements::Negate64 => Cost::from_milliweight(94),
7743 Elements::Negate8 => Cost::from_milliweight(91),
7744 Elements::NewIssuanceContract => Cost::from_milliweight(157),
7745 Elements::NonceHash => Cost::from_milliweight(317),
7746 Elements::NumInputs => Cost::from_milliweight(86),
7747 Elements::NumOutputs => Cost::from_milliweight(79),
7748 Elements::One16 => Cost::from_milliweight(60),
7749 Elements::One32 => Cost::from_milliweight(59),
7750 Elements::One64 => Cost::from_milliweight(59),
7751 Elements::One8 => Cost::from_milliweight(62),
7752 Elements::Or1 => Cost::from_milliweight(77),
7753 Elements::Or16 => Cost::from_milliweight(94),
7754 Elements::Or32 => Cost::from_milliweight(105),
7755 Elements::Or64 => Cost::from_milliweight(99),
7756 Elements::Or8 => Cost::from_milliweight(93),
7757 Elements::OutpointHash => Cost::from_milliweight(319),
7758 Elements::OutputAmount => Cost::from_milliweight(298),
7759 Elements::OutputAmountsHash => Cost::from_milliweight(140),
7760 Elements::OutputAsset => Cost::from_milliweight(170),
7761 Elements::OutputHash => Cost::from_milliweight(2849),
7762 Elements::OutputIsFee => Cost::from_milliweight(92),
7763 Elements::OutputNonce => Cost::from_milliweight(196),
7764 Elements::OutputNoncesHash => Cost::from_milliweight(151),
7765 Elements::OutputNullDatum => Cost::from_milliweight(87),
7766 Elements::OutputRangeProof => Cost::from_milliweight(154),
7767 Elements::OutputRangeProofsHash => Cost::from_milliweight(136),
7768 Elements::OutputScriptHash => Cost::from_milliweight(151),
7769 Elements::OutputScriptsHash => Cost::from_milliweight(142),
7770 Elements::OutputSurjectionProof => Cost::from_milliweight(151),
7771 Elements::OutputSurjectionProofsHash => Cost::from_milliweight(138),
7772 Elements::OutputsHash => Cost::from_milliweight(135),
7773 Elements::ParseLock => Cost::from_milliweight(97),
7774 Elements::ParseSequence => Cost::from_milliweight(116),
7775 Elements::PointVerify1 => Cost::from_milliweight(41494),
7776 Elements::ReissuanceBlinding => Cost::from_milliweight(91),
7777 Elements::ReissuanceEntropy => Cost::from_milliweight(93),
7778 Elements::RightExtend16_32 => Cost::from_milliweight(74),
7779 Elements::RightExtend16_64 => Cost::from_milliweight(82),
7780 Elements::RightExtend32_64 => Cost::from_milliweight(94),
7781 Elements::RightExtend8_16 => Cost::from_milliweight(76),
7782 Elements::RightExtend8_32 => Cost::from_milliweight(106),
7783 Elements::RightExtend8_64 => Cost::from_milliweight(124),
7784 Elements::RightPadHigh16_32 => Cost::from_milliweight(70),
7785 Elements::RightPadHigh16_64 => Cost::from_milliweight(88),
7786 Elements::RightPadHigh1_16 => Cost::from_milliweight(143),
7787 Elements::RightPadHigh1_32 => Cost::from_milliweight(223),
7788 Elements::RightPadHigh1_64 => Cost::from_milliweight(476),
7789 Elements::RightPadHigh1_8 => Cost::from_milliweight(107),
7790 Elements::RightPadHigh32_64 => Cost::from_milliweight(94),
7791 Elements::RightPadHigh8_16 => Cost::from_milliweight(89),
7792 Elements::RightPadHigh8_32 => Cost::from_milliweight(110),
7793 Elements::RightPadHigh8_64 => Cost::from_milliweight(107),
7794 Elements::RightPadLow16_32 => Cost::from_milliweight(71),
7795 Elements::RightPadLow16_64 => Cost::from_milliweight(96),
7796 Elements::RightPadLow1_16 => Cost::from_milliweight(81),
7797 Elements::RightPadLow1_32 => Cost::from_milliweight(75),
7798 Elements::RightPadLow1_64 => Cost::from_milliweight(73),
7799 Elements::RightPadLow1_8 => Cost::from_milliweight(68),
7800 Elements::RightPadLow32_64 => Cost::from_milliweight(80),
7801 Elements::RightPadLow8_16 => Cost::from_milliweight(75),
7802 Elements::RightPadLow8_32 => Cost::from_milliweight(77),
7803 Elements::RightPadLow8_64 => Cost::from_milliweight(82),
7804 Elements::RightRotate16 => Cost::from_milliweight(99),
7805 Elements::RightRotate32 => Cost::from_milliweight(92),
7806 Elements::RightRotate64 => Cost::from_milliweight(93),
7807 Elements::RightRotate8 => Cost::from_milliweight(75),
7808 Elements::RightShift16 => Cost::from_milliweight(84),
7809 Elements::RightShift32 => Cost::from_milliweight(88),
7810 Elements::RightShift64 => Cost::from_milliweight(91),
7811 Elements::RightShift8 => Cost::from_milliweight(88),
7812 Elements::RightShiftWith16 => Cost::from_milliweight(105),
7813 Elements::RightShiftWith32 => Cost::from_milliweight(92),
7814 Elements::RightShiftWith64 => Cost::from_milliweight(97),
7815 Elements::RightShiftWith8 => Cost::from_milliweight(103),
7816 Elements::Rightmost16_1 => Cost::from_milliweight(70),
7817 Elements::Rightmost16_2 => Cost::from_milliweight(82),
7818 Elements::Rightmost16_4 => Cost::from_milliweight(76),
7819 Elements::Rightmost16_8 => Cost::from_milliweight(69),
7820 Elements::Rightmost32_1 => Cost::from_milliweight(90),
7821 Elements::Rightmost32_16 => Cost::from_milliweight(64),
7822 Elements::Rightmost32_2 => Cost::from_milliweight(74),
7823 Elements::Rightmost32_4 => Cost::from_milliweight(92),
7824 Elements::Rightmost32_8 => Cost::from_milliweight(78),
7825 Elements::Rightmost64_1 => Cost::from_milliweight(77),
7826 Elements::Rightmost64_16 => Cost::from_milliweight(86),
7827 Elements::Rightmost64_2 => Cost::from_milliweight(74),
7828 Elements::Rightmost64_32 => Cost::from_milliweight(76),
7829 Elements::Rightmost64_4 => Cost::from_milliweight(70),
7830 Elements::Rightmost64_8 => Cost::from_milliweight(69),
7831 Elements::Rightmost8_1 => Cost::from_milliweight(79),
7832 Elements::Rightmost8_2 => Cost::from_milliweight(98),
7833 Elements::Rightmost8_4 => Cost::from_milliweight(98),
7834 Elements::ScalarAdd => Cost::from_milliweight(739),
7835 Elements::ScalarInvert => Cost::from_milliweight(3193),
7836 Elements::ScalarIsZero => Cost::from_milliweight(271),
7837 Elements::ScalarMultiply => Cost::from_milliweight(774),
7838 Elements::ScalarMultiplyLambda => Cost::from_milliweight(557),
7839 Elements::ScalarNegate => Cost::from_milliweight(490),
7840 Elements::ScalarNormalize => Cost::from_milliweight(472),
7841 Elements::ScalarSquare => Cost::from_milliweight(575),
7842 Elements::Scale => Cost::from_milliweight(72675),
7843 Elements::ScriptCMR => Cost::from_milliweight(136),
7844 Elements::Sha256Block => Cost::from_milliweight(771),
7845 Elements::Sha256Ctx8Add1 => Cost::from_milliweight(642),
7846 Elements::Sha256Ctx8Add128 => Cost::from_milliweight(1779),
7847 Elements::Sha256Ctx8Add16 => Cost::from_milliweight(747),
7848 Elements::Sha256Ctx8Add2 => Cost::from_milliweight(661),
7849 Elements::Sha256Ctx8Add256 => Cost::from_milliweight(2912),
7850 Elements::Sha256Ctx8Add32 => Cost::from_milliweight(896),
7851 Elements::Sha256Ctx8Add4 => Cost::from_milliweight(645),
7852 Elements::Sha256Ctx8Add512 => Cost::from_milliweight(5299),
7853 Elements::Sha256Ctx8Add64 => Cost::from_milliweight(1187),
7854 Elements::Sha256Ctx8Add8 => Cost::from_milliweight(674),
7855 Elements::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(5060),
7856 Elements::Sha256Ctx8Finalize => Cost::from_milliweight(835),
7857 Elements::Sha256Ctx8Init => Cost::from_milliweight(118),
7858 Elements::Sha256Iv => Cost::from_milliweight(93),
7859 Elements::SigAllHash => Cost::from_milliweight(133),
7860 Elements::Some1 => Cost::from_milliweight(70),
7861 Elements::Some16 => Cost::from_milliweight(63),
7862 Elements::Some32 => Cost::from_milliweight(64),
7863 Elements::Some64 => Cost::from_milliweight(93),
7864 Elements::Some8 => Cost::from_milliweight(75),
7865 Elements::Subtract16 => Cost::from_milliweight(113),
7866 Elements::Subtract32 => Cost::from_milliweight(118),
7867 Elements::Subtract64 => Cost::from_milliweight(115),
7868 Elements::Subtract8 => Cost::from_milliweight(109),
7869 Elements::Swu => Cost::from_milliweight(32120),
7870 Elements::TapEnvHash => Cost::from_milliweight(162),
7871 Elements::TapdataInit => Cost::from_milliweight(1178),
7872 Elements::TapleafHash => Cost::from_milliweight(136),
7873 Elements::TapleafVersion => Cost::from_milliweight(105),
7874 Elements::Tappath => Cost::from_milliweight(83),
7875 Elements::TappathHash => Cost::from_milliweight(143),
7876 Elements::TotalFee => Cost::from_milliweight(230),
7877 Elements::TransactionId => Cost::from_milliweight(139),
7878 Elements::TxHash => Cost::from_milliweight(143),
7879 Elements::TxIsFinal => Cost::from_milliweight(71),
7880 Elements::TxLockHeight => Cost::from_milliweight(80),
7881 Elements::TxLockTime => Cost::from_milliweight(80),
7882 Elements::Verify => Cost::from_milliweight(57),
7883 Elements::Version => Cost::from_milliweight(93),
7884 Elements::Xor1 => Cost::from_milliweight(67),
7885 Elements::Xor16 => Cost::from_milliweight(83),
7886 Elements::Xor32 => Cost::from_milliweight(92),
7887 Elements::Xor64 => Cost::from_milliweight(95),
7888 Elements::Xor8 => Cost::from_milliweight(85),
7889 Elements::XorXor1 => Cost::from_milliweight(72),
7890 Elements::XorXor16 => Cost::from_milliweight(79),
7891 Elements::XorXor32 => Cost::from_milliweight(96),
7892 Elements::XorXor64 => Cost::from_milliweight(93),
7893 Elements::XorXor8 => Cost::from_milliweight(98),
7894 }
7895 }
7896
7897 fn parse(s: &str) -> Result<Self, crate::Error> where Self: Sized {
7898 str::FromStr::from_str(s)
7899 }
7900}
7901
7902impl fmt::Display for Elements {
7903 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7904 match self {
7905 Elements::Add16 => f.write_str("add_16"),
7906 Elements::Add32 => f.write_str("add_32"),
7907 Elements::Add64 => f.write_str("add_64"),
7908 Elements::Add8 => f.write_str("add_8"),
7909 Elements::All16 => f.write_str("all_16"),
7910 Elements::All32 => f.write_str("all_32"),
7911 Elements::All64 => f.write_str("all_64"),
7912 Elements::All8 => f.write_str("all_8"),
7913 Elements::And1 => f.write_str("and_1"),
7914 Elements::And16 => f.write_str("and_16"),
7915 Elements::And32 => f.write_str("and_32"),
7916 Elements::And64 => f.write_str("and_64"),
7917 Elements::And8 => f.write_str("and_8"),
7918 Elements::AnnexHash => f.write_str("annex_hash"),
7919 Elements::AssetAmountHash => f.write_str("asset_amount_hash"),
7920 Elements::Bip0340Verify => f.write_str("bip_0340_verify"),
7921 Elements::BrokenDoNotUseCheckLockDistance => f.write_str("broken_do_not_use_check_lock_distance"),
7922 Elements::BrokenDoNotUseCheckLockDuration => f.write_str("broken_do_not_use_check_lock_duration"),
7923 Elements::BrokenDoNotUseTxLockDistance => f.write_str("broken_do_not_use_tx_lock_distance"),
7924 Elements::BrokenDoNotUseTxLockDuration => f.write_str("broken_do_not_use_tx_lock_duration"),
7925 Elements::BuildTapbranch => f.write_str("build_tapbranch"),
7926 Elements::BuildTapleafSimplicity => f.write_str("build_tapleaf_simplicity"),
7927 Elements::BuildTaptweak => f.write_str("build_taptweak"),
7928 Elements::CalculateAsset => f.write_str("calculate_asset"),
7929 Elements::CalculateConfidentialToken => f.write_str("calculate_confidential_token"),
7930 Elements::CalculateExplicitToken => f.write_str("calculate_explicit_token"),
7931 Elements::CalculateIssuanceEntropy => f.write_str("calculate_issuance_entropy"),
7932 Elements::Ch1 => f.write_str("ch_1"),
7933 Elements::Ch16 => f.write_str("ch_16"),
7934 Elements::Ch32 => f.write_str("ch_32"),
7935 Elements::Ch64 => f.write_str("ch_64"),
7936 Elements::Ch8 => f.write_str("ch_8"),
7937 Elements::CheckLockHeight => f.write_str("check_lock_height"),
7938 Elements::CheckLockTime => f.write_str("check_lock_time"),
7939 Elements::CheckSigVerify => f.write_str("check_sig_verify"),
7940 Elements::Complement1 => f.write_str("complement_1"),
7941 Elements::Complement16 => f.write_str("complement_16"),
7942 Elements::Complement32 => f.write_str("complement_32"),
7943 Elements::Complement64 => f.write_str("complement_64"),
7944 Elements::Complement8 => f.write_str("complement_8"),
7945 Elements::CurrentAmount => f.write_str("current_amount"),
7946 Elements::CurrentAnnexHash => f.write_str("current_annex_hash"),
7947 Elements::CurrentAsset => f.write_str("current_asset"),
7948 Elements::CurrentIndex => f.write_str("current_index"),
7949 Elements::CurrentIssuanceAssetAmount => f.write_str("current_issuance_asset_amount"),
7950 Elements::CurrentIssuanceAssetProof => f.write_str("current_issuance_asset_proof"),
7951 Elements::CurrentIssuanceTokenAmount => f.write_str("current_issuance_token_amount"),
7952 Elements::CurrentIssuanceTokenProof => f.write_str("current_issuance_token_proof"),
7953 Elements::CurrentNewIssuanceContract => f.write_str("current_new_issuance_contract"),
7954 Elements::CurrentPegin => f.write_str("current_pegin"),
7955 Elements::CurrentPrevOutpoint => f.write_str("current_prev_outpoint"),
7956 Elements::CurrentReissuanceBlinding => f.write_str("current_reissuance_blinding"),
7957 Elements::CurrentReissuanceEntropy => f.write_str("current_reissuance_entropy"),
7958 Elements::CurrentScriptHash => f.write_str("current_script_hash"),
7959 Elements::CurrentScriptSigHash => f.write_str("current_script_sig_hash"),
7960 Elements::CurrentSequence => f.write_str("current_sequence"),
7961 Elements::Decompress => f.write_str("decompress"),
7962 Elements::Decrement16 => f.write_str("decrement_16"),
7963 Elements::Decrement32 => f.write_str("decrement_32"),
7964 Elements::Decrement64 => f.write_str("decrement_64"),
7965 Elements::Decrement8 => f.write_str("decrement_8"),
7966 Elements::DivMod128_64 => f.write_str("div_mod_128_64"),
7967 Elements::DivMod16 => f.write_str("div_mod_16"),
7968 Elements::DivMod32 => f.write_str("div_mod_32"),
7969 Elements::DivMod64 => f.write_str("div_mod_64"),
7970 Elements::DivMod8 => f.write_str("div_mod_8"),
7971 Elements::Divide16 => f.write_str("divide_16"),
7972 Elements::Divide32 => f.write_str("divide_32"),
7973 Elements::Divide64 => f.write_str("divide_64"),
7974 Elements::Divide8 => f.write_str("divide_8"),
7975 Elements::Divides16 => f.write_str("divides_16"),
7976 Elements::Divides32 => f.write_str("divides_32"),
7977 Elements::Divides64 => f.write_str("divides_64"),
7978 Elements::Divides8 => f.write_str("divides_8"),
7979 Elements::Eq1 => f.write_str("eq_1"),
7980 Elements::Eq16 => f.write_str("eq_16"),
7981 Elements::Eq256 => f.write_str("eq_256"),
7982 Elements::Eq32 => f.write_str("eq_32"),
7983 Elements::Eq64 => f.write_str("eq_64"),
7984 Elements::Eq8 => f.write_str("eq_8"),
7985 Elements::FeAdd => f.write_str("fe_add"),
7986 Elements::FeInvert => f.write_str("fe_invert"),
7987 Elements::FeIsOdd => f.write_str("fe_is_odd"),
7988 Elements::FeIsZero => f.write_str("fe_is_zero"),
7989 Elements::FeMultiply => f.write_str("fe_multiply"),
7990 Elements::FeMultiplyBeta => f.write_str("fe_multiply_beta"),
7991 Elements::FeNegate => f.write_str("fe_negate"),
7992 Elements::FeNormalize => f.write_str("fe_normalize"),
7993 Elements::FeSquare => f.write_str("fe_square"),
7994 Elements::FeSquareRoot => f.write_str("fe_square_root"),
7995 Elements::FullAdd16 => f.write_str("full_add_16"),
7996 Elements::FullAdd32 => f.write_str("full_add_32"),
7997 Elements::FullAdd64 => f.write_str("full_add_64"),
7998 Elements::FullAdd8 => f.write_str("full_add_8"),
7999 Elements::FullDecrement16 => f.write_str("full_decrement_16"),
8000 Elements::FullDecrement32 => f.write_str("full_decrement_32"),
8001 Elements::FullDecrement64 => f.write_str("full_decrement_64"),
8002 Elements::FullDecrement8 => f.write_str("full_decrement_8"),
8003 Elements::FullIncrement16 => f.write_str("full_increment_16"),
8004 Elements::FullIncrement32 => f.write_str("full_increment_32"),
8005 Elements::FullIncrement64 => f.write_str("full_increment_64"),
8006 Elements::FullIncrement8 => f.write_str("full_increment_8"),
8007 Elements::FullLeftShift16_1 => f.write_str("full_left_shift_16_1"),
8008 Elements::FullLeftShift16_2 => f.write_str("full_left_shift_16_2"),
8009 Elements::FullLeftShift16_4 => f.write_str("full_left_shift_16_4"),
8010 Elements::FullLeftShift16_8 => f.write_str("full_left_shift_16_8"),
8011 Elements::FullLeftShift32_1 => f.write_str("full_left_shift_32_1"),
8012 Elements::FullLeftShift32_16 => f.write_str("full_left_shift_32_16"),
8013 Elements::FullLeftShift32_2 => f.write_str("full_left_shift_32_2"),
8014 Elements::FullLeftShift32_4 => f.write_str("full_left_shift_32_4"),
8015 Elements::FullLeftShift32_8 => f.write_str("full_left_shift_32_8"),
8016 Elements::FullLeftShift64_1 => f.write_str("full_left_shift_64_1"),
8017 Elements::FullLeftShift64_16 => f.write_str("full_left_shift_64_16"),
8018 Elements::FullLeftShift64_2 => f.write_str("full_left_shift_64_2"),
8019 Elements::FullLeftShift64_32 => f.write_str("full_left_shift_64_32"),
8020 Elements::FullLeftShift64_4 => f.write_str("full_left_shift_64_4"),
8021 Elements::FullLeftShift64_8 => f.write_str("full_left_shift_64_8"),
8022 Elements::FullLeftShift8_1 => f.write_str("full_left_shift_8_1"),
8023 Elements::FullLeftShift8_2 => f.write_str("full_left_shift_8_2"),
8024 Elements::FullLeftShift8_4 => f.write_str("full_left_shift_8_4"),
8025 Elements::FullMultiply16 => f.write_str("full_multiply_16"),
8026 Elements::FullMultiply32 => f.write_str("full_multiply_32"),
8027 Elements::FullMultiply64 => f.write_str("full_multiply_64"),
8028 Elements::FullMultiply8 => f.write_str("full_multiply_8"),
8029 Elements::FullRightShift16_1 => f.write_str("full_right_shift_16_1"),
8030 Elements::FullRightShift16_2 => f.write_str("full_right_shift_16_2"),
8031 Elements::FullRightShift16_4 => f.write_str("full_right_shift_16_4"),
8032 Elements::FullRightShift16_8 => f.write_str("full_right_shift_16_8"),
8033 Elements::FullRightShift32_1 => f.write_str("full_right_shift_32_1"),
8034 Elements::FullRightShift32_16 => f.write_str("full_right_shift_32_16"),
8035 Elements::FullRightShift32_2 => f.write_str("full_right_shift_32_2"),
8036 Elements::FullRightShift32_4 => f.write_str("full_right_shift_32_4"),
8037 Elements::FullRightShift32_8 => f.write_str("full_right_shift_32_8"),
8038 Elements::FullRightShift64_1 => f.write_str("full_right_shift_64_1"),
8039 Elements::FullRightShift64_16 => f.write_str("full_right_shift_64_16"),
8040 Elements::FullRightShift64_2 => f.write_str("full_right_shift_64_2"),
8041 Elements::FullRightShift64_32 => f.write_str("full_right_shift_64_32"),
8042 Elements::FullRightShift64_4 => f.write_str("full_right_shift_64_4"),
8043 Elements::FullRightShift64_8 => f.write_str("full_right_shift_64_8"),
8044 Elements::FullRightShift8_1 => f.write_str("full_right_shift_8_1"),
8045 Elements::FullRightShift8_2 => f.write_str("full_right_shift_8_2"),
8046 Elements::FullRightShift8_4 => f.write_str("full_right_shift_8_4"),
8047 Elements::FullSubtract16 => f.write_str("full_subtract_16"),
8048 Elements::FullSubtract32 => f.write_str("full_subtract_32"),
8049 Elements::FullSubtract64 => f.write_str("full_subtract_64"),
8050 Elements::FullSubtract8 => f.write_str("full_subtract_8"),
8051 Elements::GeIsOnCurve => f.write_str("ge_is_on_curve"),
8052 Elements::GeNegate => f.write_str("ge_negate"),
8053 Elements::GejAdd => f.write_str("gej_add"),
8054 Elements::GejDouble => f.write_str("gej_double"),
8055 Elements::GejEquiv => f.write_str("gej_equiv"),
8056 Elements::GejGeAdd => f.write_str("gej_ge_add"),
8057 Elements::GejGeAddEx => f.write_str("gej_ge_add_ex"),
8058 Elements::GejGeEquiv => f.write_str("gej_ge_equiv"),
8059 Elements::GejInfinity => f.write_str("gej_infinity"),
8060 Elements::GejIsInfinity => f.write_str("gej_is_infinity"),
8061 Elements::GejIsOnCurve => f.write_str("gej_is_on_curve"),
8062 Elements::GejNegate => f.write_str("gej_negate"),
8063 Elements::GejNormalize => f.write_str("gej_normalize"),
8064 Elements::GejRescale => f.write_str("gej_rescale"),
8065 Elements::GejXEquiv => f.write_str("gej_x_equiv"),
8066 Elements::GejYIsOdd => f.write_str("gej_y_is_odd"),
8067 Elements::Generate => f.write_str("generate"),
8068 Elements::GenesisBlockHash => f.write_str("genesis_block_hash"),
8069 Elements::HashToCurve => f.write_str("hash_to_curve"),
8070 Elements::High1 => f.write_str("high_1"),
8071 Elements::High16 => f.write_str("high_16"),
8072 Elements::High32 => f.write_str("high_32"),
8073 Elements::High64 => f.write_str("high_64"),
8074 Elements::High8 => f.write_str("high_8"),
8075 Elements::Increment16 => f.write_str("increment_16"),
8076 Elements::Increment32 => f.write_str("increment_32"),
8077 Elements::Increment64 => f.write_str("increment_64"),
8078 Elements::Increment8 => f.write_str("increment_8"),
8079 Elements::InputAmount => f.write_str("input_amount"),
8080 Elements::InputAmountsHash => f.write_str("input_amounts_hash"),
8081 Elements::InputAnnexHash => f.write_str("input_annex_hash"),
8082 Elements::InputAnnexesHash => f.write_str("input_annexes_hash"),
8083 Elements::InputAsset => f.write_str("input_asset"),
8084 Elements::InputHash => f.write_str("input_hash"),
8085 Elements::InputOutpointsHash => f.write_str("input_outpoints_hash"),
8086 Elements::InputPegin => f.write_str("input_pegin"),
8087 Elements::InputPrevOutpoint => f.write_str("input_prev_outpoint"),
8088 Elements::InputScriptHash => f.write_str("input_script_hash"),
8089 Elements::InputScriptSigHash => f.write_str("input_script_sig_hash"),
8090 Elements::InputScriptSigsHash => f.write_str("input_script_sigs_hash"),
8091 Elements::InputScriptsHash => f.write_str("input_scripts_hash"),
8092 Elements::InputSequence => f.write_str("input_sequence"),
8093 Elements::InputSequencesHash => f.write_str("input_sequences_hash"),
8094 Elements::InputUtxoHash => f.write_str("input_utxo_hash"),
8095 Elements::InputUtxosHash => f.write_str("input_utxos_hash"),
8096 Elements::InputsHash => f.write_str("inputs_hash"),
8097 Elements::InternalKey => f.write_str("internal_key"),
8098 Elements::IsOne16 => f.write_str("is_one_16"),
8099 Elements::IsOne32 => f.write_str("is_one_32"),
8100 Elements::IsOne64 => f.write_str("is_one_64"),
8101 Elements::IsOne8 => f.write_str("is_one_8"),
8102 Elements::IsZero16 => f.write_str("is_zero_16"),
8103 Elements::IsZero32 => f.write_str("is_zero_32"),
8104 Elements::IsZero64 => f.write_str("is_zero_64"),
8105 Elements::IsZero8 => f.write_str("is_zero_8"),
8106 Elements::Issuance => f.write_str("issuance"),
8107 Elements::IssuanceAsset => f.write_str("issuance_asset"),
8108 Elements::IssuanceAssetAmount => f.write_str("issuance_asset_amount"),
8109 Elements::IssuanceAssetAmountsHash => f.write_str("issuance_asset_amounts_hash"),
8110 Elements::IssuanceAssetProof => f.write_str("issuance_asset_proof"),
8111 Elements::IssuanceBlindingEntropyHash => f.write_str("issuance_blinding_entropy_hash"),
8112 Elements::IssuanceEntropy => f.write_str("issuance_entropy"),
8113 Elements::IssuanceHash => f.write_str("issuance_hash"),
8114 Elements::IssuanceRangeProofsHash => f.write_str("issuance_range_proofs_hash"),
8115 Elements::IssuanceToken => f.write_str("issuance_token"),
8116 Elements::IssuanceTokenAmount => f.write_str("issuance_token_amount"),
8117 Elements::IssuanceTokenAmountsHash => f.write_str("issuance_token_amounts_hash"),
8118 Elements::IssuanceTokenProof => f.write_str("issuance_token_proof"),
8119 Elements::IssuancesHash => f.write_str("issuances_hash"),
8120 Elements::LbtcAsset => f.write_str("lbtc_asset"),
8121 Elements::Le16 => f.write_str("le_16"),
8122 Elements::Le32 => f.write_str("le_32"),
8123 Elements::Le64 => f.write_str("le_64"),
8124 Elements::Le8 => f.write_str("le_8"),
8125 Elements::LeftExtend16_32 => f.write_str("left_extend_16_32"),
8126 Elements::LeftExtend16_64 => f.write_str("left_extend_16_64"),
8127 Elements::LeftExtend1_16 => f.write_str("left_extend_1_16"),
8128 Elements::LeftExtend1_32 => f.write_str("left_extend_1_32"),
8129 Elements::LeftExtend1_64 => f.write_str("left_extend_1_64"),
8130 Elements::LeftExtend1_8 => f.write_str("left_extend_1_8"),
8131 Elements::LeftExtend32_64 => f.write_str("left_extend_32_64"),
8132 Elements::LeftExtend8_16 => f.write_str("left_extend_8_16"),
8133 Elements::LeftExtend8_32 => f.write_str("left_extend_8_32"),
8134 Elements::LeftExtend8_64 => f.write_str("left_extend_8_64"),
8135 Elements::LeftPadHigh16_32 => f.write_str("left_pad_high_16_32"),
8136 Elements::LeftPadHigh16_64 => f.write_str("left_pad_high_16_64"),
8137 Elements::LeftPadHigh1_16 => f.write_str("left_pad_high_1_16"),
8138 Elements::LeftPadHigh1_32 => f.write_str("left_pad_high_1_32"),
8139 Elements::LeftPadHigh1_64 => f.write_str("left_pad_high_1_64"),
8140 Elements::LeftPadHigh1_8 => f.write_str("left_pad_high_1_8"),
8141 Elements::LeftPadHigh32_64 => f.write_str("left_pad_high_32_64"),
8142 Elements::LeftPadHigh8_16 => f.write_str("left_pad_high_8_16"),
8143 Elements::LeftPadHigh8_32 => f.write_str("left_pad_high_8_32"),
8144 Elements::LeftPadHigh8_64 => f.write_str("left_pad_high_8_64"),
8145 Elements::LeftPadLow16_32 => f.write_str("left_pad_low_16_32"),
8146 Elements::LeftPadLow16_64 => f.write_str("left_pad_low_16_64"),
8147 Elements::LeftPadLow1_16 => f.write_str("left_pad_low_1_16"),
8148 Elements::LeftPadLow1_32 => f.write_str("left_pad_low_1_32"),
8149 Elements::LeftPadLow1_64 => f.write_str("left_pad_low_1_64"),
8150 Elements::LeftPadLow1_8 => f.write_str("left_pad_low_1_8"),
8151 Elements::LeftPadLow32_64 => f.write_str("left_pad_low_32_64"),
8152 Elements::LeftPadLow8_16 => f.write_str("left_pad_low_8_16"),
8153 Elements::LeftPadLow8_32 => f.write_str("left_pad_low_8_32"),
8154 Elements::LeftPadLow8_64 => f.write_str("left_pad_low_8_64"),
8155 Elements::LeftRotate16 => f.write_str("left_rotate_16"),
8156 Elements::LeftRotate32 => f.write_str("left_rotate_32"),
8157 Elements::LeftRotate64 => f.write_str("left_rotate_64"),
8158 Elements::LeftRotate8 => f.write_str("left_rotate_8"),
8159 Elements::LeftShift16 => f.write_str("left_shift_16"),
8160 Elements::LeftShift32 => f.write_str("left_shift_32"),
8161 Elements::LeftShift64 => f.write_str("left_shift_64"),
8162 Elements::LeftShift8 => f.write_str("left_shift_8"),
8163 Elements::LeftShiftWith16 => f.write_str("left_shift_with_16"),
8164 Elements::LeftShiftWith32 => f.write_str("left_shift_with_32"),
8165 Elements::LeftShiftWith64 => f.write_str("left_shift_with_64"),
8166 Elements::LeftShiftWith8 => f.write_str("left_shift_with_8"),
8167 Elements::Leftmost16_1 => f.write_str("leftmost_16_1"),
8168 Elements::Leftmost16_2 => f.write_str("leftmost_16_2"),
8169 Elements::Leftmost16_4 => f.write_str("leftmost_16_4"),
8170 Elements::Leftmost16_8 => f.write_str("leftmost_16_8"),
8171 Elements::Leftmost32_1 => f.write_str("leftmost_32_1"),
8172 Elements::Leftmost32_16 => f.write_str("leftmost_32_16"),
8173 Elements::Leftmost32_2 => f.write_str("leftmost_32_2"),
8174 Elements::Leftmost32_4 => f.write_str("leftmost_32_4"),
8175 Elements::Leftmost32_8 => f.write_str("leftmost_32_8"),
8176 Elements::Leftmost64_1 => f.write_str("leftmost_64_1"),
8177 Elements::Leftmost64_16 => f.write_str("leftmost_64_16"),
8178 Elements::Leftmost64_2 => f.write_str("leftmost_64_2"),
8179 Elements::Leftmost64_32 => f.write_str("leftmost_64_32"),
8180 Elements::Leftmost64_4 => f.write_str("leftmost_64_4"),
8181 Elements::Leftmost64_8 => f.write_str("leftmost_64_8"),
8182 Elements::Leftmost8_1 => f.write_str("leftmost_8_1"),
8183 Elements::Leftmost8_2 => f.write_str("leftmost_8_2"),
8184 Elements::Leftmost8_4 => f.write_str("leftmost_8_4"),
8185 Elements::LinearCombination1 => f.write_str("linear_combination_1"),
8186 Elements::LinearVerify1 => f.write_str("linear_verify_1"),
8187 Elements::LockTime => f.write_str("lock_time"),
8188 Elements::Low1 => f.write_str("low_1"),
8189 Elements::Low16 => f.write_str("low_16"),
8190 Elements::Low32 => f.write_str("low_32"),
8191 Elements::Low64 => f.write_str("low_64"),
8192 Elements::Low8 => f.write_str("low_8"),
8193 Elements::Lt16 => f.write_str("lt_16"),
8194 Elements::Lt32 => f.write_str("lt_32"),
8195 Elements::Lt64 => f.write_str("lt_64"),
8196 Elements::Lt8 => f.write_str("lt_8"),
8197 Elements::Maj1 => f.write_str("maj_1"),
8198 Elements::Maj16 => f.write_str("maj_16"),
8199 Elements::Maj32 => f.write_str("maj_32"),
8200 Elements::Maj64 => f.write_str("maj_64"),
8201 Elements::Maj8 => f.write_str("maj_8"),
8202 Elements::Max16 => f.write_str("max_16"),
8203 Elements::Max32 => f.write_str("max_32"),
8204 Elements::Max64 => f.write_str("max_64"),
8205 Elements::Max8 => f.write_str("max_8"),
8206 Elements::Median16 => f.write_str("median_16"),
8207 Elements::Median32 => f.write_str("median_32"),
8208 Elements::Median64 => f.write_str("median_64"),
8209 Elements::Median8 => f.write_str("median_8"),
8210 Elements::Min16 => f.write_str("min_16"),
8211 Elements::Min32 => f.write_str("min_32"),
8212 Elements::Min64 => f.write_str("min_64"),
8213 Elements::Min8 => f.write_str("min_8"),
8214 Elements::Modulo16 => f.write_str("modulo_16"),
8215 Elements::Modulo32 => f.write_str("modulo_32"),
8216 Elements::Modulo64 => f.write_str("modulo_64"),
8217 Elements::Modulo8 => f.write_str("modulo_8"),
8218 Elements::Multiply16 => f.write_str("multiply_16"),
8219 Elements::Multiply32 => f.write_str("multiply_32"),
8220 Elements::Multiply64 => f.write_str("multiply_64"),
8221 Elements::Multiply8 => f.write_str("multiply_8"),
8222 Elements::Negate16 => f.write_str("negate_16"),
8223 Elements::Negate32 => f.write_str("negate_32"),
8224 Elements::Negate64 => f.write_str("negate_64"),
8225 Elements::Negate8 => f.write_str("negate_8"),
8226 Elements::NewIssuanceContract => f.write_str("new_issuance_contract"),
8227 Elements::NonceHash => f.write_str("nonce_hash"),
8228 Elements::NumInputs => f.write_str("num_inputs"),
8229 Elements::NumOutputs => f.write_str("num_outputs"),
8230 Elements::One16 => f.write_str("one_16"),
8231 Elements::One32 => f.write_str("one_32"),
8232 Elements::One64 => f.write_str("one_64"),
8233 Elements::One8 => f.write_str("one_8"),
8234 Elements::Or1 => f.write_str("or_1"),
8235 Elements::Or16 => f.write_str("or_16"),
8236 Elements::Or32 => f.write_str("or_32"),
8237 Elements::Or64 => f.write_str("or_64"),
8238 Elements::Or8 => f.write_str("or_8"),
8239 Elements::OutpointHash => f.write_str("outpoint_hash"),
8240 Elements::OutputAmount => f.write_str("output_amount"),
8241 Elements::OutputAmountsHash => f.write_str("output_amounts_hash"),
8242 Elements::OutputAsset => f.write_str("output_asset"),
8243 Elements::OutputHash => f.write_str("output_hash"),
8244 Elements::OutputIsFee => f.write_str("output_is_fee"),
8245 Elements::OutputNonce => f.write_str("output_nonce"),
8246 Elements::OutputNoncesHash => f.write_str("output_nonces_hash"),
8247 Elements::OutputNullDatum => f.write_str("output_null_datum"),
8248 Elements::OutputRangeProof => f.write_str("output_range_proof"),
8249 Elements::OutputRangeProofsHash => f.write_str("output_range_proofs_hash"),
8250 Elements::OutputScriptHash => f.write_str("output_script_hash"),
8251 Elements::OutputScriptsHash => f.write_str("output_scripts_hash"),
8252 Elements::OutputSurjectionProof => f.write_str("output_surjection_proof"),
8253 Elements::OutputSurjectionProofsHash => f.write_str("output_surjection_proofs_hash"),
8254 Elements::OutputsHash => f.write_str("outputs_hash"),
8255 Elements::ParseLock => f.write_str("parse_lock"),
8256 Elements::ParseSequence => f.write_str("parse_sequence"),
8257 Elements::PointVerify1 => f.write_str("point_verify_1"),
8258 Elements::ReissuanceBlinding => f.write_str("reissuance_blinding"),
8259 Elements::ReissuanceEntropy => f.write_str("reissuance_entropy"),
8260 Elements::RightExtend16_32 => f.write_str("right_extend_16_32"),
8261 Elements::RightExtend16_64 => f.write_str("right_extend_16_64"),
8262 Elements::RightExtend32_64 => f.write_str("right_extend_32_64"),
8263 Elements::RightExtend8_16 => f.write_str("right_extend_8_16"),
8264 Elements::RightExtend8_32 => f.write_str("right_extend_8_32"),
8265 Elements::RightExtend8_64 => f.write_str("right_extend_8_64"),
8266 Elements::RightPadHigh16_32 => f.write_str("right_pad_high_16_32"),
8267 Elements::RightPadHigh16_64 => f.write_str("right_pad_high_16_64"),
8268 Elements::RightPadHigh1_16 => f.write_str("right_pad_high_1_16"),
8269 Elements::RightPadHigh1_32 => f.write_str("right_pad_high_1_32"),
8270 Elements::RightPadHigh1_64 => f.write_str("right_pad_high_1_64"),
8271 Elements::RightPadHigh1_8 => f.write_str("right_pad_high_1_8"),
8272 Elements::RightPadHigh32_64 => f.write_str("right_pad_high_32_64"),
8273 Elements::RightPadHigh8_16 => f.write_str("right_pad_high_8_16"),
8274 Elements::RightPadHigh8_32 => f.write_str("right_pad_high_8_32"),
8275 Elements::RightPadHigh8_64 => f.write_str("right_pad_high_8_64"),
8276 Elements::RightPadLow16_32 => f.write_str("right_pad_low_16_32"),
8277 Elements::RightPadLow16_64 => f.write_str("right_pad_low_16_64"),
8278 Elements::RightPadLow1_16 => f.write_str("right_pad_low_1_16"),
8279 Elements::RightPadLow1_32 => f.write_str("right_pad_low_1_32"),
8280 Elements::RightPadLow1_64 => f.write_str("right_pad_low_1_64"),
8281 Elements::RightPadLow1_8 => f.write_str("right_pad_low_1_8"),
8282 Elements::RightPadLow32_64 => f.write_str("right_pad_low_32_64"),
8283 Elements::RightPadLow8_16 => f.write_str("right_pad_low_8_16"),
8284 Elements::RightPadLow8_32 => f.write_str("right_pad_low_8_32"),
8285 Elements::RightPadLow8_64 => f.write_str("right_pad_low_8_64"),
8286 Elements::RightRotate16 => f.write_str("right_rotate_16"),
8287 Elements::RightRotate32 => f.write_str("right_rotate_32"),
8288 Elements::RightRotate64 => f.write_str("right_rotate_64"),
8289 Elements::RightRotate8 => f.write_str("right_rotate_8"),
8290 Elements::RightShift16 => f.write_str("right_shift_16"),
8291 Elements::RightShift32 => f.write_str("right_shift_32"),
8292 Elements::RightShift64 => f.write_str("right_shift_64"),
8293 Elements::RightShift8 => f.write_str("right_shift_8"),
8294 Elements::RightShiftWith16 => f.write_str("right_shift_with_16"),
8295 Elements::RightShiftWith32 => f.write_str("right_shift_with_32"),
8296 Elements::RightShiftWith64 => f.write_str("right_shift_with_64"),
8297 Elements::RightShiftWith8 => f.write_str("right_shift_with_8"),
8298 Elements::Rightmost16_1 => f.write_str("rightmost_16_1"),
8299 Elements::Rightmost16_2 => f.write_str("rightmost_16_2"),
8300 Elements::Rightmost16_4 => f.write_str("rightmost_16_4"),
8301 Elements::Rightmost16_8 => f.write_str("rightmost_16_8"),
8302 Elements::Rightmost32_1 => f.write_str("rightmost_32_1"),
8303 Elements::Rightmost32_16 => f.write_str("rightmost_32_16"),
8304 Elements::Rightmost32_2 => f.write_str("rightmost_32_2"),
8305 Elements::Rightmost32_4 => f.write_str("rightmost_32_4"),
8306 Elements::Rightmost32_8 => f.write_str("rightmost_32_8"),
8307 Elements::Rightmost64_1 => f.write_str("rightmost_64_1"),
8308 Elements::Rightmost64_16 => f.write_str("rightmost_64_16"),
8309 Elements::Rightmost64_2 => f.write_str("rightmost_64_2"),
8310 Elements::Rightmost64_32 => f.write_str("rightmost_64_32"),
8311 Elements::Rightmost64_4 => f.write_str("rightmost_64_4"),
8312 Elements::Rightmost64_8 => f.write_str("rightmost_64_8"),
8313 Elements::Rightmost8_1 => f.write_str("rightmost_8_1"),
8314 Elements::Rightmost8_2 => f.write_str("rightmost_8_2"),
8315 Elements::Rightmost8_4 => f.write_str("rightmost_8_4"),
8316 Elements::ScalarAdd => f.write_str("scalar_add"),
8317 Elements::ScalarInvert => f.write_str("scalar_invert"),
8318 Elements::ScalarIsZero => f.write_str("scalar_is_zero"),
8319 Elements::ScalarMultiply => f.write_str("scalar_multiply"),
8320 Elements::ScalarMultiplyLambda => f.write_str("scalar_multiply_lambda"),
8321 Elements::ScalarNegate => f.write_str("scalar_negate"),
8322 Elements::ScalarNormalize => f.write_str("scalar_normalize"),
8323 Elements::ScalarSquare => f.write_str("scalar_square"),
8324 Elements::Scale => f.write_str("scale"),
8325 Elements::ScriptCMR => f.write_str("script_cmr"),
8326 Elements::Sha256Block => f.write_str("sha_256_block"),
8327 Elements::Sha256Ctx8Add1 => f.write_str("sha_256_ctx_8_add_1"),
8328 Elements::Sha256Ctx8Add128 => f.write_str("sha_256_ctx_8_add_128"),
8329 Elements::Sha256Ctx8Add16 => f.write_str("sha_256_ctx_8_add_16"),
8330 Elements::Sha256Ctx8Add2 => f.write_str("sha_256_ctx_8_add_2"),
8331 Elements::Sha256Ctx8Add256 => f.write_str("sha_256_ctx_8_add_256"),
8332 Elements::Sha256Ctx8Add32 => f.write_str("sha_256_ctx_8_add_32"),
8333 Elements::Sha256Ctx8Add4 => f.write_str("sha_256_ctx_8_add_4"),
8334 Elements::Sha256Ctx8Add512 => f.write_str("sha_256_ctx_8_add_512"),
8335 Elements::Sha256Ctx8Add64 => f.write_str("sha_256_ctx_8_add_64"),
8336 Elements::Sha256Ctx8Add8 => f.write_str("sha_256_ctx_8_add_8"),
8337 Elements::Sha256Ctx8AddBuffer511 => f.write_str("sha_256_ctx_8_add_buffer_511"),
8338 Elements::Sha256Ctx8Finalize => f.write_str("sha_256_ctx_8_finalize"),
8339 Elements::Sha256Ctx8Init => f.write_str("sha_256_ctx_8_init"),
8340 Elements::Sha256Iv => f.write_str("sha_256_iv"),
8341 Elements::SigAllHash => f.write_str("sig_all_hash"),
8342 Elements::Some1 => f.write_str("some_1"),
8343 Elements::Some16 => f.write_str("some_16"),
8344 Elements::Some32 => f.write_str("some_32"),
8345 Elements::Some64 => f.write_str("some_64"),
8346 Elements::Some8 => f.write_str("some_8"),
8347 Elements::Subtract16 => f.write_str("subtract_16"),
8348 Elements::Subtract32 => f.write_str("subtract_32"),
8349 Elements::Subtract64 => f.write_str("subtract_64"),
8350 Elements::Subtract8 => f.write_str("subtract_8"),
8351 Elements::Swu => f.write_str("swu"),
8352 Elements::TapEnvHash => f.write_str("tap_env_hash"),
8353 Elements::TapdataInit => f.write_str("tapdata_init"),
8354 Elements::TapleafHash => f.write_str("tapleaf_hash"),
8355 Elements::TapleafVersion => f.write_str("tapleaf_version"),
8356 Elements::Tappath => f.write_str("tappath"),
8357 Elements::TappathHash => f.write_str("tappath_hash"),
8358 Elements::TotalFee => f.write_str("total_fee"),
8359 Elements::TransactionId => f.write_str("transaction_id"),
8360 Elements::TxHash => f.write_str("tx_hash"),
8361 Elements::TxIsFinal => f.write_str("tx_is_final"),
8362 Elements::TxLockHeight => f.write_str("tx_lock_height"),
8363 Elements::TxLockTime => f.write_str("tx_lock_time"),
8364 Elements::Verify => f.write_str("verify"),
8365 Elements::Version => f.write_str("version"),
8366 Elements::Xor1 => f.write_str("xor_1"),
8367 Elements::Xor16 => f.write_str("xor_16"),
8368 Elements::Xor32 => f.write_str("xor_32"),
8369 Elements::Xor64 => f.write_str("xor_64"),
8370 Elements::Xor8 => f.write_str("xor_8"),
8371 Elements::XorXor1 => f.write_str("xor_xor_1"),
8372 Elements::XorXor16 => f.write_str("xor_xor_16"),
8373 Elements::XorXor32 => f.write_str("xor_xor_32"),
8374 Elements::XorXor64 => f.write_str("xor_xor_64"),
8375 Elements::XorXor8 => f.write_str("xor_xor_8"),
8376 }
8377 }
8378}
8379
8380impl str::FromStr for Elements {
8381 type Err = crate::Error;
8382
8383 fn from_str(s: &str) -> Result<Self, Self::Err> {
8384 match s {
8385 "add_16" => Ok(Elements::Add16),
8386 "add_32" => Ok(Elements::Add32),
8387 "add_64" => Ok(Elements::Add64),
8388 "add_8" => Ok(Elements::Add8),
8389 "all_16" => Ok(Elements::All16),
8390 "all_32" => Ok(Elements::All32),
8391 "all_64" => Ok(Elements::All64),
8392 "all_8" => Ok(Elements::All8),
8393 "and_1" => Ok(Elements::And1),
8394 "and_16" => Ok(Elements::And16),
8395 "and_32" => Ok(Elements::And32),
8396 "and_64" => Ok(Elements::And64),
8397 "and_8" => Ok(Elements::And8),
8398 "annex_hash" => Ok(Elements::AnnexHash),
8399 "asset_amount_hash" => Ok(Elements::AssetAmountHash),
8400 "bip_0340_verify" => Ok(Elements::Bip0340Verify),
8401 "broken_do_not_use_check_lock_distance" => Ok(Elements::BrokenDoNotUseCheckLockDistance),
8402 "broken_do_not_use_check_lock_duration" => Ok(Elements::BrokenDoNotUseCheckLockDuration),
8403 "broken_do_not_use_tx_lock_distance" => Ok(Elements::BrokenDoNotUseTxLockDistance),
8404 "broken_do_not_use_tx_lock_duration" => Ok(Elements::BrokenDoNotUseTxLockDuration),
8405 "build_tapbranch" => Ok(Elements::BuildTapbranch),
8406 "build_tapleaf_simplicity" => Ok(Elements::BuildTapleafSimplicity),
8407 "build_taptweak" => Ok(Elements::BuildTaptweak),
8408 "calculate_asset" => Ok(Elements::CalculateAsset),
8409 "calculate_confidential_token" => Ok(Elements::CalculateConfidentialToken),
8410 "calculate_explicit_token" => Ok(Elements::CalculateExplicitToken),
8411 "calculate_issuance_entropy" => Ok(Elements::CalculateIssuanceEntropy),
8412 "ch_1" => Ok(Elements::Ch1),
8413 "ch_16" => Ok(Elements::Ch16),
8414 "ch_32" => Ok(Elements::Ch32),
8415 "ch_64" => Ok(Elements::Ch64),
8416 "ch_8" => Ok(Elements::Ch8),
8417 "check_lock_height" => Ok(Elements::CheckLockHeight),
8418 "check_lock_time" => Ok(Elements::CheckLockTime),
8419 "check_sig_verify" => Ok(Elements::CheckSigVerify),
8420 "complement_1" => Ok(Elements::Complement1),
8421 "complement_16" => Ok(Elements::Complement16),
8422 "complement_32" => Ok(Elements::Complement32),
8423 "complement_64" => Ok(Elements::Complement64),
8424 "complement_8" => Ok(Elements::Complement8),
8425 "current_amount" => Ok(Elements::CurrentAmount),
8426 "current_annex_hash" => Ok(Elements::CurrentAnnexHash),
8427 "current_asset" => Ok(Elements::CurrentAsset),
8428 "current_index" => Ok(Elements::CurrentIndex),
8429 "current_issuance_asset_amount" => Ok(Elements::CurrentIssuanceAssetAmount),
8430 "current_issuance_asset_proof" => Ok(Elements::CurrentIssuanceAssetProof),
8431 "current_issuance_token_amount" => Ok(Elements::CurrentIssuanceTokenAmount),
8432 "current_issuance_token_proof" => Ok(Elements::CurrentIssuanceTokenProof),
8433 "current_new_issuance_contract" => Ok(Elements::CurrentNewIssuanceContract),
8434 "current_pegin" => Ok(Elements::CurrentPegin),
8435 "current_prev_outpoint" => Ok(Elements::CurrentPrevOutpoint),
8436 "current_reissuance_blinding" => Ok(Elements::CurrentReissuanceBlinding),
8437 "current_reissuance_entropy" => Ok(Elements::CurrentReissuanceEntropy),
8438 "current_script_hash" => Ok(Elements::CurrentScriptHash),
8439 "current_script_sig_hash" => Ok(Elements::CurrentScriptSigHash),
8440 "current_sequence" => Ok(Elements::CurrentSequence),
8441 "decompress" => Ok(Elements::Decompress),
8442 "decrement_16" => Ok(Elements::Decrement16),
8443 "decrement_32" => Ok(Elements::Decrement32),
8444 "decrement_64" => Ok(Elements::Decrement64),
8445 "decrement_8" => Ok(Elements::Decrement8),
8446 "div_mod_128_64" => Ok(Elements::DivMod128_64),
8447 "div_mod_16" => Ok(Elements::DivMod16),
8448 "div_mod_32" => Ok(Elements::DivMod32),
8449 "div_mod_64" => Ok(Elements::DivMod64),
8450 "div_mod_8" => Ok(Elements::DivMod8),
8451 "divide_16" => Ok(Elements::Divide16),
8452 "divide_32" => Ok(Elements::Divide32),
8453 "divide_64" => Ok(Elements::Divide64),
8454 "divide_8" => Ok(Elements::Divide8),
8455 "divides_16" => Ok(Elements::Divides16),
8456 "divides_32" => Ok(Elements::Divides32),
8457 "divides_64" => Ok(Elements::Divides64),
8458 "divides_8" => Ok(Elements::Divides8),
8459 "eq_1" => Ok(Elements::Eq1),
8460 "eq_16" => Ok(Elements::Eq16),
8461 "eq_256" => Ok(Elements::Eq256),
8462 "eq_32" => Ok(Elements::Eq32),
8463 "eq_64" => Ok(Elements::Eq64),
8464 "eq_8" => Ok(Elements::Eq8),
8465 "fe_add" => Ok(Elements::FeAdd),
8466 "fe_invert" => Ok(Elements::FeInvert),
8467 "fe_is_odd" => Ok(Elements::FeIsOdd),
8468 "fe_is_zero" => Ok(Elements::FeIsZero),
8469 "fe_multiply" => Ok(Elements::FeMultiply),
8470 "fe_multiply_beta" => Ok(Elements::FeMultiplyBeta),
8471 "fe_negate" => Ok(Elements::FeNegate),
8472 "fe_normalize" => Ok(Elements::FeNormalize),
8473 "fe_square" => Ok(Elements::FeSquare),
8474 "fe_square_root" => Ok(Elements::FeSquareRoot),
8475 "full_add_16" => Ok(Elements::FullAdd16),
8476 "full_add_32" => Ok(Elements::FullAdd32),
8477 "full_add_64" => Ok(Elements::FullAdd64),
8478 "full_add_8" => Ok(Elements::FullAdd8),
8479 "full_decrement_16" => Ok(Elements::FullDecrement16),
8480 "full_decrement_32" => Ok(Elements::FullDecrement32),
8481 "full_decrement_64" => Ok(Elements::FullDecrement64),
8482 "full_decrement_8" => Ok(Elements::FullDecrement8),
8483 "full_increment_16" => Ok(Elements::FullIncrement16),
8484 "full_increment_32" => Ok(Elements::FullIncrement32),
8485 "full_increment_64" => Ok(Elements::FullIncrement64),
8486 "full_increment_8" => Ok(Elements::FullIncrement8),
8487 "full_left_shift_16_1" => Ok(Elements::FullLeftShift16_1),
8488 "full_left_shift_16_2" => Ok(Elements::FullLeftShift16_2),
8489 "full_left_shift_16_4" => Ok(Elements::FullLeftShift16_4),
8490 "full_left_shift_16_8" => Ok(Elements::FullLeftShift16_8),
8491 "full_left_shift_32_1" => Ok(Elements::FullLeftShift32_1),
8492 "full_left_shift_32_16" => Ok(Elements::FullLeftShift32_16),
8493 "full_left_shift_32_2" => Ok(Elements::FullLeftShift32_2),
8494 "full_left_shift_32_4" => Ok(Elements::FullLeftShift32_4),
8495 "full_left_shift_32_8" => Ok(Elements::FullLeftShift32_8),
8496 "full_left_shift_64_1" => Ok(Elements::FullLeftShift64_1),
8497 "full_left_shift_64_16" => Ok(Elements::FullLeftShift64_16),
8498 "full_left_shift_64_2" => Ok(Elements::FullLeftShift64_2),
8499 "full_left_shift_64_32" => Ok(Elements::FullLeftShift64_32),
8500 "full_left_shift_64_4" => Ok(Elements::FullLeftShift64_4),
8501 "full_left_shift_64_8" => Ok(Elements::FullLeftShift64_8),
8502 "full_left_shift_8_1" => Ok(Elements::FullLeftShift8_1),
8503 "full_left_shift_8_2" => Ok(Elements::FullLeftShift8_2),
8504 "full_left_shift_8_4" => Ok(Elements::FullLeftShift8_4),
8505 "full_multiply_16" => Ok(Elements::FullMultiply16),
8506 "full_multiply_32" => Ok(Elements::FullMultiply32),
8507 "full_multiply_64" => Ok(Elements::FullMultiply64),
8508 "full_multiply_8" => Ok(Elements::FullMultiply8),
8509 "full_right_shift_16_1" => Ok(Elements::FullRightShift16_1),
8510 "full_right_shift_16_2" => Ok(Elements::FullRightShift16_2),
8511 "full_right_shift_16_4" => Ok(Elements::FullRightShift16_4),
8512 "full_right_shift_16_8" => Ok(Elements::FullRightShift16_8),
8513 "full_right_shift_32_1" => Ok(Elements::FullRightShift32_1),
8514 "full_right_shift_32_16" => Ok(Elements::FullRightShift32_16),
8515 "full_right_shift_32_2" => Ok(Elements::FullRightShift32_2),
8516 "full_right_shift_32_4" => Ok(Elements::FullRightShift32_4),
8517 "full_right_shift_32_8" => Ok(Elements::FullRightShift32_8),
8518 "full_right_shift_64_1" => Ok(Elements::FullRightShift64_1),
8519 "full_right_shift_64_16" => Ok(Elements::FullRightShift64_16),
8520 "full_right_shift_64_2" => Ok(Elements::FullRightShift64_2),
8521 "full_right_shift_64_32" => Ok(Elements::FullRightShift64_32),
8522 "full_right_shift_64_4" => Ok(Elements::FullRightShift64_4),
8523 "full_right_shift_64_8" => Ok(Elements::FullRightShift64_8),
8524 "full_right_shift_8_1" => Ok(Elements::FullRightShift8_1),
8525 "full_right_shift_8_2" => Ok(Elements::FullRightShift8_2),
8526 "full_right_shift_8_4" => Ok(Elements::FullRightShift8_4),
8527 "full_subtract_16" => Ok(Elements::FullSubtract16),
8528 "full_subtract_32" => Ok(Elements::FullSubtract32),
8529 "full_subtract_64" => Ok(Elements::FullSubtract64),
8530 "full_subtract_8" => Ok(Elements::FullSubtract8),
8531 "ge_is_on_curve" => Ok(Elements::GeIsOnCurve),
8532 "ge_negate" => Ok(Elements::GeNegate),
8533 "gej_add" => Ok(Elements::GejAdd),
8534 "gej_double" => Ok(Elements::GejDouble),
8535 "gej_equiv" => Ok(Elements::GejEquiv),
8536 "gej_ge_add" => Ok(Elements::GejGeAdd),
8537 "gej_ge_add_ex" => Ok(Elements::GejGeAddEx),
8538 "gej_ge_equiv" => Ok(Elements::GejGeEquiv),
8539 "gej_infinity" => Ok(Elements::GejInfinity),
8540 "gej_is_infinity" => Ok(Elements::GejIsInfinity),
8541 "gej_is_on_curve" => Ok(Elements::GejIsOnCurve),
8542 "gej_negate" => Ok(Elements::GejNegate),
8543 "gej_normalize" => Ok(Elements::GejNormalize),
8544 "gej_rescale" => Ok(Elements::GejRescale),
8545 "gej_x_equiv" => Ok(Elements::GejXEquiv),
8546 "gej_y_is_odd" => Ok(Elements::GejYIsOdd),
8547 "generate" => Ok(Elements::Generate),
8548 "genesis_block_hash" => Ok(Elements::GenesisBlockHash),
8549 "hash_to_curve" => Ok(Elements::HashToCurve),
8550 "high_1" => Ok(Elements::High1),
8551 "high_16" => Ok(Elements::High16),
8552 "high_32" => Ok(Elements::High32),
8553 "high_64" => Ok(Elements::High64),
8554 "high_8" => Ok(Elements::High8),
8555 "increment_16" => Ok(Elements::Increment16),
8556 "increment_32" => Ok(Elements::Increment32),
8557 "increment_64" => Ok(Elements::Increment64),
8558 "increment_8" => Ok(Elements::Increment8),
8559 "input_amount" => Ok(Elements::InputAmount),
8560 "input_amounts_hash" => Ok(Elements::InputAmountsHash),
8561 "input_annex_hash" => Ok(Elements::InputAnnexHash),
8562 "input_annexes_hash" => Ok(Elements::InputAnnexesHash),
8563 "input_asset" => Ok(Elements::InputAsset),
8564 "input_hash" => Ok(Elements::InputHash),
8565 "input_outpoints_hash" => Ok(Elements::InputOutpointsHash),
8566 "input_pegin" => Ok(Elements::InputPegin),
8567 "input_prev_outpoint" => Ok(Elements::InputPrevOutpoint),
8568 "input_script_hash" => Ok(Elements::InputScriptHash),
8569 "input_script_sig_hash" => Ok(Elements::InputScriptSigHash),
8570 "input_script_sigs_hash" => Ok(Elements::InputScriptSigsHash),
8571 "input_scripts_hash" => Ok(Elements::InputScriptsHash),
8572 "input_sequence" => Ok(Elements::InputSequence),
8573 "input_sequences_hash" => Ok(Elements::InputSequencesHash),
8574 "input_utxo_hash" => Ok(Elements::InputUtxoHash),
8575 "input_utxos_hash" => Ok(Elements::InputUtxosHash),
8576 "inputs_hash" => Ok(Elements::InputsHash),
8577 "internal_key" => Ok(Elements::InternalKey),
8578 "is_one_16" => Ok(Elements::IsOne16),
8579 "is_one_32" => Ok(Elements::IsOne32),
8580 "is_one_64" => Ok(Elements::IsOne64),
8581 "is_one_8" => Ok(Elements::IsOne8),
8582 "is_zero_16" => Ok(Elements::IsZero16),
8583 "is_zero_32" => Ok(Elements::IsZero32),
8584 "is_zero_64" => Ok(Elements::IsZero64),
8585 "is_zero_8" => Ok(Elements::IsZero8),
8586 "issuance" => Ok(Elements::Issuance),
8587 "issuance_asset" => Ok(Elements::IssuanceAsset),
8588 "issuance_asset_amount" => Ok(Elements::IssuanceAssetAmount),
8589 "issuance_asset_amounts_hash" => Ok(Elements::IssuanceAssetAmountsHash),
8590 "issuance_asset_proof" => Ok(Elements::IssuanceAssetProof),
8591 "issuance_blinding_entropy_hash" => Ok(Elements::IssuanceBlindingEntropyHash),
8592 "issuance_entropy" => Ok(Elements::IssuanceEntropy),
8593 "issuance_hash" => Ok(Elements::IssuanceHash),
8594 "issuance_range_proofs_hash" => Ok(Elements::IssuanceRangeProofsHash),
8595 "issuance_token" => Ok(Elements::IssuanceToken),
8596 "issuance_token_amount" => Ok(Elements::IssuanceTokenAmount),
8597 "issuance_token_amounts_hash" => Ok(Elements::IssuanceTokenAmountsHash),
8598 "issuance_token_proof" => Ok(Elements::IssuanceTokenProof),
8599 "issuances_hash" => Ok(Elements::IssuancesHash),
8600 "lbtc_asset" => Ok(Elements::LbtcAsset),
8601 "le_16" => Ok(Elements::Le16),
8602 "le_32" => Ok(Elements::Le32),
8603 "le_64" => Ok(Elements::Le64),
8604 "le_8" => Ok(Elements::Le8),
8605 "left_extend_16_32" => Ok(Elements::LeftExtend16_32),
8606 "left_extend_16_64" => Ok(Elements::LeftExtend16_64),
8607 "left_extend_1_16" => Ok(Elements::LeftExtend1_16),
8608 "left_extend_1_32" => Ok(Elements::LeftExtend1_32),
8609 "left_extend_1_64" => Ok(Elements::LeftExtend1_64),
8610 "left_extend_1_8" => Ok(Elements::LeftExtend1_8),
8611 "left_extend_32_64" => Ok(Elements::LeftExtend32_64),
8612 "left_extend_8_16" => Ok(Elements::LeftExtend8_16),
8613 "left_extend_8_32" => Ok(Elements::LeftExtend8_32),
8614 "left_extend_8_64" => Ok(Elements::LeftExtend8_64),
8615 "left_pad_high_16_32" => Ok(Elements::LeftPadHigh16_32),
8616 "left_pad_high_16_64" => Ok(Elements::LeftPadHigh16_64),
8617 "left_pad_high_1_16" => Ok(Elements::LeftPadHigh1_16),
8618 "left_pad_high_1_32" => Ok(Elements::LeftPadHigh1_32),
8619 "left_pad_high_1_64" => Ok(Elements::LeftPadHigh1_64),
8620 "left_pad_high_1_8" => Ok(Elements::LeftPadHigh1_8),
8621 "left_pad_high_32_64" => Ok(Elements::LeftPadHigh32_64),
8622 "left_pad_high_8_16" => Ok(Elements::LeftPadHigh8_16),
8623 "left_pad_high_8_32" => Ok(Elements::LeftPadHigh8_32),
8624 "left_pad_high_8_64" => Ok(Elements::LeftPadHigh8_64),
8625 "left_pad_low_16_32" => Ok(Elements::LeftPadLow16_32),
8626 "left_pad_low_16_64" => Ok(Elements::LeftPadLow16_64),
8627 "left_pad_low_1_16" => Ok(Elements::LeftPadLow1_16),
8628 "left_pad_low_1_32" => Ok(Elements::LeftPadLow1_32),
8629 "left_pad_low_1_64" => Ok(Elements::LeftPadLow1_64),
8630 "left_pad_low_1_8" => Ok(Elements::LeftPadLow1_8),
8631 "left_pad_low_32_64" => Ok(Elements::LeftPadLow32_64),
8632 "left_pad_low_8_16" => Ok(Elements::LeftPadLow8_16),
8633 "left_pad_low_8_32" => Ok(Elements::LeftPadLow8_32),
8634 "left_pad_low_8_64" => Ok(Elements::LeftPadLow8_64),
8635 "left_rotate_16" => Ok(Elements::LeftRotate16),
8636 "left_rotate_32" => Ok(Elements::LeftRotate32),
8637 "left_rotate_64" => Ok(Elements::LeftRotate64),
8638 "left_rotate_8" => Ok(Elements::LeftRotate8),
8639 "left_shift_16" => Ok(Elements::LeftShift16),
8640 "left_shift_32" => Ok(Elements::LeftShift32),
8641 "left_shift_64" => Ok(Elements::LeftShift64),
8642 "left_shift_8" => Ok(Elements::LeftShift8),
8643 "left_shift_with_16" => Ok(Elements::LeftShiftWith16),
8644 "left_shift_with_32" => Ok(Elements::LeftShiftWith32),
8645 "left_shift_with_64" => Ok(Elements::LeftShiftWith64),
8646 "left_shift_with_8" => Ok(Elements::LeftShiftWith8),
8647 "leftmost_16_1" => Ok(Elements::Leftmost16_1),
8648 "leftmost_16_2" => Ok(Elements::Leftmost16_2),
8649 "leftmost_16_4" => Ok(Elements::Leftmost16_4),
8650 "leftmost_16_8" => Ok(Elements::Leftmost16_8),
8651 "leftmost_32_1" => Ok(Elements::Leftmost32_1),
8652 "leftmost_32_16" => Ok(Elements::Leftmost32_16),
8653 "leftmost_32_2" => Ok(Elements::Leftmost32_2),
8654 "leftmost_32_4" => Ok(Elements::Leftmost32_4),
8655 "leftmost_32_8" => Ok(Elements::Leftmost32_8),
8656 "leftmost_64_1" => Ok(Elements::Leftmost64_1),
8657 "leftmost_64_16" => Ok(Elements::Leftmost64_16),
8658 "leftmost_64_2" => Ok(Elements::Leftmost64_2),
8659 "leftmost_64_32" => Ok(Elements::Leftmost64_32),
8660 "leftmost_64_4" => Ok(Elements::Leftmost64_4),
8661 "leftmost_64_8" => Ok(Elements::Leftmost64_8),
8662 "leftmost_8_1" => Ok(Elements::Leftmost8_1),
8663 "leftmost_8_2" => Ok(Elements::Leftmost8_2),
8664 "leftmost_8_4" => Ok(Elements::Leftmost8_4),
8665 "linear_combination_1" => Ok(Elements::LinearCombination1),
8666 "linear_verify_1" => Ok(Elements::LinearVerify1),
8667 "lock_time" => Ok(Elements::LockTime),
8668 "low_1" => Ok(Elements::Low1),
8669 "low_16" => Ok(Elements::Low16),
8670 "low_32" => Ok(Elements::Low32),
8671 "low_64" => Ok(Elements::Low64),
8672 "low_8" => Ok(Elements::Low8),
8673 "lt_16" => Ok(Elements::Lt16),
8674 "lt_32" => Ok(Elements::Lt32),
8675 "lt_64" => Ok(Elements::Lt64),
8676 "lt_8" => Ok(Elements::Lt8),
8677 "maj_1" => Ok(Elements::Maj1),
8678 "maj_16" => Ok(Elements::Maj16),
8679 "maj_32" => Ok(Elements::Maj32),
8680 "maj_64" => Ok(Elements::Maj64),
8681 "maj_8" => Ok(Elements::Maj8),
8682 "max_16" => Ok(Elements::Max16),
8683 "max_32" => Ok(Elements::Max32),
8684 "max_64" => Ok(Elements::Max64),
8685 "max_8" => Ok(Elements::Max8),
8686 "median_16" => Ok(Elements::Median16),
8687 "median_32" => Ok(Elements::Median32),
8688 "median_64" => Ok(Elements::Median64),
8689 "median_8" => Ok(Elements::Median8),
8690 "min_16" => Ok(Elements::Min16),
8691 "min_32" => Ok(Elements::Min32),
8692 "min_64" => Ok(Elements::Min64),
8693 "min_8" => Ok(Elements::Min8),
8694 "modulo_16" => Ok(Elements::Modulo16),
8695 "modulo_32" => Ok(Elements::Modulo32),
8696 "modulo_64" => Ok(Elements::Modulo64),
8697 "modulo_8" => Ok(Elements::Modulo8),
8698 "multiply_16" => Ok(Elements::Multiply16),
8699 "multiply_32" => Ok(Elements::Multiply32),
8700 "multiply_64" => Ok(Elements::Multiply64),
8701 "multiply_8" => Ok(Elements::Multiply8),
8702 "negate_16" => Ok(Elements::Negate16),
8703 "negate_32" => Ok(Elements::Negate32),
8704 "negate_64" => Ok(Elements::Negate64),
8705 "negate_8" => Ok(Elements::Negate8),
8706 "new_issuance_contract" => Ok(Elements::NewIssuanceContract),
8707 "nonce_hash" => Ok(Elements::NonceHash),
8708 "num_inputs" => Ok(Elements::NumInputs),
8709 "num_outputs" => Ok(Elements::NumOutputs),
8710 "one_16" => Ok(Elements::One16),
8711 "one_32" => Ok(Elements::One32),
8712 "one_64" => Ok(Elements::One64),
8713 "one_8" => Ok(Elements::One8),
8714 "or_1" => Ok(Elements::Or1),
8715 "or_16" => Ok(Elements::Or16),
8716 "or_32" => Ok(Elements::Or32),
8717 "or_64" => Ok(Elements::Or64),
8718 "or_8" => Ok(Elements::Or8),
8719 "outpoint_hash" => Ok(Elements::OutpointHash),
8720 "output_amount" => Ok(Elements::OutputAmount),
8721 "output_amounts_hash" => Ok(Elements::OutputAmountsHash),
8722 "output_asset" => Ok(Elements::OutputAsset),
8723 "output_hash" => Ok(Elements::OutputHash),
8724 "output_is_fee" => Ok(Elements::OutputIsFee),
8725 "output_nonce" => Ok(Elements::OutputNonce),
8726 "output_nonces_hash" => Ok(Elements::OutputNoncesHash),
8727 "output_null_datum" => Ok(Elements::OutputNullDatum),
8728 "output_range_proof" => Ok(Elements::OutputRangeProof),
8729 "output_range_proofs_hash" => Ok(Elements::OutputRangeProofsHash),
8730 "output_script_hash" => Ok(Elements::OutputScriptHash),
8731 "output_scripts_hash" => Ok(Elements::OutputScriptsHash),
8732 "output_surjection_proof" => Ok(Elements::OutputSurjectionProof),
8733 "output_surjection_proofs_hash" => Ok(Elements::OutputSurjectionProofsHash),
8734 "outputs_hash" => Ok(Elements::OutputsHash),
8735 "parse_lock" => Ok(Elements::ParseLock),
8736 "parse_sequence" => Ok(Elements::ParseSequence),
8737 "point_verify_1" => Ok(Elements::PointVerify1),
8738 "reissuance_blinding" => Ok(Elements::ReissuanceBlinding),
8739 "reissuance_entropy" => Ok(Elements::ReissuanceEntropy),
8740 "right_extend_16_32" => Ok(Elements::RightExtend16_32),
8741 "right_extend_16_64" => Ok(Elements::RightExtend16_64),
8742 "right_extend_32_64" => Ok(Elements::RightExtend32_64),
8743 "right_extend_8_16" => Ok(Elements::RightExtend8_16),
8744 "right_extend_8_32" => Ok(Elements::RightExtend8_32),
8745 "right_extend_8_64" => Ok(Elements::RightExtend8_64),
8746 "right_pad_high_16_32" => Ok(Elements::RightPadHigh16_32),
8747 "right_pad_high_16_64" => Ok(Elements::RightPadHigh16_64),
8748 "right_pad_high_1_16" => Ok(Elements::RightPadHigh1_16),
8749 "right_pad_high_1_32" => Ok(Elements::RightPadHigh1_32),
8750 "right_pad_high_1_64" => Ok(Elements::RightPadHigh1_64),
8751 "right_pad_high_1_8" => Ok(Elements::RightPadHigh1_8),
8752 "right_pad_high_32_64" => Ok(Elements::RightPadHigh32_64),
8753 "right_pad_high_8_16" => Ok(Elements::RightPadHigh8_16),
8754 "right_pad_high_8_32" => Ok(Elements::RightPadHigh8_32),
8755 "right_pad_high_8_64" => Ok(Elements::RightPadHigh8_64),
8756 "right_pad_low_16_32" => Ok(Elements::RightPadLow16_32),
8757 "right_pad_low_16_64" => Ok(Elements::RightPadLow16_64),
8758 "right_pad_low_1_16" => Ok(Elements::RightPadLow1_16),
8759 "right_pad_low_1_32" => Ok(Elements::RightPadLow1_32),
8760 "right_pad_low_1_64" => Ok(Elements::RightPadLow1_64),
8761 "right_pad_low_1_8" => Ok(Elements::RightPadLow1_8),
8762 "right_pad_low_32_64" => Ok(Elements::RightPadLow32_64),
8763 "right_pad_low_8_16" => Ok(Elements::RightPadLow8_16),
8764 "right_pad_low_8_32" => Ok(Elements::RightPadLow8_32),
8765 "right_pad_low_8_64" => Ok(Elements::RightPadLow8_64),
8766 "right_rotate_16" => Ok(Elements::RightRotate16),
8767 "right_rotate_32" => Ok(Elements::RightRotate32),
8768 "right_rotate_64" => Ok(Elements::RightRotate64),
8769 "right_rotate_8" => Ok(Elements::RightRotate8),
8770 "right_shift_16" => Ok(Elements::RightShift16),
8771 "right_shift_32" => Ok(Elements::RightShift32),
8772 "right_shift_64" => Ok(Elements::RightShift64),
8773 "right_shift_8" => Ok(Elements::RightShift8),
8774 "right_shift_with_16" => Ok(Elements::RightShiftWith16),
8775 "right_shift_with_32" => Ok(Elements::RightShiftWith32),
8776 "right_shift_with_64" => Ok(Elements::RightShiftWith64),
8777 "right_shift_with_8" => Ok(Elements::RightShiftWith8),
8778 "rightmost_16_1" => Ok(Elements::Rightmost16_1),
8779 "rightmost_16_2" => Ok(Elements::Rightmost16_2),
8780 "rightmost_16_4" => Ok(Elements::Rightmost16_4),
8781 "rightmost_16_8" => Ok(Elements::Rightmost16_8),
8782 "rightmost_32_1" => Ok(Elements::Rightmost32_1),
8783 "rightmost_32_16" => Ok(Elements::Rightmost32_16),
8784 "rightmost_32_2" => Ok(Elements::Rightmost32_2),
8785 "rightmost_32_4" => Ok(Elements::Rightmost32_4),
8786 "rightmost_32_8" => Ok(Elements::Rightmost32_8),
8787 "rightmost_64_1" => Ok(Elements::Rightmost64_1),
8788 "rightmost_64_16" => Ok(Elements::Rightmost64_16),
8789 "rightmost_64_2" => Ok(Elements::Rightmost64_2),
8790 "rightmost_64_32" => Ok(Elements::Rightmost64_32),
8791 "rightmost_64_4" => Ok(Elements::Rightmost64_4),
8792 "rightmost_64_8" => Ok(Elements::Rightmost64_8),
8793 "rightmost_8_1" => Ok(Elements::Rightmost8_1),
8794 "rightmost_8_2" => Ok(Elements::Rightmost8_2),
8795 "rightmost_8_4" => Ok(Elements::Rightmost8_4),
8796 "scalar_add" => Ok(Elements::ScalarAdd),
8797 "scalar_invert" => Ok(Elements::ScalarInvert),
8798 "scalar_is_zero" => Ok(Elements::ScalarIsZero),
8799 "scalar_multiply" => Ok(Elements::ScalarMultiply),
8800 "scalar_multiply_lambda" => Ok(Elements::ScalarMultiplyLambda),
8801 "scalar_negate" => Ok(Elements::ScalarNegate),
8802 "scalar_normalize" => Ok(Elements::ScalarNormalize),
8803 "scalar_square" => Ok(Elements::ScalarSquare),
8804 "scale" => Ok(Elements::Scale),
8805 "script_cmr" => Ok(Elements::ScriptCMR),
8806 "sha_256_block" => Ok(Elements::Sha256Block),
8807 "sha_256_ctx_8_add_1" => Ok(Elements::Sha256Ctx8Add1),
8808 "sha_256_ctx_8_add_128" => Ok(Elements::Sha256Ctx8Add128),
8809 "sha_256_ctx_8_add_16" => Ok(Elements::Sha256Ctx8Add16),
8810 "sha_256_ctx_8_add_2" => Ok(Elements::Sha256Ctx8Add2),
8811 "sha_256_ctx_8_add_256" => Ok(Elements::Sha256Ctx8Add256),
8812 "sha_256_ctx_8_add_32" => Ok(Elements::Sha256Ctx8Add32),
8813 "sha_256_ctx_8_add_4" => Ok(Elements::Sha256Ctx8Add4),
8814 "sha_256_ctx_8_add_512" => Ok(Elements::Sha256Ctx8Add512),
8815 "sha_256_ctx_8_add_64" => Ok(Elements::Sha256Ctx8Add64),
8816 "sha_256_ctx_8_add_8" => Ok(Elements::Sha256Ctx8Add8),
8817 "sha_256_ctx_8_add_buffer_511" => Ok(Elements::Sha256Ctx8AddBuffer511),
8818 "sha_256_ctx_8_finalize" => Ok(Elements::Sha256Ctx8Finalize),
8819 "sha_256_ctx_8_init" => Ok(Elements::Sha256Ctx8Init),
8820 "sha_256_iv" => Ok(Elements::Sha256Iv),
8821 "sig_all_hash" => Ok(Elements::SigAllHash),
8822 "some_1" => Ok(Elements::Some1),
8823 "some_16" => Ok(Elements::Some16),
8824 "some_32" => Ok(Elements::Some32),
8825 "some_64" => Ok(Elements::Some64),
8826 "some_8" => Ok(Elements::Some8),
8827 "subtract_16" => Ok(Elements::Subtract16),
8828 "subtract_32" => Ok(Elements::Subtract32),
8829 "subtract_64" => Ok(Elements::Subtract64),
8830 "subtract_8" => Ok(Elements::Subtract8),
8831 "swu" => Ok(Elements::Swu),
8832 "tap_env_hash" => Ok(Elements::TapEnvHash),
8833 "tapdata_init" => Ok(Elements::TapdataInit),
8834 "tapleaf_hash" => Ok(Elements::TapleafHash),
8835 "tapleaf_version" => Ok(Elements::TapleafVersion),
8836 "tappath" => Ok(Elements::Tappath),
8837 "tappath_hash" => Ok(Elements::TappathHash),
8838 "total_fee" => Ok(Elements::TotalFee),
8839 "transaction_id" => Ok(Elements::TransactionId),
8840 "tx_hash" => Ok(Elements::TxHash),
8841 "tx_is_final" => Ok(Elements::TxIsFinal),
8842 "tx_lock_height" => Ok(Elements::TxLockHeight),
8843 "tx_lock_time" => Ok(Elements::TxLockTime),
8844 "verify" => Ok(Elements::Verify),
8845 "version" => Ok(Elements::Version),
8846 "xor_1" => Ok(Elements::Xor1),
8847 "xor_16" => Ok(Elements::Xor16),
8848 "xor_32" => Ok(Elements::Xor32),
8849 "xor_64" => Ok(Elements::Xor64),
8850 "xor_8" => Ok(Elements::Xor8),
8851 "xor_xor_1" => Ok(Elements::XorXor1),
8852 "xor_xor_16" => Ok(Elements::XorXor16),
8853 "xor_xor_32" => Ok(Elements::XorXor32),
8854 "xor_xor_64" => Ok(Elements::XorXor64),
8855 "xor_xor_8" => Ok(Elements::XorXor8),
8856 x => Err(crate::Error::InvalidJetName(x.to_owned())),
8857 }
8858 }
8859}
8860
8861pub(crate) fn c_jet_ptr(jet: &Elements) -> fn(&mut CFrameItem, CFrameItem, &CElementsTxEnv) -> bool {
8862 match jet {
8863 Elements::Add16 => simplicity_sys::c_jets::jets_wrapper::add_16,
8864 Elements::Add32 => simplicity_sys::c_jets::jets_wrapper::add_32,
8865 Elements::Add64 => simplicity_sys::c_jets::jets_wrapper::add_64,
8866 Elements::Add8 => simplicity_sys::c_jets::jets_wrapper::add_8,
8867 Elements::All16 => simplicity_sys::c_jets::jets_wrapper::all_16,
8868 Elements::All32 => simplicity_sys::c_jets::jets_wrapper::all_32,
8869 Elements::All64 => simplicity_sys::c_jets::jets_wrapper::all_64,
8870 Elements::All8 => simplicity_sys::c_jets::jets_wrapper::all_8,
8871 Elements::And1 => simplicity_sys::c_jets::jets_wrapper::and_1,
8872 Elements::And16 => simplicity_sys::c_jets::jets_wrapper::and_16,
8873 Elements::And32 => simplicity_sys::c_jets::jets_wrapper::and_32,
8874 Elements::And64 => simplicity_sys::c_jets::jets_wrapper::and_64,
8875 Elements::And8 => simplicity_sys::c_jets::jets_wrapper::and_8,
8876 Elements::AnnexHash => simplicity_sys::c_jets::jets_wrapper::annex_hash,
8877 Elements::AssetAmountHash => simplicity_sys::c_jets::jets_wrapper::asset_amount_hash,
8878 Elements::Bip0340Verify => simplicity_sys::c_jets::jets_wrapper::bip_0340_verify,
8879 Elements::BrokenDoNotUseCheckLockDistance => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_check_lock_distance,
8880 Elements::BrokenDoNotUseCheckLockDuration => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_check_lock_duration,
8881 Elements::BrokenDoNotUseTxLockDistance => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_tx_lock_distance,
8882 Elements::BrokenDoNotUseTxLockDuration => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_tx_lock_duration,
8883 Elements::BuildTapbranch => simplicity_sys::c_jets::jets_wrapper::build_tapbranch,
8884 Elements::BuildTapleafSimplicity => simplicity_sys::c_jets::jets_wrapper::build_tapleaf_simplicity,
8885 Elements::BuildTaptweak => simplicity_sys::c_jets::jets_wrapper::build_taptweak,
8886 Elements::CalculateAsset => simplicity_sys::c_jets::jets_wrapper::calculate_asset,
8887 Elements::CalculateConfidentialToken => simplicity_sys::c_jets::jets_wrapper::calculate_confidential_token,
8888 Elements::CalculateExplicitToken => simplicity_sys::c_jets::jets_wrapper::calculate_explicit_token,
8889 Elements::CalculateIssuanceEntropy => simplicity_sys::c_jets::jets_wrapper::calculate_issuance_entropy,
8890 Elements::Ch1 => simplicity_sys::c_jets::jets_wrapper::ch_1,
8891 Elements::Ch16 => simplicity_sys::c_jets::jets_wrapper::ch_16,
8892 Elements::Ch32 => simplicity_sys::c_jets::jets_wrapper::ch_32,
8893 Elements::Ch64 => simplicity_sys::c_jets::jets_wrapper::ch_64,
8894 Elements::Ch8 => simplicity_sys::c_jets::jets_wrapper::ch_8,
8895 Elements::CheckLockHeight => simplicity_sys::c_jets::jets_wrapper::check_lock_height,
8896 Elements::CheckLockTime => simplicity_sys::c_jets::jets_wrapper::check_lock_time,
8897 Elements::CheckSigVerify => simplicity_sys::c_jets::jets_wrapper::check_sig_verify,
8898 Elements::Complement1 => simplicity_sys::c_jets::jets_wrapper::complement_1,
8899 Elements::Complement16 => simplicity_sys::c_jets::jets_wrapper::complement_16,
8900 Elements::Complement32 => simplicity_sys::c_jets::jets_wrapper::complement_32,
8901 Elements::Complement64 => simplicity_sys::c_jets::jets_wrapper::complement_64,
8902 Elements::Complement8 => simplicity_sys::c_jets::jets_wrapper::complement_8,
8903 Elements::CurrentAmount => simplicity_sys::c_jets::jets_wrapper::current_amount,
8904 Elements::CurrentAnnexHash => simplicity_sys::c_jets::jets_wrapper::current_annex_hash,
8905 Elements::CurrentAsset => simplicity_sys::c_jets::jets_wrapper::current_asset,
8906 Elements::CurrentIndex => simplicity_sys::c_jets::jets_wrapper::current_index,
8907 Elements::CurrentIssuanceAssetAmount => simplicity_sys::c_jets::jets_wrapper::current_issuance_asset_amount,
8908 Elements::CurrentIssuanceAssetProof => simplicity_sys::c_jets::jets_wrapper::current_issuance_asset_proof,
8909 Elements::CurrentIssuanceTokenAmount => simplicity_sys::c_jets::jets_wrapper::current_issuance_token_amount,
8910 Elements::CurrentIssuanceTokenProof => simplicity_sys::c_jets::jets_wrapper::current_issuance_token_proof,
8911 Elements::CurrentNewIssuanceContract => simplicity_sys::c_jets::jets_wrapper::current_new_issuance_contract,
8912 Elements::CurrentPegin => simplicity_sys::c_jets::jets_wrapper::current_pegin,
8913 Elements::CurrentPrevOutpoint => simplicity_sys::c_jets::jets_wrapper::current_prev_outpoint,
8914 Elements::CurrentReissuanceBlinding => simplicity_sys::c_jets::jets_wrapper::current_reissuance_blinding,
8915 Elements::CurrentReissuanceEntropy => simplicity_sys::c_jets::jets_wrapper::current_reissuance_entropy,
8916 Elements::CurrentScriptHash => simplicity_sys::c_jets::jets_wrapper::current_script_hash,
8917 Elements::CurrentScriptSigHash => simplicity_sys::c_jets::jets_wrapper::current_script_sig_hash,
8918 Elements::CurrentSequence => simplicity_sys::c_jets::jets_wrapper::current_sequence,
8919 Elements::Decompress => simplicity_sys::c_jets::jets_wrapper::decompress,
8920 Elements::Decrement16 => simplicity_sys::c_jets::jets_wrapper::decrement_16,
8921 Elements::Decrement32 => simplicity_sys::c_jets::jets_wrapper::decrement_32,
8922 Elements::Decrement64 => simplicity_sys::c_jets::jets_wrapper::decrement_64,
8923 Elements::Decrement8 => simplicity_sys::c_jets::jets_wrapper::decrement_8,
8924 Elements::DivMod128_64 => simplicity_sys::c_jets::jets_wrapper::div_mod_128_64,
8925 Elements::DivMod16 => simplicity_sys::c_jets::jets_wrapper::div_mod_16,
8926 Elements::DivMod32 => simplicity_sys::c_jets::jets_wrapper::div_mod_32,
8927 Elements::DivMod64 => simplicity_sys::c_jets::jets_wrapper::div_mod_64,
8928 Elements::DivMod8 => simplicity_sys::c_jets::jets_wrapper::div_mod_8,
8929 Elements::Divide16 => simplicity_sys::c_jets::jets_wrapper::divide_16,
8930 Elements::Divide32 => simplicity_sys::c_jets::jets_wrapper::divide_32,
8931 Elements::Divide64 => simplicity_sys::c_jets::jets_wrapper::divide_64,
8932 Elements::Divide8 => simplicity_sys::c_jets::jets_wrapper::divide_8,
8933 Elements::Divides16 => simplicity_sys::c_jets::jets_wrapper::divides_16,
8934 Elements::Divides32 => simplicity_sys::c_jets::jets_wrapper::divides_32,
8935 Elements::Divides64 => simplicity_sys::c_jets::jets_wrapper::divides_64,
8936 Elements::Divides8 => simplicity_sys::c_jets::jets_wrapper::divides_8,
8937 Elements::Eq1 => simplicity_sys::c_jets::jets_wrapper::eq_1,
8938 Elements::Eq16 => simplicity_sys::c_jets::jets_wrapper::eq_16,
8939 Elements::Eq256 => simplicity_sys::c_jets::jets_wrapper::eq_256,
8940 Elements::Eq32 => simplicity_sys::c_jets::jets_wrapper::eq_32,
8941 Elements::Eq64 => simplicity_sys::c_jets::jets_wrapper::eq_64,
8942 Elements::Eq8 => simplicity_sys::c_jets::jets_wrapper::eq_8,
8943 Elements::FeAdd => simplicity_sys::c_jets::jets_wrapper::fe_add,
8944 Elements::FeInvert => simplicity_sys::c_jets::jets_wrapper::fe_invert,
8945 Elements::FeIsOdd => simplicity_sys::c_jets::jets_wrapper::fe_is_odd,
8946 Elements::FeIsZero => simplicity_sys::c_jets::jets_wrapper::fe_is_zero,
8947 Elements::FeMultiply => simplicity_sys::c_jets::jets_wrapper::fe_multiply,
8948 Elements::FeMultiplyBeta => simplicity_sys::c_jets::jets_wrapper::fe_multiply_beta,
8949 Elements::FeNegate => simplicity_sys::c_jets::jets_wrapper::fe_negate,
8950 Elements::FeNormalize => simplicity_sys::c_jets::jets_wrapper::fe_normalize,
8951 Elements::FeSquare => simplicity_sys::c_jets::jets_wrapper::fe_square,
8952 Elements::FeSquareRoot => simplicity_sys::c_jets::jets_wrapper::fe_square_root,
8953 Elements::FullAdd16 => simplicity_sys::c_jets::jets_wrapper::full_add_16,
8954 Elements::FullAdd32 => simplicity_sys::c_jets::jets_wrapper::full_add_32,
8955 Elements::FullAdd64 => simplicity_sys::c_jets::jets_wrapper::full_add_64,
8956 Elements::FullAdd8 => simplicity_sys::c_jets::jets_wrapper::full_add_8,
8957 Elements::FullDecrement16 => simplicity_sys::c_jets::jets_wrapper::full_decrement_16,
8958 Elements::FullDecrement32 => simplicity_sys::c_jets::jets_wrapper::full_decrement_32,
8959 Elements::FullDecrement64 => simplicity_sys::c_jets::jets_wrapper::full_decrement_64,
8960 Elements::FullDecrement8 => simplicity_sys::c_jets::jets_wrapper::full_decrement_8,
8961 Elements::FullIncrement16 => simplicity_sys::c_jets::jets_wrapper::full_increment_16,
8962 Elements::FullIncrement32 => simplicity_sys::c_jets::jets_wrapper::full_increment_32,
8963 Elements::FullIncrement64 => simplicity_sys::c_jets::jets_wrapper::full_increment_64,
8964 Elements::FullIncrement8 => simplicity_sys::c_jets::jets_wrapper::full_increment_8,
8965 Elements::FullLeftShift16_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_1,
8966 Elements::FullLeftShift16_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_2,
8967 Elements::FullLeftShift16_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_4,
8968 Elements::FullLeftShift16_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_8,
8969 Elements::FullLeftShift32_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_1,
8970 Elements::FullLeftShift32_16 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_16,
8971 Elements::FullLeftShift32_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_2,
8972 Elements::FullLeftShift32_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_4,
8973 Elements::FullLeftShift32_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_8,
8974 Elements::FullLeftShift64_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_1,
8975 Elements::FullLeftShift64_16 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_16,
8976 Elements::FullLeftShift64_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_2,
8977 Elements::FullLeftShift64_32 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_32,
8978 Elements::FullLeftShift64_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_4,
8979 Elements::FullLeftShift64_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_8,
8980 Elements::FullLeftShift8_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_1,
8981 Elements::FullLeftShift8_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_2,
8982 Elements::FullLeftShift8_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_4,
8983 Elements::FullMultiply16 => simplicity_sys::c_jets::jets_wrapper::full_multiply_16,
8984 Elements::FullMultiply32 => simplicity_sys::c_jets::jets_wrapper::full_multiply_32,
8985 Elements::FullMultiply64 => simplicity_sys::c_jets::jets_wrapper::full_multiply_64,
8986 Elements::FullMultiply8 => simplicity_sys::c_jets::jets_wrapper::full_multiply_8,
8987 Elements::FullRightShift16_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_1,
8988 Elements::FullRightShift16_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_2,
8989 Elements::FullRightShift16_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_4,
8990 Elements::FullRightShift16_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_8,
8991 Elements::FullRightShift32_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_1,
8992 Elements::FullRightShift32_16 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_16,
8993 Elements::FullRightShift32_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_2,
8994 Elements::FullRightShift32_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_4,
8995 Elements::FullRightShift32_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_8,
8996 Elements::FullRightShift64_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_1,
8997 Elements::FullRightShift64_16 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_16,
8998 Elements::FullRightShift64_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_2,
8999 Elements::FullRightShift64_32 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_32,
9000 Elements::FullRightShift64_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_4,
9001 Elements::FullRightShift64_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_8,
9002 Elements::FullRightShift8_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_1,
9003 Elements::FullRightShift8_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_2,
9004 Elements::FullRightShift8_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_4,
9005 Elements::FullSubtract16 => simplicity_sys::c_jets::jets_wrapper::full_subtract_16,
9006 Elements::FullSubtract32 => simplicity_sys::c_jets::jets_wrapper::full_subtract_32,
9007 Elements::FullSubtract64 => simplicity_sys::c_jets::jets_wrapper::full_subtract_64,
9008 Elements::FullSubtract8 => simplicity_sys::c_jets::jets_wrapper::full_subtract_8,
9009 Elements::GeIsOnCurve => simplicity_sys::c_jets::jets_wrapper::ge_is_on_curve,
9010 Elements::GeNegate => simplicity_sys::c_jets::jets_wrapper::ge_negate,
9011 Elements::GejAdd => simplicity_sys::c_jets::jets_wrapper::gej_add,
9012 Elements::GejDouble => simplicity_sys::c_jets::jets_wrapper::gej_double,
9013 Elements::GejEquiv => simplicity_sys::c_jets::jets_wrapper::gej_equiv,
9014 Elements::GejGeAdd => simplicity_sys::c_jets::jets_wrapper::gej_ge_add,
9015 Elements::GejGeAddEx => simplicity_sys::c_jets::jets_wrapper::gej_ge_add_ex,
9016 Elements::GejGeEquiv => simplicity_sys::c_jets::jets_wrapper::gej_ge_equiv,
9017 Elements::GejInfinity => simplicity_sys::c_jets::jets_wrapper::gej_infinity,
9018 Elements::GejIsInfinity => simplicity_sys::c_jets::jets_wrapper::gej_is_infinity,
9019 Elements::GejIsOnCurve => simplicity_sys::c_jets::jets_wrapper::gej_is_on_curve,
9020 Elements::GejNegate => simplicity_sys::c_jets::jets_wrapper::gej_negate,
9021 Elements::GejNormalize => simplicity_sys::c_jets::jets_wrapper::gej_normalize,
9022 Elements::GejRescale => simplicity_sys::c_jets::jets_wrapper::gej_rescale,
9023 Elements::GejXEquiv => simplicity_sys::c_jets::jets_wrapper::gej_x_equiv,
9024 Elements::GejYIsOdd => simplicity_sys::c_jets::jets_wrapper::gej_y_is_odd,
9025 Elements::Generate => simplicity_sys::c_jets::jets_wrapper::generate,
9026 Elements::GenesisBlockHash => simplicity_sys::c_jets::jets_wrapper::genesis_block_hash,
9027 Elements::HashToCurve => simplicity_sys::c_jets::jets_wrapper::hash_to_curve,
9028 Elements::High1 => simplicity_sys::c_jets::jets_wrapper::high_1,
9029 Elements::High16 => simplicity_sys::c_jets::jets_wrapper::high_16,
9030 Elements::High32 => simplicity_sys::c_jets::jets_wrapper::high_32,
9031 Elements::High64 => simplicity_sys::c_jets::jets_wrapper::high_64,
9032 Elements::High8 => simplicity_sys::c_jets::jets_wrapper::high_8,
9033 Elements::Increment16 => simplicity_sys::c_jets::jets_wrapper::increment_16,
9034 Elements::Increment32 => simplicity_sys::c_jets::jets_wrapper::increment_32,
9035 Elements::Increment64 => simplicity_sys::c_jets::jets_wrapper::increment_64,
9036 Elements::Increment8 => simplicity_sys::c_jets::jets_wrapper::increment_8,
9037 Elements::InputAmount => simplicity_sys::c_jets::jets_wrapper::input_amount,
9038 Elements::InputAmountsHash => simplicity_sys::c_jets::jets_wrapper::input_amounts_hash,
9039 Elements::InputAnnexHash => simplicity_sys::c_jets::jets_wrapper::input_annex_hash,
9040 Elements::InputAnnexesHash => simplicity_sys::c_jets::jets_wrapper::input_annexes_hash,
9041 Elements::InputAsset => simplicity_sys::c_jets::jets_wrapper::input_asset,
9042 Elements::InputHash => simplicity_sys::c_jets::jets_wrapper::input_hash,
9043 Elements::InputOutpointsHash => simplicity_sys::c_jets::jets_wrapper::input_outpoints_hash,
9044 Elements::InputPegin => simplicity_sys::c_jets::jets_wrapper::input_pegin,
9045 Elements::InputPrevOutpoint => simplicity_sys::c_jets::jets_wrapper::input_prev_outpoint,
9046 Elements::InputScriptHash => simplicity_sys::c_jets::jets_wrapper::input_script_hash,
9047 Elements::InputScriptSigHash => simplicity_sys::c_jets::jets_wrapper::input_script_sig_hash,
9048 Elements::InputScriptSigsHash => simplicity_sys::c_jets::jets_wrapper::input_script_sigs_hash,
9049 Elements::InputScriptsHash => simplicity_sys::c_jets::jets_wrapper::input_scripts_hash,
9050 Elements::InputSequence => simplicity_sys::c_jets::jets_wrapper::input_sequence,
9051 Elements::InputSequencesHash => simplicity_sys::c_jets::jets_wrapper::input_sequences_hash,
9052 Elements::InputUtxoHash => simplicity_sys::c_jets::jets_wrapper::input_utxo_hash,
9053 Elements::InputUtxosHash => simplicity_sys::c_jets::jets_wrapper::input_utxos_hash,
9054 Elements::InputsHash => simplicity_sys::c_jets::jets_wrapper::inputs_hash,
9055 Elements::InternalKey => simplicity_sys::c_jets::jets_wrapper::internal_key,
9056 Elements::IsOne16 => simplicity_sys::c_jets::jets_wrapper::is_one_16,
9057 Elements::IsOne32 => simplicity_sys::c_jets::jets_wrapper::is_one_32,
9058 Elements::IsOne64 => simplicity_sys::c_jets::jets_wrapper::is_one_64,
9059 Elements::IsOne8 => simplicity_sys::c_jets::jets_wrapper::is_one_8,
9060 Elements::IsZero16 => simplicity_sys::c_jets::jets_wrapper::is_zero_16,
9061 Elements::IsZero32 => simplicity_sys::c_jets::jets_wrapper::is_zero_32,
9062 Elements::IsZero64 => simplicity_sys::c_jets::jets_wrapper::is_zero_64,
9063 Elements::IsZero8 => simplicity_sys::c_jets::jets_wrapper::is_zero_8,
9064 Elements::Issuance => simplicity_sys::c_jets::jets_wrapper::issuance,
9065 Elements::IssuanceAsset => simplicity_sys::c_jets::jets_wrapper::issuance_asset,
9066 Elements::IssuanceAssetAmount => simplicity_sys::c_jets::jets_wrapper::issuance_asset_amount,
9067 Elements::IssuanceAssetAmountsHash => simplicity_sys::c_jets::jets_wrapper::issuance_asset_amounts_hash,
9068 Elements::IssuanceAssetProof => simplicity_sys::c_jets::jets_wrapper::issuance_asset_proof,
9069 Elements::IssuanceBlindingEntropyHash => simplicity_sys::c_jets::jets_wrapper::issuance_blinding_entropy_hash,
9070 Elements::IssuanceEntropy => simplicity_sys::c_jets::jets_wrapper::issuance_entropy,
9071 Elements::IssuanceHash => simplicity_sys::c_jets::jets_wrapper::issuance_hash,
9072 Elements::IssuanceRangeProofsHash => simplicity_sys::c_jets::jets_wrapper::issuance_range_proofs_hash,
9073 Elements::IssuanceToken => simplicity_sys::c_jets::jets_wrapper::issuance_token,
9074 Elements::IssuanceTokenAmount => simplicity_sys::c_jets::jets_wrapper::issuance_token_amount,
9075 Elements::IssuanceTokenAmountsHash => simplicity_sys::c_jets::jets_wrapper::issuance_token_amounts_hash,
9076 Elements::IssuanceTokenProof => simplicity_sys::c_jets::jets_wrapper::issuance_token_proof,
9077 Elements::IssuancesHash => simplicity_sys::c_jets::jets_wrapper::issuances_hash,
9078 Elements::LbtcAsset => simplicity_sys::c_jets::jets_wrapper::lbtc_asset,
9079 Elements::Le16 => simplicity_sys::c_jets::jets_wrapper::le_16,
9080 Elements::Le32 => simplicity_sys::c_jets::jets_wrapper::le_32,
9081 Elements::Le64 => simplicity_sys::c_jets::jets_wrapper::le_64,
9082 Elements::Le8 => simplicity_sys::c_jets::jets_wrapper::le_8,
9083 Elements::LeftExtend16_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_16_32,
9084 Elements::LeftExtend16_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_16_64,
9085 Elements::LeftExtend1_16 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_16,
9086 Elements::LeftExtend1_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_32,
9087 Elements::LeftExtend1_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_64,
9088 Elements::LeftExtend1_8 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_8,
9089 Elements::LeftExtend32_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_32_64,
9090 Elements::LeftExtend8_16 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_16,
9091 Elements::LeftExtend8_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_32,
9092 Elements::LeftExtend8_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_64,
9093 Elements::LeftPadHigh16_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_32,
9094 Elements::LeftPadHigh16_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_64,
9095 Elements::LeftPadHigh1_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_16,
9096 Elements::LeftPadHigh1_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_32,
9097 Elements::LeftPadHigh1_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_64,
9098 Elements::LeftPadHigh1_8 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_8,
9099 Elements::LeftPadHigh32_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_32_64,
9100 Elements::LeftPadHigh8_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_16,
9101 Elements::LeftPadHigh8_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_32,
9102 Elements::LeftPadHigh8_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_64,
9103 Elements::LeftPadLow16_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_32,
9104 Elements::LeftPadLow16_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_64,
9105 Elements::LeftPadLow1_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_16,
9106 Elements::LeftPadLow1_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_32,
9107 Elements::LeftPadLow1_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_64,
9108 Elements::LeftPadLow1_8 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_8,
9109 Elements::LeftPadLow32_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_32_64,
9110 Elements::LeftPadLow8_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_16,
9111 Elements::LeftPadLow8_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_32,
9112 Elements::LeftPadLow8_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_64,
9113 Elements::LeftRotate16 => simplicity_sys::c_jets::jets_wrapper::left_rotate_16,
9114 Elements::LeftRotate32 => simplicity_sys::c_jets::jets_wrapper::left_rotate_32,
9115 Elements::LeftRotate64 => simplicity_sys::c_jets::jets_wrapper::left_rotate_64,
9116 Elements::LeftRotate8 => simplicity_sys::c_jets::jets_wrapper::left_rotate_8,
9117 Elements::LeftShift16 => simplicity_sys::c_jets::jets_wrapper::left_shift_16,
9118 Elements::LeftShift32 => simplicity_sys::c_jets::jets_wrapper::left_shift_32,
9119 Elements::LeftShift64 => simplicity_sys::c_jets::jets_wrapper::left_shift_64,
9120 Elements::LeftShift8 => simplicity_sys::c_jets::jets_wrapper::left_shift_8,
9121 Elements::LeftShiftWith16 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_16,
9122 Elements::LeftShiftWith32 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_32,
9123 Elements::LeftShiftWith64 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_64,
9124 Elements::LeftShiftWith8 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_8,
9125 Elements::Leftmost16_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_1,
9126 Elements::Leftmost16_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_2,
9127 Elements::Leftmost16_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_4,
9128 Elements::Leftmost16_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_8,
9129 Elements::Leftmost32_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_1,
9130 Elements::Leftmost32_16 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_16,
9131 Elements::Leftmost32_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_2,
9132 Elements::Leftmost32_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_4,
9133 Elements::Leftmost32_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_8,
9134 Elements::Leftmost64_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_1,
9135 Elements::Leftmost64_16 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_16,
9136 Elements::Leftmost64_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_2,
9137 Elements::Leftmost64_32 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_32,
9138 Elements::Leftmost64_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_4,
9139 Elements::Leftmost64_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_8,
9140 Elements::Leftmost8_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_1,
9141 Elements::Leftmost8_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_2,
9142 Elements::Leftmost8_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_4,
9143 Elements::LinearCombination1 => simplicity_sys::c_jets::jets_wrapper::linear_combination_1,
9144 Elements::LinearVerify1 => simplicity_sys::c_jets::jets_wrapper::linear_verify_1,
9145 Elements::LockTime => simplicity_sys::c_jets::jets_wrapper::lock_time,
9146 Elements::Low1 => simplicity_sys::c_jets::jets_wrapper::low_1,
9147 Elements::Low16 => simplicity_sys::c_jets::jets_wrapper::low_16,
9148 Elements::Low32 => simplicity_sys::c_jets::jets_wrapper::low_32,
9149 Elements::Low64 => simplicity_sys::c_jets::jets_wrapper::low_64,
9150 Elements::Low8 => simplicity_sys::c_jets::jets_wrapper::low_8,
9151 Elements::Lt16 => simplicity_sys::c_jets::jets_wrapper::lt_16,
9152 Elements::Lt32 => simplicity_sys::c_jets::jets_wrapper::lt_32,
9153 Elements::Lt64 => simplicity_sys::c_jets::jets_wrapper::lt_64,
9154 Elements::Lt8 => simplicity_sys::c_jets::jets_wrapper::lt_8,
9155 Elements::Maj1 => simplicity_sys::c_jets::jets_wrapper::maj_1,
9156 Elements::Maj16 => simplicity_sys::c_jets::jets_wrapper::maj_16,
9157 Elements::Maj32 => simplicity_sys::c_jets::jets_wrapper::maj_32,
9158 Elements::Maj64 => simplicity_sys::c_jets::jets_wrapper::maj_64,
9159 Elements::Maj8 => simplicity_sys::c_jets::jets_wrapper::maj_8,
9160 Elements::Max16 => simplicity_sys::c_jets::jets_wrapper::max_16,
9161 Elements::Max32 => simplicity_sys::c_jets::jets_wrapper::max_32,
9162 Elements::Max64 => simplicity_sys::c_jets::jets_wrapper::max_64,
9163 Elements::Max8 => simplicity_sys::c_jets::jets_wrapper::max_8,
9164 Elements::Median16 => simplicity_sys::c_jets::jets_wrapper::median_16,
9165 Elements::Median32 => simplicity_sys::c_jets::jets_wrapper::median_32,
9166 Elements::Median64 => simplicity_sys::c_jets::jets_wrapper::median_64,
9167 Elements::Median8 => simplicity_sys::c_jets::jets_wrapper::median_8,
9168 Elements::Min16 => simplicity_sys::c_jets::jets_wrapper::min_16,
9169 Elements::Min32 => simplicity_sys::c_jets::jets_wrapper::min_32,
9170 Elements::Min64 => simplicity_sys::c_jets::jets_wrapper::min_64,
9171 Elements::Min8 => simplicity_sys::c_jets::jets_wrapper::min_8,
9172 Elements::Modulo16 => simplicity_sys::c_jets::jets_wrapper::modulo_16,
9173 Elements::Modulo32 => simplicity_sys::c_jets::jets_wrapper::modulo_32,
9174 Elements::Modulo64 => simplicity_sys::c_jets::jets_wrapper::modulo_64,
9175 Elements::Modulo8 => simplicity_sys::c_jets::jets_wrapper::modulo_8,
9176 Elements::Multiply16 => simplicity_sys::c_jets::jets_wrapper::multiply_16,
9177 Elements::Multiply32 => simplicity_sys::c_jets::jets_wrapper::multiply_32,
9178 Elements::Multiply64 => simplicity_sys::c_jets::jets_wrapper::multiply_64,
9179 Elements::Multiply8 => simplicity_sys::c_jets::jets_wrapper::multiply_8,
9180 Elements::Negate16 => simplicity_sys::c_jets::jets_wrapper::negate_16,
9181 Elements::Negate32 => simplicity_sys::c_jets::jets_wrapper::negate_32,
9182 Elements::Negate64 => simplicity_sys::c_jets::jets_wrapper::negate_64,
9183 Elements::Negate8 => simplicity_sys::c_jets::jets_wrapper::negate_8,
9184 Elements::NewIssuanceContract => simplicity_sys::c_jets::jets_wrapper::new_issuance_contract,
9185 Elements::NonceHash => simplicity_sys::c_jets::jets_wrapper::nonce_hash,
9186 Elements::NumInputs => simplicity_sys::c_jets::jets_wrapper::num_inputs,
9187 Elements::NumOutputs => simplicity_sys::c_jets::jets_wrapper::num_outputs,
9188 Elements::One16 => simplicity_sys::c_jets::jets_wrapper::one_16,
9189 Elements::One32 => simplicity_sys::c_jets::jets_wrapper::one_32,
9190 Elements::One64 => simplicity_sys::c_jets::jets_wrapper::one_64,
9191 Elements::One8 => simplicity_sys::c_jets::jets_wrapper::one_8,
9192 Elements::Or1 => simplicity_sys::c_jets::jets_wrapper::or_1,
9193 Elements::Or16 => simplicity_sys::c_jets::jets_wrapper::or_16,
9194 Elements::Or32 => simplicity_sys::c_jets::jets_wrapper::or_32,
9195 Elements::Or64 => simplicity_sys::c_jets::jets_wrapper::or_64,
9196 Elements::Or8 => simplicity_sys::c_jets::jets_wrapper::or_8,
9197 Elements::OutpointHash => simplicity_sys::c_jets::jets_wrapper::outpoint_hash,
9198 Elements::OutputAmount => simplicity_sys::c_jets::jets_wrapper::output_amount,
9199 Elements::OutputAmountsHash => simplicity_sys::c_jets::jets_wrapper::output_amounts_hash,
9200 Elements::OutputAsset => simplicity_sys::c_jets::jets_wrapper::output_asset,
9201 Elements::OutputHash => simplicity_sys::c_jets::jets_wrapper::output_hash,
9202 Elements::OutputIsFee => simplicity_sys::c_jets::jets_wrapper::output_is_fee,
9203 Elements::OutputNonce => simplicity_sys::c_jets::jets_wrapper::output_nonce,
9204 Elements::OutputNoncesHash => simplicity_sys::c_jets::jets_wrapper::output_nonces_hash,
9205 Elements::OutputNullDatum => simplicity_sys::c_jets::jets_wrapper::output_null_datum,
9206 Elements::OutputRangeProof => simplicity_sys::c_jets::jets_wrapper::output_range_proof,
9207 Elements::OutputRangeProofsHash => simplicity_sys::c_jets::jets_wrapper::output_range_proofs_hash,
9208 Elements::OutputScriptHash => simplicity_sys::c_jets::jets_wrapper::output_script_hash,
9209 Elements::OutputScriptsHash => simplicity_sys::c_jets::jets_wrapper::output_scripts_hash,
9210 Elements::OutputSurjectionProof => simplicity_sys::c_jets::jets_wrapper::output_surjection_proof,
9211 Elements::OutputSurjectionProofsHash => simplicity_sys::c_jets::jets_wrapper::output_surjection_proofs_hash,
9212 Elements::OutputsHash => simplicity_sys::c_jets::jets_wrapper::outputs_hash,
9213 Elements::ParseLock => simplicity_sys::c_jets::jets_wrapper::parse_lock,
9214 Elements::ParseSequence => simplicity_sys::c_jets::jets_wrapper::parse_sequence,
9215 Elements::PointVerify1 => simplicity_sys::c_jets::jets_wrapper::point_verify_1,
9216 Elements::ReissuanceBlinding => simplicity_sys::c_jets::jets_wrapper::reissuance_blinding,
9217 Elements::ReissuanceEntropy => simplicity_sys::c_jets::jets_wrapper::reissuance_entropy,
9218 Elements::RightExtend16_32 => simplicity_sys::c_jets::jets_wrapper::right_extend_16_32,
9219 Elements::RightExtend16_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_16_64,
9220 Elements::RightExtend32_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_32_64,
9221 Elements::RightExtend8_16 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_16,
9222 Elements::RightExtend8_32 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_32,
9223 Elements::RightExtend8_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_64,
9224 Elements::RightPadHigh16_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_32,
9225 Elements::RightPadHigh16_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_64,
9226 Elements::RightPadHigh1_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_16,
9227 Elements::RightPadHigh1_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_32,
9228 Elements::RightPadHigh1_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_64,
9229 Elements::RightPadHigh1_8 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_8,
9230 Elements::RightPadHigh32_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_32_64,
9231 Elements::RightPadHigh8_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_16,
9232 Elements::RightPadHigh8_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_32,
9233 Elements::RightPadHigh8_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_64,
9234 Elements::RightPadLow16_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_32,
9235 Elements::RightPadLow16_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_64,
9236 Elements::RightPadLow1_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_16,
9237 Elements::RightPadLow1_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_32,
9238 Elements::RightPadLow1_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_64,
9239 Elements::RightPadLow1_8 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_8,
9240 Elements::RightPadLow32_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_32_64,
9241 Elements::RightPadLow8_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_16,
9242 Elements::RightPadLow8_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_32,
9243 Elements::RightPadLow8_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_64,
9244 Elements::RightRotate16 => simplicity_sys::c_jets::jets_wrapper::right_rotate_16,
9245 Elements::RightRotate32 => simplicity_sys::c_jets::jets_wrapper::right_rotate_32,
9246 Elements::RightRotate64 => simplicity_sys::c_jets::jets_wrapper::right_rotate_64,
9247 Elements::RightRotate8 => simplicity_sys::c_jets::jets_wrapper::right_rotate_8,
9248 Elements::RightShift16 => simplicity_sys::c_jets::jets_wrapper::right_shift_16,
9249 Elements::RightShift32 => simplicity_sys::c_jets::jets_wrapper::right_shift_32,
9250 Elements::RightShift64 => simplicity_sys::c_jets::jets_wrapper::right_shift_64,
9251 Elements::RightShift8 => simplicity_sys::c_jets::jets_wrapper::right_shift_8,
9252 Elements::RightShiftWith16 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_16,
9253 Elements::RightShiftWith32 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_32,
9254 Elements::RightShiftWith64 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_64,
9255 Elements::RightShiftWith8 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_8,
9256 Elements::Rightmost16_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_1,
9257 Elements::Rightmost16_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_2,
9258 Elements::Rightmost16_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_4,
9259 Elements::Rightmost16_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_8,
9260 Elements::Rightmost32_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_1,
9261 Elements::Rightmost32_16 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_16,
9262 Elements::Rightmost32_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_2,
9263 Elements::Rightmost32_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_4,
9264 Elements::Rightmost32_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_8,
9265 Elements::Rightmost64_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_1,
9266 Elements::Rightmost64_16 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_16,
9267 Elements::Rightmost64_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_2,
9268 Elements::Rightmost64_32 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_32,
9269 Elements::Rightmost64_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_4,
9270 Elements::Rightmost64_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_8,
9271 Elements::Rightmost8_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_1,
9272 Elements::Rightmost8_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_2,
9273 Elements::Rightmost8_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_4,
9274 Elements::ScalarAdd => simplicity_sys::c_jets::jets_wrapper::scalar_add,
9275 Elements::ScalarInvert => simplicity_sys::c_jets::jets_wrapper::scalar_invert,
9276 Elements::ScalarIsZero => simplicity_sys::c_jets::jets_wrapper::scalar_is_zero,
9277 Elements::ScalarMultiply => simplicity_sys::c_jets::jets_wrapper::scalar_multiply,
9278 Elements::ScalarMultiplyLambda => simplicity_sys::c_jets::jets_wrapper::scalar_multiply_lambda,
9279 Elements::ScalarNegate => simplicity_sys::c_jets::jets_wrapper::scalar_negate,
9280 Elements::ScalarNormalize => simplicity_sys::c_jets::jets_wrapper::scalar_normalize,
9281 Elements::ScalarSquare => simplicity_sys::c_jets::jets_wrapper::scalar_square,
9282 Elements::Scale => simplicity_sys::c_jets::jets_wrapper::scale,
9283 Elements::ScriptCMR => simplicity_sys::c_jets::jets_wrapper::script_cmr,
9284 Elements::Sha256Block => simplicity_sys::c_jets::jets_wrapper::sha_256_block,
9285 Elements::Sha256Ctx8Add1 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_1,
9286 Elements::Sha256Ctx8Add128 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_128,
9287 Elements::Sha256Ctx8Add16 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_16,
9288 Elements::Sha256Ctx8Add2 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_2,
9289 Elements::Sha256Ctx8Add256 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_256,
9290 Elements::Sha256Ctx8Add32 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_32,
9291 Elements::Sha256Ctx8Add4 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_4,
9292 Elements::Sha256Ctx8Add512 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_512,
9293 Elements::Sha256Ctx8Add64 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_64,
9294 Elements::Sha256Ctx8Add8 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_8,
9295 Elements::Sha256Ctx8AddBuffer511 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_buffer_511,
9296 Elements::Sha256Ctx8Finalize => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_finalize,
9297 Elements::Sha256Ctx8Init => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_init,
9298 Elements::Sha256Iv => simplicity_sys::c_jets::jets_wrapper::sha_256_iv,
9299 Elements::SigAllHash => simplicity_sys::c_jets::jets_wrapper::sig_all_hash,
9300 Elements::Some1 => simplicity_sys::c_jets::jets_wrapper::some_1,
9301 Elements::Some16 => simplicity_sys::c_jets::jets_wrapper::some_16,
9302 Elements::Some32 => simplicity_sys::c_jets::jets_wrapper::some_32,
9303 Elements::Some64 => simplicity_sys::c_jets::jets_wrapper::some_64,
9304 Elements::Some8 => simplicity_sys::c_jets::jets_wrapper::some_8,
9305 Elements::Subtract16 => simplicity_sys::c_jets::jets_wrapper::subtract_16,
9306 Elements::Subtract32 => simplicity_sys::c_jets::jets_wrapper::subtract_32,
9307 Elements::Subtract64 => simplicity_sys::c_jets::jets_wrapper::subtract_64,
9308 Elements::Subtract8 => simplicity_sys::c_jets::jets_wrapper::subtract_8,
9309 Elements::Swu => simplicity_sys::c_jets::jets_wrapper::swu,
9310 Elements::TapEnvHash => simplicity_sys::c_jets::jets_wrapper::tap_env_hash,
9311 Elements::TapdataInit => simplicity_sys::c_jets::jets_wrapper::tapdata_init,
9312 Elements::TapleafHash => simplicity_sys::c_jets::jets_wrapper::tapleaf_hash,
9313 Elements::TapleafVersion => simplicity_sys::c_jets::jets_wrapper::tapleaf_version,
9314 Elements::Tappath => simplicity_sys::c_jets::jets_wrapper::tappath,
9315 Elements::TappathHash => simplicity_sys::c_jets::jets_wrapper::tappath_hash,
9316 Elements::TotalFee => simplicity_sys::c_jets::jets_wrapper::total_fee,
9317 Elements::TransactionId => simplicity_sys::c_jets::jets_wrapper::transaction_id,
9318 Elements::TxHash => simplicity_sys::c_jets::jets_wrapper::tx_hash,
9319 Elements::TxIsFinal => simplicity_sys::c_jets::jets_wrapper::tx_is_final,
9320 Elements::TxLockHeight => simplicity_sys::c_jets::jets_wrapper::tx_lock_height,
9321 Elements::TxLockTime => simplicity_sys::c_jets::jets_wrapper::tx_lock_time,
9322 Elements::Verify => simplicity_sys::c_jets::jets_wrapper::verify,
9323 Elements::Version => simplicity_sys::c_jets::jets_wrapper::version,
9324 Elements::Xor1 => simplicity_sys::c_jets::jets_wrapper::xor_1,
9325 Elements::Xor16 => simplicity_sys::c_jets::jets_wrapper::xor_16,
9326 Elements::Xor32 => simplicity_sys::c_jets::jets_wrapper::xor_32,
9327 Elements::Xor64 => simplicity_sys::c_jets::jets_wrapper::xor_64,
9328 Elements::Xor8 => simplicity_sys::c_jets::jets_wrapper::xor_8,
9329 Elements::XorXor1 => simplicity_sys::c_jets::jets_wrapper::xor_xor_1,
9330 Elements::XorXor16 => simplicity_sys::c_jets::jets_wrapper::xor_xor_16,
9331 Elements::XorXor32 => simplicity_sys::c_jets::jets_wrapper::xor_xor_32,
9332 Elements::XorXor64 => simplicity_sys::c_jets::jets_wrapper::xor_xor_64,
9333 Elements::XorXor8 => simplicity_sys::c_jets::jets_wrapper::xor_xor_8,
9334 }
9335}