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 hashes::sha256::Midstate;
10use simplicity_sys::CFrameItem;
11use std::io::Write;
12use std::{fmt, str};
13use simplicity_sys::CElementsTxEnv;
14
15#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)]
17pub enum Elements {
18 Add16,
19 Add32,
20 Add64,
21 Add8,
22 All16,
23 All32,
24 All64,
25 All8,
26 And1,
27 And16,
28 And32,
29 And64,
30 And8,
31 AnnexHash,
32 AssetAmountHash,
33 Bip0340Verify,
34 BrokenDoNotUseCheckLockDistance,
35 BrokenDoNotUseCheckLockDuration,
36 BrokenDoNotUseTxLockDistance,
37 BrokenDoNotUseTxLockDuration,
38 BuildTapbranch,
39 BuildTapleafSimplicity,
40 BuildTaptweak,
41 CalculateAsset,
42 CalculateConfidentialToken,
43 CalculateExplicitToken,
44 CalculateIssuanceEntropy,
45 Ch1,
46 Ch16,
47 Ch32,
48 Ch64,
49 Ch8,
50 CheckLockHeight,
51 CheckLockTime,
52 CheckSigVerify,
53 Complement1,
54 Complement16,
55 Complement32,
56 Complement64,
57 Complement8,
58 CurrentAmount,
59 CurrentAnnexHash,
60 CurrentAsset,
61 CurrentIndex,
62 CurrentIssuanceAssetAmount,
63 CurrentIssuanceAssetProof,
64 CurrentIssuanceTokenAmount,
65 CurrentIssuanceTokenProof,
66 CurrentNewIssuanceContract,
67 CurrentPegin,
68 CurrentPrevOutpoint,
69 CurrentReissuanceBlinding,
70 CurrentReissuanceEntropy,
71 CurrentScriptHash,
72 CurrentScriptSigHash,
73 CurrentSequence,
74 Decompress,
75 Decrement16,
76 Decrement32,
77 Decrement64,
78 Decrement8,
79 DivMod128_64,
80 DivMod16,
81 DivMod32,
82 DivMod64,
83 DivMod8,
84 Divide16,
85 Divide32,
86 Divide64,
87 Divide8,
88 Divides16,
89 Divides32,
90 Divides64,
91 Divides8,
92 Eq1,
93 Eq16,
94 Eq256,
95 Eq32,
96 Eq64,
97 Eq8,
98 FeAdd,
99 FeInvert,
100 FeIsOdd,
101 FeIsZero,
102 FeMultiply,
103 FeMultiplyBeta,
104 FeNegate,
105 FeNormalize,
106 FeSquare,
107 FeSquareRoot,
108 FullAdd16,
109 FullAdd32,
110 FullAdd64,
111 FullAdd8,
112 FullDecrement16,
113 FullDecrement32,
114 FullDecrement64,
115 FullDecrement8,
116 FullIncrement16,
117 FullIncrement32,
118 FullIncrement64,
119 FullIncrement8,
120 FullLeftShift16_1,
121 FullLeftShift16_2,
122 FullLeftShift16_4,
123 FullLeftShift16_8,
124 FullLeftShift32_1,
125 FullLeftShift32_16,
126 FullLeftShift32_2,
127 FullLeftShift32_4,
128 FullLeftShift32_8,
129 FullLeftShift64_1,
130 FullLeftShift64_16,
131 FullLeftShift64_2,
132 FullLeftShift64_32,
133 FullLeftShift64_4,
134 FullLeftShift64_8,
135 FullLeftShift8_1,
136 FullLeftShift8_2,
137 FullLeftShift8_4,
138 FullMultiply16,
139 FullMultiply32,
140 FullMultiply64,
141 FullMultiply8,
142 FullRightShift16_1,
143 FullRightShift16_2,
144 FullRightShift16_4,
145 FullRightShift16_8,
146 FullRightShift32_1,
147 FullRightShift32_16,
148 FullRightShift32_2,
149 FullRightShift32_4,
150 FullRightShift32_8,
151 FullRightShift64_1,
152 FullRightShift64_16,
153 FullRightShift64_2,
154 FullRightShift64_32,
155 FullRightShift64_4,
156 FullRightShift64_8,
157 FullRightShift8_1,
158 FullRightShift8_2,
159 FullRightShift8_4,
160 FullSubtract16,
161 FullSubtract32,
162 FullSubtract64,
163 FullSubtract8,
164 GeIsOnCurve,
165 GeNegate,
166 GejAdd,
167 GejDouble,
168 GejEquiv,
169 GejGeAdd,
170 GejGeAddEx,
171 GejGeEquiv,
172 GejInfinity,
173 GejIsInfinity,
174 GejIsOnCurve,
175 GejNegate,
176 GejNormalize,
177 GejRescale,
178 GejXEquiv,
179 GejYIsOdd,
180 Generate,
181 GenesisBlockHash,
182 HashToCurve,
183 High1,
184 High16,
185 High32,
186 High64,
187 High8,
188 Increment16,
189 Increment32,
190 Increment64,
191 Increment8,
192 InputAmount,
193 InputAmountsHash,
194 InputAnnexHash,
195 InputAnnexesHash,
196 InputAsset,
197 InputHash,
198 InputOutpointsHash,
199 InputPegin,
200 InputPrevOutpoint,
201 InputScriptHash,
202 InputScriptSigHash,
203 InputScriptSigsHash,
204 InputScriptsHash,
205 InputSequence,
206 InputSequencesHash,
207 InputUtxoHash,
208 InputUtxosHash,
209 InputsHash,
210 InternalKey,
211 IsOne16,
212 IsOne32,
213 IsOne64,
214 IsOne8,
215 IsZero16,
216 IsZero32,
217 IsZero64,
218 IsZero8,
219 Issuance,
220 IssuanceAsset,
221 IssuanceAssetAmount,
222 IssuanceAssetAmountsHash,
223 IssuanceAssetProof,
224 IssuanceBlindingEntropyHash,
225 IssuanceEntropy,
226 IssuanceHash,
227 IssuanceRangeProofsHash,
228 IssuanceToken,
229 IssuanceTokenAmount,
230 IssuanceTokenAmountsHash,
231 IssuanceTokenProof,
232 IssuancesHash,
233 LbtcAsset,
234 Le16,
235 Le32,
236 Le64,
237 Le8,
238 LeftExtend16_32,
239 LeftExtend16_64,
240 LeftExtend1_16,
241 LeftExtend1_32,
242 LeftExtend1_64,
243 LeftExtend1_8,
244 LeftExtend32_64,
245 LeftExtend8_16,
246 LeftExtend8_32,
247 LeftExtend8_64,
248 LeftPadHigh16_32,
249 LeftPadHigh16_64,
250 LeftPadHigh1_16,
251 LeftPadHigh1_32,
252 LeftPadHigh1_64,
253 LeftPadHigh1_8,
254 LeftPadHigh32_64,
255 LeftPadHigh8_16,
256 LeftPadHigh8_32,
257 LeftPadHigh8_64,
258 LeftPadLow16_32,
259 LeftPadLow16_64,
260 LeftPadLow1_16,
261 LeftPadLow1_32,
262 LeftPadLow1_64,
263 LeftPadLow1_8,
264 LeftPadLow32_64,
265 LeftPadLow8_16,
266 LeftPadLow8_32,
267 LeftPadLow8_64,
268 LeftRotate16,
269 LeftRotate32,
270 LeftRotate64,
271 LeftRotate8,
272 LeftShift16,
273 LeftShift32,
274 LeftShift64,
275 LeftShift8,
276 LeftShiftWith16,
277 LeftShiftWith32,
278 LeftShiftWith64,
279 LeftShiftWith8,
280 Leftmost16_1,
281 Leftmost16_2,
282 Leftmost16_4,
283 Leftmost16_8,
284 Leftmost32_1,
285 Leftmost32_16,
286 Leftmost32_2,
287 Leftmost32_4,
288 Leftmost32_8,
289 Leftmost64_1,
290 Leftmost64_16,
291 Leftmost64_2,
292 Leftmost64_32,
293 Leftmost64_4,
294 Leftmost64_8,
295 Leftmost8_1,
296 Leftmost8_2,
297 Leftmost8_4,
298 LinearCombination1,
299 LinearVerify1,
300 LockTime,
301 Low1,
302 Low16,
303 Low32,
304 Low64,
305 Low8,
306 Lt16,
307 Lt32,
308 Lt64,
309 Lt8,
310 Maj1,
311 Maj16,
312 Maj32,
313 Maj64,
314 Maj8,
315 Max16,
316 Max32,
317 Max64,
318 Max8,
319 Median16,
320 Median32,
321 Median64,
322 Median8,
323 Min16,
324 Min32,
325 Min64,
326 Min8,
327 Modulo16,
328 Modulo32,
329 Modulo64,
330 Modulo8,
331 Multiply16,
332 Multiply32,
333 Multiply64,
334 Multiply8,
335 Negate16,
336 Negate32,
337 Negate64,
338 Negate8,
339 NewIssuanceContract,
340 NonceHash,
341 NumInputs,
342 NumOutputs,
343 One16,
344 One32,
345 One64,
346 One8,
347 Or1,
348 Or16,
349 Or32,
350 Or64,
351 Or8,
352 OutpointHash,
353 OutputAmount,
354 OutputAmountsHash,
355 OutputAsset,
356 OutputHash,
357 OutputIsFee,
358 OutputNonce,
359 OutputNoncesHash,
360 OutputNullDatum,
361 OutputRangeProof,
362 OutputRangeProofsHash,
363 OutputScriptHash,
364 OutputScriptsHash,
365 OutputSurjectionProof,
366 OutputSurjectionProofsHash,
367 OutputsHash,
368 ParseLock,
369 ParseSequence,
370 PointVerify1,
371 ReissuanceBlinding,
372 ReissuanceEntropy,
373 RightExtend16_32,
374 RightExtend16_64,
375 RightExtend32_64,
376 RightExtend8_16,
377 RightExtend8_32,
378 RightExtend8_64,
379 RightPadHigh16_32,
380 RightPadHigh16_64,
381 RightPadHigh1_16,
382 RightPadHigh1_32,
383 RightPadHigh1_64,
384 RightPadHigh1_8,
385 RightPadHigh32_64,
386 RightPadHigh8_16,
387 RightPadHigh8_32,
388 RightPadHigh8_64,
389 RightPadLow16_32,
390 RightPadLow16_64,
391 RightPadLow1_16,
392 RightPadLow1_32,
393 RightPadLow1_64,
394 RightPadLow1_8,
395 RightPadLow32_64,
396 RightPadLow8_16,
397 RightPadLow8_32,
398 RightPadLow8_64,
399 RightRotate16,
400 RightRotate32,
401 RightRotate64,
402 RightRotate8,
403 RightShift16,
404 RightShift32,
405 RightShift64,
406 RightShift8,
407 RightShiftWith16,
408 RightShiftWith32,
409 RightShiftWith64,
410 RightShiftWith8,
411 Rightmost16_1,
412 Rightmost16_2,
413 Rightmost16_4,
414 Rightmost16_8,
415 Rightmost32_1,
416 Rightmost32_16,
417 Rightmost32_2,
418 Rightmost32_4,
419 Rightmost32_8,
420 Rightmost64_1,
421 Rightmost64_16,
422 Rightmost64_2,
423 Rightmost64_32,
424 Rightmost64_4,
425 Rightmost64_8,
426 Rightmost8_1,
427 Rightmost8_2,
428 Rightmost8_4,
429 ScalarAdd,
430 ScalarInvert,
431 ScalarIsZero,
432 ScalarMultiply,
433 ScalarMultiplyLambda,
434 ScalarNegate,
435 ScalarNormalize,
436 ScalarSquare,
437 Scale,
438 ScriptCMR,
439 Sha256Block,
440 Sha256Ctx8Add1,
441 Sha256Ctx8Add128,
442 Sha256Ctx8Add16,
443 Sha256Ctx8Add2,
444 Sha256Ctx8Add256,
445 Sha256Ctx8Add32,
446 Sha256Ctx8Add4,
447 Sha256Ctx8Add512,
448 Sha256Ctx8Add64,
449 Sha256Ctx8Add8,
450 Sha256Ctx8AddBuffer511,
451 Sha256Ctx8Finalize,
452 Sha256Ctx8Init,
453 Sha256Iv,
454 SigAllHash,
455 Some1,
456 Some16,
457 Some32,
458 Some64,
459 Some8,
460 Subtract16,
461 Subtract32,
462 Subtract64,
463 Subtract8,
464 Swu,
465 TapEnvHash,
466 TapdataInit,
467 TapleafHash,
468 TapleafVersion,
469 Tappath,
470 TappathHash,
471 TotalFee,
472 TransactionId,
473 TxHash,
474 TxIsFinal,
475 TxLockHeight,
476 TxLockTime,
477 Verify,
478 Version,
479 Xor1,
480 Xor16,
481 Xor32,
482 Xor64,
483 Xor8,
484 XorXor1,
485 XorXor16,
486 XorXor32,
487 XorXor64,
488 XorXor8,
489}
490
491impl Elements {
492 pub const ALL: [Self; 471] = [
494 Self::Add16,
495 Self::Add32,
496 Self::Add64,
497 Self::Add8,
498 Self::All16,
499 Self::All32,
500 Self::All64,
501 Self::All8,
502 Self::And1,
503 Self::And16,
504 Self::And32,
505 Self::And64,
506 Self::And8,
507 Self::AnnexHash,
508 Self::AssetAmountHash,
509 Self::Bip0340Verify,
510 Self::BrokenDoNotUseCheckLockDistance,
511 Self::BrokenDoNotUseCheckLockDuration,
512 Self::BrokenDoNotUseTxLockDistance,
513 Self::BrokenDoNotUseTxLockDuration,
514 Self::BuildTapbranch,
515 Self::BuildTapleafSimplicity,
516 Self::BuildTaptweak,
517 Self::CalculateAsset,
518 Self::CalculateConfidentialToken,
519 Self::CalculateExplicitToken,
520 Self::CalculateIssuanceEntropy,
521 Self::Ch1,
522 Self::Ch16,
523 Self::Ch32,
524 Self::Ch64,
525 Self::Ch8,
526 Self::CheckLockHeight,
527 Self::CheckLockTime,
528 Self::CheckSigVerify,
529 Self::Complement1,
530 Self::Complement16,
531 Self::Complement32,
532 Self::Complement64,
533 Self::Complement8,
534 Self::CurrentAmount,
535 Self::CurrentAnnexHash,
536 Self::CurrentAsset,
537 Self::CurrentIndex,
538 Self::CurrentIssuanceAssetAmount,
539 Self::CurrentIssuanceAssetProof,
540 Self::CurrentIssuanceTokenAmount,
541 Self::CurrentIssuanceTokenProof,
542 Self::CurrentNewIssuanceContract,
543 Self::CurrentPegin,
544 Self::CurrentPrevOutpoint,
545 Self::CurrentReissuanceBlinding,
546 Self::CurrentReissuanceEntropy,
547 Self::CurrentScriptHash,
548 Self::CurrentScriptSigHash,
549 Self::CurrentSequence,
550 Self::Decompress,
551 Self::Decrement16,
552 Self::Decrement32,
553 Self::Decrement64,
554 Self::Decrement8,
555 Self::DivMod128_64,
556 Self::DivMod16,
557 Self::DivMod32,
558 Self::DivMod64,
559 Self::DivMod8,
560 Self::Divide16,
561 Self::Divide32,
562 Self::Divide64,
563 Self::Divide8,
564 Self::Divides16,
565 Self::Divides32,
566 Self::Divides64,
567 Self::Divides8,
568 Self::Eq1,
569 Self::Eq16,
570 Self::Eq256,
571 Self::Eq32,
572 Self::Eq64,
573 Self::Eq8,
574 Self::FeAdd,
575 Self::FeInvert,
576 Self::FeIsOdd,
577 Self::FeIsZero,
578 Self::FeMultiply,
579 Self::FeMultiplyBeta,
580 Self::FeNegate,
581 Self::FeNormalize,
582 Self::FeSquare,
583 Self::FeSquareRoot,
584 Self::FullAdd16,
585 Self::FullAdd32,
586 Self::FullAdd64,
587 Self::FullAdd8,
588 Self::FullDecrement16,
589 Self::FullDecrement32,
590 Self::FullDecrement64,
591 Self::FullDecrement8,
592 Self::FullIncrement16,
593 Self::FullIncrement32,
594 Self::FullIncrement64,
595 Self::FullIncrement8,
596 Self::FullLeftShift16_1,
597 Self::FullLeftShift16_2,
598 Self::FullLeftShift16_4,
599 Self::FullLeftShift16_8,
600 Self::FullLeftShift32_1,
601 Self::FullLeftShift32_16,
602 Self::FullLeftShift32_2,
603 Self::FullLeftShift32_4,
604 Self::FullLeftShift32_8,
605 Self::FullLeftShift64_1,
606 Self::FullLeftShift64_16,
607 Self::FullLeftShift64_2,
608 Self::FullLeftShift64_32,
609 Self::FullLeftShift64_4,
610 Self::FullLeftShift64_8,
611 Self::FullLeftShift8_1,
612 Self::FullLeftShift8_2,
613 Self::FullLeftShift8_4,
614 Self::FullMultiply16,
615 Self::FullMultiply32,
616 Self::FullMultiply64,
617 Self::FullMultiply8,
618 Self::FullRightShift16_1,
619 Self::FullRightShift16_2,
620 Self::FullRightShift16_4,
621 Self::FullRightShift16_8,
622 Self::FullRightShift32_1,
623 Self::FullRightShift32_16,
624 Self::FullRightShift32_2,
625 Self::FullRightShift32_4,
626 Self::FullRightShift32_8,
627 Self::FullRightShift64_1,
628 Self::FullRightShift64_16,
629 Self::FullRightShift64_2,
630 Self::FullRightShift64_32,
631 Self::FullRightShift64_4,
632 Self::FullRightShift64_8,
633 Self::FullRightShift8_1,
634 Self::FullRightShift8_2,
635 Self::FullRightShift8_4,
636 Self::FullSubtract16,
637 Self::FullSubtract32,
638 Self::FullSubtract64,
639 Self::FullSubtract8,
640 Self::GeIsOnCurve,
641 Self::GeNegate,
642 Self::GejAdd,
643 Self::GejDouble,
644 Self::GejEquiv,
645 Self::GejGeAdd,
646 Self::GejGeAddEx,
647 Self::GejGeEquiv,
648 Self::GejInfinity,
649 Self::GejIsInfinity,
650 Self::GejIsOnCurve,
651 Self::GejNegate,
652 Self::GejNormalize,
653 Self::GejRescale,
654 Self::GejXEquiv,
655 Self::GejYIsOdd,
656 Self::Generate,
657 Self::GenesisBlockHash,
658 Self::HashToCurve,
659 Self::High1,
660 Self::High16,
661 Self::High32,
662 Self::High64,
663 Self::High8,
664 Self::Increment16,
665 Self::Increment32,
666 Self::Increment64,
667 Self::Increment8,
668 Self::InputAmount,
669 Self::InputAmountsHash,
670 Self::InputAnnexHash,
671 Self::InputAnnexesHash,
672 Self::InputAsset,
673 Self::InputHash,
674 Self::InputOutpointsHash,
675 Self::InputPegin,
676 Self::InputPrevOutpoint,
677 Self::InputScriptHash,
678 Self::InputScriptSigHash,
679 Self::InputScriptSigsHash,
680 Self::InputScriptsHash,
681 Self::InputSequence,
682 Self::InputSequencesHash,
683 Self::InputUtxoHash,
684 Self::InputUtxosHash,
685 Self::InputsHash,
686 Self::InternalKey,
687 Self::IsOne16,
688 Self::IsOne32,
689 Self::IsOne64,
690 Self::IsOne8,
691 Self::IsZero16,
692 Self::IsZero32,
693 Self::IsZero64,
694 Self::IsZero8,
695 Self::Issuance,
696 Self::IssuanceAsset,
697 Self::IssuanceAssetAmount,
698 Self::IssuanceAssetAmountsHash,
699 Self::IssuanceAssetProof,
700 Self::IssuanceBlindingEntropyHash,
701 Self::IssuanceEntropy,
702 Self::IssuanceHash,
703 Self::IssuanceRangeProofsHash,
704 Self::IssuanceToken,
705 Self::IssuanceTokenAmount,
706 Self::IssuanceTokenAmountsHash,
707 Self::IssuanceTokenProof,
708 Self::IssuancesHash,
709 Self::LbtcAsset,
710 Self::Le16,
711 Self::Le32,
712 Self::Le64,
713 Self::Le8,
714 Self::LeftExtend16_32,
715 Self::LeftExtend16_64,
716 Self::LeftExtend1_16,
717 Self::LeftExtend1_32,
718 Self::LeftExtend1_64,
719 Self::LeftExtend1_8,
720 Self::LeftExtend32_64,
721 Self::LeftExtend8_16,
722 Self::LeftExtend8_32,
723 Self::LeftExtend8_64,
724 Self::LeftPadHigh16_32,
725 Self::LeftPadHigh16_64,
726 Self::LeftPadHigh1_16,
727 Self::LeftPadHigh1_32,
728 Self::LeftPadHigh1_64,
729 Self::LeftPadHigh1_8,
730 Self::LeftPadHigh32_64,
731 Self::LeftPadHigh8_16,
732 Self::LeftPadHigh8_32,
733 Self::LeftPadHigh8_64,
734 Self::LeftPadLow16_32,
735 Self::LeftPadLow16_64,
736 Self::LeftPadLow1_16,
737 Self::LeftPadLow1_32,
738 Self::LeftPadLow1_64,
739 Self::LeftPadLow1_8,
740 Self::LeftPadLow32_64,
741 Self::LeftPadLow8_16,
742 Self::LeftPadLow8_32,
743 Self::LeftPadLow8_64,
744 Self::LeftRotate16,
745 Self::LeftRotate32,
746 Self::LeftRotate64,
747 Self::LeftRotate8,
748 Self::LeftShift16,
749 Self::LeftShift32,
750 Self::LeftShift64,
751 Self::LeftShift8,
752 Self::LeftShiftWith16,
753 Self::LeftShiftWith32,
754 Self::LeftShiftWith64,
755 Self::LeftShiftWith8,
756 Self::Leftmost16_1,
757 Self::Leftmost16_2,
758 Self::Leftmost16_4,
759 Self::Leftmost16_8,
760 Self::Leftmost32_1,
761 Self::Leftmost32_16,
762 Self::Leftmost32_2,
763 Self::Leftmost32_4,
764 Self::Leftmost32_8,
765 Self::Leftmost64_1,
766 Self::Leftmost64_16,
767 Self::Leftmost64_2,
768 Self::Leftmost64_32,
769 Self::Leftmost64_4,
770 Self::Leftmost64_8,
771 Self::Leftmost8_1,
772 Self::Leftmost8_2,
773 Self::Leftmost8_4,
774 Self::LinearCombination1,
775 Self::LinearVerify1,
776 Self::LockTime,
777 Self::Low1,
778 Self::Low16,
779 Self::Low32,
780 Self::Low64,
781 Self::Low8,
782 Self::Lt16,
783 Self::Lt32,
784 Self::Lt64,
785 Self::Lt8,
786 Self::Maj1,
787 Self::Maj16,
788 Self::Maj32,
789 Self::Maj64,
790 Self::Maj8,
791 Self::Max16,
792 Self::Max32,
793 Self::Max64,
794 Self::Max8,
795 Self::Median16,
796 Self::Median32,
797 Self::Median64,
798 Self::Median8,
799 Self::Min16,
800 Self::Min32,
801 Self::Min64,
802 Self::Min8,
803 Self::Modulo16,
804 Self::Modulo32,
805 Self::Modulo64,
806 Self::Modulo8,
807 Self::Multiply16,
808 Self::Multiply32,
809 Self::Multiply64,
810 Self::Multiply8,
811 Self::Negate16,
812 Self::Negate32,
813 Self::Negate64,
814 Self::Negate8,
815 Self::NewIssuanceContract,
816 Self::NonceHash,
817 Self::NumInputs,
818 Self::NumOutputs,
819 Self::One16,
820 Self::One32,
821 Self::One64,
822 Self::One8,
823 Self::Or1,
824 Self::Or16,
825 Self::Or32,
826 Self::Or64,
827 Self::Or8,
828 Self::OutpointHash,
829 Self::OutputAmount,
830 Self::OutputAmountsHash,
831 Self::OutputAsset,
832 Self::OutputHash,
833 Self::OutputIsFee,
834 Self::OutputNonce,
835 Self::OutputNoncesHash,
836 Self::OutputNullDatum,
837 Self::OutputRangeProof,
838 Self::OutputRangeProofsHash,
839 Self::OutputScriptHash,
840 Self::OutputScriptsHash,
841 Self::OutputSurjectionProof,
842 Self::OutputSurjectionProofsHash,
843 Self::OutputsHash,
844 Self::ParseLock,
845 Self::ParseSequence,
846 Self::PointVerify1,
847 Self::ReissuanceBlinding,
848 Self::ReissuanceEntropy,
849 Self::RightExtend16_32,
850 Self::RightExtend16_64,
851 Self::RightExtend32_64,
852 Self::RightExtend8_16,
853 Self::RightExtend8_32,
854 Self::RightExtend8_64,
855 Self::RightPadHigh16_32,
856 Self::RightPadHigh16_64,
857 Self::RightPadHigh1_16,
858 Self::RightPadHigh1_32,
859 Self::RightPadHigh1_64,
860 Self::RightPadHigh1_8,
861 Self::RightPadHigh32_64,
862 Self::RightPadHigh8_16,
863 Self::RightPadHigh8_32,
864 Self::RightPadHigh8_64,
865 Self::RightPadLow16_32,
866 Self::RightPadLow16_64,
867 Self::RightPadLow1_16,
868 Self::RightPadLow1_32,
869 Self::RightPadLow1_64,
870 Self::RightPadLow1_8,
871 Self::RightPadLow32_64,
872 Self::RightPadLow8_16,
873 Self::RightPadLow8_32,
874 Self::RightPadLow8_64,
875 Self::RightRotate16,
876 Self::RightRotate32,
877 Self::RightRotate64,
878 Self::RightRotate8,
879 Self::RightShift16,
880 Self::RightShift32,
881 Self::RightShift64,
882 Self::RightShift8,
883 Self::RightShiftWith16,
884 Self::RightShiftWith32,
885 Self::RightShiftWith64,
886 Self::RightShiftWith8,
887 Self::Rightmost16_1,
888 Self::Rightmost16_2,
889 Self::Rightmost16_4,
890 Self::Rightmost16_8,
891 Self::Rightmost32_1,
892 Self::Rightmost32_16,
893 Self::Rightmost32_2,
894 Self::Rightmost32_4,
895 Self::Rightmost32_8,
896 Self::Rightmost64_1,
897 Self::Rightmost64_16,
898 Self::Rightmost64_2,
899 Self::Rightmost64_32,
900 Self::Rightmost64_4,
901 Self::Rightmost64_8,
902 Self::Rightmost8_1,
903 Self::Rightmost8_2,
904 Self::Rightmost8_4,
905 Self::ScalarAdd,
906 Self::ScalarInvert,
907 Self::ScalarIsZero,
908 Self::ScalarMultiply,
909 Self::ScalarMultiplyLambda,
910 Self::ScalarNegate,
911 Self::ScalarNormalize,
912 Self::ScalarSquare,
913 Self::Scale,
914 Self::ScriptCMR,
915 Self::Sha256Block,
916 Self::Sha256Ctx8Add1,
917 Self::Sha256Ctx8Add128,
918 Self::Sha256Ctx8Add16,
919 Self::Sha256Ctx8Add2,
920 Self::Sha256Ctx8Add256,
921 Self::Sha256Ctx8Add32,
922 Self::Sha256Ctx8Add4,
923 Self::Sha256Ctx8Add512,
924 Self::Sha256Ctx8Add64,
925 Self::Sha256Ctx8Add8,
926 Self::Sha256Ctx8AddBuffer511,
927 Self::Sha256Ctx8Finalize,
928 Self::Sha256Ctx8Init,
929 Self::Sha256Iv,
930 Self::SigAllHash,
931 Self::Some1,
932 Self::Some16,
933 Self::Some32,
934 Self::Some64,
935 Self::Some8,
936 Self::Subtract16,
937 Self::Subtract32,
938 Self::Subtract64,
939 Self::Subtract8,
940 Self::Swu,
941 Self::TapEnvHash,
942 Self::TapdataInit,
943 Self::TapleafHash,
944 Self::TapleafVersion,
945 Self::Tappath,
946 Self::TappathHash,
947 Self::TotalFee,
948 Self::TransactionId,
949 Self::TxHash,
950 Self::TxIsFinal,
951 Self::TxLockHeight,
952 Self::TxLockTime,
953 Self::Verify,
954 Self::Version,
955 Self::Xor1,
956 Self::Xor16,
957 Self::Xor32,
958 Self::Xor64,
959 Self::Xor8,
960 Self::XorXor1,
961 Self::XorXor16,
962 Self::XorXor32,
963 Self::XorXor64,
964 Self::XorXor8,
965 ];
966}
967
968impl Jet for Elements {
969
970 fn cmr(&self) -> Cmr {
971 let bytes = match self {
972 Elements::Add16 => [
973 0x26, 0xae, 0x09, 0x94, 0xce, 0x8b, 0x77, 0x1a, 0xf7, 0xad, 0x28, 0x51, 0xb8, 0x3b,
974 0x49, 0xa5, 0x95, 0x05, 0x36, 0x58, 0x9f, 0x67, 0xbd, 0x85, 0x59, 0x47, 0x04, 0x60,
975 0x29, 0x75, 0x1c, 0x0d,
976 ],
977 Elements::Add32 => [
978 0x3d, 0x76, 0x74, 0x46, 0x6e, 0xd6, 0x9e, 0x1d, 0xbe, 0xdc, 0xd4, 0x80, 0x57, 0xa9,
979 0xe6, 0x28, 0x8c, 0x22, 0x25, 0x32, 0xfb, 0xc5, 0x04, 0x80, 0x49, 0x92, 0x8c, 0xfb,
980 0x77, 0xf8, 0x29, 0xd9,
981 ],
982 Elements::Add64 => [
983 0x9b, 0x56, 0xe6, 0x1e, 0xef, 0xe2, 0x80, 0x5c, 0xa8, 0x73, 0x96, 0xbd, 0xfb, 0x03,
984 0xf5, 0xe1, 0xb1, 0x38, 0x5f, 0x7a, 0xc4, 0xbf, 0xf7, 0x68, 0x40, 0x26, 0xa0, 0x7c,
985 0xf9, 0x7f, 0xb6, 0xf6,
986 ],
987 Elements::Add8 => [
988 0xd7, 0x32, 0x8c, 0x09, 0x14, 0xee, 0x99, 0x9e, 0xfa, 0x0a, 0x6c, 0xb2, 0x6e, 0xb4,
989 0x09, 0x12, 0xc2, 0x15, 0xc0, 0x62, 0xe5, 0x8a, 0x98, 0x1a, 0xe6, 0xb2, 0xe4, 0xa8,
990 0x04, 0x74, 0xa1, 0xda,
991 ],
992 Elements::All16 => [
993 0x16, 0xf0, 0xc9, 0x30, 0x7e, 0xb8, 0xf4, 0xc1, 0xfd, 0xd1, 0xba, 0xfa, 0xef, 0x28,
994 0x79, 0x24, 0x29, 0x58, 0x49, 0x8e, 0x8f, 0x5b, 0x2e, 0x0d, 0x29, 0xf0, 0x65, 0x53,
995 0xdc, 0x06, 0xa0, 0xbd,
996 ],
997 Elements::All32 => [
998 0x0e, 0xb8, 0xb4, 0x0d, 0x29, 0x02, 0x17, 0x47, 0xee, 0xc4, 0x51, 0xd4, 0xe6, 0x63,
999 0x58, 0x6a, 0x43, 0x6c, 0x2d, 0xb0, 0x93, 0x26, 0x75, 0xda, 0xf2, 0x16, 0x61, 0x23,
1000 0xbf, 0xe4, 0x52, 0xa6,
1001 ],
1002 Elements::All64 => [
1003 0xa6, 0x5c, 0x82, 0xd5, 0x3d, 0x38, 0x2e, 0xe2, 0x9a, 0xa8, 0x8b, 0x77, 0x18, 0xa9,
1004 0x7f, 0xbb, 0xce, 0x64, 0x75, 0xec, 0x32, 0xc4, 0xb4, 0xcd, 0x69, 0x08, 0xfd, 0xe4,
1005 0x5d, 0x81, 0xb6, 0x24,
1006 ],
1007 Elements::All8 => [
1008 0x1d, 0x3e, 0xc7, 0xfb, 0x6a, 0x07, 0x84, 0x7c, 0x92, 0xb8, 0xa9, 0x98, 0xe1, 0xf6,
1009 0xb4, 0x78, 0x31, 0x9d, 0x05, 0x0a, 0x38, 0x76, 0x42, 0xf4, 0x03, 0x2d, 0x2f, 0x7d,
1010 0x2e, 0x02, 0x7f, 0xcd,
1011 ],
1012 Elements::And1 => [
1013 0xb7, 0x73, 0xce, 0xfa, 0x41, 0x89, 0x57, 0xfe, 0xa7, 0xdf, 0xb4, 0x9c, 0x6c, 0x43,
1014 0xb3, 0xdb, 0xfa, 0x35, 0xfa, 0x3d, 0x80, 0xde, 0x8c, 0xfd, 0x4d, 0x70, 0xc0, 0x8d,
1015 0x94, 0x5f, 0x5f, 0xba,
1016 ],
1017 Elements::And16 => [
1018 0x57, 0xdd, 0x73, 0x0b, 0x1c, 0x8d, 0xdf, 0xf1, 0x3c, 0xae, 0x27, 0x69, 0x56, 0x2b,
1019 0xe0, 0xab, 0xc6, 0xca, 0x3b, 0xc8, 0x02, 0xda, 0x0a, 0xbb, 0xb7, 0xfc, 0x13, 0x8c,
1020 0xa4, 0x63, 0xda, 0x59,
1021 ],
1022 Elements::And32 => [
1023 0x75, 0x3e, 0x33, 0x2d, 0xdf, 0xa0, 0x96, 0xf0, 0x83, 0x99, 0xff, 0xaa, 0x7e, 0xc4,
1024 0xda, 0x40, 0x35, 0xbc, 0xba, 0xa1, 0x42, 0xe6, 0xe3, 0x8d, 0x4c, 0xb6, 0x07, 0xce,
1025 0x1f, 0x0b, 0x05, 0x1d,
1026 ],
1027 Elements::And64 => [
1028 0xf1, 0xad, 0x5e, 0x6c, 0x63, 0xee, 0x5c, 0x89, 0x0b, 0x0f, 0x2e, 0x71, 0x15, 0x61,
1029 0xb9, 0x05, 0x31, 0x64, 0x87, 0xac, 0x40, 0x44, 0xdd, 0x23, 0x0c, 0xf6, 0xa7, 0x36,
1030 0xf8, 0x1b, 0xd4, 0xf3,
1031 ],
1032 Elements::And8 => [
1033 0xac, 0x82, 0x8b, 0x72, 0x4c, 0x5f, 0x53, 0x40, 0xb5, 0x1e, 0x76, 0xe7, 0xb6, 0xe8,
1034 0xb2, 0x3a, 0xea, 0xb7, 0x53, 0x3f, 0xd8, 0xc0, 0x91, 0xae, 0x2a, 0x51, 0x55, 0x30,
1035 0xae, 0x7a, 0xb2, 0x00,
1036 ],
1037 Elements::AnnexHash => [
1038 0xeb, 0xa1, 0xb7, 0xfb, 0x2e, 0xa8, 0xd5, 0x7a, 0xf3, 0xb6, 0x27, 0x3e, 0x51, 0x82,
1039 0xfb, 0x99, 0xdb, 0x17, 0x08, 0xb2, 0xd0, 0xaf, 0xb9, 0xc6, 0xad, 0x03, 0x58, 0xcc,
1040 0x3f, 0x64, 0x7d, 0xc8,
1041 ],
1042 Elements::AssetAmountHash => [
1043 0xa8, 0x64, 0xd1, 0xf1, 0xf8, 0x39, 0x50, 0xb6, 0x31, 0x96, 0xfe, 0x88, 0xba, 0xec,
1044 0x2e, 0x42, 0x28, 0x95, 0x32, 0x30, 0xbe, 0x45, 0xc8, 0x8c, 0x4e, 0x0b, 0x99, 0x17,
1045 0x8b, 0x33, 0x8f, 0x07,
1046 ],
1047 Elements::Bip0340Verify => [
1048 0xc9, 0xc4, 0x5a, 0x8a, 0xec, 0x86, 0x59, 0x14, 0x3b, 0xfe, 0x2a, 0xf6, 0xea, 0xd4,
1049 0x8d, 0x4e, 0x05, 0x42, 0x45, 0x3a, 0xca, 0xe8, 0x4b, 0x9b, 0xbb, 0x97, 0x65, 0x6b,
1050 0x67, 0x0b, 0xdf, 0xdd,
1051 ],
1052 Elements::BrokenDoNotUseCheckLockDistance => [
1053 0x7f, 0x78, 0xc7, 0xa7, 0x7a, 0x25, 0xad, 0xa2, 0x23, 0x26, 0x7d, 0x23, 0x9a, 0x59,
1054 0x22, 0xf7, 0x64, 0xb8, 0xac, 0x0c, 0x2f, 0xce, 0xf6, 0x8e, 0xb9, 0x3c, 0x0d, 0x92,
1055 0xda, 0x4a, 0xf5, 0x15,
1056 ],
1057 Elements::BrokenDoNotUseCheckLockDuration => [
1058 0x73, 0xda, 0xc8, 0xe2, 0x5d, 0x87, 0xea, 0xf3, 0x82, 0xc2, 0xa7, 0x72, 0x06, 0xad,
1059 0x38, 0xb9, 0x38, 0x43, 0x61, 0xe7, 0xd0, 0xdc, 0x87, 0xc0, 0xfa, 0x7a, 0xf7, 0xea,
1060 0x52, 0x45, 0x97, 0xb7,
1061 ],
1062 Elements::BrokenDoNotUseTxLockDistance => [
1063 0x4c, 0x77, 0x73, 0xb8, 0x18, 0xcb, 0x7e, 0xe5, 0xf5, 0x4f, 0x92, 0x5a, 0xad, 0x01,
1064 0x56, 0x77, 0xa0, 0x43, 0xa7, 0x2f, 0x31, 0x6a, 0x18, 0x7c, 0xc2, 0x8c, 0x69, 0x6c,
1065 0xfc, 0xb9, 0x08, 0x07,
1066 ],
1067 Elements::BrokenDoNotUseTxLockDuration => [
1068 0xcc, 0x9c, 0x64, 0xc8, 0xb6, 0xeb, 0x4b, 0xf0, 0x96, 0x94, 0xaf, 0x5a, 0x35, 0xd9,
1069 0x57, 0xa4, 0x05, 0xe6, 0x6c, 0x1b, 0x35, 0x22, 0x4e, 0xd6, 0x75, 0x87, 0x89, 0x18,
1070 0x45, 0x24, 0x40, 0xb2,
1071 ],
1072 Elements::BuildTapbranch => [
1073 0xcb, 0xec, 0xf9, 0xbc, 0xe1, 0x72, 0xc5, 0x0f, 0x58, 0x59, 0x51, 0xdf, 0xf0, 0xe0,
1074 0x52, 0x3d, 0xb1, 0x09, 0xe5, 0x70, 0x25, 0xec, 0x37, 0xde, 0x2c, 0x3a, 0x74, 0xd4,
1075 0xa6, 0x73, 0xf2, 0x25,
1076 ],
1077 Elements::BuildTapleafSimplicity => [
1078 0x73, 0x6e, 0x9f, 0xce, 0xfb, 0x5b, 0x87, 0x3e, 0x09, 0xf2, 0x68, 0x1e, 0x74, 0xe4,
1079 0x9f, 0x5a, 0x10, 0x56, 0xf9, 0x0a, 0xf5, 0x2a, 0xb3, 0xec, 0x5b, 0x19, 0x77, 0x27,
1080 0xd3, 0x98, 0x34, 0xbe,
1081 ],
1082 Elements::BuildTaptweak => [
1083 0x38, 0x74, 0x1f, 0x80, 0xa2, 0xbf, 0x10, 0xf8, 0xf8, 0x72, 0x30, 0x77, 0xc6, 0x74,
1084 0x1c, 0xbe, 0xae, 0x2d, 0xca, 0xc8, 0x57, 0x90, 0x1b, 0x81, 0x37, 0x25, 0x80, 0x6f,
1085 0x21, 0x89, 0x8e, 0xe3,
1086 ],
1087 Elements::CalculateAsset => [
1088 0x67, 0x6f, 0x98, 0x8e, 0x54, 0x72, 0x51, 0xe7, 0xa0, 0x9e, 0xed, 0xe1, 0x92, 0x0a,
1089 0x9c, 0x5d, 0x35, 0xe7, 0x57, 0x59, 0xe6, 0xd8, 0xd4, 0x9b, 0x58, 0x0c, 0xeb, 0x3e,
1090 0x14, 0x6b, 0xcf, 0x7e,
1091 ],
1092 Elements::CalculateConfidentialToken => [
1093 0x8e, 0x40, 0x29, 0x05, 0x60, 0x74, 0x33, 0x98, 0x40, 0xc0, 0xe7, 0x00, 0x9b, 0x66,
1094 0xf3, 0x82, 0xbb, 0x98, 0xd7, 0xdd, 0xe7, 0x19, 0xdd, 0x2c, 0x9f, 0x2f, 0xd3, 0xac,
1095 0xd9, 0x32, 0x5a, 0xc6,
1096 ],
1097 Elements::CalculateExplicitToken => [
1098 0x87, 0x52, 0x28, 0x02, 0x0b, 0x45, 0x6c, 0x99, 0x8a, 0xad, 0x3a, 0xc5, 0xc4, 0x83,
1099 0x6f, 0x71, 0x94, 0x45, 0xdc, 0xbe, 0x6b, 0xd2, 0x74, 0xe8, 0xca, 0x14, 0x5d, 0x82,
1100 0x79, 0x7e, 0x1b, 0x92,
1101 ],
1102 Elements::CalculateIssuanceEntropy => [
1103 0xa6, 0xe7, 0xc4, 0x34, 0xae, 0xe5, 0xa7, 0x33, 0x0c, 0x1f, 0xc2, 0x46, 0xf7, 0x1d,
1104 0xcf, 0x05, 0x1c, 0xe5, 0x4b, 0xde, 0xe7, 0xb8, 0xe6, 0x39, 0x57, 0xbe, 0x18, 0xc2,
1105 0xd7, 0x51, 0xc6, 0x53,
1106 ],
1107 Elements::Ch1 => [
1108 0xb8, 0x41, 0xb8, 0x57, 0xa4, 0xaa, 0x50, 0xea, 0xca, 0x27, 0xa2, 0x6f, 0x74, 0x42,
1109 0xfc, 0xbf, 0xe9, 0x54, 0x67, 0x7a, 0xe6, 0xd4, 0x55, 0xf6, 0x05, 0x65, 0x49, 0x89,
1110 0xe3, 0x5a, 0xeb, 0x13,
1111 ],
1112 Elements::Ch16 => [
1113 0x9c, 0xff, 0x11, 0xa0, 0x9b, 0x60, 0x41, 0xe5, 0xf2, 0x63, 0x9a, 0xe4, 0xc0, 0x65,
1114 0xa1, 0x8f, 0xc6, 0x75, 0xdb, 0x2f, 0xbd, 0x98, 0x54, 0x08, 0xe2, 0x8f, 0x02, 0x7a,
1115 0x99, 0x11, 0x0e, 0x11,
1116 ],
1117 Elements::Ch32 => [
1118 0x07, 0x1c, 0xef, 0x80, 0x39, 0xc7, 0x9f, 0x71, 0x31, 0xcd, 0x6a, 0x5f, 0xe4, 0x93,
1119 0xdc, 0x26, 0x8f, 0x9d, 0xb5, 0x8f, 0x7b, 0x20, 0xa8, 0x55, 0x55, 0xe2, 0x97, 0xbd,
1120 0xd2, 0x16, 0xcf, 0x40,
1121 ],
1122 Elements::Ch64 => [
1123 0xd5, 0x55, 0xd2, 0x19, 0x63, 0xb0, 0x19, 0x2f, 0xc9, 0x72, 0x14, 0xb6, 0x3d, 0xc1,
1124 0xc3, 0xaf, 0x75, 0x8b, 0x29, 0x11, 0x58, 0xf0, 0xe1, 0xa3, 0xbc, 0xfd, 0xea, 0x67,
1125 0x9c, 0x66, 0x6d, 0xa6,
1126 ],
1127 Elements::Ch8 => [
1128 0x35, 0x3f, 0x63, 0xb0, 0xf8, 0xcb, 0x54, 0xf5, 0xae, 0x65, 0x75, 0xaf, 0x8c, 0xa2,
1129 0x24, 0x2c, 0xee, 0xe9, 0xf2, 0x7a, 0x84, 0x18, 0x6e, 0xb8, 0x0e, 0x62, 0x0d, 0x5e,
1130 0x2e, 0x85, 0x48, 0xec,
1131 ],
1132 Elements::CheckLockHeight => [
1133 0x9e, 0x78, 0x98, 0xd0, 0x37, 0x62, 0x71, 0x34, 0xd2, 0xbd, 0x70, 0xc7, 0xfc, 0xa9,
1134 0xcb, 0xa4, 0x5e, 0xaf, 0x26, 0x7d, 0x4d, 0x09, 0xad, 0x50, 0xa9, 0xef, 0x71, 0x7a,
1135 0x8f, 0x27, 0x49, 0xdb,
1136 ],
1137 Elements::CheckLockTime => [
1138 0x68, 0x67, 0x3d, 0x12, 0xe2, 0x73, 0x2f, 0xaa, 0x1d, 0x39, 0xe2, 0x13, 0x6b, 0x14,
1139 0x06, 0xaf, 0xa0, 0x98, 0xa8, 0x4c, 0x96, 0xe8, 0xd6, 0x05, 0x02, 0xa2, 0xdd, 0x61,
1140 0xc5, 0x95, 0x70, 0xbb,
1141 ],
1142 Elements::CheckSigVerify => [
1143 0xb5, 0x80, 0x15, 0x54, 0x6d, 0x28, 0x52, 0x66, 0x5d, 0xd2, 0x1b, 0xf1, 0x12, 0x66,
1144 0x26, 0x70, 0x20, 0xfa, 0x5e, 0x27, 0x50, 0x01, 0xdd, 0x46, 0x18, 0xfa, 0x41, 0x56,
1145 0x25, 0x95, 0x2e, 0x68,
1146 ],
1147 Elements::Complement1 => [
1148 0xed, 0x74, 0xee, 0xb8, 0x3a, 0x00, 0xc7, 0x13, 0xcc, 0x14, 0xf3, 0x3e, 0xfe, 0x55,
1149 0x33, 0x83, 0xcd, 0x04, 0x11, 0xcc, 0x30, 0x20, 0xfd, 0x89, 0x27, 0x93, 0x16, 0x67,
1150 0x5d, 0x91, 0x0e, 0x66,
1151 ],
1152 Elements::Complement16 => [
1153 0x61, 0xfd, 0xd9, 0x04, 0xa4, 0xae, 0xb7, 0xeb, 0x76, 0x84, 0xaf, 0x61, 0x8e, 0x25,
1154 0xaa, 0xe9, 0x07, 0xcd, 0x1d, 0xb0, 0xf6, 0x2d, 0x97, 0x03, 0xc5, 0xb8, 0x54, 0xe1,
1155 0x66, 0x3c, 0xac, 0x9f,
1156 ],
1157 Elements::Complement32 => [
1158 0xfe, 0xb0, 0x2c, 0xc3, 0x6e, 0x19, 0x5b, 0x46, 0x2a, 0xe5, 0x04, 0xa9, 0x12, 0xda,
1159 0xdf, 0xe6, 0x6a, 0xd4, 0x7f, 0x23, 0xa0, 0xcb, 0x3b, 0xae, 0xa2, 0x1d, 0x31, 0xaa,
1160 0xa0, 0xce, 0x10, 0x1d,
1161 ],
1162 Elements::Complement64 => [
1163 0x45, 0x07, 0x2d, 0x5a, 0xa0, 0xe5, 0xc3, 0x7c, 0x9e, 0x52, 0x1d, 0xcc, 0x92, 0xe8,
1164 0xf3, 0x9a, 0x5f, 0x75, 0xe7, 0xd9, 0x28, 0x67, 0x0a, 0xca, 0xb7, 0x9c, 0xd8, 0xc8,
1165 0xb5, 0xb5, 0x9e, 0x1a,
1166 ],
1167 Elements::Complement8 => [
1168 0x69, 0x16, 0xb2, 0x8f, 0xb5, 0x74, 0xd9, 0xc9, 0x08, 0xa3, 0xf3, 0x3f, 0x74, 0xbf,
1169 0x06, 0xf7, 0xed, 0x93, 0x72, 0x54, 0x24, 0x7f, 0x9e, 0xfc, 0x26, 0x03, 0xd7, 0x17,
1170 0x1d, 0xd4, 0x97, 0xbe,
1171 ],
1172 Elements::CurrentAmount => [
1173 0x9e, 0x7b, 0xc9, 0x6d, 0x06, 0xc1, 0xf4, 0xa4, 0xd2, 0xbd, 0x43, 0x33, 0xd5, 0x56,
1174 0x43, 0xcb, 0xa6, 0x86, 0x3d, 0x3a, 0x33, 0x8e, 0x31, 0xdc, 0x0d, 0x17, 0x95, 0x58,
1175 0x41, 0x56, 0xea, 0x69,
1176 ],
1177 Elements::CurrentAnnexHash => [
1178 0x5f, 0x68, 0xbd, 0xaf, 0xd4, 0x17, 0xfe, 0xbb, 0x10, 0xde, 0xe1, 0x6b, 0x1d, 0x47,
1179 0xc2, 0x1f, 0xa9, 0x7e, 0xfc, 0x91, 0x91, 0x57, 0xc7, 0xf7, 0xbc, 0x54, 0xa6, 0x1d,
1180 0xc4, 0xf9, 0xf7, 0xd6,
1181 ],
1182 Elements::CurrentAsset => [
1183 0x03, 0xc8, 0x44, 0x59, 0xa5, 0xec, 0xdf, 0xdb, 0x46, 0xe3, 0xd3, 0x8e, 0xcb, 0x79,
1184 0xff, 0x22, 0x24, 0x3f, 0xdc, 0xf7, 0x0d, 0x80, 0xda, 0x1b, 0xa4, 0x56, 0x99, 0xe7,
1185 0x00, 0x8e, 0xec, 0xfe,
1186 ],
1187 Elements::CurrentIndex => [
1188 0x15, 0xe1, 0x05, 0x1f, 0xf2, 0x3f, 0x85, 0x1c, 0x19, 0x13, 0x1f, 0x0d, 0xe6, 0xed,
1189 0xc4, 0x88, 0x23, 0x76, 0xa2, 0x57, 0x90, 0xdb, 0xd9, 0x10, 0x28, 0x24, 0xaa, 0x22,
1190 0xa8, 0x89, 0xae, 0x84,
1191 ],
1192 Elements::CurrentIssuanceAssetAmount => [
1193 0xdc, 0x41, 0x0e, 0xc6, 0x99, 0x46, 0xf0, 0x8b, 0x9c, 0x4a, 0x40, 0xcf, 0x38, 0x81,
1194 0x9c, 0xbb, 0x01, 0x4e, 0x98, 0xfc, 0xe0, 0xa9, 0xb1, 0x96, 0x51, 0x45, 0x57, 0x47,
1195 0x7f, 0xe1, 0xc2, 0xa7,
1196 ],
1197 Elements::CurrentIssuanceAssetProof => [
1198 0xe5, 0xc1, 0xc6, 0xf7, 0xea, 0x02, 0x96, 0x14, 0x8e, 0x76, 0xf8, 0xb1, 0x79, 0xd4,
1199 0x15, 0x19, 0x82, 0x73, 0xdc, 0xc8, 0xe1, 0xfd, 0x89, 0x1f, 0x83, 0xef, 0x2b, 0xdf,
1200 0xb0, 0x69, 0x29, 0x36,
1201 ],
1202 Elements::CurrentIssuanceTokenAmount => [
1203 0xe3, 0xea, 0x9c, 0x61, 0x70, 0x95, 0x5f, 0x27, 0xb0, 0x1b, 0x12, 0x0c, 0xd6, 0x3a,
1204 0x36, 0x08, 0x50, 0xcc, 0x70, 0x0f, 0x47, 0x25, 0x19, 0x3b, 0xdf, 0xf8, 0x8e, 0x01,
1205 0xdf, 0xb0, 0x4e, 0xad,
1206 ],
1207 Elements::CurrentIssuanceTokenProof => [
1208 0x92, 0xe7, 0xd9, 0xdd, 0xbf, 0x75, 0x6e, 0x3e, 0x62, 0x2a, 0x44, 0xd4, 0xd0, 0x0e,
1209 0x84, 0x23, 0x6b, 0xcc, 0xe4, 0x2f, 0x16, 0xf3, 0x20, 0x0e, 0x8b, 0x89, 0xc0, 0x3c,
1210 0x44, 0x1e, 0x45, 0x8a,
1211 ],
1212 Elements::CurrentNewIssuanceContract => [
1213 0x23, 0x78, 0x15, 0x67, 0x5e, 0x9e, 0x9c, 0xf4, 0xd8, 0x54, 0x85, 0x60, 0xc7, 0x61,
1214 0xe3, 0xba, 0x7f, 0x64, 0xdc, 0xf2, 0x5c, 0x99, 0x52, 0x1b, 0xe9, 0xd8, 0x57, 0xe4,
1215 0xea, 0x41, 0xd8, 0x68,
1216 ],
1217 Elements::CurrentPegin => [
1218 0x36, 0x9a, 0xd5, 0xf6, 0xd7, 0x60, 0x48, 0x1c, 0xb3, 0x53, 0xa9, 0xba, 0xcf, 0x90,
1219 0x0f, 0xf1, 0x62, 0xb7, 0x60, 0x40, 0xc0, 0x7a, 0xd0, 0xa8, 0x3e, 0x52, 0xfc, 0xce,
1220 0xf1, 0x29, 0x57, 0x90,
1221 ],
1222 Elements::CurrentPrevOutpoint => [
1223 0xa1, 0xec, 0x90, 0x9c, 0x81, 0xe5, 0x08, 0xe8, 0x6e, 0x13, 0x61, 0xba, 0x82, 0xe5,
1224 0xfb, 0x47, 0xa2, 0xc7, 0x6b, 0xff, 0xba, 0x73, 0x21, 0xa6, 0xfc, 0x13, 0xcb, 0x12,
1225 0xaf, 0x7f, 0x69, 0x7c,
1226 ],
1227 Elements::CurrentReissuanceBlinding => [
1228 0xb7, 0x15, 0x50, 0xc8, 0xf6, 0x2e, 0x7a, 0xac, 0xff, 0x13, 0xe8, 0xd3, 0xc0, 0xae,
1229 0x05, 0x4e, 0xf0, 0x36, 0x40, 0x9d, 0x76, 0xc0, 0x65, 0x79, 0xc0, 0x26, 0xad, 0x68,
1230 0xa1, 0xb5, 0x61, 0xf8,
1231 ],
1232 Elements::CurrentReissuanceEntropy => [
1233 0x8b, 0x27, 0x15, 0x32, 0x7a, 0x0a, 0xc6, 0xb0, 0xd1, 0x8a, 0x2e, 0x51, 0xfb, 0xda,
1234 0x46, 0xc4, 0xb1, 0x18, 0xee, 0x06, 0x37, 0xd1, 0x14, 0xae, 0x3e, 0x58, 0xa2, 0x3b,
1235 0x45, 0xd6, 0x7f, 0xf8,
1236 ],
1237 Elements::CurrentScriptHash => [
1238 0xbf, 0xaf, 0x85, 0x84, 0x43, 0xce, 0xc8, 0x33, 0x7e, 0x37, 0x83, 0x9d, 0xc4, 0x11,
1239 0x35, 0x02, 0x71, 0x84, 0x58, 0x0c, 0x89, 0x21, 0x57, 0xce, 0x73, 0x04, 0x18, 0xc0,
1240 0x8d, 0x5e, 0xd8, 0x38,
1241 ],
1242 Elements::CurrentScriptSigHash => [
1243 0x8b, 0xaa, 0x9d, 0xf8, 0x54, 0xfe, 0x33, 0xee, 0xea, 0x66, 0x19, 0x5c, 0x97, 0xce,
1244 0x18, 0xed, 0x70, 0x1e, 0x10, 0x7e, 0xea, 0x7e, 0x02, 0xfb, 0x26, 0x03, 0xb2, 0xc1,
1245 0x21, 0x57, 0x50, 0x66,
1246 ],
1247 Elements::CurrentSequence => [
1248 0x0f, 0x42, 0x24, 0xf9, 0xaa, 0x86, 0x44, 0xf5, 0xc0, 0xf7, 0x91, 0x0f, 0x17, 0x39,
1249 0x04, 0x1a, 0xec, 0x8e, 0x7a, 0xf7, 0x7b, 0x5f, 0x38, 0xcf, 0xdc, 0xa0, 0xfd, 0xf4,
1250 0x82, 0x67, 0xa6, 0xc3,
1251 ],
1252 Elements::Decompress => [
1253 0x13, 0x97, 0x33, 0x17, 0xd5, 0x87, 0x41, 0x8e, 0xf3, 0x06, 0x36, 0x31, 0xa6, 0xed,
1254 0xb0, 0xac, 0xfa, 0x1c, 0xbe, 0x49, 0x83, 0xd7, 0x57, 0x4b, 0x1b, 0x30, 0x5f, 0x96,
1255 0x61, 0xc0, 0x48, 0xcb,
1256 ],
1257 Elements::Decrement16 => [
1258 0xe3, 0x4d, 0xb1, 0x18, 0x79, 0x27, 0x2b, 0x32, 0x7a, 0x3b, 0xd0, 0x34, 0xc0, 0xf6,
1259 0x1e, 0xf6, 0x0a, 0x2b, 0xe9, 0x6f, 0xdf, 0xe0, 0xb2, 0xd5, 0x7f, 0xfe, 0x39, 0xce,
1260 0x71, 0x4c, 0x78, 0xfb,
1261 ],
1262 Elements::Decrement32 => [
1263 0x01, 0x9e, 0xad, 0x5a, 0x73, 0x05, 0x60, 0x6d, 0xc9, 0x50, 0xfb, 0x55, 0x47, 0x6d,
1264 0x09, 0xc1, 0x7d, 0x66, 0xf5, 0x70, 0xda, 0xb5, 0x10, 0xb9, 0x0d, 0x2a, 0x27, 0xe2,
1265 0x26, 0x65, 0x99, 0xcf,
1266 ],
1267 Elements::Decrement64 => [
1268 0x34, 0x75, 0x2c, 0xf4, 0xe1, 0xd0, 0xa4, 0x31, 0xf0, 0x17, 0xa6, 0x8b, 0xeb, 0xfa,
1269 0xb7, 0x41, 0xbb, 0xc8, 0x8a, 0xff, 0xb5, 0x7c, 0xc0, 0xb3, 0x02, 0x5c, 0xcf, 0xdd,
1270 0x67, 0x62, 0x2f, 0x35,
1271 ],
1272 Elements::Decrement8 => [
1273 0x28, 0x92, 0xce, 0xb3, 0xb6, 0xec, 0x53, 0x25, 0xd0, 0xc1, 0xb9, 0xf5, 0x20, 0x42,
1274 0x5e, 0x4b, 0x05, 0xc2, 0xe1, 0xf4, 0x37, 0xe0, 0xb3, 0xf5, 0x81, 0xf4, 0x1b, 0x9d,
1275 0x0f, 0x7d, 0xff, 0x4d,
1276 ],
1277 Elements::DivMod128_64 => [
1278 0x22, 0x96, 0xb7, 0x0f, 0x60, 0x0e, 0x8a, 0x21, 0x4a, 0xd0, 0x70, 0xb2, 0x19, 0x4a,
1279 0x67, 0x7d, 0x30, 0x51, 0xbc, 0x1c, 0x49, 0x01, 0x83, 0x97, 0x5f, 0x2a, 0x1d, 0x3e,
1280 0x0c, 0xad, 0xe3, 0x78,
1281 ],
1282 Elements::DivMod16 => [
1283 0x64, 0x8f, 0xab, 0x86, 0x43, 0x74, 0x84, 0x6a, 0xbf, 0x4f, 0x9d, 0x9d, 0xef, 0xe2,
1284 0x75, 0x61, 0x4d, 0x33, 0xf4, 0x82, 0x9c, 0x36, 0xa4, 0x7e, 0xcb, 0x53, 0xd7, 0xbf,
1285 0xb6, 0x05, 0x48, 0x5f,
1286 ],
1287 Elements::DivMod32 => [
1288 0xbd, 0x3d, 0x4d, 0x55, 0x2d, 0x7b, 0x34, 0x7b, 0xd8, 0xa4, 0x4e, 0x3e, 0xe2, 0x24,
1289 0xc8, 0x46, 0xbe, 0x23, 0x0f, 0xf6, 0xe2, 0x04, 0x4d, 0xdb, 0x97, 0xf4, 0x8e, 0x27,
1290 0xd2, 0x0c, 0x42, 0x25,
1291 ],
1292 Elements::DivMod64 => [
1293 0xfa, 0x6b, 0xad, 0x6a, 0x95, 0xe2, 0xab, 0xa4, 0x30, 0x5b, 0xfe, 0x91, 0xcc, 0x47,
1294 0xac, 0xc3, 0xd9, 0x9b, 0x92, 0xe6, 0x75, 0xe6, 0x9d, 0x3b, 0x37, 0xbb, 0x09, 0x13,
1295 0x3d, 0x39, 0x0d, 0x0f,
1296 ],
1297 Elements::DivMod8 => [
1298 0x48, 0xcd, 0x50, 0x1b, 0xb2, 0xaa, 0x2a, 0xca, 0xe0, 0x14, 0xfe, 0x20, 0x8b, 0xb9,
1299 0x94, 0x1d, 0x07, 0xa9, 0xbf, 0xfe, 0x1a, 0xd6, 0xcd, 0x3d, 0x36, 0xfc, 0x6b, 0x08,
1300 0x60, 0xf6, 0xeb, 0xa7,
1301 ],
1302 Elements::Divide16 => [
1303 0x47, 0x0b, 0x01, 0xa5, 0x7c, 0x4f, 0x9d, 0x8f, 0x99, 0x7f, 0xcd, 0xe0, 0x06, 0x19,
1304 0x16, 0x11, 0xdd, 0xa4, 0xc9, 0x8b, 0xa2, 0xa5, 0xf1, 0xda, 0x13, 0x4a, 0xe4, 0xc2,
1305 0x2d, 0x52, 0xe9, 0x20,
1306 ],
1307 Elements::Divide32 => [
1308 0xab, 0x03, 0xac, 0xd8, 0x93, 0x61, 0x0c, 0x3c, 0x65, 0x82, 0xe7, 0xf7, 0xfb, 0xe5,
1309 0xe7, 0x56, 0x25, 0x74, 0xa7, 0xb2, 0x66, 0x46, 0xf1, 0xc2, 0xfd, 0xc6, 0xe7, 0x6e,
1310 0x44, 0x5a, 0x77, 0xa1,
1311 ],
1312 Elements::Divide64 => [
1313 0xeb, 0xfc, 0x56, 0xfb, 0xb8, 0xa4, 0x7e, 0x73, 0xff, 0xab, 0xb7, 0xea, 0x22, 0x8a,
1314 0xc7, 0x84, 0x37, 0xbe, 0x82, 0x0e, 0xdd, 0xfa, 0x47, 0x81, 0x4c, 0xce, 0xbd, 0x26,
1315 0x1b, 0xd8, 0xcf, 0xff,
1316 ],
1317 Elements::Divide8 => [
1318 0x2c, 0xcf, 0xbc, 0x7c, 0x02, 0xbf, 0x4d, 0x53, 0x04, 0x93, 0xbb, 0x22, 0x86, 0x7a,
1319 0x95, 0x1d, 0x8a, 0xe9, 0x13, 0x12, 0x66, 0x87, 0x59, 0x72, 0x84, 0xe9, 0xbb, 0xb3,
1320 0xe1, 0xe7, 0xe3, 0x49,
1321 ],
1322 Elements::Divides16 => [
1323 0x5f, 0xc3, 0xac, 0x38, 0x4d, 0x5f, 0x45, 0x40, 0x41, 0x56, 0x97, 0x1a, 0x76, 0x8d,
1324 0x93, 0xbc, 0x06, 0x4b, 0xc1, 0x7c, 0x15, 0xa3, 0x7c, 0x27, 0x01, 0x9d, 0xde, 0xef,
1325 0x17, 0x04, 0x6d, 0xd4,
1326 ],
1327 Elements::Divides32 => [
1328 0xcc, 0x45, 0xb4, 0x05, 0x24, 0x64, 0x38, 0xf7, 0x65, 0x74, 0x0b, 0x4f, 0xb0, 0xa3,
1329 0x4d, 0xc8, 0x1b, 0x34, 0x78, 0x01, 0x98, 0x86, 0x3b, 0x0f, 0xb1, 0x86, 0x44, 0x6a,
1330 0xdf, 0xbb, 0x09, 0xde,
1331 ],
1332 Elements::Divides64 => [
1333 0xdc, 0x47, 0x3b, 0xfd, 0xec, 0x30, 0xab, 0x98, 0xd4, 0x8c, 0xd0, 0x88, 0x84, 0xef,
1334 0x4f, 0xff, 0xef, 0x3d, 0x4b, 0x16, 0xad, 0x5c, 0x37, 0x11, 0x2a, 0x20, 0x35, 0xb9,
1335 0x9b, 0xb7, 0x74, 0x58,
1336 ],
1337 Elements::Divides8 => [
1338 0x0b, 0x55, 0x02, 0xac, 0x4f, 0x21, 0xf2, 0x30, 0xa0, 0x9c, 0xcf, 0xaf, 0xfa, 0xac,
1339 0x77, 0xa7, 0xc4, 0x1b, 0x2b, 0xf3, 0x0b, 0x14, 0x68, 0x48, 0x1e, 0x4d, 0xfb, 0x98,
1340 0xb6, 0x18, 0x7a, 0x0d,
1341 ],
1342 Elements::Eq1 => [
1343 0x60, 0x7f, 0x6b, 0x8f, 0x5d, 0x25, 0xb8, 0x0e, 0x05, 0xa2, 0xbf, 0x79, 0xd6, 0x2e,
1344 0x87, 0x07, 0x99, 0x52, 0x2c, 0xc3, 0xe3, 0x9c, 0xe9, 0x62, 0x57, 0x45, 0x52, 0x93,
1345 0xf9, 0xb2, 0xb2, 0xed,
1346 ],
1347 Elements::Eq16 => [
1348 0xc9, 0x96, 0xe4, 0x2b, 0x97, 0x9a, 0xbc, 0x53, 0x0c, 0xc2, 0x71, 0x63, 0x66, 0x71,
1349 0xe9, 0x20, 0x54, 0x87, 0x6a, 0x1e, 0xca, 0xed, 0x14, 0x33, 0xfd, 0x61, 0x9a, 0x25,
1350 0xfe, 0x6d, 0x03, 0xad,
1351 ],
1352 Elements::Eq256 => [
1353 0x77, 0x8d, 0x15, 0x06, 0xc7, 0x35, 0xd2, 0x77, 0x6b, 0x95, 0x0f, 0xac, 0xef, 0xc1,
1354 0x59, 0xb6, 0x78, 0xde, 0xc0, 0x38, 0x28, 0xcf, 0x02, 0x73, 0xee, 0xea, 0x64, 0xa9,
1355 0xda, 0x98, 0xc1, 0x2c,
1356 ],
1357 Elements::Eq32 => [
1358 0x66, 0xd3, 0x89, 0x03, 0xe7, 0x3b, 0x1a, 0x13, 0x20, 0xc6, 0x8a, 0x4a, 0x39, 0x70,
1359 0xd7, 0x1f, 0x94, 0xba, 0x9e, 0x2b, 0x15, 0x16, 0x83, 0x99, 0x43, 0xfb, 0x15, 0xe4,
1360 0x4e, 0xbf, 0x57, 0xfb,
1361 ],
1362 Elements::Eq64 => [
1363 0xd6, 0xa6, 0x66, 0xb4, 0xe0, 0xf9, 0xf5, 0x75, 0x50, 0x8d, 0xbf, 0x3b, 0x31, 0xce,
1364 0xea, 0x68, 0x39, 0x3c, 0x7d, 0xb2, 0xe9, 0x8b, 0xc5, 0x92, 0xfd, 0xd2, 0x6f, 0xae,
1365 0x83, 0x7a, 0x0b, 0x87,
1366 ],
1367 Elements::Eq8 => [
1368 0x99, 0x78, 0x7b, 0xa2, 0x67, 0x2d, 0xd0, 0xeb, 0x4d, 0x7d, 0x2e, 0xa9, 0x94, 0x49,
1369 0xde, 0x8f, 0x79, 0x8e, 0x7c, 0xb1, 0x81, 0xa5, 0xe1, 0x66, 0xe1, 0xa5, 0x3f, 0x98,
1370 0x02, 0xb6, 0x20, 0x64,
1371 ],
1372 Elements::FeAdd => [
1373 0xb0, 0x59, 0x3e, 0x18, 0x7e, 0xe7, 0x33, 0x3c, 0x47, 0xa0, 0x54, 0x67, 0xdf, 0x66,
1374 0xd5, 0x82, 0x0a, 0x6f, 0x5b, 0xef, 0x91, 0x4a, 0x4b, 0x76, 0xe5, 0xd1, 0x63, 0x31,
1375 0x4b, 0x5e, 0xf2, 0x0e,
1376 ],
1377 Elements::FeInvert => [
1378 0x34, 0x3e, 0x9c, 0x90, 0xf1, 0x28, 0x50, 0x60, 0x56, 0xb5, 0x48, 0xd2, 0xed, 0x5e,
1379 0x22, 0x3c, 0x81, 0xf5, 0xb0, 0x6a, 0x1e, 0xd8, 0x6b, 0x7c, 0xd9, 0x35, 0x40, 0x57,
1380 0xaa, 0x59, 0x51, 0x02,
1381 ],
1382 Elements::FeIsOdd => [
1383 0xdc, 0xf0, 0x37, 0x5d, 0x20, 0x81, 0x8a, 0x99, 0xf7, 0x23, 0xf8, 0x12, 0x3c, 0xbd,
1384 0x05, 0x1a, 0x38, 0x78, 0xa4, 0x28, 0x24, 0xb3, 0x74, 0x0f, 0x68, 0x21, 0xa5, 0xfa,
1385 0x12, 0x3f, 0x14, 0xc7,
1386 ],
1387 Elements::FeIsZero => [
1388 0x28, 0xff, 0x41, 0x69, 0x9a, 0x88, 0x1a, 0xaf, 0xb7, 0xa9, 0x76, 0xc0, 0xc5, 0x76,
1389 0x35, 0x3f, 0x7f, 0xe5, 0x44, 0x63, 0xb6, 0xaa, 0x75, 0x4c, 0xf2, 0xc6, 0x32, 0x9a,
1390 0xf2, 0x65, 0x0e, 0x3b,
1391 ],
1392 Elements::FeMultiply => [
1393 0x56, 0x69, 0x92, 0x9b, 0x5f, 0x31, 0xfa, 0x3d, 0x02, 0xc5, 0x83, 0x9d, 0xd0, 0x63,
1394 0x54, 0xcd, 0x17, 0x16, 0x35, 0xf3, 0xa0, 0x72, 0x7f, 0x32, 0x2a, 0xbf, 0xc9, 0x94,
1395 0xba, 0x62, 0x90, 0xde,
1396 ],
1397 Elements::FeMultiplyBeta => [
1398 0x7a, 0x78, 0x13, 0x45, 0x0d, 0x82, 0xe9, 0x35, 0x69, 0x0f, 0x43, 0x3e, 0x65, 0xdf,
1399 0x70, 0x7a, 0x4d, 0xd1, 0x75, 0x34, 0xa0, 0x0d, 0xdd, 0x40, 0xdd, 0x85, 0xe3, 0xe3,
1400 0xf7, 0x84, 0x02, 0xc3,
1401 ],
1402 Elements::FeNegate => [
1403 0x3b, 0x0d, 0x7b, 0x5c, 0x2e, 0x6c, 0x3a, 0xeb, 0x5e, 0x00, 0x08, 0x5b, 0x9d, 0x30,
1404 0x58, 0x5a, 0xff, 0x05, 0x4e, 0x32, 0x5a, 0x99, 0x83, 0x61, 0x11, 0x3b, 0xfd, 0x23,
1405 0x28, 0xc0, 0x08, 0xf6,
1406 ],
1407 Elements::FeNormalize => [
1408 0xc5, 0x1b, 0xef, 0xfa, 0x21, 0x5e, 0x9c, 0xde, 0x8e, 0x93, 0x3b, 0xb9, 0x46, 0x80,
1409 0xba, 0xe0, 0x12, 0xc4, 0xda, 0xab, 0x3d, 0x04, 0xb6, 0xcb, 0xf0, 0x73, 0x3f, 0xd7,
1410 0x35, 0x73, 0x35, 0x38,
1411 ],
1412 Elements::FeSquare => [
1413 0x5a, 0x6e, 0x7b, 0x2e, 0xac, 0x73, 0xf4, 0xe4, 0x4d, 0xfa, 0x28, 0xfb, 0x86, 0xbb,
1414 0x11, 0x7b, 0x65, 0x60, 0x6f, 0x28, 0x74, 0xd5, 0x65, 0xc9, 0x79, 0x9c, 0x63, 0xe0,
1415 0xfe, 0x69, 0x2b, 0x1a,
1416 ],
1417 Elements::FeSquareRoot => [
1418 0xe0, 0x01, 0x42, 0xea, 0x03, 0x09, 0x4a, 0x30, 0x4a, 0xc8, 0x2b, 0xc1, 0xe2, 0xd2,
1419 0xdc, 0x71, 0xfb, 0x06, 0x4e, 0xd0, 0x82, 0x85, 0x67, 0x35, 0xb1, 0x4f, 0xf2, 0xc7,
1420 0xfa, 0xf0, 0x36, 0xf0,
1421 ],
1422 Elements::FullAdd16 => [
1423 0xfc, 0x9e, 0x5d, 0xf8, 0x3b, 0xfd, 0xb9, 0x02, 0x8c, 0x87, 0xd1, 0x39, 0xf8, 0x58,
1424 0x39, 0x03, 0xcb, 0x2a, 0x07, 0x04, 0x2a, 0x73, 0xe5, 0x34, 0x81, 0xde, 0xb5, 0x2f,
1425 0xf1, 0xf1, 0xf8, 0x84,
1426 ],
1427 Elements::FullAdd32 => [
1428 0xa7, 0xd9, 0x8d, 0x50, 0xd0, 0x45, 0xcb, 0x90, 0x6b, 0x19, 0x5e, 0x65, 0x11, 0x87,
1429 0x94, 0x95, 0xc8, 0x51, 0x09, 0x59, 0x49, 0xa9, 0xc0, 0x1e, 0x60, 0x39, 0xa8, 0x4b,
1430 0x2a, 0x5e, 0xc9, 0x09,
1431 ],
1432 Elements::FullAdd64 => [
1433 0x7a, 0xec, 0xc8, 0xc9, 0x05, 0x3b, 0xb2, 0xfb, 0x17, 0x0c, 0x1c, 0x97, 0x2f, 0xd4,
1434 0x00, 0x25, 0x64, 0xe1, 0x52, 0xa0, 0x6d, 0x9f, 0x45, 0x80, 0x75, 0xe3, 0x8c, 0x7a,
1435 0x06, 0x98, 0xa7, 0xf4,
1436 ],
1437 Elements::FullAdd8 => [
1438 0xed, 0x3b, 0xa5, 0xb7, 0x9e, 0xa4, 0x5b, 0x18, 0x7a, 0x2d, 0x43, 0xe8, 0xed, 0x80,
1439 0x2d, 0xe1, 0xed, 0x44, 0x26, 0x59, 0x6c, 0xbe, 0x32, 0xe7, 0x57, 0xc8, 0x51, 0x19,
1440 0x15, 0xff, 0xa5, 0xcf,
1441 ],
1442 Elements::FullDecrement16 => [
1443 0xd4, 0xc2, 0xed, 0xda, 0x87, 0x2c, 0x05, 0x50, 0x6f, 0x79, 0x2c, 0xf5, 0x46, 0xa8,
1444 0x9d, 0x4d, 0x7c, 0xff, 0xcb, 0x1e, 0x17, 0xf5, 0xda, 0x61, 0x03, 0x10, 0x0e, 0x7e,
1445 0x73, 0xa7, 0x73, 0x7d,
1446 ],
1447 Elements::FullDecrement32 => [
1448 0x7c, 0xc2, 0x30, 0x4d, 0x17, 0x43, 0x12, 0x10, 0x2e, 0x9b, 0x73, 0x63, 0x45, 0xc7,
1449 0x7f, 0x77, 0x1d, 0x1f, 0x6a, 0x9c, 0x9e, 0x1d, 0x1c, 0xd8, 0xdb, 0x8c, 0xb4, 0x61,
1450 0x39, 0x80, 0xc8, 0xc2,
1451 ],
1452 Elements::FullDecrement64 => [
1453 0x15, 0xc1, 0x63, 0x45, 0x4b, 0xcd, 0x75, 0x44, 0x30, 0xda, 0x55, 0x79, 0xbb, 0xca,
1454 0xad, 0x26, 0xe5, 0x7e, 0x95, 0xc7, 0x72, 0x22, 0x4b, 0x7b, 0x83, 0xc7, 0x05, 0xf7,
1455 0xde, 0xb6, 0x4a, 0xa6,
1456 ],
1457 Elements::FullDecrement8 => [
1458 0x7c, 0x5e, 0x94, 0xa9, 0x98, 0x02, 0x81, 0x82, 0x17, 0x37, 0xb1, 0xce, 0x73, 0xbf,
1459 0xda, 0x4c, 0x79, 0xef, 0x64, 0x9b, 0x3d, 0x05, 0xcc, 0x1c, 0x00, 0xc4, 0xa8, 0xb6,
1460 0x4b, 0x94, 0x9b, 0xbe,
1461 ],
1462 Elements::FullIncrement16 => [
1463 0x81, 0x38, 0x0a, 0xda, 0xa3, 0xa5, 0x47, 0xf1, 0xbc, 0x4b, 0xbb, 0x64, 0x6b, 0xda,
1464 0x9d, 0x9f, 0xb7, 0xbd, 0x4d, 0xc1, 0xb3, 0xa9, 0xf3, 0xdd, 0x22, 0x0b, 0x56, 0xa4,
1465 0x7c, 0x27, 0x98, 0xfb,
1466 ],
1467 Elements::FullIncrement32 => [
1468 0xa7, 0x60, 0xa8, 0x44, 0x9a, 0x2a, 0xb5, 0xde, 0xdb, 0x4e, 0xe5, 0x1b, 0xf5, 0xc2,
1469 0x5a, 0x8f, 0x06, 0xaf, 0x06, 0x66, 0xdf, 0x7f, 0xc4, 0x19, 0xb4, 0x98, 0xb9, 0x09,
1470 0x76, 0xd6, 0x98, 0xcb,
1471 ],
1472 Elements::FullIncrement64 => [
1473 0xc6, 0xaf, 0x30, 0xdd, 0x28, 0x6d, 0x6e, 0x21, 0xc3, 0x88, 0x60, 0xed, 0x1e, 0x2f,
1474 0x21, 0x2a, 0x21, 0xb2, 0xfd, 0x1e, 0xde, 0xad, 0xb5, 0xe0, 0xfc, 0xe2, 0xe3, 0xfd,
1475 0x75, 0xb7, 0xf3, 0xc2,
1476 ],
1477 Elements::FullIncrement8 => [
1478 0xd3, 0x04, 0xea, 0x28, 0xa9, 0x5d, 0x49, 0x6d, 0x14, 0xb4, 0xf2, 0xfb, 0x5c, 0x86,
1479 0x03, 0x72, 0xec, 0xf2, 0x47, 0xbe, 0xfd, 0xe3, 0xea, 0x3b, 0x2a, 0xd6, 0x7b, 0xce,
1480 0x99, 0x03, 0x9d, 0xbc,
1481 ],
1482 Elements::FullLeftShift16_1 => [
1483 0x14, 0xdc, 0xc3, 0x46, 0x6f, 0xa8, 0x28, 0xa3, 0xf0, 0x74, 0x04, 0x51, 0xb8, 0x03,
1484 0x7d, 0x7a, 0xd6, 0x03, 0xea, 0xdc, 0x80, 0xaa, 0xea, 0xdc, 0x66, 0x44, 0x34, 0xac,
1485 0x2a, 0xd7, 0xfd, 0x9c,
1486 ],
1487 Elements::FullLeftShift16_2 => [
1488 0xaf, 0xb7, 0xe9, 0x28, 0xb0, 0x52, 0xc2, 0x28, 0x79, 0x21, 0x66, 0x2c, 0xd8, 0xab,
1489 0x12, 0x2f, 0xe0, 0x74, 0xef, 0xd2, 0x51, 0xa5, 0xc9, 0xcf, 0xbc, 0xaa, 0x36, 0x9d,
1490 0x06, 0x33, 0x73, 0x92,
1491 ],
1492 Elements::FullLeftShift16_4 => [
1493 0x16, 0x6f, 0x34, 0x8c, 0x59, 0xe2, 0x6f, 0x89, 0xa8, 0x3a, 0x99, 0x1f, 0x67, 0xe5,
1494 0xdb, 0xf7, 0x10, 0xcf, 0xae, 0x3d, 0x6d, 0x96, 0x93, 0x82, 0x82, 0xbb, 0x44, 0xc1,
1495 0xaf, 0xa7, 0x10, 0x9b,
1496 ],
1497 Elements::FullLeftShift16_8 => [
1498 0xc0, 0xcd, 0x01, 0x5d, 0xe8, 0xac, 0x4f, 0xcc, 0xd8, 0xdb, 0x89, 0xf4, 0xe5, 0x14,
1499 0x2f, 0xde, 0x27, 0x97, 0x55, 0xb5, 0x42, 0xa2, 0x4f, 0x57, 0xa2, 0xa3, 0xc7, 0xc1,
1500 0xf5, 0x0d, 0x1d, 0xb5,
1501 ],
1502 Elements::FullLeftShift32_1 => [
1503 0xce, 0x33, 0xb5, 0xd0, 0xc5, 0x8d, 0x2d, 0x0b, 0x9b, 0x5a, 0x99, 0x44, 0xd3, 0xda,
1504 0xbd, 0xa0, 0x23, 0xcd, 0x44, 0x64, 0x7b, 0xe6, 0x7c, 0xf4, 0x08, 0x28, 0x30, 0xbb,
1505 0x20, 0x5f, 0x8f, 0xbb,
1506 ],
1507 Elements::FullLeftShift32_16 => [
1508 0x1c, 0xb3, 0x6e, 0x6f, 0x99, 0x30, 0x85, 0x15, 0xd4, 0xb7, 0x11, 0x90, 0x9c, 0x57,
1509 0x4b, 0x21, 0x24, 0xc1, 0xff, 0x42, 0x2d, 0x8d, 0x7d, 0x94, 0x82, 0xe2, 0x5d, 0x87,
1510 0x88, 0xb3, 0xb9, 0x57,
1511 ],
1512 Elements::FullLeftShift32_2 => [
1513 0x3f, 0xae, 0xa9, 0xb5, 0x73, 0xfc, 0x06, 0x9d, 0x8f, 0x43, 0x0f, 0xac, 0xa8, 0x97,
1514 0xb6, 0x87, 0x1e, 0xa0, 0x95, 0x73, 0xc7, 0x15, 0x09, 0x4b, 0x1f, 0x1b, 0xe0, 0x81,
1515 0x84, 0x88, 0xa7, 0x16,
1516 ],
1517 Elements::FullLeftShift32_4 => [
1518 0xcd, 0xbb, 0x0d, 0x23, 0x31, 0x05, 0x90, 0x11, 0x3c, 0x93, 0x4f, 0xe6, 0x60, 0x04,
1519 0xd2, 0xa1, 0x1d, 0xa9, 0xcb, 0xf8, 0x87, 0x3d, 0x00, 0xde, 0xe7, 0xf0, 0x22, 0x96,
1520 0xff, 0x0a, 0x2f, 0x12,
1521 ],
1522 Elements::FullLeftShift32_8 => [
1523 0xcc, 0xd9, 0x24, 0xe1, 0xa6, 0x18, 0x49, 0x42, 0x0f, 0xf6, 0x2e, 0xd8, 0xb2, 0x45,
1524 0xa3, 0xaa, 0x18, 0xc9, 0x8c, 0x41, 0xf9, 0xc5, 0xa3, 0xc0, 0xb8, 0x85, 0x86, 0x3c,
1525 0x44, 0x9b, 0x7d, 0x14,
1526 ],
1527 Elements::FullLeftShift64_1 => [
1528 0xd4, 0x63, 0xcc, 0xdc, 0x7f, 0xd1, 0x4e, 0x5e, 0x89, 0x41, 0x62, 0xb2, 0xae, 0x71,
1529 0x41, 0x28, 0xa1, 0x0d, 0xc9, 0x20, 0x00, 0xb5, 0x4c, 0x84, 0x3b, 0x64, 0x9c, 0xcb,
1530 0x77, 0x56, 0x26, 0xe5,
1531 ],
1532 Elements::FullLeftShift64_16 => [
1533 0x88, 0x2d, 0xce, 0x21, 0x2a, 0x0e, 0x61, 0xf8, 0xf9, 0x4c, 0xb5, 0xe3, 0x2e, 0x00,
1534 0xa5, 0x28, 0x7c, 0xf6, 0x4f, 0x20, 0xc2, 0x1f, 0xca, 0x84, 0xf1, 0xe3, 0xdf, 0x7f,
1535 0x4a, 0x62, 0x91, 0xcd,
1536 ],
1537 Elements::FullLeftShift64_2 => [
1538 0x48, 0xc8, 0x9b, 0x19, 0x1a, 0x51, 0xb6, 0xab, 0x03, 0x4c, 0x80, 0xea, 0xff, 0x34,
1539 0x82, 0x38, 0xd9, 0x3f, 0xb3, 0x1c, 0x1e, 0x92, 0xe7, 0xf2, 0xae, 0x49, 0x31, 0x7e,
1540 0x0e, 0x33, 0xf8, 0x2d,
1541 ],
1542 Elements::FullLeftShift64_32 => [
1543 0x39, 0x75, 0x90, 0x73, 0x33, 0xe1, 0x27, 0x30, 0x62, 0x55, 0xb7, 0xf8, 0x89, 0x39,
1544 0xe2, 0x85, 0x7f, 0x42, 0xae, 0x1b, 0xf0, 0xc6, 0x62, 0x40, 0xa8, 0x22, 0x4c, 0x8d,
1545 0xa3, 0x8b, 0xb1, 0xbe,
1546 ],
1547 Elements::FullLeftShift64_4 => [
1548 0x29, 0x31, 0x32, 0xeb, 0x15, 0xdd, 0xf4, 0x17, 0x74, 0xb0, 0x00, 0x5a, 0x3b, 0x5c,
1549 0x50, 0x95, 0x9f, 0xa8, 0x98, 0x2b, 0x75, 0x9e, 0x83, 0x28, 0x27, 0xc7, 0x4f, 0xa8,
1550 0x28, 0x50, 0x66, 0x6c,
1551 ],
1552 Elements::FullLeftShift64_8 => [
1553 0xe6, 0xab, 0xde, 0xd8, 0xbe, 0x58, 0x5e, 0xb0, 0xb6, 0xd4, 0x6e, 0x0c, 0x5e, 0xb2,
1554 0x8a, 0x74, 0x5f, 0x4e, 0x5c, 0x56, 0xfd, 0x65, 0x21, 0xf8, 0xf3, 0x96, 0xcb, 0x21,
1555 0xa7, 0x58, 0xf7, 0x4c,
1556 ],
1557 Elements::FullLeftShift8_1 => [
1558 0x73, 0x3f, 0xed, 0x08, 0x47, 0xa2, 0xff, 0xac, 0x9a, 0xab, 0xf5, 0x0a, 0x2f, 0xeb,
1559 0x50, 0x59, 0x89, 0x84, 0xf1, 0x6d, 0x8b, 0x73, 0x24, 0x68, 0xb3, 0xd3, 0x15, 0xc0,
1560 0x1e, 0xa4, 0x29, 0x9b,
1561 ],
1562 Elements::FullLeftShift8_2 => [
1563 0xb4, 0x47, 0x4d, 0x0b, 0xa1, 0xcf, 0x4f, 0xa2, 0xd6, 0x4c, 0xd4, 0xfe, 0x67, 0xbd,
1564 0xc9, 0x2c, 0xb8, 0x9e, 0xfa, 0x70, 0xcb, 0x99, 0xaf, 0x77, 0x91, 0xbf, 0x7e, 0xf6,
1565 0xe9, 0x09, 0xd2, 0xc7,
1566 ],
1567 Elements::FullLeftShift8_4 => [
1568 0x8e, 0xb5, 0x22, 0xb9, 0x97, 0x04, 0x74, 0xad, 0xbb, 0x7a, 0xb0, 0xde, 0x37, 0xc4,
1569 0xe7, 0xa0, 0x56, 0xa1, 0xcb, 0x21, 0x2e, 0x41, 0x03, 0xe4, 0xa8, 0xcb, 0xbb, 0xb6,
1570 0x3d, 0x97, 0x56, 0x06,
1571 ],
1572 Elements::FullMultiply16 => [
1573 0x88, 0x47, 0x0c, 0xbf, 0x9b, 0x4d, 0xec, 0x37, 0xea, 0x05, 0xd7, 0xb6, 0x30, 0xf2,
1574 0xf1, 0x12, 0x54, 0x75, 0x67, 0xd3, 0x4f, 0x33, 0xd9, 0x6e, 0x5f, 0x61, 0x1b, 0xd9,
1575 0xda, 0x97, 0xab, 0xb5,
1576 ],
1577 Elements::FullMultiply32 => [
1578 0x28, 0x04, 0x06, 0x00, 0xa6, 0x6e, 0x1a, 0x0c, 0x52, 0x25, 0x85, 0x20, 0x48, 0x8b,
1579 0x94, 0xc8, 0x20, 0xc6, 0xcf, 0x86, 0xca, 0x27, 0xae, 0x39, 0x03, 0x4d, 0xdd, 0xca,
1580 0xb9, 0x04, 0xd1, 0xd5,
1581 ],
1582 Elements::FullMultiply64 => [
1583 0x53, 0x01, 0x4f, 0x35, 0xa8, 0xdf, 0x20, 0x91, 0xaf, 0x3e, 0xf9, 0xb8, 0xd1, 0x6b,
1584 0x38, 0xb9, 0xbc, 0x96, 0x61, 0xbf, 0xdb, 0xc9, 0x57, 0x33, 0x3f, 0xba, 0x2a, 0x94,
1585 0x8c, 0x1e, 0x8c, 0x25,
1586 ],
1587 Elements::FullMultiply8 => [
1588 0xd3, 0xd2, 0x45, 0x54, 0xc4, 0x66, 0xdd, 0x60, 0x37, 0x54, 0x52, 0x47, 0x36, 0xa7,
1589 0x1e, 0xb2, 0x35, 0xde, 0xf9, 0xb5, 0x06, 0x96, 0x5e, 0x32, 0xd5, 0x68, 0x26, 0xe1,
1590 0x9f, 0xba, 0xd6, 0xc1,
1591 ],
1592 Elements::FullRightShift16_1 => [
1593 0xb3, 0x79, 0xe2, 0x96, 0xe9, 0xa9, 0x8f, 0xb3, 0xb5, 0x66, 0x2b, 0x8b, 0xa0, 0x4e,
1594 0x3c, 0xc1, 0xa4, 0x3c, 0x74, 0x42, 0x9e, 0x93, 0x12, 0x33, 0xfd, 0xd7, 0xfc, 0x8f,
1595 0xe6, 0xb7, 0xa2, 0xe0,
1596 ],
1597 Elements::FullRightShift16_2 => [
1598 0xae, 0xb8, 0xc6, 0x08, 0x06, 0xa4, 0x79, 0x20, 0x77, 0x58, 0xe3, 0x90, 0x83, 0xb4,
1599 0xa9, 0xa7, 0xa1, 0x4d, 0xa4, 0xee, 0x9b, 0xc1, 0x09, 0x7f, 0xc5, 0xcb, 0x4b, 0x75,
1600 0x54, 0x0d, 0x75, 0x78,
1601 ],
1602 Elements::FullRightShift16_4 => [
1603 0x60, 0xb7, 0xf0, 0x84, 0x75, 0xcc, 0x0c, 0xce, 0x64, 0xdc, 0xa1, 0x2d, 0x9f, 0x6a,
1604 0x91, 0x9c, 0x30, 0x61, 0x81, 0x10, 0xed, 0xa1, 0x40, 0x65, 0x92, 0x9c, 0x00, 0x4e,
1605 0x7f, 0xc1, 0xb0, 0xfb,
1606 ],
1607 Elements::FullRightShift16_8 => [
1608 0xf7, 0x9d, 0xba, 0x3e, 0x0a, 0xf3, 0xd6, 0xa5, 0x59, 0xa9, 0xe9, 0xdf, 0xfe, 0xa7,
1609 0x10, 0xaf, 0x62, 0x3f, 0xe6, 0xe6, 0x64, 0x4b, 0x89, 0x79, 0x95, 0xd7, 0x1b, 0x8a,
1610 0x41, 0x67, 0xdd, 0xb0,
1611 ],
1612 Elements::FullRightShift32_1 => [
1613 0xad, 0x0d, 0x5c, 0x75, 0xea, 0x68, 0x43, 0x71, 0x91, 0x77, 0x0d, 0x7f, 0xdf, 0x80,
1614 0x4b, 0xbc, 0x9d, 0x57, 0x3d, 0x5f, 0x10, 0x19, 0x98, 0x23, 0xd8, 0x09, 0xc9, 0xc4,
1615 0x6c, 0xd2, 0x75, 0xad,
1616 ],
1617 Elements::FullRightShift32_16 => [
1618 0x45, 0x52, 0x99, 0xfd, 0x6f, 0x42, 0xab, 0x49, 0xdb, 0xb7, 0x09, 0xe6, 0x5a, 0x3b,
1619 0x53, 0x66, 0x25, 0x0b, 0xdc, 0x54, 0x5d, 0x62, 0x29, 0xe8, 0xe2, 0x36, 0x05, 0x6d,
1620 0xdd, 0x19, 0x77, 0xfd,
1621 ],
1622 Elements::FullRightShift32_2 => [
1623 0x44, 0x38, 0x4b, 0x15, 0x06, 0xd4, 0x43, 0xd2, 0xf8, 0xa2, 0x88, 0x2b, 0x45, 0x63,
1624 0xd7, 0x93, 0x1a, 0x7e, 0xbc, 0xe6, 0x4a, 0xcf, 0x0d, 0x02, 0xee, 0x59, 0xec, 0x69,
1625 0xd3, 0x06, 0x52, 0x39,
1626 ],
1627 Elements::FullRightShift32_4 => [
1628 0x2e, 0x9a, 0x8a, 0xb5, 0xa1, 0x81, 0x7b, 0xd0, 0xb8, 0xa4, 0x66, 0x26, 0x99, 0x49,
1629 0x17, 0xa0, 0xde, 0x1a, 0x74, 0x5e, 0x99, 0x52, 0x0c, 0xe6, 0xeb, 0xcc, 0x67, 0xd4,
1630 0x63, 0x65, 0x51, 0xb7,
1631 ],
1632 Elements::FullRightShift32_8 => [
1633 0xaf, 0x47, 0xd4, 0xf9, 0x6e, 0x7d, 0x80, 0x26, 0xd4, 0x4e, 0x6e, 0xca, 0x1b, 0x80,
1634 0x7f, 0x73, 0x34, 0x4c, 0xe2, 0xea, 0xf7, 0x00, 0xb2, 0xc8, 0x2b, 0x4b, 0xb0, 0x02,
1635 0x61, 0xa8, 0x6f, 0x94,
1636 ],
1637 Elements::FullRightShift64_1 => [
1638 0x03, 0xaf, 0xb5, 0x47, 0xc3, 0x09, 0x13, 0xf1, 0x6f, 0x3e, 0x37, 0x0d, 0x7f, 0x9c,
1639 0xa0, 0x29, 0x0b, 0x61, 0x5b, 0x42, 0x85, 0x05, 0x1b, 0xb9, 0x3c, 0x3c, 0x1a, 0x9b,
1640 0x72, 0xee, 0x8d, 0xe4,
1641 ],
1642 Elements::FullRightShift64_16 => [
1643 0x1f, 0xb0, 0x56, 0xfc, 0xb6, 0x90, 0xce, 0xe3, 0xcf, 0xf7, 0x2c, 0x7d, 0xec, 0xda,
1644 0x80, 0x6d, 0x21, 0x46, 0xc4, 0x92, 0xae, 0x73, 0x1a, 0x6b, 0x94, 0xb8, 0xbb, 0x4f,
1645 0x15, 0x99, 0xb0, 0xcc,
1646 ],
1647 Elements::FullRightShift64_2 => [
1648 0x06, 0x73, 0xbf, 0xf2, 0x1e, 0x37, 0x5e, 0x5d, 0xbc, 0xaf, 0x38, 0x04, 0x66, 0x48,
1649 0x25, 0xdd, 0x67, 0x48, 0x44, 0xd2, 0xfd, 0xb7, 0x84, 0xa4, 0xfe, 0xfb, 0xc9, 0x25,
1650 0xcf, 0x6b, 0x27, 0xad,
1651 ],
1652 Elements::FullRightShift64_32 => [
1653 0x35, 0x6f, 0x7d, 0xd4, 0x6b, 0xa3, 0x3f, 0x84, 0xb0, 0x66, 0x72, 0xfd, 0xe9, 0xa2,
1654 0x97, 0x2e, 0x80, 0xf3, 0xea, 0x96, 0x5a, 0xe8, 0xbc, 0x0b, 0xff, 0x67, 0xaa, 0x2f,
1655 0x69, 0xf1, 0x0b, 0x56,
1656 ],
1657 Elements::FullRightShift64_4 => [
1658 0x4c, 0x25, 0xf6, 0x01, 0x1f, 0xd3, 0xd1, 0xac, 0x18, 0xe1, 0x1e, 0xb4, 0x30, 0x61,
1659 0xfa, 0xd6, 0x9f, 0x3c, 0xe3, 0x9f, 0x7a, 0x99, 0xce, 0xde, 0x50, 0xcc, 0x85, 0xbf,
1660 0x88, 0xbf, 0xba, 0x82,
1661 ],
1662 Elements::FullRightShift64_8 => [
1663 0xa5, 0x1d, 0xf9, 0x44, 0x86, 0x02, 0xfa, 0x81, 0x00, 0x1a, 0xa1, 0xb5, 0xb1, 0x3b,
1664 0xe8, 0x8d, 0x4b, 0x2f, 0x4d, 0x0f, 0x60, 0x74, 0x08, 0x01, 0xce, 0xf9, 0x91, 0x00,
1665 0x2f, 0xe3, 0x7d, 0x6d,
1666 ],
1667 Elements::FullRightShift8_1 => [
1668 0xd9, 0xd4, 0xb1, 0x6d, 0x37, 0xe4, 0xeb, 0x5c, 0xc5, 0x15, 0x04, 0x26, 0xe3, 0xe8,
1669 0x6c, 0xf6, 0x0a, 0xbb, 0xdf, 0xa1, 0xd0, 0xec, 0xb4, 0x15, 0x82, 0x96, 0x5e, 0x80,
1670 0x00, 0xcb, 0xd2, 0x91,
1671 ],
1672 Elements::FullRightShift8_2 => [
1673 0x07, 0x9a, 0xa1, 0x66, 0x17, 0x19, 0x8a, 0xd5, 0xdf, 0x2c, 0x98, 0xa6, 0x3a, 0xf7,
1674 0x6c, 0x1b, 0x3e, 0x12, 0x0f, 0xd2, 0x10, 0x6b, 0x22, 0x5f, 0x63, 0xfd, 0x06, 0xac,
1675 0x57, 0x1d, 0x04, 0xa4,
1676 ],
1677 Elements::FullRightShift8_4 => [
1678 0x9d, 0x9d, 0x3f, 0x63, 0x8a, 0x84, 0x63, 0x86, 0xa2, 0x1e, 0x71, 0x5f, 0x39, 0x46,
1679 0x16, 0x86, 0x4a, 0x2e, 0xf7, 0x98, 0x4a, 0x88, 0xcd, 0x95, 0x50, 0x55, 0x66, 0x29,
1680 0x7b, 0xe7, 0xe0, 0x6c,
1681 ],
1682 Elements::FullSubtract16 => [
1683 0x1f, 0xc8, 0x8e, 0x23, 0x29, 0xf4, 0xaa, 0xf1, 0x2b, 0x30, 0x51, 0x3f, 0x7a, 0x21,
1684 0xcf, 0x5d, 0x8d, 0xe2, 0x4b, 0x60, 0x0a, 0x19, 0xa2, 0x17, 0x41, 0x28, 0x1b, 0x4d,
1685 0x61, 0xaa, 0xc6, 0x33,
1686 ],
1687 Elements::FullSubtract32 => [
1688 0x78, 0x27, 0x05, 0xfb, 0x42, 0xe3, 0x6a, 0x7e, 0xf8, 0x31, 0x20, 0x0c, 0x61, 0x77,
1689 0x38, 0xd3, 0x1e, 0x13, 0xb1, 0xd0, 0xe7, 0xce, 0xed, 0x69, 0x3f, 0x13, 0x33, 0x88,
1690 0x35, 0xb3, 0x0a, 0xcb,
1691 ],
1692 Elements::FullSubtract64 => [
1693 0xb2, 0x85, 0x6a, 0x91, 0x80, 0x23, 0x1b, 0xee, 0x3c, 0xb8, 0x92, 0x30, 0xf7, 0x5c,
1694 0x29, 0x2a, 0xf3, 0xe7, 0x52, 0x39, 0xdb, 0xeb, 0x39, 0x65, 0x48, 0x44, 0x1e, 0x6b,
1695 0x5a, 0x27, 0xe8, 0x13,
1696 ],
1697 Elements::FullSubtract8 => [
1698 0x68, 0x85, 0xe1, 0x41, 0xae, 0x23, 0x4c, 0x1e, 0x2a, 0x7e, 0x4f, 0x23, 0x52, 0x98,
1699 0x93, 0x90, 0x36, 0x96, 0x9c, 0x95, 0x0f, 0x2c, 0xef, 0xd4, 0x59, 0xb4, 0x98, 0xac,
1700 0x3d, 0xd8, 0x92, 0x20,
1701 ],
1702 Elements::GeIsOnCurve => [
1703 0x69, 0xf0, 0xe7, 0xa0, 0xc5, 0xff, 0xf8, 0x70, 0x84, 0xed, 0x69, 0x25, 0xf8, 0xdb,
1704 0x76, 0x2e, 0x41, 0x9e, 0x05, 0x7b, 0x96, 0x83, 0x4d, 0xce, 0x96, 0x99, 0xb0, 0xb0,
1705 0x09, 0x42, 0x30, 0x59,
1706 ],
1707 Elements::GeNegate => [
1708 0x1e, 0xd0, 0xce, 0xd8, 0xdd, 0x25, 0x58, 0xe3, 0x48, 0x5f, 0x6f, 0xc3, 0x2d, 0x69,
1709 0xa2, 0x40, 0x5e, 0xca, 0xee, 0x31, 0x2d, 0xc4, 0xdc, 0x65, 0xe0, 0xfd, 0x34, 0x77,
1710 0x73, 0xf5, 0x98, 0x3d,
1711 ],
1712 Elements::GejAdd => [
1713 0x5a, 0x1c, 0x31, 0x03, 0x49, 0xe8, 0xff, 0x5c, 0x5a, 0x61, 0xac, 0x3e, 0x10, 0x12,
1714 0x3f, 0x74, 0xe8, 0x7f, 0xab, 0xa1, 0x4c, 0x78, 0xbc, 0x83, 0xf9, 0xe3, 0x41, 0x36,
1715 0x87, 0xec, 0xf2, 0x8b,
1716 ],
1717 Elements::GejDouble => [
1718 0x1e, 0xdd, 0x05, 0x82, 0xe2, 0xfc, 0xad, 0x99, 0xb1, 0x2d, 0x50, 0x6d, 0x29, 0xb5,
1719 0x0a, 0x63, 0x01, 0x7f, 0x67, 0x69, 0x28, 0xbe, 0x51, 0x13, 0x69, 0x00, 0x6e, 0x07,
1720 0xcb, 0x80, 0xd9, 0x82,
1721 ],
1722 Elements::GejEquiv => [
1723 0x02, 0x74, 0x71, 0x05, 0x94, 0x87, 0xa1, 0x2c, 0xa2, 0x07, 0xf0, 0x94, 0x05, 0x94,
1724 0xd6, 0xcd, 0x87, 0xfc, 0x93, 0x0a, 0x8b, 0x5b, 0x31, 0x43, 0x4a, 0x16, 0xa2, 0xd6,
1725 0x7f, 0x1d, 0x8d, 0xd4,
1726 ],
1727 Elements::GejGeAdd => [
1728 0x1e, 0xa7, 0x10, 0xd5, 0x6e, 0xaf, 0xee, 0x32, 0x5d, 0x26, 0x07, 0xdd, 0xb4, 0x5f,
1729 0xf0, 0x17, 0x0a, 0xde, 0xc2, 0xe0, 0xee, 0x9b, 0xcc, 0x68, 0xe4, 0xb9, 0x3e, 0x1d,
1730 0xe6, 0xad, 0x35, 0x68,
1731 ],
1732 Elements::GejGeAddEx => [
1733 0x78, 0xf0, 0x87, 0x1b, 0x81, 0x73, 0xab, 0xde, 0x71, 0x87, 0x11, 0x26, 0x3b, 0x3a,
1734 0xc1, 0xd9, 0x22, 0x33, 0x7e, 0xd5, 0xed, 0x13, 0x8d, 0x29, 0x49, 0x62, 0xd6, 0x5c,
1735 0xe5, 0x59, 0xbd, 0x92,
1736 ],
1737 Elements::GejGeEquiv => [
1738 0xba, 0x89, 0x9a, 0x00, 0x62, 0x16, 0xd1, 0xc9, 0x3b, 0xd5, 0xec, 0xbe, 0x00, 0x80,
1739 0xd9, 0x07, 0x8a, 0x50, 0x0a, 0x72, 0x9b, 0xbd, 0x39, 0x6a, 0x00, 0x4a, 0xf5, 0x1d,
1740 0x4f, 0xf7, 0xd9, 0x3a,
1741 ],
1742 Elements::GejInfinity => [
1743 0x88, 0xa9, 0x52, 0xdb, 0x38, 0x16, 0xe9, 0x42, 0x59, 0xa6, 0x75, 0x37, 0xfa, 0x8f,
1744 0xca, 0x1a, 0x35, 0xa9, 0x07, 0xa8, 0x6f, 0x51, 0xed, 0xe4, 0x51, 0xfd, 0x32, 0xec,
1745 0x25, 0x3d, 0x9c, 0x62,
1746 ],
1747 Elements::GejIsInfinity => [
1748 0x29, 0x80, 0xa7, 0x35, 0x41, 0x4e, 0x43, 0x21, 0xaf, 0xef, 0xfe, 0xfa, 0x88, 0x37,
1749 0xed, 0xb0, 0xa3, 0x30, 0x9a, 0x33, 0x7d, 0x59, 0xb7, 0xbd, 0xea, 0x92, 0x1c, 0x13,
1750 0x05, 0x6b, 0x04, 0x28,
1751 ],
1752 Elements::GejIsOnCurve => [
1753 0x01, 0x87, 0xe1, 0xe5, 0xef, 0x76, 0x34, 0xa5, 0xf0, 0x16, 0x12, 0x4d, 0x4f, 0xeb,
1754 0x5a, 0x93, 0xdd, 0xe6, 0xaa, 0x78, 0x17, 0x6c, 0xda, 0x48, 0xb1, 0x65, 0xa9, 0xaa,
1755 0x8e, 0x04, 0x49, 0xf2,
1756 ],
1757 Elements::GejNegate => [
1758 0xb3, 0x2c, 0x74, 0xca, 0xb2, 0xc7, 0x50, 0x0b, 0x73, 0xf8, 0xec, 0x05, 0x60, 0xfe,
1759 0x23, 0xfc, 0x4c, 0x21, 0xaa, 0x66, 0x59, 0x6d, 0x7f, 0x2a, 0xcf, 0x49, 0x67, 0x88,
1760 0x6b, 0x76, 0xd8, 0x56,
1761 ],
1762 Elements::GejNormalize => [
1763 0x5d, 0xe0, 0x97, 0x6a, 0xe7, 0xf3, 0x8b, 0x36, 0xf0, 0x02, 0x28, 0x14, 0x96, 0x6d,
1764 0xb2, 0xba, 0xed, 0x5c, 0x47, 0x67, 0x14, 0x94, 0x4d, 0x74, 0x1a, 0x89, 0x79, 0xc4,
1765 0xbc, 0xf8, 0xbe, 0x25,
1766 ],
1767 Elements::GejRescale => [
1768 0xdc, 0xfc, 0x72, 0xa7, 0x68, 0xd5, 0xbe, 0x77, 0x0f, 0x8d, 0xb2, 0x78, 0xae, 0xaf,
1769 0xd1, 0x8e, 0x27, 0x70, 0x4c, 0x64, 0xf8, 0xb4, 0x0f, 0xa6, 0xfe, 0x54, 0xca, 0x94,
1770 0x72, 0x7a, 0x07, 0x6e,
1771 ],
1772 Elements::GejXEquiv => [
1773 0x52, 0xcc, 0x21, 0x47, 0x09, 0xc0, 0xd9, 0xfc, 0xa9, 0xdb, 0x1d, 0x09, 0xcc, 0x80,
1774 0x7c, 0x75, 0xcf, 0x5a, 0x63, 0x13, 0xca, 0x54, 0x0a, 0x77, 0x2d, 0x4e, 0xa9, 0x92,
1775 0x1f, 0x37, 0xe6, 0x24,
1776 ],
1777 Elements::GejYIsOdd => [
1778 0xfe, 0x01, 0x06, 0xaf, 0xb9, 0xd9, 0xe2, 0x4f, 0xd4, 0xdb, 0xe5, 0x45, 0x11, 0xfe,
1779 0x27, 0x2f, 0x4d, 0xcb, 0x30, 0x7a, 0x0e, 0xa5, 0x6d, 0x59, 0x1c, 0xeb, 0x93, 0xab,
1780 0x4b, 0xf8, 0x87, 0x45,
1781 ],
1782 Elements::Generate => [
1783 0xdf, 0x44, 0xe1, 0x7d, 0x2a, 0x55, 0x9d, 0xd0, 0xa7, 0x03, 0x49, 0x54, 0xab, 0x33,
1784 0x37, 0x77, 0x78, 0xb1, 0x51, 0xf1, 0xcd, 0x1e, 0x4f, 0x9f, 0xd3, 0x1b, 0x36, 0x1d,
1785 0x34, 0xa8, 0xd9, 0x73,
1786 ],
1787 Elements::GenesisBlockHash => [
1788 0x00, 0x60, 0xb6, 0x0d, 0x02, 0xb1, 0x33, 0x60, 0x72, 0x84, 0x6a, 0xcf, 0xf4, 0x4d,
1789 0xd0, 0xf4, 0x34, 0x6c, 0x74, 0xa3, 0x5e, 0x7b, 0x56, 0x42, 0x3f, 0x95, 0x19, 0xc4,
1790 0x42, 0xd1, 0x5d, 0xaf,
1791 ],
1792 Elements::HashToCurve => [
1793 0x76, 0xf7, 0xca, 0x1d, 0xb9, 0x44, 0xee, 0x31, 0x5e, 0xd3, 0x62, 0xfe, 0xe0, 0x67,
1794 0x3c, 0x58, 0x94, 0xf8, 0x85, 0x3b, 0x44, 0x60, 0x70, 0x90, 0x1b, 0x85, 0x79, 0x01,
1795 0xf9, 0x49, 0x9d, 0x9b,
1796 ],
1797 Elements::High1 => [
1798 0xc3, 0x2d, 0x87, 0x7e, 0x67, 0x0d, 0x6c, 0x03, 0x7c, 0xb3, 0x35, 0x33, 0x28, 0x9e,
1799 0x19, 0xa7, 0x24, 0xc3, 0x68, 0xaa, 0x75, 0x51, 0xda, 0xa6, 0xd2, 0xda, 0xcc, 0xcd,
1800 0x8c, 0x95, 0xf4, 0xd0,
1801 ],
1802 Elements::High16 => [
1803 0x41, 0x64, 0xab, 0x6e, 0x2f, 0xf8, 0xee, 0xf6, 0x3c, 0x06, 0xc0, 0x80, 0xf1, 0xde,
1804 0xc6, 0x97, 0x0b, 0x4c, 0x5c, 0x31, 0xc0, 0x23, 0x05, 0xab, 0xcc, 0xd8, 0xed, 0x2c,
1805 0x5e, 0x1c, 0x45, 0xce,
1806 ],
1807 Elements::High32 => [
1808 0xd3, 0xa7, 0xce, 0x9c, 0xd5, 0xd5, 0xfb, 0x67, 0x9a, 0x98, 0xef, 0x57, 0xb8, 0x63,
1809 0x22, 0x77, 0x0c, 0xb6, 0x6f, 0xb6, 0xf0, 0x61, 0x6e, 0x16, 0x34, 0xcf, 0xa8, 0x4c,
1810 0x8f, 0x68, 0x09, 0xc6,
1811 ],
1812 Elements::High64 => [
1813 0x4a, 0xf9, 0x1f, 0xaf, 0x8e, 0x39, 0xf4, 0xda, 0x7c, 0x28, 0xa8, 0x79, 0x65, 0x94,
1814 0xa9, 0x22, 0x82, 0x13, 0xd7, 0x32, 0x3e, 0xea, 0x2c, 0xa6, 0x30, 0x75, 0x2c, 0xe4,
1815 0xc5, 0x7f, 0x16, 0xe1,
1816 ],
1817 Elements::High8 => [
1818 0xcb, 0xd7, 0x8d, 0x50, 0xaf, 0x77, 0x99, 0x85, 0x5a, 0xdc, 0x49, 0x03, 0xdb, 0xbe,
1819 0xfc, 0x13, 0x45, 0xd5, 0x14, 0x84, 0xf0, 0x3d, 0x3c, 0x75, 0x5c, 0xaa, 0xa5, 0xca,
1820 0xa9, 0x7d, 0x4a, 0x14,
1821 ],
1822 Elements::Increment16 => [
1823 0xdf, 0x27, 0x48, 0x88, 0xce, 0x4c, 0xeb, 0xdd, 0x57, 0x08, 0xb3, 0x8d, 0xc3, 0xdb,
1824 0xb1, 0x9c, 0xc2, 0xf0, 0x36, 0x4b, 0x24, 0x63, 0xe9, 0x9c, 0xf5, 0xaa, 0xb4, 0xf8,
1825 0xa2, 0x3e, 0xa5, 0x8a,
1826 ],
1827 Elements::Increment32 => [
1828 0x54, 0xf7, 0x57, 0xae, 0xa7, 0x6b, 0xc7, 0xa3, 0x9f, 0xc4, 0x3d, 0x19, 0xb8, 0xdd,
1829 0x56, 0x3a, 0x68, 0x07, 0xdf, 0x02, 0x77, 0xa5, 0x6f, 0xcb, 0x50, 0x10, 0x89, 0xce,
1830 0x7d, 0x06, 0x77, 0x4c,
1831 ],
1832 Elements::Increment64 => [
1833 0x79, 0xed, 0x5f, 0x77, 0x99, 0xfb, 0x09, 0xda, 0x51, 0x04, 0x29, 0xa2, 0x01, 0x28,
1834 0xbe, 0xd0, 0x91, 0xd8, 0x58, 0x76, 0x47, 0x07, 0x12, 0x85, 0xcd, 0xec, 0x3a, 0x0c,
1835 0x95, 0x70, 0x9e, 0x5b,
1836 ],
1837 Elements::Increment8 => [
1838 0x0c, 0x71, 0x7e, 0x84, 0xdf, 0x67, 0x82, 0x3f, 0x57, 0x41, 0xb3, 0xd5, 0x5d, 0xbe,
1839 0xb4, 0x72, 0x9c, 0x2b, 0xd6, 0x2f, 0x5d, 0x1d, 0xef, 0x3c, 0xab, 0xcc, 0xdd, 0x6c,
1840 0xb8, 0xdc, 0xb5, 0x6c,
1841 ],
1842 Elements::InputAmount => [
1843 0xdd, 0x65, 0xac, 0x32, 0xc8, 0x7d, 0x99, 0x6b, 0x40, 0x72, 0x00, 0xfe, 0xef, 0xc4,
1844 0x79, 0xa9, 0x11, 0x9c, 0x1f, 0x28, 0xca, 0xa4, 0x88, 0xb0, 0xaa, 0xc3, 0xac, 0xf5,
1845 0x93, 0x78, 0xd6, 0xba,
1846 ],
1847 Elements::InputAmountsHash => [
1848 0x2b, 0x4d, 0xf4, 0x7e, 0x75, 0x8f, 0xfe, 0x88, 0xe9, 0xcd, 0x5d, 0x39, 0x6d, 0xf3,
1849 0xd7, 0xf9, 0xec, 0x2f, 0xbd, 0x5a, 0x53, 0x95, 0xa6, 0xd8, 0xc1, 0xab, 0x70, 0x44,
1850 0x00, 0xc6, 0x4f, 0x70,
1851 ],
1852 Elements::InputAnnexHash => [
1853 0x0f, 0xd9, 0xe4, 0xc6, 0x31, 0x6b, 0x37, 0x28, 0x6e, 0x88, 0x54, 0x43, 0x0e, 0x7d,
1854 0x74, 0x18, 0x21, 0xdc, 0x89, 0x54, 0x4a, 0x3a, 0x59, 0xf0, 0x3d, 0xfa, 0x40, 0xe5,
1855 0x32, 0xb8, 0x10, 0x7f,
1856 ],
1857 Elements::InputAnnexesHash => [
1858 0xde, 0xd1, 0x52, 0x2e, 0xfa, 0x5a, 0x2b, 0x37, 0x61, 0x73, 0xe4, 0x40, 0xde, 0x22,
1859 0x7a, 0xd0, 0xc9, 0x2b, 0xe2, 0xed, 0xce, 0x7c, 0x23, 0xb5, 0x14, 0x80, 0xe5, 0x0a,
1860 0x77, 0xfc, 0x56, 0x4b,
1861 ],
1862 Elements::InputAsset => [
1863 0x87, 0x2b, 0x36, 0x53, 0xd6, 0x5a, 0xe7, 0xf9, 0x16, 0x6c, 0xbf, 0x70, 0xd4, 0xfd,
1864 0x31, 0x40, 0x47, 0x98, 0x88, 0x4d, 0x61, 0x1b, 0x64, 0x7f, 0xb9, 0xf4, 0xa3, 0x07,
1865 0xc4, 0x80, 0x11, 0xb8,
1866 ],
1867 Elements::InputHash => [
1868 0x33, 0x09, 0xbb, 0x46, 0xb3, 0x15, 0x8d, 0x23, 0x12, 0x4f, 0x8c, 0xed, 0xaa, 0xa1,
1869 0xed, 0x3b, 0x09, 0xa8, 0xae, 0xfe, 0x81, 0x21, 0x2e, 0x11, 0x33, 0x55, 0x23, 0xb6,
1870 0xb2, 0x07, 0xc5, 0x44,
1871 ],
1872 Elements::InputOutpointsHash => [
1873 0x14, 0x0a, 0x2b, 0xae, 0xad, 0x08, 0x3b, 0xaa, 0xc8, 0x06, 0x12, 0x8a, 0xb6, 0x49,
1874 0xe5, 0x2b, 0xbd, 0x3c, 0x64, 0x56, 0x70, 0x0c, 0xbc, 0xfc, 0x6d, 0xbb, 0x29, 0x59,
1875 0x17, 0x3a, 0x4d, 0xf2,
1876 ],
1877 Elements::InputPegin => [
1878 0xdb, 0x37, 0x6f, 0x4a, 0xe8, 0x4e, 0xc0, 0x51, 0xa4, 0x94, 0xd7, 0x66, 0x80, 0x39,
1879 0x72, 0x7b, 0x53, 0x35, 0x3b, 0xe5, 0xae, 0x04, 0x5b, 0xe7, 0x6c, 0x4b, 0x04, 0xda,
1880 0xbd, 0x5b, 0xbf, 0xbb,
1881 ],
1882 Elements::InputPrevOutpoint => [
1883 0x91, 0xf4, 0xd6, 0xec, 0x48, 0x4f, 0x60, 0xca, 0xe9, 0x29, 0x78, 0x58, 0xca, 0xc4,
1884 0x7d, 0xad, 0x50, 0xdb, 0x07, 0xdc, 0x1f, 0x93, 0x7a, 0xc6, 0x14, 0x4c, 0x9c, 0xb4,
1885 0xa9, 0xef, 0x79, 0xd2,
1886 ],
1887 Elements::InputScriptHash => [
1888 0xc3, 0x16, 0xdf, 0x21, 0x77, 0x8e, 0x62, 0x41, 0x05, 0xca, 0x59, 0x90, 0x4b, 0x92,
1889 0x08, 0xe2, 0xd4, 0x23, 0x22, 0x8b, 0x3e, 0xb1, 0xcf, 0x68, 0xb8, 0xec, 0xa4, 0x7b,
1890 0xbc, 0x7b, 0x2f, 0xf3,
1891 ],
1892 Elements::InputScriptSigHash => [
1893 0x94, 0x1f, 0x2b, 0x4f, 0x3b, 0x7f, 0x20, 0x97, 0xd6, 0xea, 0x00, 0xe9, 0x7c, 0x1e,
1894 0x2b, 0xa0, 0x1c, 0xb2, 0x64, 0x87, 0xc5, 0xd2, 0xf4, 0x72, 0x37, 0x38, 0xb3, 0x7c,
1895 0x73, 0x2c, 0x05, 0xc4,
1896 ],
1897 Elements::InputScriptSigsHash => [
1898 0x6c, 0x74, 0x81, 0x42, 0x01, 0x24, 0xb6, 0x64, 0x5d, 0x32, 0xff, 0x9b, 0x45, 0x4a,
1899 0x1c, 0x92, 0xc6, 0x71, 0x86, 0x41, 0x0e, 0x23, 0xcf, 0x60, 0x99, 0x15, 0xdf, 0x90,
1900 0x72, 0x12, 0x0f, 0xc6,
1901 ],
1902 Elements::InputScriptsHash => [
1903 0xdc, 0x13, 0x51, 0x9e, 0x75, 0x3e, 0x58, 0x75, 0x3c, 0x70, 0x98, 0x85, 0x41, 0xad,
1904 0x8a, 0x0b, 0xb5, 0x88, 0x8d, 0x08, 0x46, 0xe3, 0x5e, 0x4d, 0x42, 0x73, 0xf6, 0x56,
1905 0x85, 0x32, 0x2a, 0xe9,
1906 ],
1907 Elements::InputSequence => [
1908 0x3c, 0x6e, 0x4a, 0x3c, 0x21, 0xce, 0xd5, 0x24, 0x73, 0x6c, 0x54, 0x5c, 0x20, 0xe4,
1909 0xe2, 0xde, 0xf7, 0x67, 0x8f, 0x08, 0x4c, 0xd1, 0x2b, 0xcd, 0x65, 0x06, 0xa5, 0x20,
1910 0x0b, 0x5c, 0x17, 0x38,
1911 ],
1912 Elements::InputSequencesHash => [
1913 0xc8, 0x88, 0xc8, 0x73, 0x30, 0x2b, 0x92, 0xb0, 0x0f, 0x20, 0x68, 0x52, 0xc9, 0xea,
1914 0xef, 0x00, 0x0b, 0x40, 0x10, 0x9a, 0x53, 0xdd, 0x68, 0x6a, 0x53, 0xf1, 0x1d, 0xb5,
1915 0x07, 0x4d, 0x99, 0x37,
1916 ],
1917 Elements::InputUtxoHash => [
1918 0x85, 0x03, 0xd0, 0x52, 0x6b, 0xa9, 0x5a, 0x8f, 0xba, 0x8c, 0xa1, 0x35, 0x1c, 0x79,
1919 0x91, 0xc2, 0xa3, 0x86, 0xb7, 0x2f, 0xa8, 0x14, 0x31, 0xea, 0xdb, 0xab, 0x62, 0xcc,
1920 0x1f, 0x5d, 0xc5, 0x18,
1921 ],
1922 Elements::InputUtxosHash => [
1923 0x9c, 0x48, 0xab, 0x31, 0xc0, 0x50, 0xed, 0x06, 0x5a, 0xed, 0x51, 0x68, 0x66, 0xc1,
1924 0x6c, 0x1b, 0x96, 0xc1, 0x95, 0xea, 0x8e, 0x18, 0xb0, 0x24, 0xbf, 0xc0, 0xb8, 0x17,
1925 0x58, 0x49, 0xf0, 0x4e,
1926 ],
1927 Elements::InputsHash => [
1928 0x52, 0x3c, 0xd7, 0x1c, 0x57, 0x89, 0x88, 0x2f, 0x83, 0x75, 0xa5, 0xa5, 0x45, 0x60,
1929 0xde, 0xf8, 0x46, 0x3d, 0x1c, 0x51, 0xe5, 0x6b, 0x7e, 0x11, 0x26, 0x93, 0xe7, 0x7b,
1930 0x84, 0x4f, 0x47, 0x40,
1931 ],
1932 Elements::InternalKey => [
1933 0x9b, 0x74, 0x2e, 0x47, 0x1b, 0x0e, 0x59, 0x1a, 0x97, 0x2b, 0x0d, 0x44, 0x21, 0xf9,
1934 0xc9, 0x65, 0x93, 0x97, 0xf5, 0xda, 0xba, 0x2c, 0x14, 0xda, 0xc6, 0x2c, 0x4a, 0x33,
1935 0x9c, 0xc3, 0xe7, 0xec,
1936 ],
1937 Elements::IsOne16 => [
1938 0x84, 0x35, 0x87, 0x9c, 0xcb, 0x86, 0x44, 0x19, 0x8d, 0xcb, 0x9a, 0x0c, 0xd7, 0x35,
1939 0x46, 0xd7, 0x01, 0xfd, 0xd5, 0xa4, 0xc4, 0x43, 0x23, 0xf5, 0x63, 0x97, 0x15, 0x99,
1940 0xc3, 0x7d, 0x16, 0xfb,
1941 ],
1942 Elements::IsOne32 => [
1943 0xdd, 0xfb, 0xd9, 0xf0, 0xa2, 0xe6, 0x7c, 0x07, 0xde, 0xdb, 0x89, 0xe8, 0x96, 0xb6,
1944 0xc4, 0xf7, 0xd4, 0x5c, 0x51, 0x47, 0xee, 0xd0, 0x61, 0x4e, 0x4c, 0xe7, 0xd0, 0x87,
1945 0x69, 0xaf, 0xf8, 0x2d,
1946 ],
1947 Elements::IsOne64 => [
1948 0x35, 0xc5, 0x25, 0x54, 0x8e, 0x48, 0xee, 0xa0, 0xf7, 0x7b, 0x3b, 0xf9, 0x7a, 0xb6,
1949 0x7a, 0x1f, 0xfe, 0x8f, 0xb0, 0x94, 0xed, 0xe3, 0x32, 0x5e, 0x40, 0x64, 0xb1, 0x65,
1950 0x9c, 0x6d, 0x07, 0x65,
1951 ],
1952 Elements::IsOne8 => [
1953 0x0a, 0xba, 0x9e, 0x57, 0x6e, 0x64, 0xd2, 0x80, 0x4c, 0x8a, 0xc4, 0x68, 0x2b, 0xbb,
1954 0xa5, 0x39, 0x0e, 0xbc, 0x31, 0xa6, 0xe3, 0xe2, 0x65, 0x0f, 0x92, 0x19, 0x23, 0x5d,
1955 0xf4, 0xa6, 0xec, 0xbb,
1956 ],
1957 Elements::IsZero16 => [
1958 0xa2, 0x5a, 0xbd, 0x9c, 0xd2, 0xa4, 0x07, 0x0c, 0x74, 0x2e, 0xf8, 0xde, 0xb0, 0x68,
1959 0x29, 0x22, 0x46, 0x03, 0x2b, 0x96, 0xa5, 0x17, 0x22, 0x3b, 0x12, 0x8c, 0xfc, 0x12,
1960 0xd2, 0x15, 0xc5, 0xba,
1961 ],
1962 Elements::IsZero32 => [
1963 0x61, 0x2a, 0x48, 0x0c, 0xed, 0x6a, 0x79, 0xda, 0x61, 0x19, 0x54, 0x6e, 0x05, 0x6b,
1964 0x8d, 0xf9, 0xfa, 0x95, 0xd1, 0x12, 0x4b, 0x96, 0xd6, 0x01, 0xe1, 0xd3, 0xea, 0x91,
1965 0x8c, 0xc5, 0x60, 0x69,
1966 ],
1967 Elements::IsZero64 => [
1968 0x18, 0xe8, 0xe1, 0x77, 0x6b, 0xa0, 0x80, 0xcc, 0xd3, 0xe1, 0xd6, 0x0c, 0xb7, 0x53,
1969 0x41, 0x45, 0x36, 0xbf, 0x70, 0xdf, 0x18, 0x5f, 0x72, 0xc9, 0xe0, 0x70, 0x79, 0x6f,
1970 0x4c, 0x63, 0xcc, 0x71,
1971 ],
1972 Elements::IsZero8 => [
1973 0xb4, 0xba, 0xa5, 0x09, 0x38, 0x10, 0x84, 0x26, 0x74, 0x0d, 0x82, 0xcf, 0x12, 0x11,
1974 0xe0, 0xed, 0x12, 0x6d, 0xe3, 0xb7, 0x6b, 0x8d, 0x25, 0x9c, 0x50, 0xad, 0x4b, 0x8f,
1975 0xca, 0xb1, 0x0a, 0xb6,
1976 ],
1977 Elements::Issuance => [
1978 0x5c, 0x64, 0x63, 0x12, 0xc1, 0x69, 0xc6, 0x80, 0x27, 0x97, 0x9e, 0x1b, 0xc3, 0x26,
1979 0xc5, 0xdc, 0x95, 0xe5, 0xc5, 0x16, 0x8d, 0x00, 0xd9, 0x8e, 0x9d, 0x50, 0x4a, 0x7c,
1980 0xde, 0x21, 0xd7, 0x68,
1981 ],
1982 Elements::IssuanceAsset => [
1983 0x69, 0x0b, 0xf9, 0x18, 0xe1, 0x52, 0x77, 0x56, 0xcf, 0xbb, 0xf5, 0x1c, 0x83, 0x13,
1984 0x62, 0x14, 0x37, 0x56, 0xd5, 0x2d, 0x04, 0xe1, 0x29, 0x4f, 0x12, 0x64, 0x95, 0x0c,
1985 0x62, 0x67, 0xe5, 0xc9,
1986 ],
1987 Elements::IssuanceAssetAmount => [
1988 0x83, 0x60, 0x51, 0x46, 0xff, 0x26, 0xa4, 0x9c, 0xa1, 0x6f, 0x1c, 0x4a, 0x6e, 0x0c,
1989 0xe0, 0xb7, 0xc2, 0x14, 0xdf, 0x12, 0xc3, 0x77, 0xf5, 0x22, 0x52, 0x3d, 0xeb, 0x6d,
1990 0x5d, 0x0e, 0xe4, 0x4d,
1991 ],
1992 Elements::IssuanceAssetAmountsHash => [
1993 0x70, 0xf1, 0x1c, 0x3b, 0x3b, 0x5d, 0x16, 0x57, 0xd3, 0xb7, 0xc7, 0xee, 0xec, 0x85,
1994 0x0c, 0x30, 0xa3, 0x2e, 0xa9, 0x6a, 0xa3, 0x64, 0x26, 0xfa, 0x30, 0xeb, 0xf5, 0x49,
1995 0x98, 0x51, 0xa8, 0x80,
1996 ],
1997 Elements::IssuanceAssetProof => [
1998 0x0b, 0x06, 0x1f, 0x9f, 0x67, 0x0c, 0x05, 0xdc, 0x39, 0xf4, 0x38, 0x31, 0x3c, 0x13,
1999 0x79, 0xd9, 0xbf, 0x63, 0xf4, 0x4f, 0x98, 0x76, 0xb9, 0x56, 0x69, 0x3b, 0x41, 0xb7,
2000 0xf9, 0x4c, 0x6c, 0x9d,
2001 ],
2002 Elements::IssuanceBlindingEntropyHash => [
2003 0xbf, 0xb6, 0xa9, 0x34, 0x44, 0xe2, 0xa0, 0xb3, 0xfb, 0x7c, 0x13, 0xd1, 0x58, 0x9a,
2004 0x78, 0x7b, 0x66, 0xe8, 0x4b, 0x69, 0xb6, 0x27, 0x4c, 0xea, 0x20, 0xad, 0x99, 0x99,
2005 0xeb, 0x8c, 0xa6, 0x7c,
2006 ],
2007 Elements::IssuanceEntropy => [
2008 0x6d, 0xdf, 0x99, 0xf2, 0x8c, 0x70, 0x19, 0x8d, 0x65, 0x41, 0x7a, 0x83, 0x60, 0x74,
2009 0xf1, 0xb9, 0xb6, 0x10, 0xf2, 0x1f, 0x51, 0x19, 0xfd, 0x55, 0x0f, 0x60, 0xb6, 0xf8,
2010 0xe9, 0x95, 0xbb, 0xf3,
2011 ],
2012 Elements::IssuanceHash => [
2013 0x6e, 0x9f, 0x8a, 0xe8, 0xc4, 0x5b, 0xfb, 0x7e, 0x4e, 0x0c, 0xf2, 0xd0, 0x0f, 0x66,
2014 0x83, 0x2b, 0x47, 0x9d, 0xe7, 0x58, 0x2c, 0xdb, 0xc8, 0x51, 0xd0, 0xb3, 0x23, 0x0f,
2015 0xdf, 0xbb, 0xb7, 0x8d,
2016 ],
2017 Elements::IssuanceRangeProofsHash => [
2018 0x7e, 0x97, 0xf5, 0x19, 0x53, 0x48, 0x31, 0xc7, 0x7a, 0xcf, 0x73, 0xa2, 0x0f, 0xd5,
2019 0x3c, 0xb3, 0x1d, 0x1d, 0x15, 0x6c, 0x9a, 0xcb, 0xbf, 0x87, 0x3d, 0x14, 0x92, 0xd6,
2020 0x0d, 0x13, 0x67, 0xd8,
2021 ],
2022 Elements::IssuanceToken => [
2023 0xbc, 0x2c, 0xb7, 0xe9, 0x64, 0xb2, 0xa2, 0xae, 0xd7, 0x9b, 0x75, 0xc5, 0xf4, 0x40,
2024 0x8f, 0xe8, 0x4a, 0x6d, 0xc9, 0xb9, 0xe8, 0xcd, 0x2c, 0x69, 0x4d, 0x57, 0xc5, 0xf9,
2025 0xb6, 0x12, 0x05, 0xb9,
2026 ],
2027 Elements::IssuanceTokenAmount => [
2028 0x7e, 0x10, 0x64, 0x64, 0xa1, 0x3b, 0x67, 0x64, 0xce, 0x74, 0xd3, 0xfe, 0x6b, 0xa1,
2029 0xcb, 0xd5, 0xf4, 0xae, 0xb8, 0x6b, 0xbb, 0xdf, 0x58, 0x88, 0xdd, 0xf9, 0x90, 0x1d,
2030 0xd8, 0xb6, 0x19, 0xaa,
2031 ],
2032 Elements::IssuanceTokenAmountsHash => [
2033 0x94, 0xb5, 0xa4, 0x59, 0x5b, 0x67, 0x4d, 0xbf, 0xc4, 0x9c, 0x4e, 0x8e, 0xa1, 0xa9,
2034 0xab, 0xc9, 0x3e, 0xd2, 0xf7, 0x70, 0x7c, 0x42, 0x12, 0xa3, 0x2b, 0x5b, 0x86, 0xac,
2035 0x13, 0x18, 0xc9, 0xde,
2036 ],
2037 Elements::IssuanceTokenProof => [
2038 0x46, 0xed, 0x52, 0x75, 0xf5, 0x5a, 0xb3, 0x41, 0xf5, 0x7c, 0x35, 0x19, 0xff, 0xed,
2039 0xf4, 0xe3, 0x7f, 0x3f, 0x59, 0xc9, 0x7c, 0xe9, 0xb8, 0xe1, 0x7f, 0xff, 0xae, 0x16,
2040 0xc6, 0xcc, 0x1c, 0x0e,
2041 ],
2042 Elements::IssuancesHash => [
2043 0x58, 0x65, 0x9f, 0x3f, 0x7e, 0x01, 0x30, 0xc4, 0xfc, 0x91, 0x6f, 0x49, 0xbc, 0x32,
2044 0xea, 0xa0, 0x88, 0x3a, 0xcb, 0x90, 0x22, 0xfc, 0xad, 0x5e, 0x78, 0x05, 0x83, 0x9a,
2045 0x99, 0xe5, 0x0c, 0xf9,
2046 ],
2047 Elements::LbtcAsset => [
2048 0x2a, 0xf7, 0xf7, 0x3a, 0xe3, 0xfb, 0xbf, 0xa2, 0xd2, 0x3a, 0x87, 0x74, 0xe6, 0xe3,
2049 0xca, 0x09, 0x32, 0x54, 0xda, 0x2f, 0xd2, 0xa9, 0xf3, 0x97, 0xa6, 0xae, 0x0a, 0x30,
2050 0xbb, 0x48, 0xf0, 0xd7,
2051 ],
2052 Elements::Le16 => [
2053 0x63, 0xda, 0x72, 0x7c, 0xcb, 0x4c, 0x6a, 0x9d, 0x4e, 0x00, 0x09, 0x64, 0xe7, 0x63,
2054 0xbf, 0xf9, 0x34, 0xea, 0xaf, 0xd0, 0x44, 0x28, 0x7e, 0x12, 0x68, 0xd0, 0x7e, 0xcd,
2055 0xfd, 0xe2, 0x07, 0xe1,
2056 ],
2057 Elements::Le32 => [
2058 0xde, 0xe2, 0x9a, 0x91, 0x65, 0x6d, 0x7a, 0xe7, 0x3d, 0xf4, 0x95, 0x6f, 0xd8, 0xa2,
2059 0xc6, 0xb6, 0x27, 0xaa, 0xb5, 0x1c, 0x11, 0x29, 0xf9, 0xfe, 0x7f, 0x6e, 0xd3, 0xe3,
2060 0x47, 0x92, 0xc7, 0x62,
2061 ],
2062 Elements::Le64 => [
2063 0x01, 0xc5, 0x5d, 0xf7, 0xd4, 0x46, 0x59, 0x66, 0x65, 0x9d, 0xdf, 0xc9, 0x4b, 0x36,
2064 0xd0, 0x33, 0x24, 0x2c, 0x2e, 0xc5, 0x93, 0xce, 0xe1, 0x21, 0x22, 0x44, 0x07, 0x75,
2065 0x66, 0xed, 0x01, 0x5f,
2066 ],
2067 Elements::Le8 => [
2068 0x0f, 0xb7, 0x2d, 0x9f, 0x8e, 0xe2, 0x37, 0x0a, 0xba, 0x55, 0x66, 0x3a, 0x48, 0x99,
2069 0x16, 0x2e, 0x40, 0xca, 0x55, 0x14, 0x71, 0x3e, 0xfb, 0x25, 0xe4, 0xa8, 0x9e, 0x2a,
2070 0x10, 0x4b, 0x34, 0xdb,
2071 ],
2072 Elements::LeftExtend16_32 => [
2073 0xdc, 0xf4, 0x2b, 0x65, 0x42, 0xf6, 0xd4, 0x1c, 0xb7, 0xb5, 0x0e, 0x7c, 0x77, 0x2f,
2074 0x3c, 0x7f, 0x6e, 0x43, 0x22, 0x32, 0xf2, 0xba, 0x20, 0x79, 0xb3, 0x86, 0xa0, 0x5d,
2075 0x7b, 0x46, 0x6a, 0xdd,
2076 ],
2077 Elements::LeftExtend16_64 => [
2078 0x2e, 0xee, 0x48, 0xa9, 0x22, 0x37, 0x94, 0x7c, 0x1a, 0x51, 0x7d, 0xf9, 0x95, 0xf4,
2079 0x4f, 0x1d, 0xfe, 0xf2, 0x0d, 0xdb, 0x4e, 0x9b, 0x53, 0x0b, 0x22, 0xd1, 0x8a, 0x0a,
2080 0x7f, 0xd6, 0x28, 0xaa,
2081 ],
2082 Elements::LeftExtend1_16 => [
2083 0x9a, 0x48, 0xa4, 0x77, 0x8e, 0x7c, 0x3c, 0x28, 0x5a, 0xb6, 0x53, 0x29, 0xd1, 0xcc,
2084 0xc4, 0x99, 0x9d, 0x2d, 0x19, 0x4e, 0x00, 0x5b, 0xd7, 0x94, 0x69, 0x49, 0x53, 0x3d,
2085 0x8c, 0xba, 0x80, 0x6c,
2086 ],
2087 Elements::LeftExtend1_32 => [
2088 0xda, 0xb6, 0xa5, 0x33, 0xcb, 0xcb, 0xe8, 0x36, 0x2c, 0xf1, 0xd5, 0xa1, 0x6e, 0xa3,
2089 0x7c, 0xbc, 0x7e, 0xdc, 0x7f, 0xc8, 0xa9, 0x42, 0x85, 0x71, 0xe1, 0x71, 0xec, 0x6e,
2090 0xe4, 0x4d, 0x08, 0x00,
2091 ],
2092 Elements::LeftExtend1_64 => [
2093 0x11, 0x0e, 0x5c, 0x1e, 0xf0, 0xb4, 0x69, 0xa7, 0x63, 0x85, 0x70, 0xda, 0x94, 0x4d,
2094 0x23, 0x2e, 0x0f, 0x28, 0xc4, 0x61, 0x51, 0xa2, 0x25, 0x35, 0x7d, 0xe3, 0xe9, 0x04,
2095 0x57, 0xa8, 0x8e, 0xa2,
2096 ],
2097 Elements::LeftExtend1_8 => [
2098 0x5a, 0x83, 0x1c, 0xa9, 0x96, 0x21, 0x51, 0x7a, 0x2b, 0x35, 0x4e, 0x5c, 0xac, 0x38,
2099 0xbc, 0x3a, 0x30, 0xc4, 0x00, 0x1f, 0x20, 0xd2, 0x5d, 0x77, 0x97, 0xad, 0xdc, 0xac,
2100 0x5d, 0xa8, 0x61, 0x06,
2101 ],
2102 Elements::LeftExtend32_64 => [
2103 0x84, 0xfc, 0xc6, 0x9b, 0xa1, 0xdb, 0x50, 0xdb, 0xd5, 0x36, 0x3c, 0xf2, 0x77, 0x79,
2104 0x57, 0x60, 0x1d, 0xe2, 0x56, 0x8a, 0xdf, 0x07, 0xaf, 0x41, 0x61, 0xde, 0xbb, 0x1e,
2105 0x5e, 0x37, 0x31, 0x0a,
2106 ],
2107 Elements::LeftExtend8_16 => [
2108 0xfe, 0xa1, 0xf2, 0x5a, 0x82, 0xfd, 0xf6, 0xf8, 0x66, 0x9c, 0xc4, 0x0f, 0xbb, 0x8e,
2109 0x54, 0xa9, 0x26, 0x58, 0xbf, 0xab, 0x94, 0xeb, 0x08, 0x2f, 0x71, 0x7b, 0xa2, 0x65,
2110 0xb5, 0xd8, 0x44, 0xb4,
2111 ],
2112 Elements::LeftExtend8_32 => [
2113 0x09, 0xd7, 0x03, 0xca, 0x46, 0xf7, 0x5d, 0x05, 0x1a, 0x93, 0xd0, 0xe8, 0xa2, 0xaf,
2114 0x05, 0x01, 0xa3, 0x8e, 0x84, 0x86, 0x83, 0xef, 0x10, 0x9c, 0x1f, 0xb4, 0xb5, 0xbe,
2115 0x20, 0xe6, 0x31, 0x5d,
2116 ],
2117 Elements::LeftExtend8_64 => [
2118 0xd3, 0xda, 0xfc, 0xbd, 0xab, 0x69, 0xa2, 0xbb, 0x32, 0x0f, 0x8d, 0x23, 0x0c, 0xef,
2119 0xd0, 0x9c, 0x27, 0xa1, 0x54, 0xc5, 0x1e, 0x7e, 0x5c, 0xd5, 0x33, 0x4e, 0xaf, 0xed,
2120 0x19, 0xe2, 0x0d, 0xf4,
2121 ],
2122 Elements::LeftPadHigh16_32 => [
2123 0x88, 0x8c, 0x7e, 0x0a, 0xb0, 0x03, 0x14, 0x75, 0xc5, 0x14, 0xf9, 0xb3, 0x7c, 0x81,
2124 0xf4, 0x5a, 0x47, 0x31, 0x49, 0x84, 0xe5, 0x02, 0x75, 0x08, 0xdd, 0xc5, 0xeb, 0x8d,
2125 0x8d, 0x10, 0xbe, 0xb9,
2126 ],
2127 Elements::LeftPadHigh16_64 => [
2128 0x52, 0x6b, 0x35, 0x05, 0x45, 0x01, 0x36, 0xd6, 0x81, 0xa5, 0x0b, 0x4b, 0xde, 0x4f,
2129 0xa6, 0x12, 0xda, 0x9d, 0x69, 0xbd, 0x08, 0x17, 0x0e, 0xa3, 0x2d, 0x0a, 0x26, 0x51,
2130 0x11, 0x50, 0x72, 0xeb,
2131 ],
2132 Elements::LeftPadHigh1_16 => [
2133 0x93, 0xae, 0xd6, 0xf6, 0x87, 0x50, 0x77, 0x4b, 0x2d, 0xbf, 0x83, 0x14, 0xca, 0xde,
2134 0xbe, 0x5a, 0x41, 0x52, 0x43, 0xfb, 0xdf, 0x7c, 0x2e, 0xea, 0x8b, 0x22, 0x3d, 0xf3,
2135 0x26, 0x1e, 0x3b, 0xdb,
2136 ],
2137 Elements::LeftPadHigh1_32 => [
2138 0x00, 0x82, 0x98, 0xf8, 0x2f, 0xb6, 0xcf, 0x37, 0xe9, 0xdc, 0x70, 0x3e, 0xa4, 0xf9,
2139 0x49, 0x56, 0x5c, 0x29, 0x65, 0xa7, 0xc7, 0xf4, 0xfa, 0x22, 0xf5, 0x54, 0x56, 0x42,
2140 0x34, 0x08, 0xa3, 0xab,
2141 ],
2142 Elements::LeftPadHigh1_64 => [
2143 0x2b, 0x45, 0x4e, 0xbd, 0x79, 0x1e, 0xc7, 0xda, 0xce, 0xdc, 0xb8, 0x6c, 0x69, 0xd0,
2144 0x26, 0x79, 0x4a, 0x5d, 0xc3, 0x72, 0x52, 0x61, 0xe7, 0xdc, 0x16, 0x50, 0xcc, 0x88,
2145 0x81, 0x17, 0xfc, 0x4f,
2146 ],
2147 Elements::LeftPadHigh1_8 => [
2148 0x6c, 0x27, 0x7c, 0x4c, 0xd0, 0x53, 0xdd, 0x35, 0x02, 0xdb, 0xe0, 0xbb, 0xc1, 0x4e,
2149 0xb0, 0xb3, 0x6a, 0x20, 0x1a, 0xbe, 0xf3, 0xb1, 0x74, 0xb0, 0xeb, 0xfe, 0x05, 0x20,
2150 0x18, 0xb6, 0x7e, 0x67,
2151 ],
2152 Elements::LeftPadHigh32_64 => [
2153 0x5d, 0x41, 0x22, 0x1c, 0xf6, 0x15, 0x82, 0x97, 0xb0, 0x6c, 0x19, 0x57, 0x11, 0x2c,
2154 0x0d, 0x12, 0xf3, 0xeb, 0x91, 0x7a, 0x2f, 0x50, 0x9a, 0x53, 0x9d, 0x5c, 0x9b, 0x79,
2155 0x10, 0x21, 0x9b, 0x65,
2156 ],
2157 Elements::LeftPadHigh8_16 => [
2158 0x21, 0x78, 0xdc, 0x76, 0xc0, 0x4c, 0x79, 0xd9, 0x18, 0x15, 0xd3, 0x8c, 0x96, 0x7f,
2159 0x34, 0x21, 0x3f, 0xfc, 0xc6, 0xc5, 0xf2, 0x43, 0xc9, 0x56, 0x29, 0x73, 0xf0, 0x90,
2160 0xca, 0x5c, 0xae, 0xfa,
2161 ],
2162 Elements::LeftPadHigh8_32 => [
2163 0xa4, 0xe8, 0x6b, 0x53, 0xe5, 0xd0, 0x0f, 0xaf, 0x0b, 0x3e, 0x9d, 0x53, 0x20, 0x2a,
2164 0xf7, 0x73, 0x8d, 0xcb, 0x88, 0x87, 0xa1, 0x8d, 0xfe, 0xe5, 0xbe, 0x34, 0xc4, 0x97,
2165 0x69, 0x8c, 0xa6, 0xb7,
2166 ],
2167 Elements::LeftPadHigh8_64 => [
2168 0xc8, 0x43, 0xa7, 0x2c, 0x41, 0x17, 0x0f, 0x40, 0x34, 0x33, 0xc4, 0x36, 0xa3, 0x9b,
2169 0x05, 0xcf, 0x19, 0x3c, 0x27, 0xd8, 0xbe, 0x35, 0x30, 0xf9, 0xb9, 0x4e, 0x42, 0xd7,
2170 0x63, 0x00, 0x3d, 0x54,
2171 ],
2172 Elements::LeftPadLow16_32 => [
2173 0x21, 0x53, 0x7f, 0x7d, 0x8f, 0x97, 0xf2, 0x20, 0x3c, 0xcc, 0xb0, 0x35, 0xef, 0x1d,
2174 0x46, 0x28, 0x9e, 0xe8, 0xaa, 0x50, 0xf0, 0x23, 0x60, 0x77, 0xd0, 0xd0, 0xb2, 0x10,
2175 0x70, 0x04, 0x40, 0xa1,
2176 ],
2177 Elements::LeftPadLow16_64 => [
2178 0x6b, 0x2e, 0xa9, 0x63, 0x0c, 0x5d, 0xde, 0x03, 0x7a, 0xab, 0x2b, 0xf7, 0x33, 0x21,
2179 0x9b, 0x99, 0xc7, 0xed, 0xc2, 0xec, 0xed, 0xb9, 0xa0, 0x3a, 0xdf, 0xd1, 0x69, 0x43,
2180 0x0b, 0x08, 0xbb, 0x9c,
2181 ],
2182 Elements::LeftPadLow1_16 => [
2183 0x4a, 0xa4, 0x05, 0x20, 0xfa, 0xed, 0x72, 0xe6, 0xe9, 0xbe, 0x3b, 0xe6, 0x93, 0x0f,
2184 0x1e, 0x32, 0xb0, 0xb1, 0x82, 0xc4, 0x32, 0x7a, 0xda, 0x94, 0xa7, 0x1f, 0x00, 0x6d,
2185 0x14, 0x90, 0x15, 0xf9,
2186 ],
2187 Elements::LeftPadLow1_32 => [
2188 0xcf, 0xb4, 0x75, 0x3b, 0xb9, 0xba, 0x36, 0x21, 0xba, 0x09, 0x37, 0x82, 0x5f, 0xad,
2189 0xe6, 0x43, 0x09, 0x8e, 0x38, 0x5e, 0xd6, 0x8e, 0xfb, 0x16, 0xff, 0x58, 0xec, 0xf3,
2190 0x65, 0xd7, 0xe5, 0xe2,
2191 ],
2192 Elements::LeftPadLow1_64 => [
2193 0xe6, 0xf1, 0xc0, 0x9b, 0x5f, 0xe1, 0x26, 0xd0, 0xea, 0x86, 0xe7, 0xbf, 0xc0, 0xb2,
2194 0x8e, 0x84, 0x9f, 0x8f, 0x7e, 0xfd, 0x31, 0x06, 0x4e, 0xa4, 0xfd, 0x1c, 0xca, 0x07,
2195 0x1b, 0x45, 0xdb, 0x93,
2196 ],
2197 Elements::LeftPadLow1_8 => [
2198 0xdc, 0x5a, 0x47, 0xf8, 0xd7, 0x77, 0x65, 0xc9, 0x94, 0xcb, 0xe8, 0x6a, 0xae, 0x44,
2199 0xa9, 0xc5, 0xff, 0x2e, 0xbc, 0x38, 0x10, 0xd7, 0x9c, 0xd8, 0x3b, 0xd2, 0xc4, 0x09,
2200 0x8c, 0x76, 0x2b, 0xf5,
2201 ],
2202 Elements::LeftPadLow32_64 => [
2203 0x2d, 0x88, 0xe4, 0xd0, 0x1e, 0x01, 0x08, 0xc0, 0xd6, 0x88, 0x0f, 0x3c, 0xe8, 0x48,
2204 0x2b, 0xb0, 0x95, 0x1f, 0x2b, 0x3f, 0xc5, 0xdf, 0x4b, 0x1a, 0xdb, 0x18, 0x4a, 0x1b,
2205 0xfd, 0x1f, 0x64, 0x65,
2206 ],
2207 Elements::LeftPadLow8_16 => [
2208 0xac, 0x1a, 0x4c, 0x97, 0x83, 0xe4, 0xdb, 0xed, 0x27, 0x00, 0xeb, 0x29, 0x52, 0xe3,
2209 0x06, 0x2a, 0x5a, 0x72, 0x71, 0x2f, 0x82, 0x15, 0x98, 0x61, 0xb0, 0x8e, 0x67, 0xef,
2210 0x4a, 0x71, 0xf5, 0xf2,
2211 ],
2212 Elements::LeftPadLow8_32 => [
2213 0x3d, 0xa5, 0xf1, 0xa8, 0xc9, 0x78, 0x19, 0xae, 0x7e, 0x10, 0xb9, 0x36, 0x4f, 0xf8,
2214 0x49, 0x96, 0xd0, 0xd7, 0x3e, 0x69, 0x8a, 0x49, 0xda, 0x69, 0x1f, 0x69, 0xa2, 0x73,
2215 0x25, 0x42, 0x01, 0xcd,
2216 ],
2217 Elements::LeftPadLow8_64 => [
2218 0x25, 0xbc, 0x18, 0xd4, 0x9f, 0x93, 0x40, 0x72, 0x27, 0x7d, 0x3f, 0x61, 0x3b, 0xf1,
2219 0x6c, 0x11, 0x8d, 0xf1, 0x97, 0xbc, 0x92, 0x87, 0x2d, 0x2a, 0xff, 0xe4, 0x17, 0xad,
2220 0xea, 0xaf, 0x1a, 0x85,
2221 ],
2222 Elements::LeftRotate16 => [
2223 0x88, 0xc1, 0x23, 0x37, 0xcd, 0x75, 0x4f, 0x83, 0x80, 0x98, 0x6d, 0x86, 0xfe, 0x3a,
2224 0x89, 0xe2, 0x62, 0x74, 0x66, 0x53, 0xe1, 0xba, 0xdd, 0x9c, 0xc9, 0xb4, 0x76, 0x45,
2225 0xfe, 0x57, 0x19, 0x5a,
2226 ],
2227 Elements::LeftRotate32 => [
2228 0x39, 0x81, 0x6c, 0xcd, 0x9e, 0x9c, 0xf1, 0x19, 0x1f, 0x06, 0x5d, 0x2e, 0xb7, 0xa7,
2229 0xfb, 0x83, 0x82, 0x8d, 0x91, 0xec, 0x7d, 0x99, 0x77, 0xa1, 0xfc, 0x70, 0xbe, 0x9b,
2230 0x31, 0xa4, 0x68, 0xb9,
2231 ],
2232 Elements::LeftRotate64 => [
2233 0x8b, 0x23, 0x55, 0xc3, 0x1e, 0x3b, 0x61, 0x4b, 0xd4, 0xb4, 0x1c, 0x3e, 0xcf, 0x27,
2234 0x74, 0x24, 0xd0, 0x26, 0x76, 0x6b, 0x37, 0xbc, 0x6c, 0x10, 0x56, 0x21, 0xf4, 0xf6,
2235 0xa1, 0x6f, 0x9b, 0xdf,
2236 ],
2237 Elements::LeftRotate8 => [
2238 0x9e, 0x96, 0x6e, 0x88, 0x0c, 0x6b, 0x0c, 0x48, 0x3c, 0x90, 0xbe, 0xee, 0xd7, 0xc5,
2239 0x73, 0x7c, 0xa5, 0xf3, 0xfa, 0xcf, 0x85, 0xaa, 0xb3, 0xd5, 0x31, 0xad, 0x34, 0xbd,
2240 0x7b, 0x1a, 0x9b, 0x68,
2241 ],
2242 Elements::LeftShift16 => [
2243 0xb0, 0x53, 0x60, 0x18, 0x4d, 0x06, 0x02, 0xb5, 0x81, 0x40, 0x5e, 0x32, 0x96, 0x0b,
2244 0x31, 0xc0, 0x52, 0x19, 0x35, 0x8d, 0xe8, 0x9e, 0xfd, 0xf4, 0x94, 0x64, 0x72, 0x3d,
2245 0xd6, 0x25, 0x61, 0x7a,
2246 ],
2247 Elements::LeftShift32 => [
2248 0x34, 0xbf, 0x54, 0xf5, 0x94, 0xc2, 0x62, 0x10, 0x07, 0xf8, 0xc7, 0x8b, 0x30, 0xfa,
2249 0xd3, 0x96, 0x72, 0x00, 0x9b, 0xb3, 0x66, 0xaa, 0xce, 0x1e, 0x5e, 0x41, 0xee, 0x4d,
2250 0x9c, 0xc5, 0x41, 0xa8,
2251 ],
2252 Elements::LeftShift64 => [
2253 0x5d, 0xe9, 0x53, 0xf0, 0x4d, 0xea, 0xed, 0x90, 0x47, 0x56, 0x76, 0x47, 0xa1, 0xeb,
2254 0x7a, 0xbe, 0x66, 0x5f, 0xec, 0xcb, 0xe7, 0xed, 0x10, 0xcb, 0x7d, 0xbe, 0x69, 0x12,
2255 0x73, 0xc0, 0x94, 0xb0,
2256 ],
2257 Elements::LeftShift8 => [
2258 0xab, 0x9d, 0x3e, 0x9a, 0xc3, 0x90, 0x38, 0xad, 0x88, 0xb1, 0x03, 0xf0, 0x72, 0x25,
2259 0x4c, 0x0e, 0xc6, 0xe2, 0x74, 0x75, 0xe2, 0x75, 0xc2, 0x45, 0xe8, 0x8c, 0xce, 0x0d,
2260 0x07, 0x2e, 0x64, 0x46,
2261 ],
2262 Elements::LeftShiftWith16 => [
2263 0xe2, 0x91, 0x07, 0x88, 0x55, 0x50, 0x45, 0x0e, 0xb7, 0x27, 0xd0, 0xcf, 0x14, 0xe1,
2264 0x04, 0xae, 0x12, 0xf8, 0x3a, 0x24, 0xe2, 0xe2, 0xac, 0xa3, 0xcc, 0xe4, 0x33, 0xde,
2265 0x2f, 0x35, 0xd7, 0xb3,
2266 ],
2267 Elements::LeftShiftWith32 => [
2268 0xf3, 0x92, 0x50, 0xc4, 0x5a, 0x13, 0x10, 0xcc, 0x63, 0x8c, 0x78, 0x8d, 0xee, 0xc5,
2269 0xc3, 0x65, 0xb4, 0xd1, 0x76, 0xd1, 0x0e, 0xfb, 0xf4, 0xc6, 0x01, 0xcf, 0x5e, 0xeb,
2270 0xe0, 0xa5, 0x73, 0xe9,
2271 ],
2272 Elements::LeftShiftWith64 => [
2273 0xad, 0x87, 0x94, 0xcf, 0xae, 0xf2, 0xb7, 0xf7, 0x74, 0xfa, 0x68, 0xd3, 0x09, 0xbb,
2274 0xc9, 0x8d, 0xfe, 0xe5, 0x8c, 0x40, 0x40, 0x0b, 0x2e, 0xb5, 0x78, 0xa2, 0x12, 0xf4,
2275 0x38, 0xbd, 0x07, 0xab,
2276 ],
2277 Elements::LeftShiftWith8 => [
2278 0xdd, 0x9c, 0xc1, 0xce, 0xa7, 0x49, 0x09, 0x48, 0x1f, 0xf5, 0x8f, 0x87, 0x6f, 0xf6,
2279 0x6e, 0x0f, 0x5d, 0x52, 0xbf, 0x89, 0xb0, 0x25, 0x8f, 0xa9, 0x5b, 0x32, 0x00, 0x02,
2280 0xc3, 0x2a, 0x79, 0x15,
2281 ],
2282 Elements::Leftmost16_1 => [
2283 0xde, 0x6a, 0x4c, 0x98, 0x33, 0x7e, 0x68, 0x0d, 0x6e, 0x6e, 0xe2, 0xbf, 0x36, 0xd3,
2284 0xa0, 0x81, 0x7d, 0x2a, 0x9a, 0x98, 0x32, 0x5f, 0x87, 0xe5, 0xec, 0xeb, 0x8a, 0x6f,
2285 0x11, 0x68, 0xf5, 0xca,
2286 ],
2287 Elements::Leftmost16_2 => [
2288 0x00, 0x58, 0x09, 0xb8, 0x05, 0x1a, 0x2a, 0x50, 0x28, 0x33, 0xb2, 0x2c, 0x2c, 0x17,
2289 0x98, 0x1e, 0xaf, 0x9d, 0xd1, 0xd3, 0xdb, 0xc8, 0xf8, 0xc8, 0x94, 0x51, 0x6c, 0x1d,
2290 0x5f, 0x31, 0x14, 0x6c,
2291 ],
2292 Elements::Leftmost16_4 => [
2293 0x9c, 0x50, 0xee, 0x22, 0x84, 0xd8, 0x57, 0xc4, 0x7c, 0x05, 0x44, 0x47, 0x13, 0x54,
2294 0x10, 0x5e, 0x98, 0xdf, 0xe0, 0x27, 0x54, 0xd2, 0xe4, 0x2d, 0xe1, 0x1d, 0x32, 0x34,
2295 0xed, 0x10, 0xb6, 0x42,
2296 ],
2297 Elements::Leftmost16_8 => [
2298 0x5a, 0x1a, 0x72, 0x91, 0x4e, 0x14, 0x9c, 0x22, 0xb4, 0x64, 0xc8, 0xf6, 0xa3, 0xd9,
2299 0xcf, 0x41, 0xb0, 0x71, 0x92, 0xbe, 0xf0, 0xd8, 0xa1, 0xcc, 0x7c, 0xbe, 0x57, 0x04,
2300 0xa9, 0xe8, 0xea, 0x70,
2301 ],
2302 Elements::Leftmost32_1 => [
2303 0x5f, 0xb8, 0xe6, 0x34, 0x2a, 0xb7, 0x4e, 0xe2, 0xc9, 0x22, 0x5b, 0x87, 0x2f, 0xa0,
2304 0xc9, 0x12, 0x04, 0x6a, 0x69, 0xdb, 0xb7, 0x19, 0xbc, 0xd6, 0xc8, 0xd7, 0x9b, 0x76,
2305 0x60, 0xc4, 0xeb, 0xca,
2306 ],
2307 Elements::Leftmost32_16 => [
2308 0x54, 0xae, 0x50, 0xb4, 0x6b, 0x5b, 0x2e, 0x68, 0xf5, 0x36, 0xc0, 0x1c, 0x39, 0x61,
2309 0x7b, 0x0c, 0xee, 0x42, 0xe1, 0xc4, 0x9a, 0x2c, 0xd1, 0xd2, 0x6a, 0xf8, 0xea, 0x87,
2310 0x15, 0xac, 0x4d, 0x11,
2311 ],
2312 Elements::Leftmost32_2 => [
2313 0x12, 0x30, 0x68, 0x55, 0x45, 0x95, 0x42, 0x7e, 0x3c, 0x1d, 0xe2, 0x43, 0xba, 0xb6,
2314 0x6f, 0x33, 0x48, 0x36, 0x8a, 0xaa, 0x44, 0x61, 0x7d, 0x6a, 0x02, 0x47, 0x9f, 0xb7,
2315 0x04, 0xbc, 0xfd, 0x1e,
2316 ],
2317 Elements::Leftmost32_4 => [
2318 0x55, 0xa8, 0x7b, 0x66, 0xc3, 0x39, 0xe3, 0x63, 0xe0, 0x3d, 0x4d, 0xaa, 0xc6, 0x22,
2319 0x90, 0xeb, 0xa9, 0x3c, 0x1a, 0x3a, 0x73, 0x82, 0xcb, 0xf6, 0x1f, 0x20, 0xb3, 0x4a,
2320 0x50, 0x51, 0x24, 0xad,
2321 ],
2322 Elements::Leftmost32_8 => [
2323 0x9f, 0x34, 0x5b, 0xee, 0x0b, 0x16, 0x2d, 0x42, 0xa0, 0x35, 0x71, 0x8f, 0x8c, 0xa1,
2324 0xad, 0xc8, 0xac, 0x2f, 0x71, 0x0d, 0xc4, 0x00, 0x52, 0xa8, 0x25, 0x66, 0xe6, 0xd8,
2325 0x07, 0xbe, 0xf8, 0xb8,
2326 ],
2327 Elements::Leftmost64_1 => [
2328 0xb9, 0x24, 0xd3, 0x3b, 0x5e, 0xfe, 0xfc, 0x8e, 0x20, 0x42, 0x08, 0x19, 0x25, 0x91,
2329 0x7c, 0xff, 0x23, 0x9b, 0x31, 0xc8, 0xbd, 0xbd, 0xf4, 0xac, 0xae, 0x6b, 0xb8, 0xd9,
2330 0xcd, 0x21, 0x7b, 0x4f,
2331 ],
2332 Elements::Leftmost64_16 => [
2333 0x12, 0xaa, 0x85, 0xe0, 0x5c, 0x1e, 0x96, 0x22, 0x27, 0x9c, 0x4c, 0x2d, 0xdc, 0xf8,
2334 0x97, 0xc9, 0x5d, 0xdc, 0xc0, 0x11, 0x39, 0x97, 0x28, 0x3b, 0x6b, 0x3e, 0x09, 0x49,
2335 0xbc, 0x81, 0x13, 0xcb,
2336 ],
2337 Elements::Leftmost64_2 => [
2338 0xbc, 0xec, 0x97, 0xf4, 0x3b, 0xa5, 0x5c, 0xd4, 0x0d, 0x85, 0xa1, 0xe7, 0x6c, 0xba,
2339 0xde, 0x7b, 0x0b, 0x1e, 0x9f, 0x13, 0x97, 0x47, 0x79, 0x3d, 0xcb, 0x34, 0x80, 0xbe,
2340 0xe1, 0xf7, 0x51, 0xca,
2341 ],
2342 Elements::Leftmost64_32 => [
2343 0x9c, 0x89, 0x69, 0x39, 0x86, 0xe5, 0x57, 0x33, 0xab, 0x96, 0x2a, 0x30, 0x0b, 0x05,
2344 0x79, 0x50, 0x3d, 0x83, 0xde, 0x8a, 0xc1, 0x9b, 0x17, 0x9b, 0x41, 0x7e, 0x1c, 0xa2,
2345 0x53, 0x85, 0xb3, 0x8f,
2346 ],
2347 Elements::Leftmost64_4 => [
2348 0xd2, 0xd6, 0x45, 0x20, 0x92, 0xd6, 0x56, 0x6f, 0x89, 0xa1, 0xf6, 0x4e, 0x73, 0x65,
2349 0x96, 0xf9, 0x00, 0x0e, 0x5e, 0x6f, 0x63, 0xe4, 0x00, 0x17, 0xd0, 0xcb, 0x80, 0xf3,
2350 0xf7, 0xad, 0xfd, 0x18,
2351 ],
2352 Elements::Leftmost64_8 => [
2353 0xf7, 0x7b, 0x62, 0xbb, 0x01, 0xb9, 0x05, 0x11, 0xb6, 0xd0, 0x6e, 0xbf, 0x2e, 0x36,
2354 0xc0, 0x65, 0x65, 0xac, 0xb5, 0xaa, 0xd1, 0xef, 0xc7, 0x7c, 0x36, 0xa1, 0x0a, 0x26,
2355 0x1d, 0xe9, 0x21, 0xda,
2356 ],
2357 Elements::Leftmost8_1 => [
2358 0x5a, 0x73, 0x0b, 0x58, 0xe3, 0xab, 0xcb, 0x2f, 0x4d, 0xe2, 0x21, 0x59, 0x80, 0x30,
2359 0x23, 0x10, 0x2c, 0xd6, 0x64, 0x21, 0x91, 0x19, 0x20, 0xca, 0x21, 0xa2, 0xa0, 0x5c,
2360 0x9b, 0x21, 0x1c, 0xe8,
2361 ],
2362 Elements::Leftmost8_2 => [
2363 0x25, 0x79, 0x08, 0x56, 0x10, 0x3d, 0xce, 0x6c, 0x7b, 0xbb, 0x3d, 0xd7, 0x18, 0xb1,
2364 0x69, 0x10, 0x9c, 0xae, 0x85, 0x37, 0x99, 0xd1, 0x24, 0x56, 0xc8, 0x5d, 0x83, 0x49,
2365 0xec, 0x18, 0xdc, 0x53,
2366 ],
2367 Elements::Leftmost8_4 => [
2368 0x73, 0xd9, 0xf0, 0x18, 0x15, 0x7a, 0x14, 0x78, 0x4e, 0xe7, 0x0b, 0x21, 0x9c, 0xeb,
2369 0x40, 0x42, 0xfa, 0x62, 0x1d, 0x0e, 0xe6, 0xd5, 0x45, 0xa0, 0xfd, 0xba, 0xb9, 0x44,
2370 0x43, 0x46, 0xe3, 0x31,
2371 ],
2372 Elements::LinearCombination1 => [
2373 0x6d, 0x9f, 0x4a, 0x87, 0x0f, 0xbf, 0x74, 0x0c, 0x22, 0x0e, 0xff, 0xf3, 0x07, 0xb5,
2374 0xed, 0x91, 0xa5, 0x8c, 0x5e, 0x51, 0xa8, 0xad, 0xfc, 0x3b, 0x15, 0x90, 0x30, 0xf5,
2375 0x12, 0xd3, 0x99, 0x41,
2376 ],
2377 Elements::LinearVerify1 => [
2378 0x27, 0x83, 0x13, 0xd7, 0xce, 0x4a, 0xd5, 0x89, 0x11, 0xde, 0x24, 0xee, 0x54, 0x0d,
2379 0x19, 0xec, 0xeb, 0xb6, 0x2f, 0x4a, 0xb4, 0xa7, 0x1e, 0x2a, 0xad, 0xd4, 0x51, 0x2b,
2380 0x2e, 0x4b, 0xc2, 0xe2,
2381 ],
2382 Elements::LockTime => [
2383 0xa1, 0x68, 0x97, 0xc5, 0xdb, 0x49, 0x27, 0xc6, 0xcb, 0x07, 0xb1, 0x65, 0xbd, 0x2c,
2384 0xc3, 0x8b, 0x36, 0xa6, 0x02, 0x68, 0x6c, 0x74, 0xa1, 0x90, 0x34, 0xaa, 0x37, 0x87,
2385 0xac, 0x58, 0x2a, 0x0b,
2386 ],
2387 Elements::Low1 => [
2388 0xf2, 0x7b, 0x69, 0xbb, 0x09, 0x16, 0x09, 0xf5, 0x9e, 0x00, 0x33, 0x05, 0x0d, 0x01,
2389 0xa5, 0xbc, 0x77, 0xff, 0x07, 0xd9, 0x42, 0x70, 0x7a, 0x79, 0xcf, 0x5e, 0xe4, 0x10,
2390 0xa9, 0x98, 0xa0, 0x43,
2391 ],
2392 Elements::Low16 => [
2393 0x97, 0x7c, 0xbd, 0x1e, 0x7f, 0xfc, 0x05, 0xe7, 0x16, 0xd9, 0xc1, 0xb4, 0x9f, 0x7d,
2394 0x51, 0x7f, 0x85, 0x3d, 0xbf, 0x3e, 0x98, 0xa4, 0xc7, 0x48, 0x04, 0x6e, 0xac, 0xf4,
2395 0x17, 0xf8, 0x9c, 0x2f,
2396 ],
2397 Elements::Low32 => [
2398 0xbe, 0x41, 0x69, 0x82, 0x8f, 0x07, 0x67, 0x78, 0xb6, 0x0d, 0x54, 0x56, 0xf7, 0x88,
2399 0x6e, 0xd7, 0xf3, 0x0b, 0x10, 0x1d, 0x6c, 0xcb, 0xd9, 0xea, 0x0c, 0x4d, 0xb1, 0x42,
2400 0xea, 0xc6, 0x6b, 0x12,
2401 ],
2402 Elements::Low64 => [
2403 0x01, 0x9a, 0x66, 0xbf, 0xba, 0x17, 0x51, 0x68, 0x8b, 0xe7, 0x13, 0x89, 0xed, 0x7b,
2404 0xf3, 0x71, 0xb3, 0x01, 0x4d, 0xfb, 0x32, 0x95, 0x62, 0xac, 0x3b, 0x3e, 0x9d, 0xfe,
2405 0x92, 0x06, 0xa5, 0xbc,
2406 ],
2407 Elements::Low8 => [
2408 0x21, 0x7b, 0x56, 0x43, 0x95, 0x6b, 0x48, 0x33, 0xaa, 0x56, 0x22, 0xf0, 0x0f, 0x06,
2409 0x88, 0xba, 0x86, 0x0d, 0x4a, 0xdb, 0xf9, 0x40, 0xcb, 0xdc, 0xd2, 0xb5, 0x9f, 0x26,
2410 0xd6, 0x15, 0x93, 0xb1,
2411 ],
2412 Elements::Lt16 => [
2413 0x56, 0xa2, 0x0d, 0x55, 0xed, 0xb4, 0x43, 0x88, 0x18, 0x05, 0x44, 0xc3, 0xed, 0x40,
2414 0x41, 0x45, 0xa3, 0xb6, 0x6f, 0xd2, 0xc4, 0x11, 0x38, 0x42, 0xf6, 0x4e, 0xae, 0xaf,
2415 0xba, 0xd4, 0xbb, 0x06,
2416 ],
2417 Elements::Lt32 => [
2418 0xca, 0xb0, 0xdc, 0x5b, 0x0e, 0xcb, 0xf6, 0xd2, 0x48, 0x16, 0xfc, 0x20, 0x10, 0xfc,
2419 0x31, 0x19, 0x36, 0x63, 0xc3, 0x06, 0x96, 0x8d, 0x9c, 0xee, 0x3b, 0x00, 0x4c, 0x0b,
2420 0xc1, 0x84, 0xb4, 0x78,
2421 ],
2422 Elements::Lt64 => [
2423 0x47, 0xd6, 0x7e, 0x52, 0xb2, 0x7b, 0xa7, 0x8e, 0xdd, 0x07, 0x5a, 0xa2, 0x70, 0xde,
2424 0xd0, 0x07, 0xa7, 0xa9, 0xa6, 0x84, 0x99, 0x34, 0x4f, 0x28, 0x62, 0xf5, 0x06, 0x90,
2425 0x49, 0xa0, 0xce, 0xfe,
2426 ],
2427 Elements::Lt8 => [
2428 0x73, 0xd0, 0x04, 0x46, 0x55, 0xc0, 0xdf, 0x45, 0xc2, 0x71, 0xa1, 0x71, 0x3f, 0xf9,
2429 0xb9, 0xa4, 0x3d, 0xde, 0x56, 0xe6, 0x74, 0xd1, 0x75, 0x4e, 0x76, 0xed, 0xb1, 0x6f,
2430 0x94, 0x9c, 0x4f, 0xab,
2431 ],
2432 Elements::Maj1 => [
2433 0xcb, 0x2d, 0x98, 0x6d, 0x7f, 0x00, 0x10, 0x7a, 0x3c, 0x25, 0xf6, 0xb2, 0xf1, 0x48,
2434 0x91, 0xd0, 0x2e, 0x20, 0xae, 0x16, 0xf0, 0xa1, 0x25, 0x2c, 0x92, 0xd9, 0xb5, 0x8a,
2435 0xe7, 0x33, 0x88, 0xaa,
2436 ],
2437 Elements::Maj16 => [
2438 0x0a, 0xf6, 0xd0, 0xc1, 0x71, 0xfe, 0x33, 0xa2, 0x15, 0x9b, 0xf9, 0x88, 0x00, 0xf0,
2439 0x41, 0x2c, 0x25, 0x97, 0xe9, 0x97, 0x84, 0xd0, 0x74, 0xfd, 0xfa, 0x33, 0xd7, 0xfd,
2440 0xe5, 0x97, 0xdd, 0xfd,
2441 ],
2442 Elements::Maj32 => [
2443 0x30, 0x60, 0x83, 0x8d, 0x48, 0x45, 0x6f, 0x33, 0x92, 0xd5, 0xd6, 0x9b, 0x5e, 0xec,
2444 0x08, 0x92, 0x76, 0xcd, 0x58, 0xbb, 0x67, 0xa1, 0x2c, 0x64, 0x2e, 0xc7, 0x3a, 0xeb,
2445 0x9a, 0xda, 0xcb, 0xdd,
2446 ],
2447 Elements::Maj64 => [
2448 0x8e, 0xbc, 0xc1, 0x74, 0x57, 0xea, 0x2b, 0x14, 0x23, 0x1b, 0x0e, 0x90, 0x1e, 0xa7,
2449 0xb1, 0xd4, 0x7b, 0x9b, 0x78, 0x98, 0x63, 0x72, 0xa4, 0x41, 0x6f, 0xe7, 0x3f, 0x67,
2450 0x63, 0xfe, 0xb2, 0x4b,
2451 ],
2452 Elements::Maj8 => [
2453 0x89, 0x30, 0xd1, 0xd0, 0x99, 0x1b, 0x0a, 0x58, 0x1d, 0x0b, 0x1d, 0x85, 0xad, 0x72,
2454 0x14, 0x7d, 0x66, 0x49, 0xa3, 0x59, 0x93, 0x28, 0x3f, 0xc9, 0x72, 0x14, 0x43, 0x1f,
2455 0x0b, 0x6a, 0x7a, 0xa8,
2456 ],
2457 Elements::Max16 => [
2458 0xe0, 0x11, 0x47, 0x17, 0x69, 0x1a, 0xc1, 0xa7, 0x39, 0x28, 0x8f, 0xc6, 0xff, 0xa1,
2459 0xc6, 0x50, 0x7c, 0x43, 0xe6, 0xf1, 0xd4, 0xc1, 0x87, 0x70, 0xff, 0xa1, 0x66, 0xae,
2460 0x83, 0x9d, 0xd5, 0x33,
2461 ],
2462 Elements::Max32 => [
2463 0x1d, 0x72, 0x3c, 0xb3, 0x89, 0x94, 0x22, 0x19, 0xec, 0x10, 0x34, 0x85, 0x31, 0x7f,
2464 0xa5, 0xd8, 0x7e, 0xe1, 0x5c, 0x24, 0xb2, 0x08, 0x0f, 0x50, 0x46, 0x65, 0x0d, 0x80,
2465 0x30, 0x8b, 0x18, 0x9d,
2466 ],
2467 Elements::Max64 => [
2468 0x00, 0x73, 0xac, 0x3c, 0x6e, 0xa9, 0x39, 0xdc, 0xc7, 0xee, 0xe4, 0xea, 0x63, 0xdc,
2469 0xfd, 0x75, 0x20, 0x37, 0x35, 0x5b, 0x48, 0x4f, 0x6e, 0x70, 0x16, 0xb3, 0x00, 0xe2,
2470 0xd2, 0x8c, 0x07, 0xc3,
2471 ],
2472 Elements::Max8 => [
2473 0x6b, 0xc1, 0x03, 0x70, 0xf3, 0xe7, 0xa7, 0xb9, 0x2a, 0xcb, 0x14, 0x23, 0xbb, 0xdf,
2474 0x0b, 0x3d, 0x7e, 0x3c, 0xd0, 0xd2, 0xdb, 0xc7, 0x05, 0xa3, 0x4d, 0x8d, 0xc9, 0x9c,
2475 0x91, 0x04, 0x22, 0xfb,
2476 ],
2477 Elements::Median16 => [
2478 0x24, 0x14, 0xe3, 0xc4, 0x39, 0x65, 0x9d, 0x8a, 0xa9, 0xd0, 0x87, 0xe1, 0xad, 0xe7,
2479 0x72, 0x66, 0x67, 0x3d, 0x1c, 0x8b, 0xd4, 0xe7, 0x50, 0x1b, 0x22, 0xac, 0x46, 0xa3,
2480 0xff, 0x39, 0x97, 0x5d,
2481 ],
2482 Elements::Median32 => [
2483 0x07, 0x92, 0x35, 0x6b, 0x61, 0x0b, 0x57, 0xd0, 0xec, 0x19, 0x9e, 0x98, 0x53, 0x5e,
2484 0xa9, 0xbc, 0xcc, 0xe8, 0x43, 0xa5, 0xdf, 0x5d, 0xd2, 0x40, 0x8c, 0x41, 0x48, 0x86,
2485 0xdf, 0xd6, 0xbd, 0x1e,
2486 ],
2487 Elements::Median64 => [
2488 0x07, 0x66, 0xd8, 0x9b, 0x43, 0x0f, 0xfd, 0xf0, 0x38, 0x69, 0x1b, 0x18, 0x43, 0x9c,
2489 0xd6, 0xfc, 0x49, 0x29, 0x17, 0x2e, 0xa8, 0x84, 0xfd, 0xaf, 0x16, 0x69, 0x36, 0xb3,
2490 0x8b, 0x15, 0xfd, 0x0c,
2491 ],
2492 Elements::Median8 => [
2493 0xa4, 0xa0, 0xb6, 0x31, 0x0f, 0xf0, 0xed, 0x4a, 0x4c, 0x3e, 0x03, 0xeb, 0xc7, 0xa9,
2494 0x13, 0x06, 0xef, 0x66, 0x04, 0x24, 0xbc, 0x95, 0xa0, 0xd3, 0xf2, 0xfd, 0xb7, 0x1f,
2495 0xb6, 0xaf, 0xd8, 0xb7,
2496 ],
2497 Elements::Min16 => [
2498 0xf1, 0x58, 0xf4, 0x0a, 0x86, 0x09, 0x93, 0xb4, 0x10, 0x7f, 0xb2, 0x71, 0xfb, 0x4c,
2499 0x8f, 0x95, 0x5b, 0xa4, 0x54, 0x2a, 0xd1, 0x82, 0x1c, 0xd2, 0xf1, 0x3c, 0x88, 0x0c,
2500 0xa4, 0xbe, 0xe2, 0xe2,
2501 ],
2502 Elements::Min32 => [
2503 0xe5, 0xe4, 0x13, 0xdc, 0x5d, 0xe5, 0xe2, 0x2d, 0x66, 0xf3, 0x2d, 0x8d, 0xbf, 0x50,
2504 0x05, 0x3e, 0xd2, 0x78, 0xe1, 0x75, 0xc0, 0xd4, 0xb3, 0x44, 0xeb, 0xd4, 0x61, 0xbe,
2505 0xb1, 0x08, 0xe5, 0x5e,
2506 ],
2507 Elements::Min64 => [
2508 0x43, 0xd8, 0x2f, 0x6c, 0x61, 0x28, 0xaa, 0x01, 0xa9, 0x97, 0xbb, 0x17, 0xe5, 0xe7,
2509 0xf5, 0x01, 0xe7, 0xbe, 0x7d, 0xb9, 0x58, 0x9e, 0x56, 0x6d, 0xe9, 0x7a, 0x32, 0xea,
2510 0xe7, 0xe7, 0xb3, 0x39,
2511 ],
2512 Elements::Min8 => [
2513 0x6b, 0x01, 0x2c, 0xa3, 0x18, 0x5d, 0xc0, 0x05, 0xe8, 0x94, 0x2c, 0xfb, 0xc9, 0xf2,
2514 0x38, 0xdc, 0xed, 0xaf, 0x0c, 0x00, 0x43, 0x52, 0x64, 0x47, 0xe3, 0xec, 0x31, 0xce,
2515 0xfa, 0x6e, 0x40, 0x64,
2516 ],
2517 Elements::Modulo16 => [
2518 0x62, 0xc1, 0x79, 0xac, 0x84, 0xc5, 0x75, 0x0b, 0x42, 0x5f, 0x9a, 0x1b, 0x8f, 0x81,
2519 0xed, 0xaa, 0x7f, 0x5c, 0xf2, 0x2c, 0x19, 0xd8, 0x6b, 0x0d, 0xcf, 0x96, 0xde, 0xa6,
2520 0xba, 0xd9, 0x9b, 0x3b,
2521 ],
2522 Elements::Modulo32 => [
2523 0xa1, 0xf0, 0x1c, 0x10, 0x6f, 0xc3, 0x6a, 0x76, 0x4e, 0x99, 0xb2, 0x33, 0x98, 0xe2,
2524 0x1e, 0x7c, 0x26, 0x7f, 0x88, 0x9f, 0xcc, 0xeb, 0xd1, 0x48, 0x7d, 0x3d, 0xe1, 0xcc,
2525 0x67, 0xc3, 0x2b, 0xd9,
2526 ],
2527 Elements::Modulo64 => [
2528 0x50, 0xc8, 0x2f, 0xd0, 0x31, 0x09, 0xc9, 0x8b, 0x72, 0x37, 0xe9, 0x16, 0x74, 0x04,
2529 0x19, 0x64, 0x38, 0x1e, 0x6c, 0x2e, 0xbb, 0xe2, 0x5b, 0xf3, 0xe0, 0xd3, 0x7a, 0x9f,
2530 0x06, 0x0f, 0x15, 0x02,
2531 ],
2532 Elements::Modulo8 => [
2533 0x5c, 0x63, 0xc7, 0x7a, 0x16, 0x08, 0xe2, 0xf6, 0xa3, 0x74, 0x8c, 0x11, 0x0f, 0xbb,
2534 0x9a, 0x1c, 0x56, 0x9f, 0xb4, 0xd5, 0x40, 0xf3, 0xdd, 0x2e, 0x4f, 0x80, 0xe9, 0x0d,
2535 0xd5, 0xea, 0x99, 0x82,
2536 ],
2537 Elements::Multiply16 => [
2538 0x46, 0xe6, 0x2a, 0xbf, 0x8e, 0x30, 0xa7, 0x74, 0x6d, 0xe0, 0xe9, 0x29, 0xf7, 0xbe,
2539 0xed, 0xdb, 0xde, 0x8b, 0x26, 0x9b, 0xab, 0x08, 0xf7, 0x6e, 0x95, 0x47, 0x10, 0x8b,
2540 0x1c, 0x36, 0x01, 0x74,
2541 ],
2542 Elements::Multiply32 => [
2543 0x2d, 0xec, 0xdc, 0x5b, 0x0c, 0x6f, 0xf6, 0x3d, 0x11, 0xf5, 0x38, 0x52, 0xe0, 0xde,
2544 0xed, 0x11, 0x44, 0x81, 0x35, 0x5b, 0xb6, 0xc6, 0xce, 0x15, 0x46, 0xae, 0x9f, 0x81,
2545 0x5b, 0xee, 0x77, 0x50,
2546 ],
2547 Elements::Multiply64 => [
2548 0xbf, 0xa8, 0x62, 0x6d, 0xbf, 0x10, 0x00, 0x1d, 0xe3, 0x90, 0xd9, 0x97, 0xf2, 0xee,
2549 0x7b, 0x19, 0x0c, 0x24, 0xa7, 0x8c, 0xfe, 0xcb, 0x91, 0xf5, 0xd7, 0xc1, 0x0c, 0x3f,
2550 0x9d, 0xdb, 0xb1, 0xe6,
2551 ],
2552 Elements::Multiply8 => [
2553 0x29, 0xda, 0x13, 0x37, 0x4f, 0x7c, 0xb3, 0x08, 0x40, 0x5f, 0xe2, 0x30, 0xf8, 0x99,
2554 0x48, 0x5c, 0x50, 0x0e, 0x6e, 0x95, 0x20, 0xc1, 0x5e, 0x8a, 0x76, 0xe5, 0x3a, 0x92,
2555 0xe7, 0xac, 0x64, 0xd6,
2556 ],
2557 Elements::Negate16 => [
2558 0xf6, 0x42, 0x17, 0x3b, 0x85, 0xef, 0x21, 0x96, 0x9d, 0x8d, 0x90, 0x48, 0x80, 0x7e,
2559 0x3d, 0x4f, 0xac, 0xf3, 0xf5, 0xf9, 0xe5, 0x9a, 0xa5, 0xcf, 0x0c, 0x60, 0xf8, 0x74,
2560 0x22, 0xed, 0x7c, 0x8f,
2561 ],
2562 Elements::Negate32 => [
2563 0x54, 0x9b, 0x65, 0xce, 0x97, 0xc6, 0xb3, 0x34, 0xb8, 0xae, 0x94, 0x56, 0x96, 0x0e,
2564 0x36, 0x5b, 0xb2, 0x84, 0xd7, 0x6d, 0x40, 0x05, 0xe9, 0x21, 0xf4, 0x89, 0xbc, 0x36,
2565 0x26, 0x17, 0x1b, 0x06,
2566 ],
2567 Elements::Negate64 => [
2568 0x35, 0xac, 0xca, 0x27, 0xce, 0x65, 0x85, 0x79, 0xef, 0x1c, 0x55, 0xad, 0x1a, 0xbe,
2569 0xa0, 0x05, 0x0d, 0x93, 0x66, 0xd1, 0x22, 0x09, 0xad, 0x13, 0x05, 0x25, 0x49, 0xc3,
2570 0x43, 0x64, 0x91, 0xd0,
2571 ],
2572 Elements::Negate8 => [
2573 0xd8, 0x71, 0xc5, 0x42, 0x47, 0x3f, 0x4d, 0xd9, 0x02, 0xd3, 0x1f, 0xe3, 0xfc, 0x9a,
2574 0xc0, 0xf3, 0x31, 0x9e, 0x42, 0xe8, 0x0c, 0xae, 0x21, 0x81, 0xff, 0xc8, 0x5e, 0x6c,
2575 0x60, 0xfb, 0x09, 0x88,
2576 ],
2577 Elements::NewIssuanceContract => [
2578 0xdb, 0x64, 0x80, 0x8c, 0x3f, 0xf4, 0x48, 0x80, 0xd7, 0x2b, 0xc2, 0x95, 0xd9, 0xac,
2579 0x06, 0x43, 0xe5, 0x14, 0x04, 0xde, 0x53, 0x98, 0xad, 0x9e, 0x93, 0x1b, 0xd3, 0xd2,
2580 0xad, 0xbc, 0xa6, 0xc4,
2581 ],
2582 Elements::NonceHash => [
2583 0xfb, 0x1e, 0x03, 0x44, 0xdc, 0xda, 0xf9, 0xdb, 0x91, 0xb9, 0x87, 0xe8, 0xf9, 0x66,
2584 0x10, 0x67, 0x9f, 0x05, 0xde, 0xb2, 0x06, 0xb4, 0x01, 0x05, 0x75, 0x02, 0xa4, 0x84,
2585 0xaa, 0x87, 0xf8, 0xbf,
2586 ],
2587 Elements::NumInputs => [
2588 0xb2, 0x28, 0x8e, 0xba, 0xad, 0xcb, 0xcf, 0xce, 0x1c, 0x63, 0x19, 0x64, 0xc8, 0x6b,
2589 0x12, 0x7d, 0x6f, 0x91, 0xdc, 0x65, 0x7c, 0x59, 0xa7, 0xfb, 0x45, 0x3e, 0x91, 0x11,
2590 0xd8, 0x74, 0x81, 0xf5,
2591 ],
2592 Elements::NumOutputs => [
2593 0x26, 0x7d, 0x41, 0x65, 0x44, 0x93, 0x90, 0x3e, 0x02, 0x57, 0x75, 0x1a, 0xe6, 0xd4,
2594 0x2d, 0x9c, 0xe1, 0xbb, 0x92, 0x24, 0x6d, 0x0e, 0xf7, 0x67, 0xc3, 0x37, 0xb0, 0xc3,
2595 0x2b, 0x19, 0x72, 0xfd,
2596 ],
2597 Elements::One16 => [
2598 0x3f, 0x9f, 0x8d, 0xd1, 0x4c, 0x46, 0xee, 0x02, 0x47, 0x15, 0x57, 0x92, 0x9a, 0xc2,
2599 0xbb, 0x6c, 0x1a, 0xca, 0x00, 0x52, 0x1d, 0x8a, 0xfa, 0xf0, 0xdc, 0xd9, 0xf2, 0xca,
2600 0x7f, 0x31, 0xe6, 0x04,
2601 ],
2602 Elements::One32 => [
2603 0x47, 0x8d, 0xc3, 0x9d, 0xc3, 0x99, 0x5e, 0x2e, 0xdb, 0x7e, 0xc6, 0x74, 0x65, 0x6c,
2604 0xae, 0x79, 0x8f, 0x52, 0xe5, 0x72, 0x92, 0x61, 0x74, 0xa6, 0x68, 0xcc, 0x97, 0xbc,
2605 0xa4, 0x48, 0xd1, 0xcc,
2606 ],
2607 Elements::One64 => [
2608 0xa3, 0x92, 0xce, 0xfc, 0x0d, 0xa5, 0x3c, 0x65, 0xae, 0xe6, 0x12, 0xf5, 0xc6, 0x81,
2609 0x6c, 0xa8, 0x92, 0xfc, 0x15, 0x6d, 0x43, 0x71, 0x48, 0x76, 0xb3, 0xa0, 0x05, 0x68,
2610 0xe1, 0xba, 0x3e, 0xba,
2611 ],
2612 Elements::One8 => [
2613 0xff, 0x59, 0x4e, 0x22, 0xbf, 0xd7, 0x58, 0x13, 0xc0, 0x56, 0xe0, 0xa2, 0x34, 0xed,
2614 0x12, 0xfa, 0x82, 0x87, 0xd1, 0xd5, 0x31, 0x6f, 0x23, 0x90, 0x2b, 0xf0, 0x79, 0xdb,
2615 0xcc, 0x4f, 0x4e, 0xa8,
2616 ],
2617 Elements::Or1 => [
2618 0x9b, 0xf5, 0x91, 0x74, 0x41, 0x0a, 0x80, 0x9d, 0x3d, 0xa2, 0xb5, 0x8c, 0x7e, 0x0d,
2619 0x05, 0xc5, 0x5c, 0xec, 0x38, 0xbd, 0xaa, 0x5f, 0xca, 0xc3, 0x82, 0xa3, 0x11, 0x77,
2620 0x0e, 0xe0, 0xeb, 0x38,
2621 ],
2622 Elements::Or16 => [
2623 0xdd, 0x9a, 0x31, 0x93, 0xd6, 0x19, 0xd9, 0x59, 0xfa, 0x0b, 0x6d, 0x8b, 0x47, 0xaf,
2624 0x78, 0x54, 0xf7, 0xe0, 0x46, 0x7b, 0xa3, 0x59, 0x01, 0xce, 0x43, 0xd8, 0x00, 0xfc,
2625 0xaf, 0x73, 0x0f, 0xf9,
2626 ],
2627 Elements::Or32 => [
2628 0x9a, 0x01, 0x9f, 0x07, 0xdf, 0x49, 0x96, 0xb3, 0x3e, 0x64, 0x7f, 0x4d, 0xe7, 0xe5,
2629 0x6c, 0x1d, 0x8f, 0x03, 0x26, 0x9c, 0xbf, 0xa3, 0xc7, 0x58, 0x2c, 0xfe, 0x80, 0x8e,
2630 0x90, 0x98, 0x70, 0xb7,
2631 ],
2632 Elements::Or64 => [
2633 0xc2, 0x4f, 0x35, 0x80, 0x05, 0xf8, 0x03, 0x77, 0x2b, 0x1c, 0x3e, 0x43, 0x9c, 0xf1,
2634 0xb7, 0x09, 0xbd, 0x9f, 0x4d, 0x42, 0x52, 0x75, 0x91, 0x30, 0x3a, 0x36, 0xf6, 0xb1,
2635 0xc3, 0xcf, 0x29, 0xcc,
2636 ],
2637 Elements::Or8 => [
2638 0x84, 0xb5, 0x36, 0x89, 0xf2, 0x1d, 0x4e, 0x69, 0x7d, 0x0f, 0xe8, 0x98, 0x8c, 0xe7,
2639 0x36, 0xab, 0x72, 0xc9, 0xc8, 0x6f, 0x84, 0x75, 0x89, 0xda, 0xa9, 0xae, 0x6a, 0x78,
2640 0x46, 0x30, 0xe6, 0x20,
2641 ],
2642 Elements::OutpointHash => [
2643 0x8d, 0x2a, 0x5a, 0xa0, 0x6e, 0x98, 0xc4, 0x1b, 0x30, 0xfd, 0x07, 0x03, 0xe5, 0xe5,
2644 0x4c, 0x86, 0xb4, 0x2b, 0xee, 0x33, 0xbc, 0x89, 0xcb, 0x60, 0x93, 0xcd, 0xb0, 0x94,
2645 0x05, 0xa7, 0x2d, 0x9d,
2646 ],
2647 Elements::OutputAmount => [
2648 0x55, 0xe4, 0x13, 0x99, 0x21, 0x69, 0x40, 0x8e, 0x33, 0x8e, 0x11, 0xa8, 0xd7, 0xbe,
2649 0x60, 0x2b, 0x3e, 0xc9, 0x51, 0x1e, 0x7e, 0xb6, 0x91, 0xdf, 0x32, 0xd9, 0x79, 0x7a,
2650 0x63, 0x95, 0xa1, 0xa1,
2651 ],
2652 Elements::OutputAmountsHash => [
2653 0x40, 0x23, 0x69, 0x63, 0xe1, 0x0e, 0xf8, 0xad, 0x9c, 0xb6, 0xe0, 0xa7, 0xc7, 0x9a,
2654 0xc8, 0x66, 0x0d, 0x2f, 0xc1, 0xa5, 0x7f, 0xef, 0xf8, 0x85, 0x15, 0xa7, 0x85, 0x27,
2655 0x91, 0xb1, 0x86, 0xcb,
2656 ],
2657 Elements::OutputAsset => [
2658 0x57, 0x5a, 0x49, 0xba, 0xb2, 0x1f, 0xfe, 0xe8, 0xe5, 0xbd, 0x00, 0xed, 0xce, 0x32,
2659 0x40, 0x61, 0x04, 0xa0, 0x5d, 0xde, 0xf5, 0xfc, 0x31, 0xa1, 0xa6, 0x45, 0xb1, 0x29,
2660 0x54, 0x8c, 0x8f, 0x3e,
2661 ],
2662 Elements::OutputHash => [
2663 0x7c, 0xb1, 0x7f, 0x8f, 0xc7, 0xa1, 0xae, 0x4e, 0xfc, 0xe3, 0x0a, 0x14, 0x54, 0xe5,
2664 0x2f, 0x85, 0x85, 0x21, 0x3c, 0xd0, 0xf3, 0x67, 0xa1, 0x27, 0xac, 0x27, 0xbb, 0x97,
2665 0x66, 0xea, 0x9e, 0xee,
2666 ],
2667 Elements::OutputIsFee => [
2668 0x9f, 0xbb, 0xe8, 0xae, 0xbd, 0xed, 0xd5, 0x77, 0xae, 0x46, 0x62, 0x80, 0xa9, 0x9b,
2669 0x67, 0xb7, 0x34, 0x32, 0x87, 0xef, 0x34, 0x06, 0x92, 0x53, 0x4a, 0x00, 0x98, 0x03,
2670 0x15, 0xe5, 0x17, 0x72,
2671 ],
2672 Elements::OutputNonce => [
2673 0x71, 0x75, 0xfd, 0x99, 0xa2, 0xba, 0xa1, 0xc3, 0xaf, 0xaa, 0xf7, 0xfa, 0xbd, 0xaa,
2674 0x67, 0xc2, 0xc8, 0x27, 0x48, 0x3b, 0xc8, 0xa0, 0xb9, 0x76, 0x50, 0xcb, 0x79, 0x42,
2675 0xea, 0x29, 0x5a, 0x18,
2676 ],
2677 Elements::OutputNoncesHash => [
2678 0x50, 0xf1, 0x87, 0x66, 0xde, 0x98, 0x28, 0xdb, 0x0a, 0x8c, 0x41, 0xd7, 0xbe, 0xb8,
2679 0x40, 0xf7, 0x7b, 0xc6, 0xe1, 0x21, 0xff, 0x12, 0x3d, 0x54, 0x96, 0xf1, 0xea, 0x0d,
2680 0x6a, 0x78, 0xb8, 0x3a,
2681 ],
2682 Elements::OutputNullDatum => [
2683 0x38, 0xa5, 0xa7, 0xe8, 0x61, 0xb3, 0xb3, 0x6c, 0xce, 0x68, 0x3a, 0x77, 0x2d, 0xb0,
2684 0xc8, 0x62, 0x8b, 0x7f, 0xd3, 0xb4, 0xcf, 0x8e, 0x7b, 0xce, 0x70, 0x75, 0x8f, 0xa6,
2685 0xf6, 0xf1, 0x47, 0xbf,
2686 ],
2687 Elements::OutputRangeProof => [
2688 0x6f, 0xf9, 0xef, 0x3d, 0xac, 0x50, 0x43, 0x10, 0xdf, 0xbc, 0x60, 0x56, 0x1d, 0x2a,
2689 0xdd, 0xeb, 0x44, 0x93, 0x2f, 0x77, 0x7e, 0x7f, 0x13, 0xad, 0xf0, 0x77, 0x4e, 0xb6,
2690 0xb1, 0x4d, 0xf9, 0x66,
2691 ],
2692 Elements::OutputRangeProofsHash => [
2693 0x0d, 0x7d, 0x8a, 0xc9, 0x7a, 0xf9, 0x53, 0x9a, 0xbb, 0xa6, 0x4d, 0x81, 0x04, 0xd1,
2694 0x7e, 0x97, 0x08, 0x54, 0x67, 0x7c, 0x27, 0x46, 0x1d, 0x25, 0xdf, 0x21, 0xa7, 0xf6,
2695 0xb6, 0x62, 0x08, 0x1e,
2696 ],
2697 Elements::OutputScriptHash => [
2698 0x2f, 0x51, 0x39, 0x26, 0x6f, 0x14, 0x3a, 0x33, 0xe1, 0x66, 0x8e, 0x59, 0x4f, 0x43,
2699 0xe8, 0xd1, 0x39, 0x44, 0x07, 0xe3, 0xa9, 0xb8, 0xb8, 0x02, 0xb3, 0x9a, 0x5e, 0x1e,
2700 0xdc, 0x54, 0xe8, 0x51,
2701 ],
2702 Elements::OutputScriptsHash => [
2703 0x21, 0x33, 0x3a, 0xc9, 0x58, 0xa4, 0xeb, 0xfd, 0x5e, 0xab, 0x79, 0x56, 0xdb, 0x73,
2704 0xed, 0x03, 0x26, 0x94, 0x26, 0xaf, 0x8d, 0x7d, 0x24, 0x98, 0xde, 0x57, 0xee, 0xf6,
2705 0x87, 0x04, 0xfb, 0x0a,
2706 ],
2707 Elements::OutputSurjectionProof => [
2708 0x09, 0x16, 0x60, 0x08, 0x1d, 0x52, 0xc3, 0x3f, 0x17, 0xa9, 0x56, 0xbd, 0xda, 0xc6,
2709 0x2a, 0xa2, 0xd2, 0xed, 0x92, 0x8f, 0x8c, 0xff, 0xef, 0x4c, 0xf8, 0xdb, 0xb6, 0x97,
2710 0xb1, 0x53, 0xaa, 0x65,
2711 ],
2712 Elements::OutputSurjectionProofsHash => [
2713 0x36, 0x30, 0xb5, 0x20, 0x83, 0x02, 0x64, 0x1b, 0xf1, 0x9c, 0x4b, 0xf5, 0xca, 0x04,
2714 0x7a, 0xc3, 0xeb, 0x7a, 0xf5, 0x4d, 0x5d, 0x3f, 0x5b, 0xf8, 0xf1, 0xd4, 0x13, 0x12,
2715 0x49, 0x9d, 0x63, 0x84,
2716 ],
2717 Elements::OutputsHash => [
2718 0x95, 0xb3, 0x51, 0x1a, 0xea, 0x00, 0xd0, 0x43, 0xa4, 0xe0, 0x28, 0xb2, 0x5a, 0x17,
2719 0x1c, 0x74, 0x2e, 0xc2, 0xff, 0x7a, 0xd3, 0xa7, 0xdf, 0x2f, 0x1f, 0x6e, 0xda, 0xd0,
2720 0x8b, 0xad, 0x2b, 0x69,
2721 ],
2722 Elements::ParseLock => [
2723 0x3d, 0x38, 0x36, 0xfd, 0x30, 0x85, 0xc1, 0xfb, 0xac, 0x6c, 0xd5, 0xfa, 0x0d, 0xbf,
2724 0x4a, 0x3f, 0xb2, 0x55, 0x45, 0x93, 0x17, 0xa2, 0x66, 0xd6, 0xd6, 0xf7, 0x38, 0x2b,
2725 0xb0, 0x5f, 0x07, 0xad,
2726 ],
2727 Elements::ParseSequence => [
2728 0x74, 0xf3, 0x5c, 0x01, 0x9e, 0xf5, 0x14, 0xb7, 0x0a, 0xb0, 0x08, 0xbf, 0x2a, 0x12,
2729 0x6d, 0xe7, 0xe0, 0x0f, 0x6e, 0x3c, 0xcd, 0x28, 0x5d, 0x51, 0xdb, 0xd3, 0xac, 0x71,
2730 0xbe, 0xa9, 0xc8, 0x8d,
2731 ],
2732 Elements::PointVerify1 => [
2733 0x90, 0xa3, 0xd6, 0x69, 0xb0, 0x0d, 0xa7, 0x95, 0xef, 0xb2, 0xbe, 0xd8, 0xc3, 0x70,
2734 0xc9, 0xe3, 0xea, 0x0f, 0x19, 0xc4, 0x1c, 0x7c, 0xf2, 0x3e, 0x49, 0x2e, 0x33, 0x17,
2735 0x1a, 0x47, 0xf5, 0xff,
2736 ],
2737 Elements::ReissuanceBlinding => [
2738 0xeb, 0x6e, 0x58, 0x1e, 0x20, 0xba, 0x0b, 0xab, 0xe9, 0x04, 0xc8, 0xda, 0x71, 0xa8,
2739 0x1f, 0x7c, 0x88, 0xb9, 0xcf, 0x4f, 0x42, 0xd7, 0x8b, 0x54, 0x0c, 0x1b, 0x39, 0x8c,
2740 0x3f, 0x10, 0x5c, 0xcc,
2741 ],
2742 Elements::ReissuanceEntropy => [
2743 0xd1, 0xd2, 0x2c, 0x49, 0x7f, 0x12, 0x9c, 0x6d, 0x6f, 0xdb, 0xe4, 0x91, 0x36, 0x4a,
2744 0x35, 0x13, 0xbc, 0xd6, 0x6e, 0x15, 0x61, 0x8c, 0xbb, 0xe2, 0xe5, 0x07, 0x39, 0xbd,
2745 0x83, 0x4d, 0xb7, 0xf8,
2746 ],
2747 Elements::RightExtend16_32 => [
2748 0x78, 0x07, 0x16, 0xd3, 0xe8, 0x29, 0x1a, 0x51, 0xe4, 0x5a, 0xda, 0x50, 0x55, 0x8e,
2749 0xfe, 0x41, 0x1c, 0x47, 0x5c, 0x08, 0x5e, 0xec, 0x5a, 0x28, 0xad, 0x97, 0x91, 0xc3,
2750 0x12, 0xfe, 0xe2, 0xbc,
2751 ],
2752 Elements::RightExtend16_64 => [
2753 0xc7, 0x70, 0x49, 0x7e, 0x45, 0x23, 0x08, 0xeb, 0xf5, 0x2e, 0x51, 0xb0, 0x58, 0x5e,
2754 0x91, 0x51, 0xe0, 0xff, 0xc3, 0x50, 0x86, 0xab, 0x77, 0x2d, 0x72, 0x41, 0x53, 0x2a,
2755 0x1b, 0xe1, 0x5e, 0x07,
2756 ],
2757 Elements::RightExtend32_64 => [
2758 0x42, 0xb4, 0x3a, 0xdc, 0x74, 0xb5, 0x26, 0x6c, 0x91, 0xd7, 0x3d, 0xf4, 0x91, 0xdc,
2759 0xae, 0x59, 0x73, 0x88, 0x04, 0xeb, 0x44, 0x0b, 0x23, 0xda, 0x32, 0x75, 0x30, 0x48,
2760 0x74, 0x86, 0xb7, 0xe8,
2761 ],
2762 Elements::RightExtend8_16 => [
2763 0xbc, 0xb2, 0x68, 0x3a, 0x8c, 0xb8, 0xb8, 0xc2, 0x35, 0xfa, 0xa8, 0x96, 0xa9, 0xc0,
2764 0x69, 0xe1, 0xb5, 0x5b, 0xb0, 0x55, 0x8e, 0x73, 0x9e, 0x70, 0xe2, 0x89, 0x14, 0x21,
2765 0x1e, 0x32, 0x75, 0xc8,
2766 ],
2767 Elements::RightExtend8_32 => [
2768 0x6d, 0xdb, 0x55, 0x48, 0xfd, 0x58, 0x3c, 0xd2, 0xd3, 0x58, 0x6e, 0x6b, 0x8b, 0xf9,
2769 0x95, 0x24, 0x6b, 0x61, 0x93, 0x4f, 0x49, 0x76, 0x44, 0x67, 0x77, 0xdd, 0x57, 0x40,
2770 0xb3, 0x19, 0xe4, 0x62,
2771 ],
2772 Elements::RightExtend8_64 => [
2773 0xda, 0x4f, 0x9c, 0x21, 0x45, 0x51, 0x26, 0x82, 0x07, 0x58, 0xa2, 0xe4, 0xb5, 0x3f,
2774 0xce, 0xb4, 0x52, 0x3e, 0x6e, 0x7a, 0x29, 0x23, 0xa1, 0xa1, 0x61, 0xfc, 0x37, 0x89,
2775 0x2a, 0xc8, 0xda, 0x2a,
2776 ],
2777 Elements::RightPadHigh16_32 => [
2778 0x3e, 0x4e, 0x5e, 0x9e, 0x71, 0xe1, 0x37, 0xa2, 0x68, 0x63, 0x43, 0xe0, 0x5a, 0xc5,
2779 0x63, 0x16, 0xac, 0xfc, 0x58, 0x99, 0x1c, 0xb3, 0x8d, 0xb1, 0xb3, 0x23, 0x44, 0x13,
2780 0xf7, 0x30, 0xa1, 0x42,
2781 ],
2782 Elements::RightPadHigh16_64 => [
2783 0xde, 0x09, 0xdf, 0x9d, 0x43, 0xdd, 0xad, 0x2d, 0x69, 0x12, 0x04, 0x98, 0x6c, 0xf0,
2784 0x81, 0x9d, 0x6b, 0x80, 0x45, 0xbc, 0xa4, 0x14, 0xd8, 0x0a, 0xf2, 0x16, 0x28, 0x92,
2785 0xa9, 0x25, 0x7e, 0xad,
2786 ],
2787 Elements::RightPadHigh1_16 => [
2788 0xff, 0x12, 0x97, 0xd8, 0x78, 0xe2, 0x6e, 0x19, 0x59, 0xbc, 0xc7, 0xe8, 0xae, 0xf9,
2789 0x7a, 0xc0, 0xb6, 0x5a, 0xdc, 0x39, 0x92, 0x3e, 0xc6, 0x50, 0x5e, 0x50, 0xf9, 0x83,
2790 0x05, 0x73, 0x3b, 0x6c,
2791 ],
2792 Elements::RightPadHigh1_32 => [
2793 0x28, 0x3f, 0x8a, 0xfb, 0x41, 0x38, 0x2d, 0x2b, 0xe1, 0x8f, 0x8a, 0x77, 0xc3, 0x14,
2794 0xba, 0x17, 0x76, 0xcb, 0x80, 0xc8, 0xec, 0x36, 0xca, 0x12, 0xaa, 0x67, 0xb3, 0x2b,
2795 0xb6, 0x4e, 0xd8, 0x43,
2796 ],
2797 Elements::RightPadHigh1_64 => [
2798 0xa3, 0x42, 0x35, 0x28, 0x60, 0xa3, 0x35, 0x0d, 0x79, 0xc3, 0xe9, 0xfc, 0x7a, 0x4a,
2799 0xb3, 0x78, 0x9b, 0x8b, 0x02, 0x97, 0x85, 0x6f, 0xd1, 0x69, 0xca, 0x4d, 0x7d, 0xe2,
2800 0x5f, 0x7d, 0x7c, 0xc4,
2801 ],
2802 Elements::RightPadHigh1_8 => [
2803 0x71, 0x03, 0xc0, 0xfe, 0x00, 0xf5, 0x22, 0xa2, 0x21, 0x6c, 0x4a, 0x6b, 0xe5, 0xf7,
2804 0xe0, 0xeb, 0x4d, 0x70, 0x3c, 0xa7, 0x8f, 0x9c, 0x59, 0x8f, 0x6b, 0x3d, 0xfd, 0xe4,
2805 0x37, 0xd8, 0x0c, 0x84,
2806 ],
2807 Elements::RightPadHigh32_64 => [
2808 0x5d, 0xc9, 0x10, 0x7d, 0x45, 0x34, 0x95, 0x8c, 0xe4, 0x42, 0x27, 0x67, 0x56, 0x3a,
2809 0x03, 0x1a, 0x38, 0x0f, 0x60, 0xd3, 0x83, 0x71, 0x48, 0xab, 0x3c, 0x8c, 0xc9, 0xc4,
2810 0xc7, 0xd9, 0x96, 0xa2,
2811 ],
2812 Elements::RightPadHigh8_16 => [
2813 0xc0, 0xe2, 0xfd, 0x46, 0xf7, 0x88, 0x3b, 0x12, 0x85, 0xa6, 0xf1, 0xa1, 0xdb, 0x96,
2814 0xd9, 0x3c, 0x25, 0x48, 0x04, 0x0f, 0xcd, 0x3f, 0x5c, 0x23, 0xfb, 0xb2, 0x0b, 0x5e,
2815 0x83, 0x03, 0x7c, 0x96,
2816 ],
2817 Elements::RightPadHigh8_32 => [
2818 0x29, 0x1e, 0x62, 0x77, 0x08, 0x52, 0x0c, 0x2c, 0xa6, 0xae, 0xce, 0x32, 0xa8, 0x77,
2819 0xb7, 0x78, 0x49, 0xc4, 0xa7, 0xa2, 0x13, 0xcb, 0x89, 0xe1, 0xbd, 0xa7, 0xc5, 0xc5,
2820 0xfe, 0x75, 0x5f, 0x73,
2821 ],
2822 Elements::RightPadHigh8_64 => [
2823 0x6b, 0x6f, 0xa2, 0x37, 0x2e, 0xd2, 0x5e, 0x4a, 0x34, 0xd4, 0xae, 0x17, 0x23, 0x42,
2824 0xad, 0xbb, 0x25, 0x9b, 0xe8, 0x98, 0x76, 0x00, 0xdb, 0x19, 0x2e, 0xcb, 0x8d, 0xa4,
2825 0x34, 0xb9, 0xd8, 0x8f,
2826 ],
2827 Elements::RightPadLow16_32 => [
2828 0x77, 0x31, 0xd5, 0x60, 0xd3, 0x75, 0x92, 0xd1, 0xa3, 0x1f, 0x73, 0x62, 0x96, 0x7a,
2829 0xb2, 0xe4, 0x75, 0x92, 0xac, 0xa6, 0xe9, 0x2a, 0xb8, 0x58, 0x82, 0x37, 0x92, 0xda,
2830 0xe5, 0xd2, 0xdb, 0x52,
2831 ],
2832 Elements::RightPadLow16_64 => [
2833 0x0f, 0xe1, 0xc0, 0xdb, 0x9d, 0x4a, 0x2d, 0x63, 0xe2, 0xba, 0x4a, 0x33, 0x11, 0x7a,
2834 0xad, 0xba, 0x64, 0x51, 0x4a, 0x2b, 0x87, 0xa7, 0xa4, 0xe7, 0x93, 0xfa, 0xac, 0xfe,
2835 0x6b, 0x36, 0x34, 0x47,
2836 ],
2837 Elements::RightPadLow1_16 => [
2838 0x79, 0x14, 0xc8, 0xf2, 0x22, 0x47, 0xc2, 0xc3, 0x4b, 0x9c, 0x84, 0xe9, 0x2d, 0x14,
2839 0x44, 0xae, 0xc2, 0xe1, 0x7a, 0x0e, 0xf5, 0x86, 0xba, 0xb2, 0x78, 0x8e, 0xe6, 0xef,
2840 0x68, 0x84, 0x0d, 0x98,
2841 ],
2842 Elements::RightPadLow1_32 => [
2843 0x31, 0xb6, 0xce, 0x26, 0xe5, 0x59, 0xf7, 0x6c, 0xf3, 0x66, 0xf4, 0x80, 0x69, 0x85,
2844 0xec, 0xc2, 0x99, 0x55, 0x0f, 0x15, 0xd4, 0xc3, 0xa6, 0x72, 0x9e, 0x29, 0xd7, 0x0e,
2845 0x39, 0x89, 0x56, 0x52,
2846 ],
2847 Elements::RightPadLow1_64 => [
2848 0xc5, 0x52, 0x4a, 0xe6, 0x54, 0x8a, 0xcd, 0x63, 0x08, 0x2d, 0x94, 0x89, 0x3e, 0x18,
2849 0xf9, 0xed, 0xbb, 0x92, 0x31, 0xe7, 0x6b, 0xb4, 0xe1, 0x1b, 0xbf, 0xf6, 0xa7, 0xbd,
2850 0x16, 0xf4, 0xb0, 0x29,
2851 ],
2852 Elements::RightPadLow1_8 => [
2853 0x59, 0xd7, 0x22, 0x70, 0xef, 0x0e, 0x8f, 0x77, 0x0c, 0x8d, 0x11, 0xf3, 0x17, 0x73,
2854 0xf9, 0xb6, 0xe9, 0x0a, 0x4a, 0xec, 0xeb, 0x5b, 0xfb, 0x3d, 0xfe, 0x96, 0x8c, 0x4e,
2855 0x9d, 0xac, 0x5f, 0xe8,
2856 ],
2857 Elements::RightPadLow32_64 => [
2858 0xd4, 0x22, 0x7d, 0x06, 0x6f, 0x18, 0xb9, 0x11, 0xd6, 0xf5, 0xd9, 0xbf, 0xb9, 0xd9,
2859 0xf4, 0x6e, 0x9a, 0xea, 0xdb, 0xbe, 0xfa, 0x34, 0xd4, 0x74, 0x43, 0x2a, 0x1e, 0x78,
2860 0x9e, 0x48, 0x86, 0xff,
2861 ],
2862 Elements::RightPadLow8_16 => [
2863 0xab, 0xa4, 0x7a, 0x53, 0x6e, 0x12, 0x27, 0xe1, 0x22, 0xba, 0xac, 0xf1, 0x9c, 0xfd,
2864 0x28, 0x23, 0xb9, 0xb7, 0x8d, 0x79, 0xcc, 0x06, 0xd3, 0x4c, 0x34, 0x8b, 0x14, 0xa1,
2865 0xa1, 0x5a, 0xbd, 0x64,
2866 ],
2867 Elements::RightPadLow8_32 => [
2868 0x8f, 0x80, 0xa6, 0xc2, 0x74, 0x71, 0x6b, 0x67, 0x22, 0x04, 0x11, 0x34, 0xea, 0x1c,
2869 0x68, 0xaa, 0xbf, 0x02, 0x13, 0x29, 0x8f, 0x4e, 0x18, 0xf8, 0xf4, 0x92, 0xdc, 0x53,
2870 0x80, 0x8a, 0x31, 0x74,
2871 ],
2872 Elements::RightPadLow8_64 => [
2873 0xd6, 0x9c, 0x85, 0xe7, 0xb2, 0xd7, 0xe9, 0x49, 0x43, 0x6c, 0xb1, 0x29, 0x5e, 0x4a,
2874 0xa7, 0x05, 0x57, 0xd7, 0x5e, 0x7c, 0xbd, 0xec, 0x02, 0xcc, 0xa8, 0x5f, 0xbf, 0xb1,
2875 0x33, 0x08, 0xb2, 0x10,
2876 ],
2877 Elements::RightRotate16 => [
2878 0xe5, 0x10, 0x70, 0x82, 0x47, 0xf9, 0x1b, 0x4f, 0x0a, 0x8a, 0x22, 0xa4, 0x46, 0xb8,
2879 0x13, 0x7d, 0x0d, 0x42, 0xbe, 0xe7, 0x4c, 0x8c, 0x1e, 0xdd, 0x6d, 0x44, 0x6e, 0xdb,
2880 0x20, 0x13, 0xb5, 0x98,
2881 ],
2882 Elements::RightRotate32 => [
2883 0x98, 0x91, 0x57, 0x31, 0x41, 0x29, 0x22, 0xdb, 0xc5, 0x16, 0xa7, 0x37, 0x3a, 0xfc,
2884 0x4d, 0xe6, 0x48, 0x09, 0xf8, 0x3b, 0x26, 0x4b, 0xcf, 0xca, 0x6a, 0xe7, 0x48, 0x83,
2885 0xdb, 0xe1, 0x04, 0xd6,
2886 ],
2887 Elements::RightRotate64 => [
2888 0x9e, 0x2f, 0xb9, 0x8a, 0xdf, 0x10, 0x29, 0x33, 0x9d, 0xbe, 0x45, 0xa2, 0x2a, 0x54,
2889 0xa3, 0x90, 0xca, 0x09, 0x86, 0xed, 0xce, 0xa3, 0x2e, 0xac, 0xb8, 0x2e, 0xbc, 0xc8,
2890 0x94, 0xa2, 0x71, 0x1a,
2891 ],
2892 Elements::RightRotate8 => [
2893 0x00, 0xc7, 0xc2, 0x6d, 0x95, 0xa5, 0x0b, 0x5a, 0xf9, 0x34, 0x9f, 0xfe, 0x47, 0xe1,
2894 0xd4, 0x3f, 0x3d, 0x76, 0x1f, 0x17, 0xa7, 0x45, 0x3c, 0x98, 0x47, 0x91, 0xe8, 0x7d,
2895 0xc6, 0xa3, 0x11, 0xc8,
2896 ],
2897 Elements::RightShift16 => [
2898 0x8b, 0x5e, 0x0f, 0xeb, 0x95, 0x81, 0x30, 0xf0, 0x50, 0x83, 0x32, 0x15, 0x9e, 0x54,
2899 0xc2, 0xdf, 0x98, 0xaf, 0x83, 0x52, 0x1a, 0xca, 0xb3, 0x08, 0x4f, 0xd4, 0xf7, 0xc3,
2900 0xa2, 0xcc, 0xea, 0x77,
2901 ],
2902 Elements::RightShift32 => [
2903 0x4b, 0x1f, 0x25, 0x80, 0xe0, 0x85, 0x0d, 0x38, 0xe2, 0xa1, 0x15, 0x73, 0x38, 0x05,
2904 0x2f, 0x1c, 0x37, 0x9f, 0x9d, 0x81, 0x57, 0xf6, 0x2d, 0x33, 0x89, 0x0a, 0xf2, 0x4f,
2905 0xd9, 0xa7, 0xf7, 0x3e,
2906 ],
2907 Elements::RightShift64 => [
2908 0x91, 0xa2, 0x97, 0xd7, 0xb5, 0x8a, 0x39, 0x3b, 0xf5, 0x90, 0x25, 0x94, 0x77, 0x47,
2909 0xc8, 0x6d, 0xd4, 0x87, 0x65, 0x9c, 0xc5, 0x6f, 0xb5, 0xa6, 0xf6, 0x43, 0x99, 0x55,
2910 0x12, 0x9a, 0x95, 0x63,
2911 ],
2912 Elements::RightShift8 => [
2913 0xa4, 0xc3, 0x54, 0x6f, 0xf2, 0x7e, 0x56, 0xd6, 0x4e, 0x91, 0x8a, 0xb2, 0xfa, 0x6d,
2914 0x00, 0xfc, 0x27, 0x04, 0x58, 0x5b, 0x25, 0xbd, 0xe0, 0x04, 0x9d, 0x6d, 0x8f, 0x48,
2915 0xd8, 0xcf, 0x1c, 0xd0,
2916 ],
2917 Elements::RightShiftWith16 => [
2918 0xfd, 0x97, 0x70, 0x30, 0xe3, 0xa2, 0x5a, 0x32, 0xe7, 0x75, 0xb8, 0xd5, 0xe8, 0x71,
2919 0x74, 0xa7, 0xa9, 0xe8, 0x73, 0x1e, 0xc3, 0x6c, 0xf1, 0x32, 0x64, 0x20, 0xad, 0x91,
2920 0x50, 0x2e, 0x6e, 0x98,
2921 ],
2922 Elements::RightShiftWith32 => [
2923 0x28, 0x29, 0xba, 0x02, 0x1f, 0x54, 0x07, 0x7a, 0xff, 0xb6, 0x6a, 0xc6, 0xb6, 0xdf,
2924 0xd3, 0xfe, 0xf3, 0x8b, 0xc4, 0x14, 0x91, 0x84, 0x5a, 0x41, 0xce, 0x9d, 0xd3, 0x70,
2925 0x58, 0x6c, 0x2d, 0x04,
2926 ],
2927 Elements::RightShiftWith64 => [
2928 0x00, 0x6f, 0xa3, 0xc5, 0x45, 0x79, 0x75, 0x47, 0x86, 0xfc, 0x64, 0xdc, 0x32, 0xe1,
2929 0x9a, 0x22, 0x5c, 0xc1, 0x52, 0xc9, 0x4d, 0xee, 0xb3, 0xc6, 0xab, 0x29, 0x67, 0xdd,
2930 0xbf, 0xc6, 0x46, 0x53,
2931 ],
2932 Elements::RightShiftWith8 => [
2933 0xfc, 0xb5, 0xbe, 0x65, 0x07, 0xf0, 0xca, 0x44, 0xbe, 0x2b, 0xe1, 0xcc, 0x3c, 0x3c,
2934 0xfe, 0x39, 0x94, 0x40, 0x4b, 0x80, 0x83, 0xbd, 0x76, 0x02, 0xb2, 0x10, 0x2c, 0xb1,
2935 0xfc, 0xfa, 0x2c, 0x61,
2936 ],
2937 Elements::Rightmost16_1 => [
2938 0x3f, 0x3c, 0x43, 0x46, 0x87, 0x17, 0x42, 0x26, 0x5e, 0x87, 0xf0, 0x01, 0xb4, 0x6d,
2939 0xe7, 0xd1, 0x98, 0x75, 0x1b, 0x34, 0xfa, 0xa1, 0x80, 0x18, 0xde, 0x60, 0xc8, 0x46,
2940 0x8d, 0x9b, 0x98, 0xa4,
2941 ],
2942 Elements::Rightmost16_2 => [
2943 0x78, 0xf1, 0x71, 0x47, 0x6a, 0x3b, 0x0e, 0xd1, 0xe3, 0xa5, 0x45, 0x5a, 0x5f, 0xbb,
2944 0xcc, 0x90, 0x19, 0x81, 0xb3, 0x23, 0x0f, 0xea, 0x12, 0x64, 0x20, 0x4d, 0xac, 0xd0,
2945 0x81, 0xf9, 0x40, 0x80,
2946 ],
2947 Elements::Rightmost16_4 => [
2948 0x75, 0xa1, 0xdf, 0xb6, 0xae, 0x2c, 0x06, 0x6b, 0x2d, 0x0e, 0x20, 0x93, 0x04, 0x8a,
2949 0xdb, 0xc5, 0x0d, 0x46, 0x50, 0x65, 0x6f, 0xb2, 0xd3, 0x57, 0x8b, 0x57, 0xd9, 0xde,
2950 0x4c, 0x61, 0xc8, 0xb5,
2951 ],
2952 Elements::Rightmost16_8 => [
2953 0xee, 0x76, 0x9c, 0x1c, 0xc8, 0xa3, 0xfd, 0xd1, 0x83, 0x8f, 0xc9, 0xf0, 0x49, 0x0c,
2954 0xe7, 0x03, 0x93, 0xfd, 0x91, 0xba, 0x3c, 0xbd, 0x4a, 0xbd, 0x08, 0x64, 0x9f, 0xb9,
2955 0xc4, 0x43, 0x11, 0xbd,
2956 ],
2957 Elements::Rightmost32_1 => [
2958 0xcb, 0x0d, 0xb5, 0x69, 0xa3, 0x61, 0x86, 0xa2, 0x56, 0x05, 0xa9, 0xd2, 0xe4, 0xe1,
2959 0x0a, 0x20, 0xc1, 0x11, 0xd5, 0x0c, 0x34, 0xf1, 0x72, 0x46, 0x52, 0x0b, 0xc4, 0x54,
2960 0xd8, 0x68, 0x28, 0x36,
2961 ],
2962 Elements::Rightmost32_16 => [
2963 0x06, 0xfa, 0xa3, 0xbe, 0x67, 0x8c, 0xd6, 0xfd, 0xd7, 0xf3, 0x11, 0x2e, 0xbf, 0x2c,
2964 0x48, 0x62, 0x7a, 0xfa, 0x78, 0x75, 0xf7, 0x06, 0x8d, 0x26, 0xa9, 0xcc, 0x04, 0x5b,
2965 0x2c, 0x8f, 0x11, 0xbc,
2966 ],
2967 Elements::Rightmost32_2 => [
2968 0x00, 0xb8, 0x81, 0x5a, 0xd7, 0x42, 0x3d, 0xd5, 0x8c, 0xb9, 0x8b, 0xe8, 0x2c, 0xad,
2969 0x26, 0x67, 0x5c, 0x3b, 0xf5, 0x4a, 0x0b, 0xed, 0xba, 0xde, 0x34, 0x64, 0xb4, 0xfe,
2970 0x5a, 0x4e, 0x8c, 0xe6,
2971 ],
2972 Elements::Rightmost32_4 => [
2973 0x3d, 0xfa, 0x7a, 0x20, 0x19, 0x8e, 0x42, 0xd6, 0xa7, 0x94, 0x8c, 0x8e, 0xd8, 0xe0,
2974 0xd4, 0x7e, 0xc7, 0xc0, 0x00, 0x7b, 0x3d, 0x68, 0x66, 0xca, 0x15, 0xe3, 0xda, 0x04,
2975 0x5b, 0x85, 0x63, 0xc7,
2976 ],
2977 Elements::Rightmost32_8 => [
2978 0x17, 0xb5, 0x8d, 0x6e, 0x30, 0x4b, 0x1c, 0x7e, 0x5d, 0xbf, 0x0c, 0x4d, 0xf6, 0xfc,
2979 0xc8, 0x03, 0xc0, 0x08, 0x94, 0x4c, 0x79, 0x95, 0x55, 0x5b, 0x94, 0xe1, 0x28, 0x9b,
2980 0x25, 0x49, 0xbe, 0x99,
2981 ],
2982 Elements::Rightmost64_1 => [
2983 0x5e, 0x8f, 0xb4, 0x9f, 0xac, 0xe0, 0x34, 0x48, 0x1d, 0xc6, 0x53, 0x61, 0x8e, 0x2a,
2984 0x8b, 0x65, 0xea, 0xf0, 0x99, 0x3f, 0x28, 0x84, 0x4c, 0xc9, 0xb1, 0x30, 0xca, 0xcc,
2985 0xe4, 0x5e, 0x82, 0xde,
2986 ],
2987 Elements::Rightmost64_16 => [
2988 0xc6, 0x4c, 0xa9, 0x96, 0x55, 0x36, 0xf2, 0x37, 0xbc, 0x4d, 0x16, 0x6e, 0x4a, 0xec,
2989 0xa5, 0x6e, 0xac, 0x26, 0x62, 0xe6, 0x3a, 0xcc, 0xb9, 0x8b, 0x6e, 0x54, 0x25, 0x60,
2990 0xf9, 0xe5, 0x38, 0xda,
2991 ],
2992 Elements::Rightmost64_2 => [
2993 0x83, 0xd2, 0xda, 0x6f, 0x34, 0x20, 0xd7, 0x79, 0xbc, 0xb8, 0xf6, 0x0d, 0x0b, 0x69,
2994 0x6e, 0xed, 0x74, 0xc3, 0x1d, 0xb0, 0x8a, 0xdd, 0xbe, 0xbd, 0x12, 0x35, 0xa5, 0xdf,
2995 0x8f, 0x59, 0xc4, 0x2f,
2996 ],
2997 Elements::Rightmost64_32 => [
2998 0x7d, 0x2d, 0xff, 0x6e, 0x3d, 0xd5, 0x04, 0xbb, 0x0e, 0x57, 0x03, 0xa0, 0x33, 0x58,
2999 0x6d, 0x27, 0xd9, 0x66, 0x44, 0xc0, 0x48, 0xab, 0x34, 0xa4, 0x5b, 0xf5, 0x35, 0x12,
3000 0x9d, 0x50, 0x11, 0x67,
3001 ],
3002 Elements::Rightmost64_4 => [
3003 0x84, 0x1b, 0xbd, 0x65, 0x27, 0x42, 0xdd, 0xd3, 0xad, 0xea, 0xe4, 0x3c, 0xfe, 0xd6,
3004 0x32, 0x9f, 0x2f, 0xd6, 0x2e, 0x6f, 0xec, 0xd0, 0xfd, 0x58, 0xe3, 0xc3, 0xfb, 0x8b,
3005 0x5a, 0x0e, 0x4d, 0xd5,
3006 ],
3007 Elements::Rightmost64_8 => [
3008 0xa0, 0xa6, 0x1c, 0x76, 0x58, 0xa1, 0x86, 0x23, 0xbf, 0x1d, 0x01, 0x1a, 0x97, 0x92,
3009 0xd5, 0x18, 0xfb, 0xd0, 0x24, 0x14, 0x2a, 0x90, 0x44, 0x00, 0xec, 0xde, 0xea, 0x92,
3010 0x45, 0x7a, 0x0a, 0x81,
3011 ],
3012 Elements::Rightmost8_1 => [
3013 0x99, 0x9b, 0x68, 0x6e, 0x60, 0xb3, 0xd1, 0xec, 0xd6, 0xc6, 0xd7, 0x7f, 0xbc, 0xa8,
3014 0x2c, 0xb2, 0xab, 0xbd, 0x41, 0x82, 0xc8, 0x21, 0x12, 0x67, 0x47, 0x5f, 0xa0, 0xc1,
3015 0x90, 0x1d, 0x89, 0xf9,
3016 ],
3017 Elements::Rightmost8_2 => [
3018 0x53, 0x07, 0xff, 0xbf, 0x51, 0x6c, 0xd0, 0xee, 0xf3, 0xff, 0x43, 0x87, 0xb9, 0x05,
3019 0x2c, 0x14, 0x4a, 0x4d, 0xfa, 0x23, 0x29, 0x23, 0x7c, 0x6b, 0x27, 0x49, 0x92, 0xb2,
3020 0xc8, 0x04, 0x7b, 0x60,
3021 ],
3022 Elements::Rightmost8_4 => [
3023 0x7f, 0x52, 0xe6, 0x45, 0xbb, 0xbb, 0xd7, 0x92, 0x69, 0xc4, 0x3e, 0xf0, 0x2d, 0xb9,
3024 0x82, 0xf8, 0xc6, 0x36, 0x33, 0xc1, 0x79, 0xe4, 0x06, 0x91, 0x73, 0x93, 0x36, 0x04,
3025 0xcc, 0x63, 0x5b, 0xca,
3026 ],
3027 Elements::ScalarAdd => [
3028 0x34, 0xba, 0xa4, 0x0b, 0x2e, 0x0a, 0xa8, 0xcb, 0x7e, 0x97, 0xc7, 0x3e, 0x3e, 0xd3,
3029 0xb3, 0x65, 0xa1, 0x5b, 0x7c, 0x3f, 0x76, 0x61, 0xfb, 0x19, 0x71, 0x5e, 0xc6, 0x05,
3030 0xc1, 0x14, 0x9d, 0x11,
3031 ],
3032 Elements::ScalarInvert => [
3033 0x62, 0x31, 0xbd, 0xab, 0x73, 0xca, 0x34, 0xea, 0x7e, 0x83, 0x7d, 0xaa, 0xd6, 0x92,
3034 0xed, 0xe5, 0xba, 0xbf, 0xae, 0x09, 0xb5, 0x75, 0x6d, 0x2a, 0xb3, 0x6c, 0x5a, 0x36,
3035 0x47, 0x5a, 0x65, 0x89,
3036 ],
3037 Elements::ScalarIsZero => [
3038 0xf7, 0x5e, 0xda, 0x06, 0xce, 0x6a, 0xf0, 0x9f, 0xae, 0x37, 0xdb, 0x4e, 0x62, 0x25,
3039 0xe6, 0xa8, 0xac, 0x86, 0xa2, 0x36, 0x37, 0x62, 0x7d, 0x62, 0x64, 0x09, 0x19, 0x0f,
3040 0xf3, 0xb3, 0x9d, 0x90,
3041 ],
3042 Elements::ScalarMultiply => [
3043 0xb2, 0xbc, 0xc3, 0x90, 0xd6, 0x37, 0xb9, 0xe0, 0x3f, 0xbf, 0xc4, 0x2f, 0xff, 0x71,
3044 0xd2, 0x2e, 0x72, 0x00, 0xf6, 0x93, 0x29, 0xce, 0xf7, 0x16, 0x9e, 0x68, 0xa8, 0xc7,
3045 0x1a, 0x7f, 0x0a, 0x4b,
3046 ],
3047 Elements::ScalarMultiplyLambda => [
3048 0x89, 0xd5, 0x85, 0x5c, 0x5f, 0x85, 0xc0, 0x03, 0x5d, 0x27, 0xb0, 0xc0, 0x9e, 0x20,
3049 0x33, 0x0b, 0x00, 0x1c, 0x68, 0x4b, 0x59, 0x86, 0xab, 0xce, 0xd8, 0x36, 0x0c, 0xd3,
3050 0x9b, 0x08, 0xc4, 0xe1,
3051 ],
3052 Elements::ScalarNegate => [
3053 0x07, 0x05, 0xac, 0xdf, 0xb8, 0x66, 0x40, 0x00, 0x0e, 0x3d, 0x3b, 0xad, 0x50, 0x9a,
3054 0x14, 0xa7, 0x8c, 0x17, 0x1f, 0x61, 0xed, 0xc0, 0x84, 0x23, 0xb0, 0x42, 0xb9, 0x47,
3055 0x48, 0x43, 0x9c, 0xf8,
3056 ],
3057 Elements::ScalarNormalize => [
3058 0xa0, 0x61, 0xe1, 0x9d, 0x75, 0xc3, 0x25, 0xa2, 0x6d, 0x56, 0x5a, 0xad, 0x7e, 0x3f,
3059 0x9a, 0xe2, 0x6b, 0x22, 0x2f, 0x25, 0xe8, 0x02, 0x17, 0x4f, 0x6b, 0xac, 0xd5, 0x11,
3060 0x27, 0x7a, 0xea, 0xa5,
3061 ],
3062 Elements::ScalarSquare => [
3063 0x49, 0xf7, 0x34, 0xa2, 0x65, 0x9c, 0xa0, 0xab, 0x7c, 0x9e, 0x67, 0xfc, 0xfc, 0x3c,
3064 0x0d, 0x72, 0xaf, 0x0f, 0x91, 0x7c, 0x9e, 0xdc, 0xb9, 0x92, 0x9d, 0x17, 0x7a, 0x0f,
3065 0x0d, 0xe8, 0x9d, 0x59,
3066 ],
3067 Elements::Scale => [
3068 0xc0, 0x45, 0x43, 0xdc, 0x85, 0xef, 0x11, 0x37, 0x4a, 0x93, 0x0f, 0x4a, 0x94, 0x8e,
3069 0xb7, 0x35, 0xa6, 0x50, 0x0a, 0x1a, 0x71, 0x58, 0xd5, 0x73, 0x12, 0x3f, 0x07, 0x21,
3070 0x71, 0x75, 0xf3, 0x18,
3071 ],
3072 Elements::ScriptCMR => [
3073 0xec, 0x15, 0xf5, 0x9c, 0x52, 0x4d, 0x94, 0x14, 0x69, 0x81, 0x19, 0x54, 0x65, 0x4f,
3074 0x63, 0x58, 0x30, 0xec, 0xd7, 0xde, 0x51, 0x76, 0x62, 0xb2, 0x5c, 0xa4, 0xe8, 0xd0,
3075 0x5c, 0x2c, 0xce, 0x89,
3076 ],
3077 Elements::Sha256Block => [
3078 0x0c, 0x97, 0xa0, 0x08, 0xad, 0xe8, 0x7b, 0xb1, 0xe0, 0xac, 0x06, 0xb7, 0xd0, 0x31,
3079 0x30, 0x23, 0x36, 0x28, 0x58, 0xef, 0x90, 0xec, 0x14, 0xec, 0x9c, 0xb9, 0x5f, 0x0d,
3080 0xa9, 0x64, 0xe0, 0x08,
3081 ],
3082 Elements::Sha256Ctx8Add1 => [
3083 0x37, 0x06, 0x6c, 0x67, 0xad, 0x95, 0x24, 0x9d, 0x4b, 0xa6, 0xe1, 0x81, 0x44, 0xca,
3084 0x0a, 0x41, 0x5d, 0x9c, 0x83, 0x2a, 0xa6, 0xb6, 0x06, 0x28, 0xe9, 0x7c, 0x96, 0x7e,
3085 0xb1, 0x79, 0x33, 0x83,
3086 ],
3087 Elements::Sha256Ctx8Add128 => [
3088 0x2d, 0xcf, 0x48, 0x4c, 0x25, 0x7f, 0x67, 0x94, 0x0c, 0xa3, 0x75, 0xba, 0x98, 0xe8,
3089 0x3c, 0xe0, 0xe2, 0xa7, 0x1e, 0x16, 0xda, 0x50, 0x51, 0xd1, 0xbb, 0x19, 0xfb, 0x5f,
3090 0x34, 0x6f, 0x15, 0x4f,
3091 ],
3092 Elements::Sha256Ctx8Add16 => [
3093 0x82, 0x99, 0x25, 0x20, 0x40, 0xcb, 0x39, 0xe3, 0x26, 0xa2, 0x48, 0xd5, 0xc7, 0x88,
3094 0xf9, 0x51, 0x6d, 0x15, 0xa2, 0xff, 0x41, 0x45, 0xbb, 0x64, 0xad, 0x65, 0x77, 0xae,
3095 0x1a, 0x3e, 0xf7, 0x27,
3096 ],
3097 Elements::Sha256Ctx8Add2 => [
3098 0x8b, 0xae, 0x3e, 0x7e, 0x1e, 0xd4, 0xdc, 0xba, 0x6e, 0x64, 0x5a, 0xa1, 0x43, 0x41,
3099 0xbb, 0xae, 0x0d, 0xbb, 0x3a, 0xe2, 0x1b, 0xb6, 0x3d, 0xc0, 0x30, 0xca, 0x0e, 0x44,
3100 0x7a, 0x85, 0x7e, 0xc2,
3101 ],
3102 Elements::Sha256Ctx8Add256 => [
3103 0x44, 0xb7, 0x17, 0xe1, 0x97, 0x09, 0x99, 0xb6, 0x6b, 0x69, 0x3d, 0x8c, 0x9d, 0x1d,
3104 0x3b, 0x06, 0x05, 0xc2, 0xb7, 0xa6, 0x21, 0x3e, 0x6b, 0xa5, 0x6c, 0x69, 0xaf, 0x8d,
3105 0x7f, 0xae, 0x16, 0x86,
3106 ],
3107 Elements::Sha256Ctx8Add32 => [
3108 0x39, 0x23, 0x9a, 0x43, 0xa8, 0x4b, 0xac, 0x6f, 0x29, 0x69, 0xbf, 0xa9, 0x5b, 0xfe,
3109 0x6a, 0x04, 0xfc, 0xba, 0x80, 0x92, 0x89, 0x59, 0x39, 0xf1, 0x2a, 0x1c, 0xe0, 0xe2,
3110 0x63, 0x21, 0xec, 0x10,
3111 ],
3112 Elements::Sha256Ctx8Add4 => [
3113 0xd7, 0xd7, 0x45, 0x61, 0x4b, 0x37, 0xa7, 0xe0, 0x7d, 0xce, 0x22, 0xf6, 0x4e, 0x7b,
3114 0x1e, 0xdf, 0xe2, 0x3b, 0xed, 0xa8, 0x51, 0xf1, 0xe7, 0x6f, 0x1a, 0x6b, 0x02, 0x8f,
3115 0xcc, 0x5e, 0x9f, 0xc0,
3116 ],
3117 Elements::Sha256Ctx8Add512 => [
3118 0xbe, 0x36, 0x80, 0x32, 0xd8, 0x6e, 0xbc, 0xf2, 0x13, 0xca, 0x45, 0xba, 0x6e, 0xca,
3119 0xb5, 0x4c, 0xb1, 0xf2, 0x66, 0x1d, 0x40, 0x3d, 0xa0, 0x59, 0x06, 0x30, 0x0b, 0xc5,
3120 0x11, 0x37, 0xaa, 0xb5,
3121 ],
3122 Elements::Sha256Ctx8Add64 => [
3123 0xfd, 0xc4, 0x34, 0xce, 0x83, 0xdb, 0xdc, 0xe0, 0x78, 0x2a, 0xa3, 0x6d, 0x41, 0x8d,
3124 0xef, 0x7f, 0x99, 0xaf, 0x82, 0x93, 0xaf, 0xb2, 0x9e, 0x83, 0x9f, 0xe4, 0x94, 0x8f,
3125 0x62, 0x34, 0xf7, 0x7f,
3126 ],
3127 Elements::Sha256Ctx8Add8 => [
3128 0x9c, 0x98, 0x83, 0x30, 0x79, 0x9a, 0x68, 0x0b, 0xfe, 0x73, 0xd7, 0xca, 0xa3, 0x68,
3129 0x9f, 0xe4, 0xe4, 0x83, 0xda, 0x4e, 0xe6, 0xd8, 0x18, 0x58, 0x79, 0x27, 0xc7, 0xf4,
3130 0x33, 0x92, 0xde, 0xf7,
3131 ],
3132 Elements::Sha256Ctx8AddBuffer511 => [
3133 0xc0, 0x27, 0xe1, 0x06, 0x29, 0x96, 0xae, 0x94, 0xac, 0x39, 0x71, 0xa2, 0xc4, 0xfa,
3134 0xe5, 0x49, 0x97, 0xeb, 0xf0, 0x9b, 0x9f, 0x7d, 0xa5, 0x75, 0x63, 0x9b, 0xe6, 0x17,
3135 0x16, 0x7f, 0x02, 0xe3,
3136 ],
3137 Elements::Sha256Ctx8Finalize => [
3138 0xcb, 0xba, 0x1f, 0x1d, 0x8a, 0x97, 0xab, 0x4d, 0x1f, 0xa9, 0x68, 0x6e, 0x7a, 0xee,
3139 0xf0, 0x66, 0xfb, 0x5b, 0xf2, 0x90, 0x71, 0x6e, 0xae, 0x10, 0xe7, 0x0b, 0x61, 0x99,
3140 0x96, 0xc5, 0x95, 0x94,
3141 ],
3142 Elements::Sha256Ctx8Init => [
3143 0xa5, 0x3c, 0x76, 0x79, 0xe3, 0xae, 0x03, 0x47, 0xd4, 0xd7, 0x91, 0x26, 0xa7, 0xc7,
3144 0xe4, 0x9a, 0xc0, 0xde, 0xc9, 0x0c, 0xdf, 0x93, 0x57, 0x99, 0xcd, 0xdb, 0x58, 0xda,
3145 0x8f, 0x44, 0x96, 0xe4,
3146 ],
3147 Elements::Sha256Iv => [
3148 0x73, 0x89, 0xf0, 0x02, 0x53, 0x05, 0xdc, 0xe8, 0x28, 0xd4, 0xa1, 0xfe, 0x83, 0x74,
3149 0x30, 0x46, 0xa3, 0x67, 0xc9, 0x23, 0xf1, 0x8a, 0xbf, 0x36, 0x5e, 0x39, 0x1e, 0x5b,
3150 0x04, 0xaf, 0x1a, 0x47,
3151 ],
3152 Elements::SigAllHash => [
3153 0x6a, 0xc5, 0x3d, 0x3f, 0x93, 0xb8, 0xca, 0xf3, 0xea, 0x85, 0x34, 0xae, 0x61, 0x2a,
3154 0xbd, 0x32, 0x32, 0x5d, 0x2b, 0x0f, 0xec, 0x17, 0xde, 0x36, 0xaf, 0x0f, 0x71, 0xaa,
3155 0x97, 0x8f, 0x7c, 0xde,
3156 ],
3157 Elements::Some1 => [
3158 0xfb, 0xda, 0xd6, 0xb0, 0x22, 0xa0, 0xc7, 0x8f, 0xf3, 0x56, 0x04, 0xaa, 0xfa, 0xcd,
3159 0x27, 0xcc, 0x10, 0xf5, 0x1e, 0xe0, 0x69, 0x8c, 0x41, 0xf1, 0xad, 0xa9, 0x03, 0x97,
3160 0x61, 0x8d, 0x52, 0x6f,
3161 ],
3162 Elements::Some16 => [
3163 0x7e, 0x2c, 0xcd, 0xbf, 0xc2, 0x4d, 0xd8, 0xd8, 0xa9, 0x04, 0xb0, 0x17, 0xdd, 0x4f,
3164 0x57, 0xe7, 0xc8, 0x74, 0x96, 0x34, 0x8a, 0xca, 0x7d, 0x04, 0x58, 0xc9, 0xd1, 0x6b,
3165 0x68, 0xbc, 0xda, 0x1c,
3166 ],
3167 Elements::Some32 => [
3168 0x45, 0x36, 0xae, 0xb1, 0x21, 0xc4, 0x27, 0x3f, 0xfc, 0x2a, 0x48, 0xfe, 0xd9, 0xee,
3169 0xd0, 0x31, 0x2e, 0xbd, 0x97, 0x2d, 0xec, 0x56, 0x81, 0xf4, 0x7e, 0xad, 0x0f, 0x62,
3170 0xd9, 0x54, 0x45, 0x2a,
3171 ],
3172 Elements::Some64 => [
3173 0x7f, 0x0b, 0xbd, 0x9d, 0x66, 0x31, 0xc1, 0x30, 0x9f, 0x90, 0x1c, 0x2f, 0x0d, 0x7a,
3174 0x0d, 0x28, 0x4a, 0x34, 0x41, 0x6c, 0xf7, 0x50, 0xdb, 0x1f, 0xe2, 0xb9, 0xf3, 0xd6,
3175 0xed, 0x70, 0x94, 0x09,
3176 ],
3177 Elements::Some8 => [
3178 0x2d, 0x8c, 0x8f, 0x71, 0xee, 0x5e, 0x75, 0x82, 0xf0, 0xed, 0x65, 0xf5, 0x26, 0xc0,
3179 0x26, 0x05, 0xdc, 0xb9, 0x3c, 0x0b, 0xdd, 0xb9, 0x43, 0x3a, 0xff, 0x3f, 0x25, 0xc2,
3180 0x28, 0xac, 0xda, 0x8a,
3181 ],
3182 Elements::Subtract16 => [
3183 0x56, 0x9e, 0x6c, 0x6b, 0x39, 0xe7, 0xd8, 0x12, 0x65, 0x9b, 0x67, 0xaa, 0xc0, 0x8a,
3184 0xd1, 0x50, 0x99, 0xee, 0xad, 0x79, 0x8f, 0xd1, 0xd4, 0x2d, 0xa1, 0x7e, 0xe3, 0xf0,
3185 0xd4, 0xd4, 0x49, 0x2a,
3186 ],
3187 Elements::Subtract32 => [
3188 0x19, 0xd3, 0x5e, 0x0a, 0xf1, 0xe1, 0x65, 0x14, 0xa6, 0xdf, 0xc2, 0x9a, 0x91, 0x41,
3189 0x87, 0x13, 0x39, 0x64, 0xc4, 0x80, 0xf6, 0x60, 0xe7, 0xeb, 0x92, 0x4e, 0xe1, 0x6d,
3190 0xba, 0xa2, 0x49, 0xcb,
3191 ],
3192 Elements::Subtract64 => [
3193 0x52, 0x3e, 0x11, 0x86, 0x28, 0xbf, 0x3a, 0xc1, 0xa6, 0xbe, 0x5a, 0x72, 0xbd, 0xb1,
3194 0x14, 0x1b, 0x89, 0xe0, 0xe0, 0x01, 0xe4, 0x02, 0xad, 0xda, 0x82, 0x58, 0x79, 0x00,
3195 0x03, 0xf8, 0x8a, 0xd8,
3196 ],
3197 Elements::Subtract8 => [
3198 0x40, 0x95, 0x0b, 0x86, 0xf6, 0xf1, 0xf9, 0x93, 0x55, 0xde, 0xe1, 0x1f, 0x77, 0xda,
3199 0xf2, 0x79, 0xa0, 0xcb, 0x6c, 0x6d, 0x15, 0x6a, 0xe4, 0x4b, 0x7d, 0x5d, 0x25, 0x71,
3200 0x64, 0xb2, 0x67, 0xc5,
3201 ],
3202 Elements::Swu => [
3203 0xab, 0xf7, 0x0b, 0xe0, 0x0b, 0x30, 0xf5, 0x77, 0xf9, 0x87, 0xcb, 0x50, 0x48, 0x89,
3204 0x96, 0xba, 0x35, 0x96, 0xdb, 0xf9, 0xc1, 0xe8, 0x44, 0xa8, 0xb1, 0xb8, 0xb7, 0x10,
3205 0x85, 0x3b, 0x65, 0xeb,
3206 ],
3207 Elements::TapEnvHash => [
3208 0x72, 0x27, 0x07, 0x71, 0x93, 0xec, 0x17, 0x41, 0x8e, 0xbf, 0x78, 0x77, 0xaf, 0xdc,
3209 0x70, 0x97, 0xbd, 0x5e, 0xed, 0x57, 0xe8, 0x26, 0xdf, 0x66, 0x05, 0xc6, 0x48, 0x69,
3210 0x1d, 0x00, 0x34, 0x03,
3211 ],
3212 Elements::TapdataInit => [
3213 0x6c, 0x67, 0xe5, 0xc1, 0x07, 0x35, 0x30, 0x5e, 0xe7, 0xde, 0xb5, 0x9a, 0x6c, 0x6a,
3214 0xc2, 0xef, 0xfc, 0xab, 0x4f, 0xf7, 0xbb, 0x47, 0x9e, 0xa7, 0x00, 0x81, 0x60, 0x6e,
3215 0x60, 0x48, 0x4c, 0xa7,
3216 ],
3217 Elements::TapleafHash => [
3218 0xd4, 0x5a, 0x66, 0x1f, 0xc9, 0x10, 0x0e, 0x2e, 0xa9, 0xdf, 0x78, 0x9c, 0xa2, 0x34,
3219 0x6d, 0xa8, 0x42, 0x71, 0x7e, 0xf6, 0xa8, 0xc8, 0x24, 0x18, 0x4f, 0x2d, 0xa8, 0xc7,
3220 0xfb, 0x01, 0x62, 0x03,
3221 ],
3222 Elements::TapleafVersion => [
3223 0xdd, 0xb0, 0xed, 0xd6, 0xce, 0x1e, 0x07, 0x98, 0x3d, 0x1a, 0x62, 0x26, 0xf0, 0x0b,
3224 0x12, 0x51, 0x89, 0xaf, 0x13, 0xbd, 0x5c, 0xd0, 0x68, 0x12, 0x3a, 0xd4, 0x3f, 0x48,
3225 0x20, 0x1b, 0x00, 0x6f,
3226 ],
3227 Elements::Tappath => [
3228 0x42, 0xc0, 0xc1, 0xf2, 0xef, 0x0e, 0x28, 0xae, 0x7d, 0xef, 0xa1, 0x5e, 0x84, 0xa0,
3229 0x6f, 0x35, 0xfb, 0xf6, 0xfc, 0x89, 0x7b, 0x29, 0xf6, 0x83, 0xfe, 0x1a, 0x24, 0xe3,
3230 0x0d, 0xc5, 0x8b, 0xaf,
3231 ],
3232 Elements::TappathHash => [
3233 0x9d, 0xa9, 0x06, 0xe3, 0xec, 0x08, 0x60, 0x65, 0xbe, 0x14, 0x41, 0x36, 0xb5, 0x16,
3234 0x20, 0xb6, 0x6d, 0xdf, 0x4d, 0x71, 0x38, 0x57, 0x35, 0x4e, 0xba, 0x3b, 0x97, 0xc7,
3235 0x75, 0x85, 0xf4, 0x43,
3236 ],
3237 Elements::TotalFee => [
3238 0x4e, 0xba, 0x3f, 0x22, 0xba, 0xc0, 0xa4, 0x65, 0xe4, 0xd0, 0x8a, 0x9a, 0xc4, 0x05,
3239 0x18, 0xef, 0x97, 0x2c, 0x2e, 0x86, 0x12, 0x09, 0x0a, 0x51, 0xe3, 0x20, 0x3f, 0xcb,
3240 0xd2, 0xf4, 0xed, 0xbe,
3241 ],
3242 Elements::TransactionId => [
3243 0x08, 0xb8, 0xeb, 0x3c, 0x2d, 0x2d, 0x95, 0x84, 0x58, 0xe1, 0x63, 0xe9, 0x43, 0x34,
3244 0x95, 0x0c, 0x0b, 0xb9, 0x14, 0xa0, 0xb9, 0xd2, 0x14, 0xfc, 0x5e, 0x9d, 0xe8, 0xf7,
3245 0x0a, 0x17, 0xa0, 0xd4,
3246 ],
3247 Elements::TxHash => [
3248 0xc3, 0x61, 0x02, 0xae, 0xda, 0x8b, 0xcf, 0x62, 0xa8, 0x5e, 0x71, 0x4b, 0x18, 0xe4,
3249 0xc5, 0x0c, 0xd4, 0x17, 0xff, 0xbf, 0x86, 0xd7, 0x37, 0x34, 0xe0, 0x2c, 0xbf, 0xcb,
3250 0x53, 0x13, 0xfc, 0xcf,
3251 ],
3252 Elements::TxIsFinal => [
3253 0x8b, 0x31, 0x45, 0x72, 0x24, 0x70, 0xa0, 0x7d, 0xe9, 0x0a, 0x28, 0xba, 0x89, 0xf3,
3254 0xf8, 0x86, 0x42, 0x61, 0x00, 0x96, 0x54, 0xce, 0x86, 0x6c, 0xd8, 0xea, 0xf7, 0x6c,
3255 0x5d, 0x86, 0x26, 0xeb,
3256 ],
3257 Elements::TxLockHeight => [
3258 0xc2, 0x02, 0x57, 0xf8, 0xe7, 0x6e, 0xcd, 0x0a, 0xe7, 0xad, 0x63, 0x4f, 0x5d, 0xfa,
3259 0x68, 0xae, 0x9a, 0x5e, 0xde, 0xd0, 0xe2, 0xee, 0xbe, 0x4e, 0xe5, 0x2c, 0xb4, 0x7a,
3260 0xcf, 0xb0, 0x26, 0x4c,
3261 ],
3262 Elements::TxLockTime => [
3263 0x3e, 0xe1, 0x90, 0x05, 0x42, 0xd0, 0x1e, 0xfd, 0x4e, 0x9a, 0x01, 0xd4, 0xef, 0xb1,
3264 0xf9, 0xdd, 0x99, 0x2c, 0xed, 0x35, 0xb7, 0xa7, 0x52, 0xf8, 0x3d, 0xa5, 0x93, 0x38,
3265 0x15, 0x38, 0xde, 0xa4,
3266 ],
3267 Elements::Verify => [
3268 0x34, 0x3e, 0x6d, 0xc1, 0x6b, 0x3f, 0x52, 0xe8, 0x3e, 0x3b, 0x4c, 0xcc, 0x99, 0xb8,
3269 0xc6, 0xf9, 0x6a, 0x07, 0x4f, 0xe3, 0x99, 0x32, 0x7a, 0xf3, 0x64, 0xbc, 0x28, 0x5e,
3270 0x29, 0x97, 0x45, 0xa2,
3271 ],
3272 Elements::Version => [
3273 0x08, 0x7f, 0xc9, 0x5c, 0x41, 0x00, 0x33, 0x48, 0x75, 0x9f, 0xd8, 0x40, 0x37, 0x2c,
3274 0x6f, 0x91, 0x2d, 0x9b, 0xe4, 0xe6, 0x1e, 0xee, 0x3c, 0x6a, 0x7a, 0x40, 0xdc, 0x13,
3275 0xc9, 0xc1, 0xbc, 0x70,
3276 ],
3277 Elements::Xor1 => [
3278 0x9d, 0xc9, 0xfe, 0x42, 0xf7, 0xeb, 0x34, 0x64, 0x9f, 0x1c, 0x72, 0xd2, 0xe5, 0xdd,
3279 0x16, 0x7d, 0xb2, 0x1b, 0xe5, 0x32, 0x13, 0x72, 0xd5, 0xca, 0x7f, 0x6a, 0x18, 0x4f,
3280 0x93, 0xe0, 0x5e, 0xe3,
3281 ],
3282 Elements::Xor16 => [
3283 0x1f, 0xca, 0xf4, 0x0b, 0xde, 0xdd, 0x72, 0xe7, 0x97, 0xb0, 0x9f, 0xe7, 0x87, 0x53,
3284 0xb0, 0xab, 0x27, 0x87, 0x2c, 0x0b, 0xd1, 0x2b, 0x03, 0x49, 0x55, 0xfb, 0xfa, 0xc2,
3285 0x38, 0x12, 0xef, 0x26,
3286 ],
3287 Elements::Xor32 => [
3288 0x1d, 0x49, 0xfc, 0x94, 0xf2, 0x2b, 0x5d, 0x31, 0xb7, 0xf9, 0xef, 0xb5, 0x37, 0x8e,
3289 0x5f, 0x8a, 0x42, 0x62, 0x6a, 0xed, 0x4e, 0x92, 0x79, 0x93, 0x48, 0xd6, 0xb7, 0x88,
3290 0xdf, 0xe8, 0x6b, 0x1c,
3291 ],
3292 Elements::Xor64 => [
3293 0x7a, 0x3f, 0x3f, 0x55, 0x20, 0x47, 0x83, 0x65, 0x33, 0x44, 0x31, 0x1d, 0x1d, 0xc5,
3294 0x09, 0xd3, 0x5b, 0x66, 0x39, 0xc0, 0xd8, 0xb9, 0x67, 0xa2, 0x07, 0x80, 0x6c, 0xd8,
3295 0x7d, 0x31, 0xd6, 0xe6,
3296 ],
3297 Elements::Xor8 => [
3298 0xd8, 0x33, 0x5f, 0x48, 0x90, 0xc1, 0xd8, 0xed, 0x76, 0x6c, 0x71, 0x35, 0x90, 0x2e,
3299 0x01, 0xa0, 0x09, 0x4e, 0x3a, 0x98, 0x16, 0xf7, 0x0c, 0x84, 0x7c, 0xc3, 0xd7, 0xc0,
3300 0x00, 0x40, 0x6e, 0xfe,
3301 ],
3302 Elements::XorXor1 => [
3303 0x1e, 0x10, 0x7b, 0x05, 0xff, 0x94, 0x1d, 0x31, 0xd7, 0x57, 0x8b, 0x43, 0x73, 0x28,
3304 0xba, 0x52, 0xf3, 0xff, 0x20, 0xa0, 0x68, 0xc0, 0xd2, 0xbd, 0xef, 0x08, 0x76, 0x80,
3305 0x93, 0xcc, 0x7c, 0x63,
3306 ],
3307 Elements::XorXor16 => [
3308 0xb7, 0x76, 0x98, 0x9d, 0xa5, 0x09, 0x5c, 0x4b, 0xe9, 0x4b, 0x1a, 0xef, 0x75, 0x94,
3309 0x66, 0xe1, 0x1f, 0x63, 0x9c, 0x19, 0x39, 0x47, 0x1f, 0xa1, 0x8e, 0x36, 0xe7, 0xe4,
3310 0x90, 0xc3, 0x89, 0x61,
3311 ],
3312 Elements::XorXor32 => [
3313 0xd1, 0x68, 0xfa, 0xc1, 0xac, 0x7f, 0xc4, 0x83, 0x57, 0xbe, 0x1b, 0x65, 0x33, 0x75,
3314 0xec, 0x5e, 0x3f, 0x05, 0x82, 0x3a, 0xae, 0x6a, 0xc9, 0x85, 0xe9, 0x40, 0x3e, 0xea,
3315 0xb1, 0x2b, 0xb9, 0xf8,
3316 ],
3317 Elements::XorXor64 => [
3318 0x36, 0x1c, 0x57, 0x93, 0x0e, 0xf9, 0x7d, 0x49, 0xcb, 0xc6, 0x79, 0xfa, 0xef, 0x1e,
3319 0x3b, 0xcf, 0xfb, 0x78, 0x79, 0x95, 0xb9, 0x61, 0xe5, 0x53, 0x7d, 0x2b, 0x1e, 0xeb,
3320 0xc9, 0xc9, 0xa6, 0xe8,
3321 ],
3322 Elements::XorXor8 => [
3323 0xc2, 0xda, 0x6e, 0x9c, 0xa6, 0x4d, 0x8a, 0x73, 0xc1, 0x77, 0x26, 0x67, 0xb3, 0xd7,
3324 0xa0, 0x93, 0x8b, 0xcb, 0x8a, 0x6c, 0x43, 0xfd, 0x04, 0x73, 0xee, 0xc7, 0x1b, 0x77,
3325 0x49, 0x4a, 0xad, 0x94,
3326 ],
3327 };
3328
3329 Cmr(Midstate(bytes))
3330 }
3331
3332 fn source_ty(&self) -> TypeName {
3333 let name: &'static [u8] = match self {
3334 Elements::Add16 => b"i",
3335 Elements::Add32 => b"l",
3336 Elements::Add64 => b"*ll",
3337 Elements::Add8 => b"****22*22**22*22***22*22**22*22",
3338 Elements::All16 => b"****22*22**22*22***22*22**22*22",
3339 Elements::All32 => b"i",
3340 Elements::All64 => b"l",
3341 Elements::All8 => b"***22*22**22*22",
3342 Elements::And1 => b"*22",
3343 Elements::And16 => b"i",
3344 Elements::And32 => b"l",
3345 Elements::And64 => b"*ll",
3346 Elements::And8 => b"****22*22**22*22***22*22**22*22",
3347 Elements::AnnexHash => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh+1h",
3348 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",
3349 Elements::Bip0340Verify => b"**hh*hh",
3350 Elements::BrokenDoNotUseCheckLockDistance => b"****22*22**22*22***22*22**22*22",
3351 Elements::BrokenDoNotUseCheckLockDuration => b"****22*22**22*22***22*22**22*22",
3352 Elements::BrokenDoNotUseTxLockDistance => b"1",
3353 Elements::BrokenDoNotUseTxLockDuration => b"1",
3354 Elements::BuildTapbranch => b"*hh",
3355 Elements::BuildTapleafSimplicity => b"h",
3356 Elements::BuildTaptweak => b"*hh",
3357 Elements::CalculateAsset => b"h",
3358 Elements::CalculateConfidentialToken => b"h",
3359 Elements::CalculateExplicitToken => b"h",
3360 Elements::CalculateIssuanceEntropy => b"**hih",
3361 Elements::Ch1 => b"*2*22",
3362 Elements::Ch16 => b"*****22*22**22*22***22*22**22*22i",
3363 Elements::Ch32 => b"*il",
3364 Elements::Ch64 => b"*l*ll",
3365 Elements::Ch8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3366 Elements::CheckLockHeight => b"i",
3367 Elements::CheckLockTime => b"i",
3368 Elements::CheckSigVerify => b"**h*hh*hh",
3369 Elements::Complement1 => b"2",
3370 Elements::Complement16 => b"****22*22**22*22***22*22**22*22",
3371 Elements::Complement32 => b"i",
3372 Elements::Complement64 => b"l",
3373 Elements::Complement8 => b"***22*22**22*22",
3374 Elements::CurrentAmount => b"1",
3375 Elements::CurrentAnnexHash => b"1",
3376 Elements::CurrentAsset => b"1",
3377 Elements::CurrentIndex => b"1",
3378 Elements::CurrentIssuanceAssetAmount => b"1",
3379 Elements::CurrentIssuanceAssetProof => b"1",
3380 Elements::CurrentIssuanceTokenAmount => b"1",
3381 Elements::CurrentIssuanceTokenProof => b"1",
3382 Elements::CurrentNewIssuanceContract => b"1",
3383 Elements::CurrentPegin => b"1",
3384 Elements::CurrentPrevOutpoint => b"1",
3385 Elements::CurrentReissuanceBlinding => b"1",
3386 Elements::CurrentReissuanceEntropy => b"1",
3387 Elements::CurrentScriptHash => b"1",
3388 Elements::CurrentScriptSigHash => b"1",
3389 Elements::CurrentSequence => b"1",
3390 Elements::Decompress => b"*2h",
3391 Elements::Decrement16 => b"****22*22**22*22***22*22**22*22",
3392 Elements::Decrement32 => b"i",
3393 Elements::Decrement64 => b"l",
3394 Elements::Decrement8 => b"***22*22**22*22",
3395 Elements::DivMod128_64 => b"**lll",
3396 Elements::DivMod16 => b"i",
3397 Elements::DivMod32 => b"l",
3398 Elements::DivMod64 => b"*ll",
3399 Elements::DivMod8 => b"****22*22**22*22***22*22**22*22",
3400 Elements::Divide16 => b"i",
3401 Elements::Divide32 => b"l",
3402 Elements::Divide64 => b"*ll",
3403 Elements::Divide8 => b"****22*22**22*22***22*22**22*22",
3404 Elements::Divides16 => b"i",
3405 Elements::Divides32 => b"l",
3406 Elements::Divides64 => b"*ll",
3407 Elements::Divides8 => b"****22*22**22*22***22*22**22*22",
3408 Elements::Eq1 => b"*22",
3409 Elements::Eq16 => b"i",
3410 Elements::Eq256 => b"*hh",
3411 Elements::Eq32 => b"l",
3412 Elements::Eq64 => b"*ll",
3413 Elements::Eq8 => b"****22*22**22*22***22*22**22*22",
3414 Elements::FeAdd => b"*hh",
3415 Elements::FeInvert => b"h",
3416 Elements::FeIsOdd => b"h",
3417 Elements::FeIsZero => b"h",
3418 Elements::FeMultiply => b"*hh",
3419 Elements::FeMultiplyBeta => b"h",
3420 Elements::FeNegate => b"h",
3421 Elements::FeNormalize => b"h",
3422 Elements::FeSquare => b"h",
3423 Elements::FeSquareRoot => b"h",
3424 Elements::FullAdd16 => b"*2i",
3425 Elements::FullAdd32 => b"*2l",
3426 Elements::FullAdd64 => b"*2*ll",
3427 Elements::FullAdd8 => b"*2****22*22**22*22***22*22**22*22",
3428 Elements::FullDecrement16 => b"*2****22*22**22*22***22*22**22*22",
3429 Elements::FullDecrement32 => b"*2i",
3430 Elements::FullDecrement64 => b"*2l",
3431 Elements::FullDecrement8 => b"*2***22*22**22*22",
3432 Elements::FullIncrement16 => b"*2****22*22**22*22***22*22**22*22",
3433 Elements::FullIncrement32 => b"*2i",
3434 Elements::FullIncrement64 => b"*2l",
3435 Elements::FullIncrement8 => b"*2***22*22**22*22",
3436 Elements::FullLeftShift16_1 => b"*****22*22**22*22***22*22**22*222",
3437 Elements::FullLeftShift16_2 => b"*****22*22**22*22***22*22**22*22*22",
3438 Elements::FullLeftShift16_4 => b"*****22*22**22*22***22*22**22*22**22*22",
3439 Elements::FullLeftShift16_8 => b"*****22*22**22*22***22*22**22*22***22*22**22*22",
3440 Elements::FullLeftShift32_1 => b"*i2",
3441 Elements::FullLeftShift32_16 => b"*i****22*22**22*22***22*22**22*22",
3442 Elements::FullLeftShift32_2 => b"*i*22",
3443 Elements::FullLeftShift32_4 => b"*i**22*22",
3444 Elements::FullLeftShift32_8 => b"*i***22*22**22*22",
3445 Elements::FullLeftShift64_1 => b"*l2",
3446 Elements::FullLeftShift64_16 => b"*l****22*22**22*22***22*22**22*22",
3447 Elements::FullLeftShift64_2 => b"*l*22",
3448 Elements::FullLeftShift64_32 => b"*li",
3449 Elements::FullLeftShift64_4 => b"*l**22*22",
3450 Elements::FullLeftShift64_8 => b"*l***22*22**22*22",
3451 Elements::FullLeftShift8_1 => b"****22*22**22*222",
3452 Elements::FullLeftShift8_2 => b"****22*22**22*22*22",
3453 Elements::FullLeftShift8_4 => b"****22*22**22*22**22*22",
3454 Elements::FullMultiply16 => b"l",
3455 Elements::FullMultiply32 => b"*ll",
3456 Elements::FullMultiply64 => b"h",
3457 Elements::FullMultiply8 => b"i",
3458 Elements::FullRightShift16_1 => b"*2****22*22**22*22***22*22**22*22",
3459 Elements::FullRightShift16_2 => b"**22****22*22**22*22***22*22**22*22",
3460 Elements::FullRightShift16_4 => b"***22*22****22*22**22*22***22*22**22*22",
3461 Elements::FullRightShift16_8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3462 Elements::FullRightShift32_1 => b"*2i",
3463 Elements::FullRightShift32_16 => b"*****22*22**22*22***22*22**22*22i",
3464 Elements::FullRightShift32_2 => b"**22i",
3465 Elements::FullRightShift32_4 => b"***22*22i",
3466 Elements::FullRightShift32_8 => b"****22*22**22*22i",
3467 Elements::FullRightShift64_1 => b"*2l",
3468 Elements::FullRightShift64_16 => b"*****22*22**22*22***22*22**22*22l",
3469 Elements::FullRightShift64_2 => b"**22l",
3470 Elements::FullRightShift64_32 => b"*il",
3471 Elements::FullRightShift64_4 => b"***22*22l",
3472 Elements::FullRightShift64_8 => b"****22*22**22*22l",
3473 Elements::FullRightShift8_1 => b"*2***22*22**22*22",
3474 Elements::FullRightShift8_2 => b"**22***22*22**22*22",
3475 Elements::FullRightShift8_4 => b"***22*22***22*22**22*22",
3476 Elements::FullSubtract16 => b"*2i",
3477 Elements::FullSubtract32 => b"*2l",
3478 Elements::FullSubtract64 => b"*2*ll",
3479 Elements::FullSubtract8 => b"*2****22*22**22*22***22*22**22*22",
3480 Elements::GeIsOnCurve => b"*hh",
3481 Elements::GeNegate => b"*hh",
3482 Elements::GejAdd => b"***hhh**hhh",
3483 Elements::GejDouble => b"**hhh",
3484 Elements::GejEquiv => b"***hhh**hhh",
3485 Elements::GejGeAdd => b"***hhh*hh",
3486 Elements::GejGeAddEx => b"***hhh*hh",
3487 Elements::GejGeEquiv => b"***hhh*hh",
3488 Elements::GejInfinity => b"1",
3489 Elements::GejIsInfinity => b"**hhh",
3490 Elements::GejIsOnCurve => b"**hhh",
3491 Elements::GejNegate => b"**hhh",
3492 Elements::GejNormalize => b"**hhh",
3493 Elements::GejRescale => b"***hhhh",
3494 Elements::GejXEquiv => b"*h**hhh",
3495 Elements::GejYIsOdd => b"**hhh",
3496 Elements::Generate => b"h",
3497 Elements::GenesisBlockHash => b"1",
3498 Elements::HashToCurve => b"h",
3499 Elements::High1 => b"1",
3500 Elements::High16 => b"1",
3501 Elements::High32 => b"1",
3502 Elements::High64 => b"1",
3503 Elements::High8 => b"1",
3504 Elements::Increment16 => b"****22*22**22*22***22*22**22*22",
3505 Elements::Increment32 => b"i",
3506 Elements::Increment64 => b"l",
3507 Elements::Increment8 => b"***22*22**22*22",
3508 Elements::InputAmount => b"i",
3509 Elements::InputAmountsHash => b"1",
3510 Elements::InputAnnexHash => b"i",
3511 Elements::InputAnnexesHash => b"1",
3512 Elements::InputAsset => b"i",
3513 Elements::InputHash => b"i",
3514 Elements::InputOutpointsHash => b"1",
3515 Elements::InputPegin => b"i",
3516 Elements::InputPrevOutpoint => b"i",
3517 Elements::InputScriptHash => b"i",
3518 Elements::InputScriptSigHash => b"i",
3519 Elements::InputScriptSigsHash => b"1",
3520 Elements::InputScriptsHash => b"1",
3521 Elements::InputSequence => b"i",
3522 Elements::InputSequencesHash => b"1",
3523 Elements::InputUtxoHash => b"i",
3524 Elements::InputUtxosHash => b"1",
3525 Elements::InputsHash => b"1",
3526 Elements::InternalKey => b"1",
3527 Elements::IsOne16 => b"****22*22**22*22***22*22**22*22",
3528 Elements::IsOne32 => b"i",
3529 Elements::IsOne64 => b"l",
3530 Elements::IsOne8 => b"***22*22**22*22",
3531 Elements::IsZero16 => b"****22*22**22*22***22*22**22*22",
3532 Elements::IsZero32 => b"i",
3533 Elements::IsZero64 => b"l",
3534 Elements::IsZero8 => b"***22*22**22*22",
3535 Elements::Issuance => b"i",
3536 Elements::IssuanceAsset => b"i",
3537 Elements::IssuanceAssetAmount => b"i",
3538 Elements::IssuanceAssetAmountsHash => b"1",
3539 Elements::IssuanceAssetProof => b"i",
3540 Elements::IssuanceBlindingEntropyHash => b"1",
3541 Elements::IssuanceEntropy => b"i",
3542 Elements::IssuanceHash => b"i",
3543 Elements::IssuanceRangeProofsHash => b"1",
3544 Elements::IssuanceToken => b"i",
3545 Elements::IssuanceTokenAmount => b"i",
3546 Elements::IssuanceTokenAmountsHash => b"1",
3547 Elements::IssuanceTokenProof => b"i",
3548 Elements::IssuancesHash => b"1",
3549 Elements::LbtcAsset => b"1",
3550 Elements::Le16 => b"i",
3551 Elements::Le32 => b"l",
3552 Elements::Le64 => b"*ll",
3553 Elements::Le8 => b"****22*22**22*22***22*22**22*22",
3554 Elements::LeftExtend16_32 => b"****22*22**22*22***22*22**22*22",
3555 Elements::LeftExtend16_64 => b"****22*22**22*22***22*22**22*22",
3556 Elements::LeftExtend1_16 => b"2",
3557 Elements::LeftExtend1_32 => b"2",
3558 Elements::LeftExtend1_64 => b"2",
3559 Elements::LeftExtend1_8 => b"2",
3560 Elements::LeftExtend32_64 => b"i",
3561 Elements::LeftExtend8_16 => b"***22*22**22*22",
3562 Elements::LeftExtend8_32 => b"***22*22**22*22",
3563 Elements::LeftExtend8_64 => b"***22*22**22*22",
3564 Elements::LeftPadHigh16_32 => b"****22*22**22*22***22*22**22*22",
3565 Elements::LeftPadHigh16_64 => b"****22*22**22*22***22*22**22*22",
3566 Elements::LeftPadHigh1_16 => b"2",
3567 Elements::LeftPadHigh1_32 => b"2",
3568 Elements::LeftPadHigh1_64 => b"2",
3569 Elements::LeftPadHigh1_8 => b"2",
3570 Elements::LeftPadHigh32_64 => b"i",
3571 Elements::LeftPadHigh8_16 => b"***22*22**22*22",
3572 Elements::LeftPadHigh8_32 => b"***22*22**22*22",
3573 Elements::LeftPadHigh8_64 => b"***22*22**22*22",
3574 Elements::LeftPadLow16_32 => b"****22*22**22*22***22*22**22*22",
3575 Elements::LeftPadLow16_64 => b"****22*22**22*22***22*22**22*22",
3576 Elements::LeftPadLow1_16 => b"2",
3577 Elements::LeftPadLow1_32 => b"2",
3578 Elements::LeftPadLow1_64 => b"2",
3579 Elements::LeftPadLow1_8 => b"2",
3580 Elements::LeftPadLow32_64 => b"i",
3581 Elements::LeftPadLow8_16 => b"***22*22**22*22",
3582 Elements::LeftPadLow8_32 => b"***22*22**22*22",
3583 Elements::LeftPadLow8_64 => b"***22*22**22*22",
3584 Elements::LeftRotate16 => b"***22*22****22*22**22*22***22*22**22*22",
3585 Elements::LeftRotate32 => b"****22*22**22*22i",
3586 Elements::LeftRotate64 => b"****22*22**22*22l",
3587 Elements::LeftRotate8 => b"***22*22***22*22**22*22",
3588 Elements::LeftShift16 => b"***22*22****22*22**22*22***22*22**22*22",
3589 Elements::LeftShift32 => b"****22*22**22*22i",
3590 Elements::LeftShift64 => b"****22*22**22*22l",
3591 Elements::LeftShift8 => b"***22*22***22*22**22*22",
3592 Elements::LeftShiftWith16 => b"*2***22*22****22*22**22*22***22*22**22*22",
3593 Elements::LeftShiftWith32 => b"*2****22*22**22*22i",
3594 Elements::LeftShiftWith64 => b"*2****22*22**22*22l",
3595 Elements::LeftShiftWith8 => b"*2***22*22***22*22**22*22",
3596 Elements::Leftmost16_1 => b"****22*22**22*22***22*22**22*22",
3597 Elements::Leftmost16_2 => b"****22*22**22*22***22*22**22*22",
3598 Elements::Leftmost16_4 => b"****22*22**22*22***22*22**22*22",
3599 Elements::Leftmost16_8 => b"****22*22**22*22***22*22**22*22",
3600 Elements::Leftmost32_1 => b"i",
3601 Elements::Leftmost32_16 => b"i",
3602 Elements::Leftmost32_2 => b"i",
3603 Elements::Leftmost32_4 => b"i",
3604 Elements::Leftmost32_8 => b"i",
3605 Elements::Leftmost64_1 => b"l",
3606 Elements::Leftmost64_16 => b"l",
3607 Elements::Leftmost64_2 => b"l",
3608 Elements::Leftmost64_32 => b"l",
3609 Elements::Leftmost64_4 => b"l",
3610 Elements::Leftmost64_8 => b"l",
3611 Elements::Leftmost8_1 => b"***22*22**22*22",
3612 Elements::Leftmost8_2 => b"***22*22**22*22",
3613 Elements::Leftmost8_4 => b"***22*22**22*22",
3614 Elements::LinearCombination1 => b"**h**hhhh",
3615 Elements::LinearVerify1 => b"***h*hhh*hh",
3616 Elements::LockTime => b"1",
3617 Elements::Low1 => b"1",
3618 Elements::Low16 => b"1",
3619 Elements::Low32 => b"1",
3620 Elements::Low64 => b"1",
3621 Elements::Low8 => b"1",
3622 Elements::Lt16 => b"i",
3623 Elements::Lt32 => b"l",
3624 Elements::Lt64 => b"*ll",
3625 Elements::Lt8 => b"****22*22**22*22***22*22**22*22",
3626 Elements::Maj1 => b"*2*22",
3627 Elements::Maj16 => b"*****22*22**22*22***22*22**22*22i",
3628 Elements::Maj32 => b"*il",
3629 Elements::Maj64 => b"*l*ll",
3630 Elements::Maj8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3631 Elements::Max16 => b"i",
3632 Elements::Max32 => b"l",
3633 Elements::Max64 => b"*ll",
3634 Elements::Max8 => b"****22*22**22*22***22*22**22*22",
3635 Elements::Median16 => b"*****22*22**22*22***22*22**22*22i",
3636 Elements::Median32 => b"*il",
3637 Elements::Median64 => b"*l*ll",
3638 Elements::Median8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3639 Elements::Min16 => b"i",
3640 Elements::Min32 => b"l",
3641 Elements::Min64 => b"*ll",
3642 Elements::Min8 => b"****22*22**22*22***22*22**22*22",
3643 Elements::Modulo16 => b"i",
3644 Elements::Modulo32 => b"l",
3645 Elements::Modulo64 => b"*ll",
3646 Elements::Modulo8 => b"****22*22**22*22***22*22**22*22",
3647 Elements::Multiply16 => b"i",
3648 Elements::Multiply32 => b"l",
3649 Elements::Multiply64 => b"*ll",
3650 Elements::Multiply8 => b"****22*22**22*22***22*22**22*22",
3651 Elements::Negate16 => b"****22*22**22*22***22*22**22*22",
3652 Elements::Negate32 => b"i",
3653 Elements::Negate64 => b"l",
3654 Elements::Negate8 => b"***22*22**22*22",
3655 Elements::NewIssuanceContract => b"i",
3656 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",
3657 Elements::NumInputs => b"1",
3658 Elements::NumOutputs => b"1",
3659 Elements::One16 => b"1",
3660 Elements::One32 => b"1",
3661 Elements::One64 => b"1",
3662 Elements::One8 => b"1",
3663 Elements::Or1 => b"*22",
3664 Elements::Or16 => b"i",
3665 Elements::Or32 => b"l",
3666 Elements::Or64 => b"*ll",
3667 Elements::Or8 => b"****22*22**22*22***22*22**22*22",
3668 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",
3669 Elements::OutputAmount => b"i",
3670 Elements::OutputAmountsHash => b"1",
3671 Elements::OutputAsset => b"i",
3672 Elements::OutputHash => b"i",
3673 Elements::OutputIsFee => b"i",
3674 Elements::OutputNonce => b"i",
3675 Elements::OutputNoncesHash => b"1",
3676 Elements::OutputNullDatum => b"l",
3677 Elements::OutputRangeProof => b"i",
3678 Elements::OutputRangeProofsHash => b"1",
3679 Elements::OutputScriptHash => b"i",
3680 Elements::OutputScriptsHash => b"1",
3681 Elements::OutputSurjectionProof => b"i",
3682 Elements::OutputSurjectionProofsHash => b"1",
3683 Elements::OutputsHash => b"1",
3684 Elements::ParseLock => b"i",
3685 Elements::ParseSequence => b"i",
3686 Elements::PointVerify1 => b"***h*2hh*2h",
3687 Elements::ReissuanceBlinding => b"i",
3688 Elements::ReissuanceEntropy => b"i",
3689 Elements::RightExtend16_32 => b"****22*22**22*22***22*22**22*22",
3690 Elements::RightExtend16_64 => b"****22*22**22*22***22*22**22*22",
3691 Elements::RightExtend32_64 => b"i",
3692 Elements::RightExtend8_16 => b"***22*22**22*22",
3693 Elements::RightExtend8_32 => b"***22*22**22*22",
3694 Elements::RightExtend8_64 => b"***22*22**22*22",
3695 Elements::RightPadHigh16_32 => b"****22*22**22*22***22*22**22*22",
3696 Elements::RightPadHigh16_64 => b"****22*22**22*22***22*22**22*22",
3697 Elements::RightPadHigh1_16 => b"2",
3698 Elements::RightPadHigh1_32 => b"2",
3699 Elements::RightPadHigh1_64 => b"2",
3700 Elements::RightPadHigh1_8 => b"2",
3701 Elements::RightPadHigh32_64 => b"i",
3702 Elements::RightPadHigh8_16 => b"***22*22**22*22",
3703 Elements::RightPadHigh8_32 => b"***22*22**22*22",
3704 Elements::RightPadHigh8_64 => b"***22*22**22*22",
3705 Elements::RightPadLow16_32 => b"****22*22**22*22***22*22**22*22",
3706 Elements::RightPadLow16_64 => b"****22*22**22*22***22*22**22*22",
3707 Elements::RightPadLow1_16 => b"2",
3708 Elements::RightPadLow1_32 => b"2",
3709 Elements::RightPadLow1_64 => b"2",
3710 Elements::RightPadLow1_8 => b"2",
3711 Elements::RightPadLow32_64 => b"i",
3712 Elements::RightPadLow8_16 => b"***22*22**22*22",
3713 Elements::RightPadLow8_32 => b"***22*22**22*22",
3714 Elements::RightPadLow8_64 => b"***22*22**22*22",
3715 Elements::RightRotate16 => b"***22*22****22*22**22*22***22*22**22*22",
3716 Elements::RightRotate32 => b"****22*22**22*22i",
3717 Elements::RightRotate64 => b"****22*22**22*22l",
3718 Elements::RightRotate8 => b"***22*22***22*22**22*22",
3719 Elements::RightShift16 => b"***22*22****22*22**22*22***22*22**22*22",
3720 Elements::RightShift32 => b"****22*22**22*22i",
3721 Elements::RightShift64 => b"****22*22**22*22l",
3722 Elements::RightShift8 => b"***22*22***22*22**22*22",
3723 Elements::RightShiftWith16 => b"*2***22*22****22*22**22*22***22*22**22*22",
3724 Elements::RightShiftWith32 => b"*2****22*22**22*22i",
3725 Elements::RightShiftWith64 => b"*2****22*22**22*22l",
3726 Elements::RightShiftWith8 => b"*2***22*22***22*22**22*22",
3727 Elements::Rightmost16_1 => b"****22*22**22*22***22*22**22*22",
3728 Elements::Rightmost16_2 => b"****22*22**22*22***22*22**22*22",
3729 Elements::Rightmost16_4 => b"****22*22**22*22***22*22**22*22",
3730 Elements::Rightmost16_8 => b"****22*22**22*22***22*22**22*22",
3731 Elements::Rightmost32_1 => b"i",
3732 Elements::Rightmost32_16 => b"i",
3733 Elements::Rightmost32_2 => b"i",
3734 Elements::Rightmost32_4 => b"i",
3735 Elements::Rightmost32_8 => b"i",
3736 Elements::Rightmost64_1 => b"l",
3737 Elements::Rightmost64_16 => b"l",
3738 Elements::Rightmost64_2 => b"l",
3739 Elements::Rightmost64_32 => b"l",
3740 Elements::Rightmost64_4 => b"l",
3741 Elements::Rightmost64_8 => b"l",
3742 Elements::Rightmost8_1 => b"***22*22**22*22",
3743 Elements::Rightmost8_2 => b"***22*22**22*22",
3744 Elements::Rightmost8_4 => b"***22*22**22*22",
3745 Elements::ScalarAdd => b"*hh",
3746 Elements::ScalarInvert => b"h",
3747 Elements::ScalarIsZero => b"h",
3748 Elements::ScalarMultiply => b"*hh",
3749 Elements::ScalarMultiplyLambda => b"h",
3750 Elements::ScalarNegate => b"h",
3751 Elements::ScalarNormalize => b"h",
3752 Elements::ScalarSquare => b"h",
3753 Elements::Scale => b"*h**hhh",
3754 Elements::ScriptCMR => b"1",
3755 Elements::Sha256Block => b"*h*hh",
3756 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",
3757 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",
3758 Elements::Sha256Ctx8Add16 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*ll",
3759 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",
3760 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",
3761 Elements::Sha256Ctx8Add32 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhh",
3762 Elements::Sha256Ctx8Add4 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhi",
3763 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",
3764 Elements::Sha256Ctx8Add64 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*hh",
3765 Elements::Sha256Ctx8Add8 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhl",
3766 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",
3767 Elements::Sha256Ctx8Finalize => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3768 Elements::Sha256Ctx8Init => b"1",
3769 Elements::Sha256Iv => b"1",
3770 Elements::SigAllHash => b"1",
3771 Elements::Some1 => b"2",
3772 Elements::Some16 => b"****22*22**22*22***22*22**22*22",
3773 Elements::Some32 => b"i",
3774 Elements::Some64 => b"l",
3775 Elements::Some8 => b"***22*22**22*22",
3776 Elements::Subtract16 => b"i",
3777 Elements::Subtract32 => b"l",
3778 Elements::Subtract64 => b"*ll",
3779 Elements::Subtract8 => b"****22*22**22*22***22*22**22*22",
3780 Elements::Swu => b"h",
3781 Elements::TapEnvHash => b"1",
3782 Elements::TapdataInit => b"1",
3783 Elements::TapleafHash => b"1",
3784 Elements::TapleafVersion => b"1",
3785 Elements::Tappath => b"***22*22**22*22",
3786 Elements::TappathHash => b"1",
3787 Elements::TotalFee => b"h",
3788 Elements::TransactionId => b"1",
3789 Elements::TxHash => b"1",
3790 Elements::TxIsFinal => b"1",
3791 Elements::TxLockHeight => b"1",
3792 Elements::TxLockTime => b"1",
3793 Elements::Verify => b"2",
3794 Elements::Version => b"1",
3795 Elements::Xor1 => b"*22",
3796 Elements::Xor16 => b"i",
3797 Elements::Xor32 => b"l",
3798 Elements::Xor64 => b"*ll",
3799 Elements::Xor8 => b"****22*22**22*22***22*22**22*22",
3800 Elements::XorXor1 => b"*2*22",
3801 Elements::XorXor16 => b"*****22*22**22*22***22*22**22*22i",
3802 Elements::XorXor32 => b"*il",
3803 Elements::XorXor64 => b"*l*ll",
3804 Elements::XorXor8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3805 };
3806
3807 TypeName(name)
3808 }
3809
3810 fn target_ty(&self) -> TypeName {
3811 let name: &'static [u8] = match self {
3812 Elements::Add16 => b"*2****22*22**22*22***22*22**22*22",
3813 Elements::Add32 => b"*2i",
3814 Elements::Add64 => b"*2l",
3815 Elements::Add8 => b"*2***22*22**22*22",
3816 Elements::All16 => b"2",
3817 Elements::All32 => b"2",
3818 Elements::All64 => b"2",
3819 Elements::All8 => b"2",
3820 Elements::And1 => b"2",
3821 Elements::And16 => b"****22*22**22*22***22*22**22*22",
3822 Elements::And32 => b"i",
3823 Elements::And64 => b"l",
3824 Elements::And8 => b"***22*22**22*22",
3825 Elements::AnnexHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3826 Elements::AssetAmountHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3827 Elements::Bip0340Verify => b"1",
3828 Elements::BrokenDoNotUseCheckLockDistance => b"1",
3829 Elements::BrokenDoNotUseCheckLockDuration => b"1",
3830 Elements::BrokenDoNotUseTxLockDistance => b"****22*22**22*22***22*22**22*22",
3831 Elements::BrokenDoNotUseTxLockDuration => b"****22*22**22*22***22*22**22*22",
3832 Elements::BuildTapbranch => b"h",
3833 Elements::BuildTapleafSimplicity => b"h",
3834 Elements::BuildTaptweak => b"h",
3835 Elements::CalculateAsset => b"h",
3836 Elements::CalculateConfidentialToken => b"h",
3837 Elements::CalculateExplicitToken => b"h",
3838 Elements::CalculateIssuanceEntropy => b"h",
3839 Elements::Ch1 => b"2",
3840 Elements::Ch16 => b"****22*22**22*22***22*22**22*22",
3841 Elements::Ch32 => b"i",
3842 Elements::Ch64 => b"l",
3843 Elements::Ch8 => b"***22*22**22*22",
3844 Elements::CheckLockHeight => b"1",
3845 Elements::CheckLockTime => b"1",
3846 Elements::CheckSigVerify => b"1",
3847 Elements::Complement1 => b"2",
3848 Elements::Complement16 => b"****22*22**22*22***22*22**22*22",
3849 Elements::Complement32 => b"i",
3850 Elements::Complement64 => b"l",
3851 Elements::Complement8 => b"***22*22**22*22",
3852 Elements::CurrentAmount => b"*+*2hh+*2hl",
3853 Elements::CurrentAnnexHash => b"+1h",
3854 Elements::CurrentAsset => b"+*2hh",
3855 Elements::CurrentIndex => b"i",
3856 Elements::CurrentIssuanceAssetAmount => b"+1+*2hl",
3857 Elements::CurrentIssuanceAssetProof => b"h",
3858 Elements::CurrentIssuanceTokenAmount => b"+1+*2hl",
3859 Elements::CurrentIssuanceTokenProof => b"h",
3860 Elements::CurrentNewIssuanceContract => b"+1h",
3861 Elements::CurrentPegin => b"+1h",
3862 Elements::CurrentPrevOutpoint => b"*hi",
3863 Elements::CurrentReissuanceBlinding => b"+1h",
3864 Elements::CurrentReissuanceEntropy => b"+1h",
3865 Elements::CurrentScriptHash => b"h",
3866 Elements::CurrentScriptSigHash => b"h",
3867 Elements::CurrentSequence => b"i",
3868 Elements::Decompress => b"+1*hh",
3869 Elements::Decrement16 => b"*2****22*22**22*22***22*22**22*22",
3870 Elements::Decrement32 => b"*2i",
3871 Elements::Decrement64 => b"*2l",
3872 Elements::Decrement8 => b"*2***22*22**22*22",
3873 Elements::DivMod128_64 => b"*ll",
3874 Elements::DivMod16 => b"i",
3875 Elements::DivMod32 => b"l",
3876 Elements::DivMod64 => b"*ll",
3877 Elements::DivMod8 => b"****22*22**22*22***22*22**22*22",
3878 Elements::Divide16 => b"****22*22**22*22***22*22**22*22",
3879 Elements::Divide32 => b"i",
3880 Elements::Divide64 => b"l",
3881 Elements::Divide8 => b"***22*22**22*22",
3882 Elements::Divides16 => b"2",
3883 Elements::Divides32 => b"2",
3884 Elements::Divides64 => b"2",
3885 Elements::Divides8 => b"2",
3886 Elements::Eq1 => b"2",
3887 Elements::Eq16 => b"2",
3888 Elements::Eq256 => b"2",
3889 Elements::Eq32 => b"2",
3890 Elements::Eq64 => b"2",
3891 Elements::Eq8 => b"2",
3892 Elements::FeAdd => b"h",
3893 Elements::FeInvert => b"h",
3894 Elements::FeIsOdd => b"2",
3895 Elements::FeIsZero => b"2",
3896 Elements::FeMultiply => b"h",
3897 Elements::FeMultiplyBeta => b"h",
3898 Elements::FeNegate => b"h",
3899 Elements::FeNormalize => b"h",
3900 Elements::FeSquare => b"h",
3901 Elements::FeSquareRoot => b"+1h",
3902 Elements::FullAdd16 => b"*2****22*22**22*22***22*22**22*22",
3903 Elements::FullAdd32 => b"*2i",
3904 Elements::FullAdd64 => b"*2l",
3905 Elements::FullAdd8 => b"*2***22*22**22*22",
3906 Elements::FullDecrement16 => b"*2****22*22**22*22***22*22**22*22",
3907 Elements::FullDecrement32 => b"*2i",
3908 Elements::FullDecrement64 => b"*2l",
3909 Elements::FullDecrement8 => b"*2***22*22**22*22",
3910 Elements::FullIncrement16 => b"*2****22*22**22*22***22*22**22*22",
3911 Elements::FullIncrement32 => b"*2i",
3912 Elements::FullIncrement64 => b"*2l",
3913 Elements::FullIncrement8 => b"*2***22*22**22*22",
3914 Elements::FullLeftShift16_1 => b"*2****22*22**22*22***22*22**22*22",
3915 Elements::FullLeftShift16_2 => b"**22****22*22**22*22***22*22**22*22",
3916 Elements::FullLeftShift16_4 => b"***22*22****22*22**22*22***22*22**22*22",
3917 Elements::FullLeftShift16_8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3918 Elements::FullLeftShift32_1 => b"*2i",
3919 Elements::FullLeftShift32_16 => b"*****22*22**22*22***22*22**22*22i",
3920 Elements::FullLeftShift32_2 => b"**22i",
3921 Elements::FullLeftShift32_4 => b"***22*22i",
3922 Elements::FullLeftShift32_8 => b"****22*22**22*22i",
3923 Elements::FullLeftShift64_1 => b"*2l",
3924 Elements::FullLeftShift64_16 => b"*****22*22**22*22***22*22**22*22l",
3925 Elements::FullLeftShift64_2 => b"**22l",
3926 Elements::FullLeftShift64_32 => b"*il",
3927 Elements::FullLeftShift64_4 => b"***22*22l",
3928 Elements::FullLeftShift64_8 => b"****22*22**22*22l",
3929 Elements::FullLeftShift8_1 => b"*2***22*22**22*22",
3930 Elements::FullLeftShift8_2 => b"**22***22*22**22*22",
3931 Elements::FullLeftShift8_4 => b"***22*22***22*22**22*22",
3932 Elements::FullMultiply16 => b"i",
3933 Elements::FullMultiply32 => b"l",
3934 Elements::FullMultiply64 => b"*ll",
3935 Elements::FullMultiply8 => b"****22*22**22*22***22*22**22*22",
3936 Elements::FullRightShift16_1 => b"*****22*22**22*22***22*22**22*222",
3937 Elements::FullRightShift16_2 => b"*****22*22**22*22***22*22**22*22*22",
3938 Elements::FullRightShift16_4 => b"*****22*22**22*22***22*22**22*22**22*22",
3939 Elements::FullRightShift16_8 => b"*****22*22**22*22***22*22**22*22***22*22**22*22",
3940 Elements::FullRightShift32_1 => b"*i2",
3941 Elements::FullRightShift32_16 => b"*i****22*22**22*22***22*22**22*22",
3942 Elements::FullRightShift32_2 => b"*i*22",
3943 Elements::FullRightShift32_4 => b"*i**22*22",
3944 Elements::FullRightShift32_8 => b"*i***22*22**22*22",
3945 Elements::FullRightShift64_1 => b"*l2",
3946 Elements::FullRightShift64_16 => b"*l****22*22**22*22***22*22**22*22",
3947 Elements::FullRightShift64_2 => b"*l*22",
3948 Elements::FullRightShift64_32 => b"*li",
3949 Elements::FullRightShift64_4 => b"*l**22*22",
3950 Elements::FullRightShift64_8 => b"*l***22*22**22*22",
3951 Elements::FullRightShift8_1 => b"****22*22**22*222",
3952 Elements::FullRightShift8_2 => b"****22*22**22*22*22",
3953 Elements::FullRightShift8_4 => b"****22*22**22*22**22*22",
3954 Elements::FullSubtract16 => b"*2****22*22**22*22***22*22**22*22",
3955 Elements::FullSubtract32 => b"*2i",
3956 Elements::FullSubtract64 => b"*2l",
3957 Elements::FullSubtract8 => b"*2***22*22**22*22",
3958 Elements::GeIsOnCurve => b"2",
3959 Elements::GeNegate => b"*hh",
3960 Elements::GejAdd => b"**hhh",
3961 Elements::GejDouble => b"**hhh",
3962 Elements::GejEquiv => b"2",
3963 Elements::GejGeAdd => b"**hhh",
3964 Elements::GejGeAddEx => b"*h**hhh",
3965 Elements::GejGeEquiv => b"2",
3966 Elements::GejInfinity => b"**hhh",
3967 Elements::GejIsInfinity => b"2",
3968 Elements::GejIsOnCurve => b"2",
3969 Elements::GejNegate => b"**hhh",
3970 Elements::GejNormalize => b"+1*hh",
3971 Elements::GejRescale => b"**hhh",
3972 Elements::GejXEquiv => b"2",
3973 Elements::GejYIsOdd => b"2",
3974 Elements::Generate => b"**hhh",
3975 Elements::GenesisBlockHash => b"h",
3976 Elements::HashToCurve => b"*hh",
3977 Elements::High1 => b"2",
3978 Elements::High16 => b"****22*22**22*22***22*22**22*22",
3979 Elements::High32 => b"i",
3980 Elements::High64 => b"l",
3981 Elements::High8 => b"***22*22**22*22",
3982 Elements::Increment16 => b"*2****22*22**22*22***22*22**22*22",
3983 Elements::Increment32 => b"*2i",
3984 Elements::Increment64 => b"*2l",
3985 Elements::Increment8 => b"*2***22*22**22*22",
3986 Elements::InputAmount => b"+1*+*2hh+*2hl",
3987 Elements::InputAmountsHash => b"h",
3988 Elements::InputAnnexHash => b"+1+1h",
3989 Elements::InputAnnexesHash => b"h",
3990 Elements::InputAsset => b"+1+*2hh",
3991 Elements::InputHash => b"+1h",
3992 Elements::InputOutpointsHash => b"h",
3993 Elements::InputPegin => b"+1+1h",
3994 Elements::InputPrevOutpoint => b"+1*hi",
3995 Elements::InputScriptHash => b"+1h",
3996 Elements::InputScriptSigHash => b"+1h",
3997 Elements::InputScriptSigsHash => b"h",
3998 Elements::InputScriptsHash => b"h",
3999 Elements::InputSequence => b"+1i",
4000 Elements::InputSequencesHash => b"h",
4001 Elements::InputUtxoHash => b"+1h",
4002 Elements::InputUtxosHash => b"h",
4003 Elements::InputsHash => b"h",
4004 Elements::InternalKey => b"h",
4005 Elements::IsOne16 => b"2",
4006 Elements::IsOne32 => b"2",
4007 Elements::IsOne64 => b"2",
4008 Elements::IsOne8 => b"2",
4009 Elements::IsZero16 => b"2",
4010 Elements::IsZero32 => b"2",
4011 Elements::IsZero64 => b"2",
4012 Elements::IsZero8 => b"2",
4013 Elements::Issuance => b"+1+12",
4014 Elements::IssuanceAsset => b"+1+1h",
4015 Elements::IssuanceAssetAmount => b"+1+1+*2hl",
4016 Elements::IssuanceAssetAmountsHash => b"h",
4017 Elements::IssuanceAssetProof => b"+1h",
4018 Elements::IssuanceBlindingEntropyHash => b"h",
4019 Elements::IssuanceEntropy => b"+1+1h",
4020 Elements::IssuanceHash => b"+1h",
4021 Elements::IssuanceRangeProofsHash => b"h",
4022 Elements::IssuanceToken => b"+1+1h",
4023 Elements::IssuanceTokenAmount => b"+1+1+*2hl",
4024 Elements::IssuanceTokenAmountsHash => b"h",
4025 Elements::IssuanceTokenProof => b"+1h",
4026 Elements::IssuancesHash => b"h",
4027 Elements::LbtcAsset => b"h",
4028 Elements::Le16 => b"2",
4029 Elements::Le32 => b"2",
4030 Elements::Le64 => b"2",
4031 Elements::Le8 => b"2",
4032 Elements::LeftExtend16_32 => b"i",
4033 Elements::LeftExtend16_64 => b"l",
4034 Elements::LeftExtend1_16 => b"****22*22**22*22***22*22**22*22",
4035 Elements::LeftExtend1_32 => b"i",
4036 Elements::LeftExtend1_64 => b"l",
4037 Elements::LeftExtend1_8 => b"***22*22**22*22",
4038 Elements::LeftExtend32_64 => b"l",
4039 Elements::LeftExtend8_16 => b"****22*22**22*22***22*22**22*22",
4040 Elements::LeftExtend8_32 => b"i",
4041 Elements::LeftExtend8_64 => b"l",
4042 Elements::LeftPadHigh16_32 => b"i",
4043 Elements::LeftPadHigh16_64 => b"l",
4044 Elements::LeftPadHigh1_16 => b"****22*22**22*22***22*22**22*22",
4045 Elements::LeftPadHigh1_32 => b"i",
4046 Elements::LeftPadHigh1_64 => b"l",
4047 Elements::LeftPadHigh1_8 => b"***22*22**22*22",
4048 Elements::LeftPadHigh32_64 => b"l",
4049 Elements::LeftPadHigh8_16 => b"****22*22**22*22***22*22**22*22",
4050 Elements::LeftPadHigh8_32 => b"i",
4051 Elements::LeftPadHigh8_64 => b"l",
4052 Elements::LeftPadLow16_32 => b"i",
4053 Elements::LeftPadLow16_64 => b"l",
4054 Elements::LeftPadLow1_16 => b"****22*22**22*22***22*22**22*22",
4055 Elements::LeftPadLow1_32 => b"i",
4056 Elements::LeftPadLow1_64 => b"l",
4057 Elements::LeftPadLow1_8 => b"***22*22**22*22",
4058 Elements::LeftPadLow32_64 => b"l",
4059 Elements::LeftPadLow8_16 => b"****22*22**22*22***22*22**22*22",
4060 Elements::LeftPadLow8_32 => b"i",
4061 Elements::LeftPadLow8_64 => b"l",
4062 Elements::LeftRotate16 => b"****22*22**22*22***22*22**22*22",
4063 Elements::LeftRotate32 => b"i",
4064 Elements::LeftRotate64 => b"l",
4065 Elements::LeftRotate8 => b"***22*22**22*22",
4066 Elements::LeftShift16 => b"****22*22**22*22***22*22**22*22",
4067 Elements::LeftShift32 => b"i",
4068 Elements::LeftShift64 => b"l",
4069 Elements::LeftShift8 => b"***22*22**22*22",
4070 Elements::LeftShiftWith16 => b"****22*22**22*22***22*22**22*22",
4071 Elements::LeftShiftWith32 => b"i",
4072 Elements::LeftShiftWith64 => b"l",
4073 Elements::LeftShiftWith8 => b"***22*22**22*22",
4074 Elements::Leftmost16_1 => b"2",
4075 Elements::Leftmost16_2 => b"*22",
4076 Elements::Leftmost16_4 => b"**22*22",
4077 Elements::Leftmost16_8 => b"***22*22**22*22",
4078 Elements::Leftmost32_1 => b"2",
4079 Elements::Leftmost32_16 => b"****22*22**22*22***22*22**22*22",
4080 Elements::Leftmost32_2 => b"*22",
4081 Elements::Leftmost32_4 => b"**22*22",
4082 Elements::Leftmost32_8 => b"***22*22**22*22",
4083 Elements::Leftmost64_1 => b"2",
4084 Elements::Leftmost64_16 => b"****22*22**22*22***22*22**22*22",
4085 Elements::Leftmost64_2 => b"*22",
4086 Elements::Leftmost64_32 => b"i",
4087 Elements::Leftmost64_4 => b"**22*22",
4088 Elements::Leftmost64_8 => b"***22*22**22*22",
4089 Elements::Leftmost8_1 => b"2",
4090 Elements::Leftmost8_2 => b"*22",
4091 Elements::Leftmost8_4 => b"**22*22",
4092 Elements::LinearCombination1 => b"**hhh",
4093 Elements::LinearVerify1 => b"1",
4094 Elements::LockTime => b"i",
4095 Elements::Low1 => b"2",
4096 Elements::Low16 => b"****22*22**22*22***22*22**22*22",
4097 Elements::Low32 => b"i",
4098 Elements::Low64 => b"l",
4099 Elements::Low8 => b"***22*22**22*22",
4100 Elements::Lt16 => b"2",
4101 Elements::Lt32 => b"2",
4102 Elements::Lt64 => b"2",
4103 Elements::Lt8 => b"2",
4104 Elements::Maj1 => b"2",
4105 Elements::Maj16 => b"****22*22**22*22***22*22**22*22",
4106 Elements::Maj32 => b"i",
4107 Elements::Maj64 => b"l",
4108 Elements::Maj8 => b"***22*22**22*22",
4109 Elements::Max16 => b"****22*22**22*22***22*22**22*22",
4110 Elements::Max32 => b"i",
4111 Elements::Max64 => b"l",
4112 Elements::Max8 => b"***22*22**22*22",
4113 Elements::Median16 => b"****22*22**22*22***22*22**22*22",
4114 Elements::Median32 => b"i",
4115 Elements::Median64 => b"l",
4116 Elements::Median8 => b"***22*22**22*22",
4117 Elements::Min16 => b"****22*22**22*22***22*22**22*22",
4118 Elements::Min32 => b"i",
4119 Elements::Min64 => b"l",
4120 Elements::Min8 => b"***22*22**22*22",
4121 Elements::Modulo16 => b"****22*22**22*22***22*22**22*22",
4122 Elements::Modulo32 => b"i",
4123 Elements::Modulo64 => b"l",
4124 Elements::Modulo8 => b"***22*22**22*22",
4125 Elements::Multiply16 => b"i",
4126 Elements::Multiply32 => b"l",
4127 Elements::Multiply64 => b"*ll",
4128 Elements::Multiply8 => b"****22*22**22*22***22*22**22*22",
4129 Elements::Negate16 => b"*2****22*22**22*22***22*22**22*22",
4130 Elements::Negate32 => b"*2i",
4131 Elements::Negate64 => b"*2l",
4132 Elements::Negate8 => b"*2***22*22**22*22",
4133 Elements::NewIssuanceContract => b"+1+1h",
4134 Elements::NonceHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4135 Elements::NumInputs => b"i",
4136 Elements::NumOutputs => b"i",
4137 Elements::One16 => b"****22*22**22*22***22*22**22*22",
4138 Elements::One32 => b"i",
4139 Elements::One64 => b"l",
4140 Elements::One8 => b"***22*22**22*22",
4141 Elements::Or1 => b"2",
4142 Elements::Or16 => b"****22*22**22*22***22*22**22*22",
4143 Elements::Or32 => b"i",
4144 Elements::Or64 => b"l",
4145 Elements::Or8 => b"***22*22**22*22",
4146 Elements::OutpointHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4147 Elements::OutputAmount => b"+1*+*2hh+*2hl",
4148 Elements::OutputAmountsHash => b"h",
4149 Elements::OutputAsset => b"+1+*2hh",
4150 Elements::OutputHash => b"+1h",
4151 Elements::OutputIsFee => b"+12",
4152 Elements::OutputNonce => b"+1+1+*2hh",
4153 Elements::OutputNoncesHash => b"h",
4154 Elements::OutputNullDatum => b"+1+1+**22h+2**22*22",
4155 Elements::OutputRangeProof => b"+1h",
4156 Elements::OutputRangeProofsHash => b"h",
4157 Elements::OutputScriptHash => b"+1h",
4158 Elements::OutputScriptsHash => b"h",
4159 Elements::OutputSurjectionProof => b"+1h",
4160 Elements::OutputSurjectionProofsHash => b"h",
4161 Elements::OutputsHash => b"h",
4162 Elements::ParseLock => b"+ii",
4163 Elements::ParseSequence => b"+1+****22*22**22*22***22*22**22*22****22*22**22*22***22*22**22*22",
4164 Elements::PointVerify1 => b"1",
4165 Elements::ReissuanceBlinding => b"+1+1h",
4166 Elements::ReissuanceEntropy => b"+1+1h",
4167 Elements::RightExtend16_32 => b"i",
4168 Elements::RightExtend16_64 => b"l",
4169 Elements::RightExtend32_64 => b"l",
4170 Elements::RightExtend8_16 => b"****22*22**22*22***22*22**22*22",
4171 Elements::RightExtend8_32 => b"i",
4172 Elements::RightExtend8_64 => b"l",
4173 Elements::RightPadHigh16_32 => b"i",
4174 Elements::RightPadHigh16_64 => b"l",
4175 Elements::RightPadHigh1_16 => b"****22*22**22*22***22*22**22*22",
4176 Elements::RightPadHigh1_32 => b"i",
4177 Elements::RightPadHigh1_64 => b"l",
4178 Elements::RightPadHigh1_8 => b"***22*22**22*22",
4179 Elements::RightPadHigh32_64 => b"l",
4180 Elements::RightPadHigh8_16 => b"****22*22**22*22***22*22**22*22",
4181 Elements::RightPadHigh8_32 => b"i",
4182 Elements::RightPadHigh8_64 => b"l",
4183 Elements::RightPadLow16_32 => b"i",
4184 Elements::RightPadLow16_64 => b"l",
4185 Elements::RightPadLow1_16 => b"****22*22**22*22***22*22**22*22",
4186 Elements::RightPadLow1_32 => b"i",
4187 Elements::RightPadLow1_64 => b"l",
4188 Elements::RightPadLow1_8 => b"***22*22**22*22",
4189 Elements::RightPadLow32_64 => b"l",
4190 Elements::RightPadLow8_16 => b"****22*22**22*22***22*22**22*22",
4191 Elements::RightPadLow8_32 => b"i",
4192 Elements::RightPadLow8_64 => b"l",
4193 Elements::RightRotate16 => b"****22*22**22*22***22*22**22*22",
4194 Elements::RightRotate32 => b"i",
4195 Elements::RightRotate64 => b"l",
4196 Elements::RightRotate8 => b"***22*22**22*22",
4197 Elements::RightShift16 => b"****22*22**22*22***22*22**22*22",
4198 Elements::RightShift32 => b"i",
4199 Elements::RightShift64 => b"l",
4200 Elements::RightShift8 => b"***22*22**22*22",
4201 Elements::RightShiftWith16 => b"****22*22**22*22***22*22**22*22",
4202 Elements::RightShiftWith32 => b"i",
4203 Elements::RightShiftWith64 => b"l",
4204 Elements::RightShiftWith8 => b"***22*22**22*22",
4205 Elements::Rightmost16_1 => b"2",
4206 Elements::Rightmost16_2 => b"*22",
4207 Elements::Rightmost16_4 => b"**22*22",
4208 Elements::Rightmost16_8 => b"***22*22**22*22",
4209 Elements::Rightmost32_1 => b"2",
4210 Elements::Rightmost32_16 => b"****22*22**22*22***22*22**22*22",
4211 Elements::Rightmost32_2 => b"*22",
4212 Elements::Rightmost32_4 => b"**22*22",
4213 Elements::Rightmost32_8 => b"***22*22**22*22",
4214 Elements::Rightmost64_1 => b"2",
4215 Elements::Rightmost64_16 => b"****22*22**22*22***22*22**22*22",
4216 Elements::Rightmost64_2 => b"*22",
4217 Elements::Rightmost64_32 => b"i",
4218 Elements::Rightmost64_4 => b"**22*22",
4219 Elements::Rightmost64_8 => b"***22*22**22*22",
4220 Elements::Rightmost8_1 => b"2",
4221 Elements::Rightmost8_2 => b"*22",
4222 Elements::Rightmost8_4 => b"**22*22",
4223 Elements::ScalarAdd => b"h",
4224 Elements::ScalarInvert => b"h",
4225 Elements::ScalarIsZero => b"2",
4226 Elements::ScalarMultiply => b"h",
4227 Elements::ScalarMultiplyLambda => b"h",
4228 Elements::ScalarNegate => b"h",
4229 Elements::ScalarNormalize => b"h",
4230 Elements::ScalarSquare => b"h",
4231 Elements::Scale => b"**hhh",
4232 Elements::ScriptCMR => b"h",
4233 Elements::Sha256Block => b"h",
4234 Elements::Sha256Ctx8Add1 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4235 Elements::Sha256Ctx8Add128 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4236 Elements::Sha256Ctx8Add16 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4237 Elements::Sha256Ctx8Add2 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4238 Elements::Sha256Ctx8Add256 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4239 Elements::Sha256Ctx8Add32 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4240 Elements::Sha256Ctx8Add4 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4241 Elements::Sha256Ctx8Add512 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4242 Elements::Sha256Ctx8Add64 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4243 Elements::Sha256Ctx8Add8 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4244 Elements::Sha256Ctx8AddBuffer511 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4245 Elements::Sha256Ctx8Finalize => b"h",
4246 Elements::Sha256Ctx8Init => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4247 Elements::Sha256Iv => b"h",
4248 Elements::SigAllHash => b"h",
4249 Elements::Some1 => b"2",
4250 Elements::Some16 => b"2",
4251 Elements::Some32 => b"2",
4252 Elements::Some64 => b"2",
4253 Elements::Some8 => b"2",
4254 Elements::Subtract16 => b"*2****22*22**22*22***22*22**22*22",
4255 Elements::Subtract32 => b"*2i",
4256 Elements::Subtract64 => b"*2l",
4257 Elements::Subtract8 => b"*2***22*22**22*22",
4258 Elements::Swu => b"*hh",
4259 Elements::TapEnvHash => b"h",
4260 Elements::TapdataInit => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4261 Elements::TapleafHash => b"h",
4262 Elements::TapleafVersion => b"***22*22**22*22",
4263 Elements::Tappath => b"+1h",
4264 Elements::TappathHash => b"h",
4265 Elements::TotalFee => b"l",
4266 Elements::TransactionId => b"h",
4267 Elements::TxHash => b"h",
4268 Elements::TxIsFinal => b"2",
4269 Elements::TxLockHeight => b"i",
4270 Elements::TxLockTime => b"i",
4271 Elements::Verify => b"1",
4272 Elements::Version => b"i",
4273 Elements::Xor1 => b"2",
4274 Elements::Xor16 => b"****22*22**22*22***22*22**22*22",
4275 Elements::Xor32 => b"i",
4276 Elements::Xor64 => b"l",
4277 Elements::Xor8 => b"***22*22**22*22",
4278 Elements::XorXor1 => b"2",
4279 Elements::XorXor16 => b"****22*22**22*22***22*22**22*22",
4280 Elements::XorXor32 => b"i",
4281 Elements::XorXor64 => b"l",
4282 Elements::XorXor8 => b"***22*22**22*22",
4283 };
4284
4285 TypeName(name)
4286 }
4287
4288 fn encode(&self, w: &mut BitWriter<&mut dyn Write>) -> std::io::Result<usize> {
4289 let (n, len) = match self {
4290 Elements::Verify => (0, 3),
4291 Elements::Low1 => (8, 6),
4292 Elements::Low8 => (37, 8),
4293 Elements::Low16 => (304, 11),
4294 Elements::Low32 => (305, 11),
4295 Elements::Low64 => (306, 11),
4296 Elements::High1 => (10, 6),
4297 Elements::High8 => (45, 8),
4298 Elements::High16 => (368, 11),
4299 Elements::High32 => (369, 11),
4300 Elements::High64 => (370, 11),
4301 Elements::Complement1 => (96, 9),
4302 Elements::Complement8 => (389, 11),
4303 Elements::Complement16 => (3120, 14),
4304 Elements::Complement32 => (3121, 14),
4305 Elements::Complement64 => (3122, 14),
4306 Elements::And1 => (98, 9),
4307 Elements::And8 => (397, 11),
4308 Elements::And16 => (3184, 14),
4309 Elements::And32 => (3185, 14),
4310 Elements::And64 => (3186, 14),
4311 Elements::Or1 => (100, 9),
4312 Elements::Or8 => (405, 11),
4313 Elements::Or16 => (3248, 14),
4314 Elements::Or32 => (3249, 14),
4315 Elements::Or64 => (3250, 14),
4316 Elements::Xor1 => (102, 9),
4317 Elements::Xor8 => (413, 11),
4318 Elements::Xor16 => (3312, 14),
4319 Elements::Xor32 => (3313, 14),
4320 Elements::Xor64 => (3314, 14),
4321 Elements::Maj1 => (208, 10),
4322 Elements::Maj8 => (837, 12),
4323 Elements::Maj16 => (6704, 15),
4324 Elements::Maj32 => (6705, 15),
4325 Elements::Maj64 => (6706, 15),
4326 Elements::XorXor1 => (210, 10),
4327 Elements::XorXor8 => (845, 12),
4328 Elements::XorXor16 => (6768, 15),
4329 Elements::XorXor32 => (6769, 15),
4330 Elements::XorXor64 => (6770, 15),
4331 Elements::Ch1 => (212, 10),
4332 Elements::Ch8 => (853, 12),
4333 Elements::Ch16 => (6832, 15),
4334 Elements::Ch32 => (6833, 15),
4335 Elements::Ch64 => (6834, 15),
4336 Elements::Some1 => (214, 10),
4337 Elements::Some8 => (861, 12),
4338 Elements::Some16 => (6896, 15),
4339 Elements::Some32 => (6897, 15),
4340 Elements::Some64 => (6898, 15),
4341 Elements::All8 => (869, 12),
4342 Elements::All16 => (6960, 15),
4343 Elements::All32 => (6961, 15),
4344 Elements::All64 => (6962, 15),
4345 Elements::Eq1 => (218, 10),
4346 Elements::Eq8 => (877, 12),
4347 Elements::Eq16 => (7024, 15),
4348 Elements::Eq32 => (7025, 15),
4349 Elements::Eq64 => (7026, 15),
4350 Elements::Eq256 => (14056, 16),
4351 Elements::FullLeftShift8_1 => (1765, 13),
4352 Elements::FullLeftShift16_1 => (14128, 16),
4353 Elements::FullLeftShift32_1 => (14129, 16),
4354 Elements::FullLeftShift64_1 => (14130, 16),
4355 Elements::FullLeftShift8_2 => (7076, 15),
4356 Elements::FullLeftShift16_2 => (7077, 15),
4357 Elements::FullLeftShift32_2 => (56624, 18),
4358 Elements::FullLeftShift64_2 => (56625, 18),
4359 Elements::FullLeftShift8_4 => (1770, 13),
4360 Elements::FullLeftShift16_4 => (7084, 15),
4361 Elements::FullLeftShift32_4 => (7085, 15),
4362 Elements::FullLeftShift64_4 => (56688, 18),
4363 Elements::FullLeftShift16_8 => (14176, 16),
4364 Elements::FullLeftShift32_8 => (56708, 18),
4365 Elements::FullLeftShift64_8 => (56709, 18),
4366 Elements::FullLeftShift32_16 => (14178, 16),
4367 Elements::FullLeftShift64_16 => (56716, 18),
4368 Elements::FullLeftShift64_32 => (14180, 16),
4369 Elements::FullRightShift8_1 => (1781, 13),
4370 Elements::FullRightShift16_1 => (14256, 16),
4371 Elements::FullRightShift32_1 => (14257, 16),
4372 Elements::FullRightShift64_1 => (14258, 16),
4373 Elements::FullRightShift8_2 => (7140, 15),
4374 Elements::FullRightShift16_2 => (7141, 15),
4375 Elements::FullRightShift32_2 => (57136, 18),
4376 Elements::FullRightShift64_2 => (57137, 18),
4377 Elements::FullRightShift8_4 => (1786, 13),
4378 Elements::FullRightShift16_4 => (7148, 15),
4379 Elements::FullRightShift32_4 => (7149, 15),
4380 Elements::FullRightShift64_4 => (57200, 18),
4381 Elements::FullRightShift16_8 => (14304, 16),
4382 Elements::FullRightShift32_8 => (57220, 18),
4383 Elements::FullRightShift64_8 => (57221, 18),
4384 Elements::FullRightShift32_16 => (14306, 16),
4385 Elements::FullRightShift64_16 => (57228, 18),
4386 Elements::FullRightShift64_32 => (14308, 16),
4387 Elements::Leftmost8_1 => (28677, 17),
4388 Elements::Leftmost16_1 => (229424, 20),
4389 Elements::Leftmost32_1 => (229425, 20),
4390 Elements::Leftmost64_1 => (229426, 20),
4391 Elements::Leftmost8_2 => (114724, 19),
4392 Elements::Leftmost16_2 => (114725, 19),
4393 Elements::Leftmost32_2 => (917808, 22),
4394 Elements::Leftmost64_2 => (917809, 22),
4395 Elements::Leftmost8_4 => (28682, 17),
4396 Elements::Leftmost16_4 => (114732, 19),
4397 Elements::Leftmost32_4 => (114733, 19),
4398 Elements::Leftmost64_4 => (917872, 22),
4399 Elements::Leftmost16_8 => (229472, 20),
4400 Elements::Leftmost32_8 => (917892, 22),
4401 Elements::Leftmost64_8 => (917893, 22),
4402 Elements::Leftmost32_16 => (229474, 20),
4403 Elements::Leftmost64_16 => (917900, 22),
4404 Elements::Leftmost64_32 => (229476, 20),
4405 Elements::Rightmost8_1 => (28693, 17),
4406 Elements::Rightmost16_1 => (229552, 20),
4407 Elements::Rightmost32_1 => (229553, 20),
4408 Elements::Rightmost64_1 => (229554, 20),
4409 Elements::Rightmost8_2 => (114788, 19),
4410 Elements::Rightmost16_2 => (114789, 19),
4411 Elements::Rightmost32_2 => (918320, 22),
4412 Elements::Rightmost64_2 => (918321, 22),
4413 Elements::Rightmost8_4 => (28698, 17),
4414 Elements::Rightmost16_4 => (114796, 19),
4415 Elements::Rightmost32_4 => (114797, 19),
4416 Elements::Rightmost64_4 => (918384, 22),
4417 Elements::Rightmost16_8 => (229600, 20),
4418 Elements::Rightmost32_8 => (918404, 22),
4419 Elements::Rightmost64_8 => (918405, 22),
4420 Elements::Rightmost32_16 => (229602, 20),
4421 Elements::Rightmost64_16 => (918412, 22),
4422 Elements::Rightmost64_32 => (229604, 20),
4423 Elements::LeftPadLow1_8 => (28709, 17),
4424 Elements::LeftPadLow1_16 => (229680, 20),
4425 Elements::LeftPadLow1_32 => (229681, 20),
4426 Elements::LeftPadLow1_64 => (229682, 20),
4427 Elements::LeftPadLow8_16 => (229728, 20),
4428 Elements::LeftPadLow8_32 => (918916, 22),
4429 Elements::LeftPadLow8_64 => (918917, 22),
4430 Elements::LeftPadLow16_32 => (229730, 20),
4431 Elements::LeftPadLow16_64 => (918924, 22),
4432 Elements::LeftPadLow32_64 => (229732, 20),
4433 Elements::LeftPadHigh1_8 => (28725, 17),
4434 Elements::LeftPadHigh1_16 => (229808, 20),
4435 Elements::LeftPadHigh1_32 => (229809, 20),
4436 Elements::LeftPadHigh1_64 => (229810, 20),
4437 Elements::LeftPadHigh8_16 => (229856, 20),
4438 Elements::LeftPadHigh8_32 => (919428, 22),
4439 Elements::LeftPadHigh8_64 => (919429, 22),
4440 Elements::LeftPadHigh16_32 => (229858, 20),
4441 Elements::LeftPadHigh16_64 => (919436, 22),
4442 Elements::LeftPadHigh32_64 => (229860, 20),
4443 Elements::LeftExtend1_8 => (28741, 17),
4444 Elements::LeftExtend1_16 => (229936, 20),
4445 Elements::LeftExtend1_32 => (229937, 20),
4446 Elements::LeftExtend1_64 => (229938, 20),
4447 Elements::LeftExtend8_16 => (229984, 20),
4448 Elements::LeftExtend8_32 => (919940, 22),
4449 Elements::LeftExtend8_64 => (919941, 22),
4450 Elements::LeftExtend16_32 => (229986, 20),
4451 Elements::LeftExtend16_64 => (919948, 22),
4452 Elements::LeftExtend32_64 => (229988, 20),
4453 Elements::RightPadLow1_8 => (28757, 17),
4454 Elements::RightPadLow1_16 => (230064, 20),
4455 Elements::RightPadLow1_32 => (230065, 20),
4456 Elements::RightPadLow1_64 => (230066, 20),
4457 Elements::RightPadLow8_16 => (230112, 20),
4458 Elements::RightPadLow8_32 => (920452, 22),
4459 Elements::RightPadLow8_64 => (920453, 22),
4460 Elements::RightPadLow16_32 => (230114, 20),
4461 Elements::RightPadLow16_64 => (920460, 22),
4462 Elements::RightPadLow32_64 => (230116, 20),
4463 Elements::RightPadHigh1_8 => (28773, 17),
4464 Elements::RightPadHigh1_16 => (230192, 20),
4465 Elements::RightPadHigh1_32 => (230193, 20),
4466 Elements::RightPadHigh1_64 => (230194, 20),
4467 Elements::RightPadHigh8_16 => (230240, 20),
4468 Elements::RightPadHigh8_32 => (920964, 22),
4469 Elements::RightPadHigh8_64 => (920965, 22),
4470 Elements::RightPadHigh16_32 => (230242, 20),
4471 Elements::RightPadHigh16_64 => (920972, 22),
4472 Elements::RightPadHigh32_64 => (230244, 20),
4473 Elements::RightExtend8_16 => (230368, 20),
4474 Elements::RightExtend8_32 => (921476, 22),
4475 Elements::RightExtend8_64 => (921477, 22),
4476 Elements::RightExtend16_32 => (230370, 20),
4477 Elements::RightExtend16_64 => (921484, 22),
4478 Elements::RightExtend32_64 => (230372, 20),
4479 Elements::LeftShiftWith8 => (14405, 16),
4480 Elements::LeftShiftWith16 => (115248, 19),
4481 Elements::LeftShiftWith32 => (115249, 19),
4482 Elements::LeftShiftWith64 => (115250, 19),
4483 Elements::RightShiftWith8 => (14413, 16),
4484 Elements::RightShiftWith16 => (115312, 19),
4485 Elements::RightShiftWith32 => (115313, 19),
4486 Elements::RightShiftWith64 => (115314, 19),
4487 Elements::LeftShift8 => (14421, 16),
4488 Elements::LeftShift16 => (115376, 19),
4489 Elements::LeftShift32 => (115377, 19),
4490 Elements::LeftShift64 => (115378, 19),
4491 Elements::RightShift8 => (14429, 16),
4492 Elements::RightShift16 => (115440, 19),
4493 Elements::RightShift32 => (115441, 19),
4494 Elements::RightShift64 => (115442, 19),
4495 Elements::LeftRotate8 => (14437, 16),
4496 Elements::LeftRotate16 => (115504, 19),
4497 Elements::LeftRotate32 => (115505, 19),
4498 Elements::LeftRotate64 => (115506, 19),
4499 Elements::RightRotate8 => (14445, 16),
4500 Elements::RightRotate16 => (115568, 19),
4501 Elements::RightRotate32 => (115569, 19),
4502 Elements::RightRotate64 => (115570, 19),
4503 Elements::One8 => (69, 8),
4504 Elements::One16 => (560, 11),
4505 Elements::One32 => (561, 11),
4506 Elements::One64 => (562, 11),
4507 Elements::FullAdd8 => (293, 10),
4508 Elements::FullAdd16 => (2352, 13),
4509 Elements::FullAdd32 => (2353, 13),
4510 Elements::FullAdd64 => (2354, 13),
4511 Elements::Add8 => (301, 10),
4512 Elements::Add16 => (2416, 13),
4513 Elements::Add32 => (2417, 13),
4514 Elements::Add64 => (2418, 13),
4515 Elements::FullIncrement8 => (2437, 13),
4516 Elements::FullIncrement16 => (19504, 16),
4517 Elements::FullIncrement32 => (19505, 16),
4518 Elements::FullIncrement64 => (19506, 16),
4519 Elements::Increment8 => (2445, 13),
4520 Elements::Increment16 => (19568, 16),
4521 Elements::Increment32 => (19569, 16),
4522 Elements::Increment64 => (19570, 16),
4523 Elements::FullSubtract8 => (2461, 13),
4524 Elements::FullSubtract16 => (19696, 16),
4525 Elements::FullSubtract32 => (19697, 16),
4526 Elements::FullSubtract64 => (19698, 16),
4527 Elements::Subtract8 => (4933, 14),
4528 Elements::Subtract16 => (39472, 17),
4529 Elements::Subtract32 => (39473, 17),
4530 Elements::Subtract64 => (39474, 17),
4531 Elements::Negate8 => (4941, 14),
4532 Elements::Negate16 => (39536, 17),
4533 Elements::Negate32 => (39537, 17),
4534 Elements::Negate64 => (39538, 17),
4535 Elements::FullDecrement8 => (4949, 14),
4536 Elements::FullDecrement16 => (39600, 17),
4537 Elements::FullDecrement32 => (39601, 17),
4538 Elements::FullDecrement64 => (39602, 17),
4539 Elements::Decrement8 => (4957, 14),
4540 Elements::Decrement16 => (39664, 17),
4541 Elements::Decrement32 => (39665, 17),
4542 Elements::Decrement64 => (39666, 17),
4543 Elements::FullMultiply8 => (4965, 14),
4544 Elements::FullMultiply16 => (39728, 17),
4545 Elements::FullMultiply32 => (39729, 17),
4546 Elements::FullMultiply64 => (39730, 17),
4547 Elements::Multiply8 => (4973, 14),
4548 Elements::Multiply16 => (39792, 17),
4549 Elements::Multiply32 => (39793, 17),
4550 Elements::Multiply64 => (39794, 17),
4551 Elements::IsZero8 => (4981, 14),
4552 Elements::IsZero16 => (39856, 17),
4553 Elements::IsZero32 => (39857, 17),
4554 Elements::IsZero64 => (39858, 17),
4555 Elements::IsOne8 => (4989, 14),
4556 Elements::IsOne16 => (39920, 17),
4557 Elements::IsOne32 => (39921, 17),
4558 Elements::IsOne64 => (39922, 17),
4559 Elements::Le8 => (79877, 18),
4560 Elements::Le16 => (639024, 21),
4561 Elements::Le32 => (639025, 21),
4562 Elements::Le64 => (639026, 21),
4563 Elements::Lt8 => (79885, 18),
4564 Elements::Lt16 => (639088, 21),
4565 Elements::Lt32 => (639089, 21),
4566 Elements::Lt64 => (639090, 21),
4567 Elements::Min8 => (79893, 18),
4568 Elements::Min16 => (639152, 21),
4569 Elements::Min32 => (639153, 21),
4570 Elements::Min64 => (639154, 21),
4571 Elements::Max8 => (79901, 18),
4572 Elements::Max16 => (639216, 21),
4573 Elements::Max32 => (639217, 21),
4574 Elements::Max64 => (639218, 21),
4575 Elements::Median8 => (79909, 18),
4576 Elements::Median16 => (639280, 21),
4577 Elements::Median32 => (639281, 21),
4578 Elements::Median64 => (639282, 21),
4579 Elements::DivMod128_64 => (639346, 21),
4580 Elements::DivMod8 => (79925, 18),
4581 Elements::DivMod16 => (639408, 21),
4582 Elements::DivMod32 => (639409, 21),
4583 Elements::DivMod64 => (639410, 21),
4584 Elements::Divide8 => (79933, 18),
4585 Elements::Divide16 => (639472, 21),
4586 Elements::Divide32 => (639473, 21),
4587 Elements::Divide64 => (639474, 21),
4588 Elements::Modulo8 => (79941, 18),
4589 Elements::Modulo16 => (639536, 21),
4590 Elements::Modulo32 => (639537, 21),
4591 Elements::Modulo64 => (639538, 21),
4592 Elements::Divides8 => (79949, 18),
4593 Elements::Divides16 => (639600, 21),
4594 Elements::Divides32 => (639601, 21),
4595 Elements::Divides64 => (639602, 21),
4596 Elements::Sha256Block => (20, 6),
4597 Elements::Sha256Iv => (84, 8),
4598 Elements::Sha256Ctx8Add1 => (170, 9),
4599 Elements::Sha256Ctx8Add2 => (684, 11),
4600 Elements::Sha256Ctx8Add4 => (685, 11),
4601 Elements::Sha256Ctx8Add8 => (5488, 14),
4602 Elements::Sha256Ctx8Add16 => (5489, 14),
4603 Elements::Sha256Ctx8Add32 => (5490, 14),
4604 Elements::Sha256Ctx8Add64 => (5491, 14),
4605 Elements::Sha256Ctx8Add128 => (10984, 15),
4606 Elements::Sha256Ctx8Add256 => (10985, 15),
4607 Elements::Sha256Ctx8Add512 => (10986, 15),
4608 Elements::Sha256Ctx8AddBuffer511 => (688, 11),
4609 Elements::Sha256Ctx8Finalize => (689, 11),
4610 Elements::Sha256Ctx8Init => (690, 11),
4611 Elements::PointVerify1 => (192, 9),
4612 Elements::Decompress => (388, 10),
4613 Elements::LinearVerify1 => (778, 11),
4614 Elements::LinearCombination1 => (6240, 14),
4615 Elements::Scale => (3121, 13),
4616 Elements::Generate => (3122, 13),
4617 Elements::GejInfinity => (3123, 13),
4618 Elements::GejNormalize => (6248, 14),
4619 Elements::GejNegate => (6249, 14),
4620 Elements::GeNegate => (6250, 14),
4621 Elements::GejDouble => (6251, 14),
4622 Elements::GejAdd => (6252, 14),
4623 Elements::GejGeAddEx => (6253, 14),
4624 Elements::GejGeAdd => (6254, 14),
4625 Elements::GejRescale => (6255, 14),
4626 Elements::GejIsInfinity => (100096, 18),
4627 Elements::GejEquiv => (100097, 18),
4628 Elements::GejGeEquiv => (100098, 18),
4629 Elements::GejXEquiv => (100099, 18),
4630 Elements::GejYIsOdd => (100100, 18),
4631 Elements::GejIsOnCurve => (100101, 18),
4632 Elements::GeIsOnCurve => (100102, 18),
4633 Elements::ScalarNormalize => (100103, 18),
4634 Elements::ScalarNegate => (100104, 18),
4635 Elements::ScalarAdd => (100105, 18),
4636 Elements::ScalarSquare => (100106, 18),
4637 Elements::ScalarMultiply => (100107, 18),
4638 Elements::ScalarMultiplyLambda => (100108, 18),
4639 Elements::ScalarInvert => (100109, 18),
4640 Elements::ScalarIsZero => (100110, 18),
4641 Elements::FeNormalize => (200227, 19),
4642 Elements::FeNegate => (200228, 19),
4643 Elements::FeAdd => (200229, 19),
4644 Elements::FeSquare => (200230, 19),
4645 Elements::FeMultiply => (200231, 19),
4646 Elements::FeMultiplyBeta => (200232, 19),
4647 Elements::FeInvert => (200233, 19),
4648 Elements::FeSquareRoot => (200234, 19),
4649 Elements::FeIsZero => (200235, 19),
4650 Elements::FeIsOdd => (200236, 19),
4651 Elements::HashToCurve => (200238, 19),
4652 Elements::Swu => (200239, 19),
4653 Elements::CheckSigVerify => (98, 8),
4654 Elements::Bip0340Verify => (396, 10),
4655 Elements::ParseLock => (102, 8),
4656 Elements::ParseSequence => (412, 10),
4657 Elements::TapdataInit => (413, 10),
4658 Elements::SigAllHash => (4, 3),
4659 Elements::TxHash => (20, 5),
4660 Elements::TapEnvHash => (21, 5),
4661 Elements::OutputsHash => (176, 8),
4662 Elements::InputsHash => (177, 8),
4663 Elements::IssuancesHash => (178, 8),
4664 Elements::InputUtxosHash => (179, 8),
4665 Elements::OutputHash => (360, 9),
4666 Elements::OutputAmountsHash => (361, 9),
4667 Elements::OutputScriptsHash => (362, 9),
4668 Elements::OutputNoncesHash => (363, 9),
4669 Elements::OutputRangeProofsHash => (364, 9),
4670 Elements::OutputSurjectionProofsHash => (365, 9),
4671 Elements::InputHash => (366, 9),
4672 Elements::InputOutpointsHash => (367, 9),
4673 Elements::InputSequencesHash => (5888, 13),
4674 Elements::InputAnnexesHash => (5889, 13),
4675 Elements::InputScriptSigsHash => (5890, 13),
4676 Elements::IssuanceHash => (5891, 13),
4677 Elements::IssuanceAssetAmountsHash => (5892, 13),
4678 Elements::IssuanceTokenAmountsHash => (5893, 13),
4679 Elements::IssuanceRangeProofsHash => (5894, 13),
4680 Elements::IssuanceBlindingEntropyHash => (5895, 13),
4681 Elements::InputUtxoHash => (5896, 13),
4682 Elements::InputAmountsHash => (5897, 13),
4683 Elements::InputScriptsHash => (5898, 13),
4684 Elements::TapleafHash => (5899, 13),
4685 Elements::TappathHash => (5900, 13),
4686 Elements::OutpointHash => (5901, 13),
4687 Elements::AssetAmountHash => (5902, 13),
4688 Elements::NonceHash => (5903, 13),
4689 Elements::AnnexHash => (11808, 14),
4690 Elements::BuildTapleafSimplicity => (11809, 14),
4691 Elements::BuildTapbranch => (11810, 14),
4692 Elements::BuildTaptweak => (11811, 14),
4693 Elements::CheckLockHeight => (24, 5),
4694 Elements::CheckLockTime => (100, 7),
4695 Elements::BrokenDoNotUseCheckLockDistance => (101, 7),
4696 Elements::BrokenDoNotUseCheckLockDuration => (816, 10),
4697 Elements::TxLockHeight => (817, 10),
4698 Elements::TxLockTime => (818, 10),
4699 Elements::BrokenDoNotUseTxLockDistance => (819, 10),
4700 Elements::BrokenDoNotUseTxLockDuration => (1640, 11),
4701 Elements::TxIsFinal => (1641, 11),
4702 Elements::Issuance => (26, 5),
4703 Elements::IssuanceAsset => (108, 7),
4704 Elements::IssuanceToken => (109, 7),
4705 Elements::IssuanceEntropy => (880, 10),
4706 Elements::CalculateIssuanceEntropy => (881, 10),
4707 Elements::CalculateAsset => (882, 10),
4708 Elements::CalculateExplicitToken => (883, 10),
4709 Elements::CalculateConfidentialToken => (1768, 11),
4710 Elements::LbtcAsset => (1769, 11),
4711 Elements::ScriptCMR => (224, 8),
4712 Elements::InternalKey => (900, 10),
4713 Elements::CurrentIndex => (901, 10),
4714 Elements::NumInputs => (7216, 13),
4715 Elements::NumOutputs => (7217, 13),
4716 Elements::LockTime => (7218, 13),
4717 Elements::OutputAsset => (7219, 13),
4718 Elements::OutputAmount => (14440, 14),
4719 Elements::OutputNonce => (14441, 14),
4720 Elements::OutputScriptHash => (14442, 14),
4721 Elements::OutputNullDatum => (14443, 14),
4722 Elements::OutputIsFee => (14444, 14),
4723 Elements::OutputSurjectionProof => (14445, 14),
4724 Elements::OutputRangeProof => (14446, 14),
4725 Elements::TotalFee => (14447, 14),
4726 Elements::CurrentPegin => (231168, 18),
4727 Elements::CurrentPrevOutpoint => (231169, 18),
4728 Elements::CurrentAsset => (231170, 18),
4729 Elements::CurrentAmount => (231171, 18),
4730 Elements::CurrentScriptHash => (231172, 18),
4731 Elements::CurrentSequence => (231173, 18),
4732 Elements::CurrentAnnexHash => (231174, 18),
4733 Elements::CurrentScriptSigHash => (231175, 18),
4734 Elements::CurrentReissuanceBlinding => (231176, 18),
4735 Elements::CurrentNewIssuanceContract => (231177, 18),
4736 Elements::CurrentReissuanceEntropy => (231178, 18),
4737 Elements::CurrentIssuanceAssetAmount => (231179, 18),
4738 Elements::CurrentIssuanceTokenAmount => (231180, 18),
4739 Elements::CurrentIssuanceAssetProof => (231181, 18),
4740 Elements::CurrentIssuanceTokenProof => (231182, 18),
4741 Elements::InputPegin => (231183, 18),
4742 Elements::InputPrevOutpoint => (462368, 19),
4743 Elements::InputAsset => (462369, 19),
4744 Elements::InputAmount => (462370, 19),
4745 Elements::InputScriptHash => (462371, 19),
4746 Elements::InputSequence => (462372, 19),
4747 Elements::InputAnnexHash => (462373, 19),
4748 Elements::InputScriptSigHash => (462374, 19),
4749 Elements::ReissuanceBlinding => (462375, 19),
4750 Elements::NewIssuanceContract => (462376, 19),
4751 Elements::ReissuanceEntropy => (462377, 19),
4752 Elements::IssuanceAssetAmount => (462378, 19),
4753 Elements::IssuanceTokenAmount => (462379, 19),
4754 Elements::IssuanceAssetProof => (462380, 19),
4755 Elements::IssuanceTokenProof => (462381, 19),
4756 Elements::TapleafVersion => (462382, 19),
4757 Elements::Tappath => (462383, 19),
4758 Elements::Version => (462384, 19),
4759 Elements::GenesisBlockHash => (462385, 19),
4760 Elements::TransactionId => (462386, 19),
4761 };
4762
4763 w.write_bits_be(n, len)
4764 }
4765
4766 fn decode<I: Iterator<Item = u8>>(bits: &mut BitIter<I>) -> Result<Self, decode::Error> where Self: Sized {
4767 decode_bits!(bits, {
4768 0 => {
4769 0 => {
4770 0 => {Elements::Verify},
4771 1 => {
4772 0 => {
4773 0 => {
4774 0 => {Elements::Low1},
4775 1 => {
4776 0 => {
4777 0 => {},
4778 1 => {Elements::Low8}
4779 },
4780 1 => {
4781 0 => {
4782 0 => {
4783 0 => {
4784 0 => {Elements::Low16},
4785 1 => {Elements::Low32}
4786 },
4787 1 => {
4788 0 => {Elements::Low64},
4789 1 => {}
4790 }
4791 },
4792 1 => {}
4793 },
4794 1 => {}
4795 }
4796 }
4797 },
4798 1 => {
4799 0 => {Elements::High1},
4800 1 => {
4801 0 => {
4802 0 => {},
4803 1 => {Elements::High8}
4804 },
4805 1 => {
4806 0 => {
4807 0 => {
4808 0 => {
4809 0 => {Elements::High16},
4810 1 => {Elements::High32}
4811 },
4812 1 => {
4813 0 => {Elements::High64},
4814 1 => {}
4815 }
4816 },
4817 1 => {}
4818 },
4819 1 => {}
4820 }
4821 }
4822 }
4823 },
4824 1 => {
4825 0 => {
4826 0 => {
4827 0 => {
4828 0 => {
4829 0 => {Elements::Complement1},
4830 1 => {
4831 0 => {
4832 0 => {},
4833 1 => {Elements::Complement8}
4834 },
4835 1 => {
4836 0 => {
4837 0 => {
4838 0 => {
4839 0 => {Elements::Complement16},
4840 1 => {Elements::Complement32}
4841 },
4842 1 => {
4843 0 => {Elements::Complement64},
4844 1 => {}
4845 }
4846 },
4847 1 => {}
4848 },
4849 1 => {}
4850 }
4851 }
4852 },
4853 1 => {
4854 0 => {Elements::And1},
4855 1 => {
4856 0 => {
4857 0 => {},
4858 1 => {Elements::And8}
4859 },
4860 1 => {
4861 0 => {
4862 0 => {
4863 0 => {
4864 0 => {Elements::And16},
4865 1 => {Elements::And32}
4866 },
4867 1 => {
4868 0 => {Elements::And64},
4869 1 => {}
4870 }
4871 },
4872 1 => {}
4873 },
4874 1 => {}
4875 }
4876 }
4877 }
4878 },
4879 1 => {
4880 0 => {
4881 0 => {Elements::Or1},
4882 1 => {
4883 0 => {
4884 0 => {},
4885 1 => {Elements::Or8}
4886 },
4887 1 => {
4888 0 => {
4889 0 => {
4890 0 => {
4891 0 => {Elements::Or16},
4892 1 => {Elements::Or32}
4893 },
4894 1 => {
4895 0 => {Elements::Or64},
4896 1 => {}
4897 }
4898 },
4899 1 => {}
4900 },
4901 1 => {}
4902 }
4903 }
4904 },
4905 1 => {
4906 0 => {Elements::Xor1},
4907 1 => {
4908 0 => {
4909 0 => {},
4910 1 => {Elements::Xor8}
4911 },
4912 1 => {
4913 0 => {
4914 0 => {
4915 0 => {
4916 0 => {Elements::Xor16},
4917 1 => {Elements::Xor32}
4918 },
4919 1 => {
4920 0 => {Elements::Xor64},
4921 1 => {}
4922 }
4923 },
4924 1 => {}
4925 },
4926 1 => {}
4927 }
4928 }
4929 }
4930 }
4931 },
4932 1 => {
4933 0 => {
4934 0 => {
4935 0 => {
4936 0 => {Elements::Maj1},
4937 1 => {
4938 0 => {
4939 0 => {},
4940 1 => {Elements::Maj8}
4941 },
4942 1 => {
4943 0 => {
4944 0 => {
4945 0 => {
4946 0 => {Elements::Maj16},
4947 1 => {Elements::Maj32}
4948 },
4949 1 => {
4950 0 => {Elements::Maj64},
4951 1 => {}
4952 }
4953 },
4954 1 => {}
4955 },
4956 1 => {}
4957 }
4958 }
4959 },
4960 1 => {
4961 0 => {Elements::XorXor1},
4962 1 => {
4963 0 => {
4964 0 => {},
4965 1 => {Elements::XorXor8}
4966 },
4967 1 => {
4968 0 => {
4969 0 => {
4970 0 => {
4971 0 => {Elements::XorXor16},
4972 1 => {Elements::XorXor32}
4973 },
4974 1 => {
4975 0 => {Elements::XorXor64},
4976 1 => {}
4977 }
4978 },
4979 1 => {}
4980 },
4981 1 => {}
4982 }
4983 }
4984 }
4985 },
4986 1 => {
4987 0 => {
4988 0 => {Elements::Ch1},
4989 1 => {
4990 0 => {
4991 0 => {},
4992 1 => {Elements::Ch8}
4993 },
4994 1 => {
4995 0 => {
4996 0 => {
4997 0 => {
4998 0 => {Elements::Ch16},
4999 1 => {Elements::Ch32}
5000 },
5001 1 => {
5002 0 => {Elements::Ch64},
5003 1 => {}
5004 }
5005 },
5006 1 => {}
5007 },
5008 1 => {}
5009 }
5010 }
5011 },
5012 1 => {
5013 0 => {Elements::Some1},
5014 1 => {
5015 0 => {
5016 0 => {},
5017 1 => {Elements::Some8}
5018 },
5019 1 => {
5020 0 => {
5021 0 => {
5022 0 => {
5023 0 => {Elements::Some16},
5024 1 => {Elements::Some32}
5025 },
5026 1 => {
5027 0 => {Elements::Some64},
5028 1 => {}
5029 }
5030 },
5031 1 => {}
5032 },
5033 1 => {}
5034 }
5035 }
5036 }
5037 }
5038 },
5039 1 => {
5040 0 => {
5041 0 => {
5042 0 => {},
5043 1 => {
5044 0 => {
5045 0 => {},
5046 1 => {Elements::All8}
5047 },
5048 1 => {
5049 0 => {
5050 0 => {
5051 0 => {
5052 0 => {Elements::All16},
5053 1 => {Elements::All32}
5054 },
5055 1 => {
5056 0 => {Elements::All64},
5057 1 => {}
5058 }
5059 },
5060 1 => {}
5061 },
5062 1 => {}
5063 }
5064 }
5065 },
5066 1 => {
5067 0 => {Elements::Eq1},
5068 1 => {
5069 0 => {
5070 0 => {},
5071 1 => {Elements::Eq8}
5072 },
5073 1 => {
5074 0 => {
5075 0 => {
5076 0 => {
5077 0 => {Elements::Eq16},
5078 1 => {Elements::Eq32}
5079 },
5080 1 => {
5081 0 => {Elements::Eq64},
5082 1 => {}
5083 }
5084 },
5085 1 => {
5086 0 => {
5087 0 => {
5088 0 => {Elements::Eq256},
5089 1 => {}
5090 },
5091 1 => {}
5092 },
5093 1 => {}
5094 }
5095 },
5096 1 => {}
5097 }
5098 }
5099 }
5100 },
5101 1 => {
5102 0 => {
5103 0 => {
5104 0 => {},
5105 1 => {
5106 0 => {
5107 0 => {},
5108 1 => {Elements::FullLeftShift8_1}
5109 },
5110 1 => {
5111 0 => {
5112 0 => {
5113 0 => {
5114 0 => {Elements::FullLeftShift16_1},
5115 1 => {Elements::FullLeftShift32_1}
5116 },
5117 1 => {
5118 0 => {Elements::FullLeftShift64_1},
5119 1 => {}
5120 }
5121 },
5122 1 => {}
5123 },
5124 1 => {}
5125 }
5126 }
5127 },
5128 1 => {
5129 0 => {
5130 0 => {
5131 0 => {},
5132 1 => {
5133 0 => {
5134 0 => {Elements::FullLeftShift8_2},
5135 1 => {Elements::FullLeftShift16_2}
5136 },
5137 1 => {
5138 0 => {
5139 0 => {
5140 0 => {
5141 0 => {Elements::FullLeftShift32_2},
5142 1 => {Elements::FullLeftShift64_2}
5143 },
5144 1 => {}
5145 },
5146 1 => {}
5147 },
5148 1 => {}
5149 }
5150 }
5151 },
5152 1 => {
5153 0 => {Elements::FullLeftShift8_4},
5154 1 => {
5155 0 => {
5156 0 => {Elements::FullLeftShift16_4},
5157 1 => {Elements::FullLeftShift32_4}
5158 },
5159 1 => {
5160 0 => {
5161 0 => {
5162 0 => {
5163 0 => {Elements::FullLeftShift64_4},
5164 1 => {}
5165 },
5166 1 => {}
5167 },
5168 1 => {}
5169 },
5170 1 => {}
5171 }
5172 }
5173 }
5174 },
5175 1 => {
5176 0 => {
5177 0 => {
5178 0 => {
5179 0 => {
5180 0 => {Elements::FullLeftShift16_8},
5181 1 => {
5182 0 => {
5183 0 => {Elements::FullLeftShift32_8},
5184 1 => {Elements::FullLeftShift64_8}
5185 },
5186 1 => {}
5187 }
5188 },
5189 1 => {
5190 0 => {Elements::FullLeftShift32_16},
5191 1 => {
5192 0 => {
5193 0 => {Elements::FullLeftShift64_16},
5194 1 => {}
5195 },
5196 1 => {}
5197 }
5198 }
5199 },
5200 1 => {
5201 0 => {
5202 0 => {Elements::FullLeftShift64_32},
5203 1 => {}
5204 },
5205 1 => {}
5206 }
5207 },
5208 1 => {}
5209 },
5210 1 => {}
5211 }
5212 }
5213 },
5214 1 => {
5215 0 => {
5216 0 => {},
5217 1 => {
5218 0 => {
5219 0 => {},
5220 1 => {Elements::FullRightShift8_1}
5221 },
5222 1 => {
5223 0 => {
5224 0 => {
5225 0 => {
5226 0 => {Elements::FullRightShift16_1},
5227 1 => {Elements::FullRightShift32_1}
5228 },
5229 1 => {
5230 0 => {Elements::FullRightShift64_1},
5231 1 => {}
5232 }
5233 },
5234 1 => {}
5235 },
5236 1 => {}
5237 }
5238 }
5239 },
5240 1 => {
5241 0 => {
5242 0 => {
5243 0 => {},
5244 1 => {
5245 0 => {
5246 0 => {Elements::FullRightShift8_2},
5247 1 => {Elements::FullRightShift16_2}
5248 },
5249 1 => {
5250 0 => {
5251 0 => {
5252 0 => {
5253 0 => {Elements::FullRightShift32_2},
5254 1 => {Elements::FullRightShift64_2}
5255 },
5256 1 => {}
5257 },
5258 1 => {}
5259 },
5260 1 => {}
5261 }
5262 }
5263 },
5264 1 => {
5265 0 => {Elements::FullRightShift8_4},
5266 1 => {
5267 0 => {
5268 0 => {Elements::FullRightShift16_4},
5269 1 => {Elements::FullRightShift32_4}
5270 },
5271 1 => {
5272 0 => {
5273 0 => {
5274 0 => {
5275 0 => {Elements::FullRightShift64_4},
5276 1 => {}
5277 },
5278 1 => {}
5279 },
5280 1 => {}
5281 },
5282 1 => {}
5283 }
5284 }
5285 }
5286 },
5287 1 => {
5288 0 => {
5289 0 => {
5290 0 => {
5291 0 => {
5292 0 => {Elements::FullRightShift16_8},
5293 1 => {
5294 0 => {
5295 0 => {Elements::FullRightShift32_8},
5296 1 => {Elements::FullRightShift64_8}
5297 },
5298 1 => {}
5299 }
5300 },
5301 1 => {
5302 0 => {Elements::FullRightShift32_16},
5303 1 => {
5304 0 => {
5305 0 => {Elements::FullRightShift64_16},
5306 1 => {}
5307 },
5308 1 => {}
5309 }
5310 }
5311 },
5312 1 => {
5313 0 => {
5314 0 => {Elements::FullRightShift64_32},
5315 1 => {}
5316 },
5317 1 => {}
5318 }
5319 },
5320 1 => {}
5321 },
5322 1 => {}
5323 }
5324 }
5325 }
5326 }
5327 }
5328 }
5329 },
5330 1 => {
5331 0 => {
5332 0 => {
5333 0 => {
5334 0 => {
5335 0 => {
5336 0 => {
5337 0 => {
5338 0 => {
5339 0 => {
5340 0 => {},
5341 1 => {
5342 0 => {
5343 0 => {},
5344 1 => {Elements::Leftmost8_1}
5345 },
5346 1 => {
5347 0 => {
5348 0 => {
5349 0 => {
5350 0 => {Elements::Leftmost16_1},
5351 1 => {Elements::Leftmost32_1}
5352 },
5353 1 => {
5354 0 => {Elements::Leftmost64_1},
5355 1 => {}
5356 }
5357 },
5358 1 => {}
5359 },
5360 1 => {}
5361 }
5362 }
5363 },
5364 1 => {
5365 0 => {
5366 0 => {
5367 0 => {},
5368 1 => {
5369 0 => {
5370 0 => {Elements::Leftmost8_2},
5371 1 => {Elements::Leftmost16_2}
5372 },
5373 1 => {
5374 0 => {
5375 0 => {
5376 0 => {
5377 0 => {Elements::Leftmost32_2},
5378 1 => {Elements::Leftmost64_2}
5379 },
5380 1 => {}
5381 },
5382 1 => {}
5383 },
5384 1 => {}
5385 }
5386 }
5387 },
5388 1 => {
5389 0 => {Elements::Leftmost8_4},
5390 1 => {
5391 0 => {
5392 0 => {Elements::Leftmost16_4},
5393 1 => {Elements::Leftmost32_4}
5394 },
5395 1 => {
5396 0 => {
5397 0 => {
5398 0 => {
5399 0 => {Elements::Leftmost64_4},
5400 1 => {}
5401 },
5402 1 => {}
5403 },
5404 1 => {}
5405 },
5406 1 => {}
5407 }
5408 }
5409 }
5410 },
5411 1 => {
5412 0 => {
5413 0 => {
5414 0 => {
5415 0 => {
5416 0 => {Elements::Leftmost16_8},
5417 1 => {
5418 0 => {
5419 0 => {Elements::Leftmost32_8},
5420 1 => {Elements::Leftmost64_8}
5421 },
5422 1 => {}
5423 }
5424 },
5425 1 => {
5426 0 => {Elements::Leftmost32_16},
5427 1 => {
5428 0 => {
5429 0 => {Elements::Leftmost64_16},
5430 1 => {}
5431 },
5432 1 => {}
5433 }
5434 }
5435 },
5436 1 => {
5437 0 => {
5438 0 => {Elements::Leftmost64_32},
5439 1 => {}
5440 },
5441 1 => {}
5442 }
5443 },
5444 1 => {}
5445 },
5446 1 => {}
5447 }
5448 }
5449 },
5450 1 => {
5451 0 => {
5452 0 => {},
5453 1 => {
5454 0 => {
5455 0 => {},
5456 1 => {Elements::Rightmost8_1}
5457 },
5458 1 => {
5459 0 => {
5460 0 => {
5461 0 => {
5462 0 => {Elements::Rightmost16_1},
5463 1 => {Elements::Rightmost32_1}
5464 },
5465 1 => {
5466 0 => {Elements::Rightmost64_1},
5467 1 => {}
5468 }
5469 },
5470 1 => {}
5471 },
5472 1 => {}
5473 }
5474 }
5475 },
5476 1 => {
5477 0 => {
5478 0 => {
5479 0 => {},
5480 1 => {
5481 0 => {
5482 0 => {Elements::Rightmost8_2},
5483 1 => {Elements::Rightmost16_2}
5484 },
5485 1 => {
5486 0 => {
5487 0 => {
5488 0 => {
5489 0 => {Elements::Rightmost32_2},
5490 1 => {Elements::Rightmost64_2}
5491 },
5492 1 => {}
5493 },
5494 1 => {}
5495 },
5496 1 => {}
5497 }
5498 }
5499 },
5500 1 => {
5501 0 => {Elements::Rightmost8_4},
5502 1 => {
5503 0 => {
5504 0 => {Elements::Rightmost16_4},
5505 1 => {Elements::Rightmost32_4}
5506 },
5507 1 => {
5508 0 => {
5509 0 => {
5510 0 => {
5511 0 => {Elements::Rightmost64_4},
5512 1 => {}
5513 },
5514 1 => {}
5515 },
5516 1 => {}
5517 },
5518 1 => {}
5519 }
5520 }
5521 }
5522 },
5523 1 => {
5524 0 => {
5525 0 => {
5526 0 => {
5527 0 => {
5528 0 => {Elements::Rightmost16_8},
5529 1 => {
5530 0 => {
5531 0 => {Elements::Rightmost32_8},
5532 1 => {Elements::Rightmost64_8}
5533 },
5534 1 => {}
5535 }
5536 },
5537 1 => {
5538 0 => {Elements::Rightmost32_16},
5539 1 => {
5540 0 => {
5541 0 => {Elements::Rightmost64_16},
5542 1 => {}
5543 },
5544 1 => {}
5545 }
5546 }
5547 },
5548 1 => {
5549 0 => {
5550 0 => {Elements::Rightmost64_32},
5551 1 => {}
5552 },
5553 1 => {}
5554 }
5555 },
5556 1 => {}
5557 },
5558 1 => {}
5559 }
5560 }
5561 }
5562 },
5563 1 => {
5564 0 => {
5565 0 => {
5566 0 => {},
5567 1 => {
5568 0 => {
5569 0 => {},
5570 1 => {Elements::LeftPadLow1_8}
5571 },
5572 1 => {
5573 0 => {
5574 0 => {
5575 0 => {
5576 0 => {Elements::LeftPadLow1_16},
5577 1 => {Elements::LeftPadLow1_32}
5578 },
5579 1 => {
5580 0 => {Elements::LeftPadLow1_64},
5581 1 => {}
5582 }
5583 },
5584 1 => {}
5585 },
5586 1 => {}
5587 }
5588 }
5589 },
5590 1 => {
5591 0 => {},
5592 1 => {
5593 0 => {
5594 0 => {
5595 0 => {
5596 0 => {
5597 0 => {Elements::LeftPadLow8_16},
5598 1 => {
5599 0 => {
5600 0 => {Elements::LeftPadLow8_32},
5601 1 => {Elements::LeftPadLow8_64}
5602 },
5603 1 => {}
5604 }
5605 },
5606 1 => {
5607 0 => {Elements::LeftPadLow16_32},
5608 1 => {
5609 0 => {
5610 0 => {Elements::LeftPadLow16_64},
5611 1 => {}
5612 },
5613 1 => {}
5614 }
5615 }
5616 },
5617 1 => {
5618 0 => {
5619 0 => {Elements::LeftPadLow32_64},
5620 1 => {}
5621 },
5622 1 => {}
5623 }
5624 },
5625 1 => {}
5626 },
5627 1 => {}
5628 }
5629 }
5630 },
5631 1 => {
5632 0 => {
5633 0 => {},
5634 1 => {
5635 0 => {
5636 0 => {},
5637 1 => {Elements::LeftPadHigh1_8}
5638 },
5639 1 => {
5640 0 => {
5641 0 => {
5642 0 => {
5643 0 => {Elements::LeftPadHigh1_16},
5644 1 => {Elements::LeftPadHigh1_32}
5645 },
5646 1 => {
5647 0 => {Elements::LeftPadHigh1_64},
5648 1 => {}
5649 }
5650 },
5651 1 => {}
5652 },
5653 1 => {}
5654 }
5655 }
5656 },
5657 1 => {
5658 0 => {},
5659 1 => {
5660 0 => {
5661 0 => {
5662 0 => {
5663 0 => {
5664 0 => {Elements::LeftPadHigh8_16},
5665 1 => {
5666 0 => {
5667 0 => {Elements::LeftPadHigh8_32},
5668 1 => {Elements::LeftPadHigh8_64}
5669 },
5670 1 => {}
5671 }
5672 },
5673 1 => {
5674 0 => {Elements::LeftPadHigh16_32},
5675 1 => {
5676 0 => {
5677 0 => {Elements::LeftPadHigh16_64},
5678 1 => {}
5679 },
5680 1 => {}
5681 }
5682 }
5683 },
5684 1 => {
5685 0 => {
5686 0 => {Elements::LeftPadHigh32_64},
5687 1 => {}
5688 },
5689 1 => {}
5690 }
5691 },
5692 1 => {}
5693 },
5694 1 => {}
5695 }
5696 }
5697 }
5698 }
5699 },
5700 1 => {
5701 0 => {
5702 0 => {
5703 0 => {
5704 0 => {},
5705 1 => {
5706 0 => {
5707 0 => {},
5708 1 => {Elements::LeftExtend1_8}
5709 },
5710 1 => {
5711 0 => {
5712 0 => {
5713 0 => {
5714 0 => {Elements::LeftExtend1_16},
5715 1 => {Elements::LeftExtend1_32}
5716 },
5717 1 => {
5718 0 => {Elements::LeftExtend1_64},
5719 1 => {}
5720 }
5721 },
5722 1 => {}
5723 },
5724 1 => {}
5725 }
5726 }
5727 },
5728 1 => {
5729 0 => {},
5730 1 => {
5731 0 => {
5732 0 => {
5733 0 => {
5734 0 => {
5735 0 => {Elements::LeftExtend8_16},
5736 1 => {
5737 0 => {
5738 0 => {Elements::LeftExtend8_32},
5739 1 => {Elements::LeftExtend8_64}
5740 },
5741 1 => {}
5742 }
5743 },
5744 1 => {
5745 0 => {Elements::LeftExtend16_32},
5746 1 => {
5747 0 => {
5748 0 => {Elements::LeftExtend16_64},
5749 1 => {}
5750 },
5751 1 => {}
5752 }
5753 }
5754 },
5755 1 => {
5756 0 => {
5757 0 => {Elements::LeftExtend32_64},
5758 1 => {}
5759 },
5760 1 => {}
5761 }
5762 },
5763 1 => {}
5764 },
5765 1 => {}
5766 }
5767 }
5768 },
5769 1 => {
5770 0 => {
5771 0 => {},
5772 1 => {
5773 0 => {
5774 0 => {},
5775 1 => {Elements::RightPadLow1_8}
5776 },
5777 1 => {
5778 0 => {
5779 0 => {
5780 0 => {
5781 0 => {Elements::RightPadLow1_16},
5782 1 => {Elements::RightPadLow1_32}
5783 },
5784 1 => {
5785 0 => {Elements::RightPadLow1_64},
5786 1 => {}
5787 }
5788 },
5789 1 => {}
5790 },
5791 1 => {}
5792 }
5793 }
5794 },
5795 1 => {
5796 0 => {},
5797 1 => {
5798 0 => {
5799 0 => {
5800 0 => {
5801 0 => {
5802 0 => {Elements::RightPadLow8_16},
5803 1 => {
5804 0 => {
5805 0 => {Elements::RightPadLow8_32},
5806 1 => {Elements::RightPadLow8_64}
5807 },
5808 1 => {}
5809 }
5810 },
5811 1 => {
5812 0 => {Elements::RightPadLow16_32},
5813 1 => {
5814 0 => {
5815 0 => {Elements::RightPadLow16_64},
5816 1 => {}
5817 },
5818 1 => {}
5819 }
5820 }
5821 },
5822 1 => {
5823 0 => {
5824 0 => {Elements::RightPadLow32_64},
5825 1 => {}
5826 },
5827 1 => {}
5828 }
5829 },
5830 1 => {}
5831 },
5832 1 => {}
5833 }
5834 }
5835 }
5836 },
5837 1 => {
5838 0 => {
5839 0 => {
5840 0 => {},
5841 1 => {
5842 0 => {
5843 0 => {},
5844 1 => {Elements::RightPadHigh1_8}
5845 },
5846 1 => {
5847 0 => {
5848 0 => {
5849 0 => {
5850 0 => {Elements::RightPadHigh1_16},
5851 1 => {Elements::RightPadHigh1_32}
5852 },
5853 1 => {
5854 0 => {Elements::RightPadHigh1_64},
5855 1 => {}
5856 }
5857 },
5858 1 => {}
5859 },
5860 1 => {}
5861 }
5862 }
5863 },
5864 1 => {
5865 0 => {},
5866 1 => {
5867 0 => {
5868 0 => {
5869 0 => {
5870 0 => {
5871 0 => {Elements::RightPadHigh8_16},
5872 1 => {
5873 0 => {
5874 0 => {Elements::RightPadHigh8_32},
5875 1 => {Elements::RightPadHigh8_64}
5876 },
5877 1 => {}
5878 }
5879 },
5880 1 => {
5881 0 => {Elements::RightPadHigh16_32},
5882 1 => {
5883 0 => {
5884 0 => {Elements::RightPadHigh16_64},
5885 1 => {}
5886 },
5887 1 => {}
5888 }
5889 }
5890 },
5891 1 => {
5892 0 => {
5893 0 => {Elements::RightPadHigh32_64},
5894 1 => {}
5895 },
5896 1 => {}
5897 }
5898 },
5899 1 => {}
5900 },
5901 1 => {}
5902 }
5903 }
5904 },
5905 1 => {
5906 0 => {},
5907 1 => {
5908 0 => {},
5909 1 => {
5910 0 => {
5911 0 => {
5912 0 => {
5913 0 => {
5914 0 => {Elements::RightExtend8_16},
5915 1 => {
5916 0 => {
5917 0 => {Elements::RightExtend8_32},
5918 1 => {Elements::RightExtend8_64}
5919 },
5920 1 => {}
5921 }
5922 },
5923 1 => {
5924 0 => {Elements::RightExtend16_32},
5925 1 => {
5926 0 => {
5927 0 => {Elements::RightExtend16_64},
5928 1 => {}
5929 },
5930 1 => {}
5931 }
5932 }
5933 },
5934 1 => {
5935 0 => {
5936 0 => {Elements::RightExtend32_64},
5937 1 => {}
5938 },
5939 1 => {}
5940 }
5941 },
5942 1 => {}
5943 },
5944 1 => {}
5945 }
5946 }
5947 }
5948 }
5949 }
5950 },
5951 1 => {
5952 0 => {
5953 0 => {
5954 0 => {
5955 0 => {},
5956 1 => {
5957 0 => {
5958 0 => {},
5959 1 => {Elements::LeftShiftWith8}
5960 },
5961 1 => {
5962 0 => {
5963 0 => {
5964 0 => {
5965 0 => {Elements::LeftShiftWith16},
5966 1 => {Elements::LeftShiftWith32}
5967 },
5968 1 => {
5969 0 => {Elements::LeftShiftWith64},
5970 1 => {}
5971 }
5972 },
5973 1 => {}
5974 },
5975 1 => {}
5976 }
5977 }
5978 },
5979 1 => {
5980 0 => {},
5981 1 => {
5982 0 => {
5983 0 => {},
5984 1 => {Elements::RightShiftWith8}
5985 },
5986 1 => {
5987 0 => {
5988 0 => {
5989 0 => {
5990 0 => {Elements::RightShiftWith16},
5991 1 => {Elements::RightShiftWith32}
5992 },
5993 1 => {
5994 0 => {Elements::RightShiftWith64},
5995 1 => {}
5996 }
5997 },
5998 1 => {}
5999 },
6000 1 => {}
6001 }
6002 }
6003 }
6004 },
6005 1 => {
6006 0 => {
6007 0 => {},
6008 1 => {
6009 0 => {
6010 0 => {},
6011 1 => {Elements::LeftShift8}
6012 },
6013 1 => {
6014 0 => {
6015 0 => {
6016 0 => {
6017 0 => {Elements::LeftShift16},
6018 1 => {Elements::LeftShift32}
6019 },
6020 1 => {
6021 0 => {Elements::LeftShift64},
6022 1 => {}
6023 }
6024 },
6025 1 => {}
6026 },
6027 1 => {}
6028 }
6029 }
6030 },
6031 1 => {
6032 0 => {},
6033 1 => {
6034 0 => {
6035 0 => {},
6036 1 => {Elements::RightShift8}
6037 },
6038 1 => {
6039 0 => {
6040 0 => {
6041 0 => {
6042 0 => {Elements::RightShift16},
6043 1 => {Elements::RightShift32}
6044 },
6045 1 => {
6046 0 => {Elements::RightShift64},
6047 1 => {}
6048 }
6049 },
6050 1 => {}
6051 },
6052 1 => {}
6053 }
6054 }
6055 }
6056 }
6057 },
6058 1 => {
6059 0 => {
6060 0 => {
6061 0 => {},
6062 1 => {
6063 0 => {
6064 0 => {},
6065 1 => {Elements::LeftRotate8}
6066 },
6067 1 => {
6068 0 => {
6069 0 => {
6070 0 => {
6071 0 => {Elements::LeftRotate16},
6072 1 => {Elements::LeftRotate32}
6073 },
6074 1 => {
6075 0 => {Elements::LeftRotate64},
6076 1 => {}
6077 }
6078 },
6079 1 => {}
6080 },
6081 1 => {}
6082 }
6083 }
6084 },
6085 1 => {
6086 0 => {},
6087 1 => {
6088 0 => {
6089 0 => {},
6090 1 => {Elements::RightRotate8}
6091 },
6092 1 => {
6093 0 => {
6094 0 => {
6095 0 => {
6096 0 => {Elements::RightRotate16},
6097 1 => {Elements::RightRotate32}
6098 },
6099 1 => {
6100 0 => {Elements::RightRotate64},
6101 1 => {}
6102 }
6103 },
6104 1 => {}
6105 },
6106 1 => {}
6107 }
6108 }
6109 }
6110 },
6111 1 => {}
6112 }
6113 }
6114 },
6115 1 => {}
6116 },
6117 1 => {}
6118 },
6119 1 => {}
6120 },
6121 1 => {}
6122 }
6123 }
6124 }
6125 },
6126 1 => {
6127 0 => {
6128 0 => {
6129 0 => {
6130 0 => {},
6131 1 => {
6132 0 => {
6133 0 => {},
6134 1 => {Elements::One8}
6135 },
6136 1 => {
6137 0 => {
6138 0 => {
6139 0 => {
6140 0 => {Elements::One16},
6141 1 => {Elements::One32}
6142 },
6143 1 => {
6144 0 => {Elements::One64},
6145 1 => {}
6146 }
6147 },
6148 1 => {}
6149 },
6150 1 => {}
6151 }
6152 }
6153 },
6154 1 => {
6155 0 => {
6156 0 => {
6157 0 => {},
6158 1 => {
6159 0 => {
6160 0 => {},
6161 1 => {Elements::FullAdd8}
6162 },
6163 1 => {
6164 0 => {
6165 0 => {
6166 0 => {
6167 0 => {Elements::FullAdd16},
6168 1 => {Elements::FullAdd32}
6169 },
6170 1 => {
6171 0 => {Elements::FullAdd64},
6172 1 => {}
6173 }
6174 },
6175 1 => {}
6176 },
6177 1 => {}
6178 }
6179 }
6180 },
6181 1 => {
6182 0 => {},
6183 1 => {
6184 0 => {
6185 0 => {},
6186 1 => {Elements::Add8}
6187 },
6188 1 => {
6189 0 => {
6190 0 => {
6191 0 => {
6192 0 => {Elements::Add16},
6193 1 => {Elements::Add32}
6194 },
6195 1 => {
6196 0 => {Elements::Add64},
6197 1 => {}
6198 }
6199 },
6200 1 => {}
6201 },
6202 1 => {}
6203 }
6204 }
6205 }
6206 },
6207 1 => {
6208 0 => {
6209 0 => {
6210 0 => {
6211 0 => {
6212 0 => {},
6213 1 => {
6214 0 => {
6215 0 => {},
6216 1 => {Elements::FullIncrement8}
6217 },
6218 1 => {
6219 0 => {
6220 0 => {
6221 0 => {
6222 0 => {Elements::FullIncrement16},
6223 1 => {Elements::FullIncrement32}
6224 },
6225 1 => {
6226 0 => {Elements::FullIncrement64},
6227 1 => {}
6228 }
6229 },
6230 1 => {}
6231 },
6232 1 => {}
6233 }
6234 }
6235 },
6236 1 => {
6237 0 => {},
6238 1 => {
6239 0 => {
6240 0 => {},
6241 1 => {Elements::Increment8}
6242 },
6243 1 => {
6244 0 => {
6245 0 => {
6246 0 => {
6247 0 => {Elements::Increment16},
6248 1 => {Elements::Increment32}
6249 },
6250 1 => {
6251 0 => {Elements::Increment64},
6252 1 => {}
6253 }
6254 },
6255 1 => {}
6256 },
6257 1 => {}
6258 }
6259 }
6260 }
6261 },
6262 1 => {
6263 0 => {},
6264 1 => {
6265 0 => {},
6266 1 => {
6267 0 => {
6268 0 => {},
6269 1 => {Elements::FullSubtract8}
6270 },
6271 1 => {
6272 0 => {
6273 0 => {
6274 0 => {
6275 0 => {Elements::FullSubtract16},
6276 1 => {Elements::FullSubtract32}
6277 },
6278 1 => {
6279 0 => {Elements::FullSubtract64},
6280 1 => {}
6281 }
6282 },
6283 1 => {}
6284 },
6285 1 => {}
6286 }
6287 }
6288 }
6289 }
6290 },
6291 1 => {
6292 0 => {
6293 0 => {
6294 0 => {
6295 0 => {},
6296 1 => {
6297 0 => {
6298 0 => {},
6299 1 => {Elements::Subtract8}
6300 },
6301 1 => {
6302 0 => {
6303 0 => {
6304 0 => {
6305 0 => {Elements::Subtract16},
6306 1 => {Elements::Subtract32}
6307 },
6308 1 => {
6309 0 => {Elements::Subtract64},
6310 1 => {}
6311 }
6312 },
6313 1 => {}
6314 },
6315 1 => {}
6316 }
6317 }
6318 },
6319 1 => {
6320 0 => {},
6321 1 => {
6322 0 => {
6323 0 => {},
6324 1 => {Elements::Negate8}
6325 },
6326 1 => {
6327 0 => {
6328 0 => {
6329 0 => {
6330 0 => {Elements::Negate16},
6331 1 => {Elements::Negate32}
6332 },
6333 1 => {
6334 0 => {Elements::Negate64},
6335 1 => {}
6336 }
6337 },
6338 1 => {}
6339 },
6340 1 => {}
6341 }
6342 }
6343 }
6344 },
6345 1 => {
6346 0 => {
6347 0 => {},
6348 1 => {
6349 0 => {
6350 0 => {},
6351 1 => {Elements::FullDecrement8}
6352 },
6353 1 => {
6354 0 => {
6355 0 => {
6356 0 => {
6357 0 => {Elements::FullDecrement16},
6358 1 => {Elements::FullDecrement32}
6359 },
6360 1 => {
6361 0 => {Elements::FullDecrement64},
6362 1 => {}
6363 }
6364 },
6365 1 => {}
6366 },
6367 1 => {}
6368 }
6369 }
6370 },
6371 1 => {
6372 0 => {},
6373 1 => {
6374 0 => {
6375 0 => {},
6376 1 => {Elements::Decrement8}
6377 },
6378 1 => {
6379 0 => {
6380 0 => {
6381 0 => {
6382 0 => {Elements::Decrement16},
6383 1 => {Elements::Decrement32}
6384 },
6385 1 => {
6386 0 => {Elements::Decrement64},
6387 1 => {}
6388 }
6389 },
6390 1 => {}
6391 },
6392 1 => {}
6393 }
6394 }
6395 }
6396 }
6397 },
6398 1 => {
6399 0 => {
6400 0 => {
6401 0 => {},
6402 1 => {
6403 0 => {
6404 0 => {},
6405 1 => {Elements::FullMultiply8}
6406 },
6407 1 => {
6408 0 => {
6409 0 => {
6410 0 => {
6411 0 => {Elements::FullMultiply16},
6412 1 => {Elements::FullMultiply32}
6413 },
6414 1 => {
6415 0 => {Elements::FullMultiply64},
6416 1 => {}
6417 }
6418 },
6419 1 => {}
6420 },
6421 1 => {}
6422 }
6423 }
6424 },
6425 1 => {
6426 0 => {},
6427 1 => {
6428 0 => {
6429 0 => {},
6430 1 => {Elements::Multiply8}
6431 },
6432 1 => {
6433 0 => {
6434 0 => {
6435 0 => {
6436 0 => {Elements::Multiply16},
6437 1 => {Elements::Multiply32}
6438 },
6439 1 => {
6440 0 => {Elements::Multiply64},
6441 1 => {}
6442 }
6443 },
6444 1 => {}
6445 },
6446 1 => {}
6447 }
6448 }
6449 }
6450 },
6451 1 => {
6452 0 => {
6453 0 => {},
6454 1 => {
6455 0 => {
6456 0 => {},
6457 1 => {Elements::IsZero8}
6458 },
6459 1 => {
6460 0 => {
6461 0 => {
6462 0 => {
6463 0 => {Elements::IsZero16},
6464 1 => {Elements::IsZero32}
6465 },
6466 1 => {
6467 0 => {Elements::IsZero64},
6468 1 => {}
6469 }
6470 },
6471 1 => {}
6472 },
6473 1 => {}
6474 }
6475 }
6476 },
6477 1 => {
6478 0 => {},
6479 1 => {
6480 0 => {
6481 0 => {},
6482 1 => {Elements::IsOne8}
6483 },
6484 1 => {
6485 0 => {
6486 0 => {
6487 0 => {
6488 0 => {Elements::IsOne16},
6489 1 => {Elements::IsOne32}
6490 },
6491 1 => {
6492 0 => {Elements::IsOne64},
6493 1 => {}
6494 }
6495 },
6496 1 => {}
6497 },
6498 1 => {}
6499 }
6500 }
6501 }
6502 }
6503 }
6504 }
6505 },
6506 1 => {
6507 0 => {
6508 0 => {
6509 0 => {
6510 0 => {
6511 0 => {
6512 0 => {
6513 0 => {
6514 0 => {
6515 0 => {},
6516 1 => {
6517 0 => {
6518 0 => {},
6519 1 => {Elements::Le8}
6520 },
6521 1 => {
6522 0 => {
6523 0 => {
6524 0 => {
6525 0 => {Elements::Le16},
6526 1 => {Elements::Le32}
6527 },
6528 1 => {
6529 0 => {Elements::Le64},
6530 1 => {}
6531 }
6532 },
6533 1 => {}
6534 },
6535 1 => {}
6536 }
6537 }
6538 },
6539 1 => {
6540 0 => {},
6541 1 => {
6542 0 => {
6543 0 => {},
6544 1 => {Elements::Lt8}
6545 },
6546 1 => {
6547 0 => {
6548 0 => {
6549 0 => {
6550 0 => {Elements::Lt16},
6551 1 => {Elements::Lt32}
6552 },
6553 1 => {
6554 0 => {Elements::Lt64},
6555 1 => {}
6556 }
6557 },
6558 1 => {}
6559 },
6560 1 => {}
6561 }
6562 }
6563 }
6564 },
6565 1 => {
6566 0 => {
6567 0 => {},
6568 1 => {
6569 0 => {
6570 0 => {},
6571 1 => {Elements::Min8}
6572 },
6573 1 => {
6574 0 => {
6575 0 => {
6576 0 => {
6577 0 => {Elements::Min16},
6578 1 => {Elements::Min32}
6579 },
6580 1 => {
6581 0 => {Elements::Min64},
6582 1 => {}
6583 }
6584 },
6585 1 => {}
6586 },
6587 1 => {}
6588 }
6589 }
6590 },
6591 1 => {
6592 0 => {},
6593 1 => {
6594 0 => {
6595 0 => {},
6596 1 => {Elements::Max8}
6597 },
6598 1 => {
6599 0 => {
6600 0 => {
6601 0 => {
6602 0 => {Elements::Max16},
6603 1 => {Elements::Max32}
6604 },
6605 1 => {
6606 0 => {Elements::Max64},
6607 1 => {}
6608 }
6609 },
6610 1 => {}
6611 },
6612 1 => {}
6613 }
6614 }
6615 }
6616 }
6617 },
6618 1 => {
6619 0 => {
6620 0 => {
6621 0 => {},
6622 1 => {
6623 0 => {
6624 0 => {},
6625 1 => {Elements::Median8}
6626 },
6627 1 => {
6628 0 => {
6629 0 => {
6630 0 => {
6631 0 => {Elements::Median16},
6632 1 => {Elements::Median32}
6633 },
6634 1 => {
6635 0 => {Elements::Median64},
6636 1 => {}
6637 }
6638 },
6639 1 => {}
6640 },
6641 1 => {}
6642 }
6643 }
6644 },
6645 1 => {
6646 0 => {},
6647 1 => {
6648 0 => {},
6649 1 => {
6650 0 => {
6651 0 => {
6652 0 => {},
6653 1 => {
6654 0 => {Elements::DivMod128_64},
6655 1 => {}
6656 }
6657 },
6658 1 => {}
6659 },
6660 1 => {}
6661 }
6662 }
6663 }
6664 },
6665 1 => {
6666 0 => {
6667 0 => {},
6668 1 => {
6669 0 => {
6670 0 => {},
6671 1 => {Elements::DivMod8}
6672 },
6673 1 => {
6674 0 => {
6675 0 => {
6676 0 => {
6677 0 => {Elements::DivMod16},
6678 1 => {Elements::DivMod32}
6679 },
6680 1 => {
6681 0 => {Elements::DivMod64},
6682 1 => {}
6683 }
6684 },
6685 1 => {}
6686 },
6687 1 => {}
6688 }
6689 }
6690 },
6691 1 => {
6692 0 => {},
6693 1 => {
6694 0 => {
6695 0 => {},
6696 1 => {Elements::Divide8}
6697 },
6698 1 => {
6699 0 => {
6700 0 => {
6701 0 => {
6702 0 => {Elements::Divide16},
6703 1 => {Elements::Divide32}
6704 },
6705 1 => {
6706 0 => {Elements::Divide64},
6707 1 => {}
6708 }
6709 },
6710 1 => {}
6711 },
6712 1 => {}
6713 }
6714 }
6715 }
6716 }
6717 }
6718 },
6719 1 => {
6720 0 => {
6721 0 => {
6722 0 => {
6723 0 => {},
6724 1 => {
6725 0 => {
6726 0 => {},
6727 1 => {Elements::Modulo8}
6728 },
6729 1 => {
6730 0 => {
6731 0 => {
6732 0 => {
6733 0 => {Elements::Modulo16},
6734 1 => {Elements::Modulo32}
6735 },
6736 1 => {
6737 0 => {Elements::Modulo64},
6738 1 => {}
6739 }
6740 },
6741 1 => {}
6742 },
6743 1 => {}
6744 }
6745 }
6746 },
6747 1 => {
6748 0 => {},
6749 1 => {
6750 0 => {
6751 0 => {},
6752 1 => {Elements::Divides8}
6753 },
6754 1 => {
6755 0 => {
6756 0 => {
6757 0 => {
6758 0 => {Elements::Divides16},
6759 1 => {Elements::Divides32}
6760 },
6761 1 => {
6762 0 => {Elements::Divides64},
6763 1 => {}
6764 }
6765 },
6766 1 => {}
6767 },
6768 1 => {}
6769 }
6770 }
6771 }
6772 },
6773 1 => {}
6774 },
6775 1 => {}
6776 }
6777 },
6778 1 => {}
6779 },
6780 1 => {}
6781 },
6782 1 => {}
6783 },
6784 1 => {}
6785 }
6786 }
6787 }
6788 },
6789 1 => {
6790 0 => {
6791 0 => {Elements::Sha256Block},
6792 1 => {
6793 0 => {
6794 0 => {Elements::Sha256Iv},
6795 1 => {
6796 0 => {Elements::Sha256Ctx8Add1},
6797 1 => {
6798 0 => {
6799 0 => {Elements::Sha256Ctx8Add2},
6800 1 => {Elements::Sha256Ctx8Add4}
6801 },
6802 1 => {
6803 0 => {
6804 0 => {
6805 0 => {
6806 0 => {Elements::Sha256Ctx8Add8},
6807 1 => {Elements::Sha256Ctx8Add16}
6808 },
6809 1 => {
6810 0 => {Elements::Sha256Ctx8Add32},
6811 1 => {Elements::Sha256Ctx8Add64}
6812 }
6813 },
6814 1 => {
6815 0 => {
6816 0 => {
6817 0 => {Elements::Sha256Ctx8Add128},
6818 1 => {Elements::Sha256Ctx8Add256}
6819 },
6820 1 => {
6821 0 => {Elements::Sha256Ctx8Add512},
6822 1 => {}
6823 }
6824 },
6825 1 => {}
6826 }
6827 },
6828 1 => {}
6829 }
6830 }
6831 }
6832 },
6833 1 => {
6834 0 => {
6835 0 => {
6836 0 => {
6837 0 => {Elements::Sha256Ctx8AddBuffer511},
6838 1 => {Elements::Sha256Ctx8Finalize}
6839 },
6840 1 => {
6841 0 => {Elements::Sha256Ctx8Init},
6842 1 => {}
6843 }
6844 },
6845 1 => {}
6846 },
6847 1 => {}
6848 }
6849 }
6850 },
6851 1 => {}
6852 }
6853 },
6854 1 => {
6855 0 => {
6856 0 => {
6857 0 => {
6858 0 => {
6859 0 => {
6860 0 => {Elements::PointVerify1},
6861 1 => {}
6862 },
6863 1 => {
6864 0 => {
6865 0 => {Elements::Decompress},
6866 1 => {
6867 0 => {Elements::LinearVerify1},
6868 1 => {}
6869 }
6870 },
6871 1 => {
6872 0 => {
6873 0 => {
6874 0 => {
6875 0 => {
6876 0 => {Elements::LinearCombination1},
6877 1 => {}
6878 },
6879 1 => {Elements::Scale}
6880 },
6881 1 => {
6882 0 => {Elements::Generate},
6883 1 => {Elements::GejInfinity}
6884 }
6885 },
6886 1 => {
6887 0 => {
6888 0 => {
6889 0 => {Elements::GejNormalize},
6890 1 => {Elements::GejNegate}
6891 },
6892 1 => {
6893 0 => {Elements::GeNegate},
6894 1 => {Elements::GejDouble}
6895 }
6896 },
6897 1 => {
6898 0 => {
6899 0 => {Elements::GejAdd},
6900 1 => {Elements::GejGeAddEx}
6901 },
6902 1 => {
6903 0 => {Elements::GejGeAdd},
6904 1 => {Elements::GejRescale}
6905 }
6906 }
6907 }
6908 },
6909 1 => {
6910 0 => {
6911 0 => {
6912 0 => {
6913 0 => {
6914 0 => {
6915 0 => {
6916 0 => {
6917 0 => {Elements::GejIsInfinity},
6918 1 => {Elements::GejEquiv}
6919 },
6920 1 => {
6921 0 => {Elements::GejGeEquiv},
6922 1 => {Elements::GejXEquiv}
6923 }
6924 },
6925 1 => {
6926 0 => {
6927 0 => {Elements::GejYIsOdd},
6928 1 => {Elements::GejIsOnCurve}
6929 },
6930 1 => {
6931 0 => {Elements::GeIsOnCurve},
6932 1 => {Elements::ScalarNormalize}
6933 }
6934 }
6935 },
6936 1 => {
6937 0 => {
6938 0 => {
6939 0 => {Elements::ScalarNegate},
6940 1 => {Elements::ScalarAdd}
6941 },
6942 1 => {
6943 0 => {Elements::ScalarSquare},
6944 1 => {Elements::ScalarMultiply}
6945 }
6946 },
6947 1 => {
6948 0 => {
6949 0 => {Elements::ScalarMultiplyLambda},
6950 1 => {Elements::ScalarInvert}
6951 },
6952 1 => {
6953 0 => {Elements::ScalarIsZero},
6954 1 => {}
6955 }
6956 }
6957 }
6958 },
6959 1 => {
6960 0 => {
6961 0 => {
6962 0 => {
6963 0 => {},
6964 1 => {
6965 0 => {},
6966 1 => {Elements::FeNormalize}
6967 }
6968 },
6969 1 => {
6970 0 => {
6971 0 => {Elements::FeNegate},
6972 1 => {Elements::FeAdd}
6973 },
6974 1 => {
6975 0 => {Elements::FeSquare},
6976 1 => {Elements::FeMultiply}
6977 }
6978 }
6979 },
6980 1 => {
6981 0 => {
6982 0 => {
6983 0 => {Elements::FeMultiplyBeta},
6984 1 => {Elements::FeInvert}
6985 },
6986 1 => {
6987 0 => {Elements::FeSquareRoot},
6988 1 => {Elements::FeIsZero}
6989 }
6990 },
6991 1 => {
6992 0 => {
6993 0 => {Elements::FeIsOdd},
6994 1 => {}
6995 },
6996 1 => {
6997 0 => {Elements::HashToCurve},
6998 1 => {Elements::Swu}
6999 }
7000 }
7001 }
7002 },
7003 1 => {}
7004 }
7005 },
7006 1 => {}
7007 },
7008 1 => {}
7009 },
7010 1 => {}
7011 }
7012 }
7013 }
7014 },
7015 1 => {
7016 0 => {Elements::CheckSigVerify},
7017 1 => {
7018 0 => {
7019 0 => {Elements::Bip0340Verify},
7020 1 => {}
7021 },
7022 1 => {}
7023 }
7024 }
7025 },
7026 1 => {
7027 0 => {},
7028 1 => {
7029 0 => {Elements::ParseLock},
7030 1 => {
7031 0 => {
7032 0 => {Elements::ParseSequence},
7033 1 => {Elements::TapdataInit}
7034 },
7035 1 => {}
7036 }
7037 }
7038 }
7039 },
7040 1 => {}
7041 },
7042 1 => {}
7043 }
7044 }
7045 },
7046 1 => {
7047 0 => {
7048 0 => {Elements::SigAllHash},
7049 1 => {
7050 0 => {
7051 0 => {Elements::TxHash},
7052 1 => {Elements::TapEnvHash}
7053 },
7054 1 => {
7055 0 => {
7056 0 => {
7057 0 => {
7058 0 => {Elements::OutputsHash},
7059 1 => {Elements::InputsHash}
7060 },
7061 1 => {
7062 0 => {Elements::IssuancesHash},
7063 1 => {Elements::InputUtxosHash}
7064 }
7065 },
7066 1 => {
7067 0 => {
7068 0 => {
7069 0 => {Elements::OutputHash},
7070 1 => {Elements::OutputAmountsHash}
7071 },
7072 1 => {
7073 0 => {Elements::OutputScriptsHash},
7074 1 => {Elements::OutputNoncesHash}
7075 }
7076 },
7077 1 => {
7078 0 => {
7079 0 => {Elements::OutputRangeProofsHash},
7080 1 => {Elements::OutputSurjectionProofsHash}
7081 },
7082 1 => {
7083 0 => {Elements::InputHash},
7084 1 => {Elements::InputOutpointsHash}
7085 }
7086 }
7087 }
7088 },
7089 1 => {
7090 0 => {
7091 0 => {
7092 0 => {
7093 0 => {
7094 0 => {
7095 0 => {
7096 0 => {
7097 0 => {Elements::InputSequencesHash},
7098 1 => {Elements::InputAnnexesHash}
7099 },
7100 1 => {
7101 0 => {Elements::InputScriptSigsHash},
7102 1 => {Elements::IssuanceHash}
7103 }
7104 },
7105 1 => {
7106 0 => {
7107 0 => {Elements::IssuanceAssetAmountsHash},
7108 1 => {Elements::IssuanceTokenAmountsHash}
7109 },
7110 1 => {
7111 0 => {Elements::IssuanceRangeProofsHash},
7112 1 => {Elements::IssuanceBlindingEntropyHash}
7113 }
7114 }
7115 },
7116 1 => {
7117 0 => {
7118 0 => {
7119 0 => {Elements::InputUtxoHash},
7120 1 => {Elements::InputAmountsHash}
7121 },
7122 1 => {
7123 0 => {Elements::InputScriptsHash},
7124 1 => {Elements::TapleafHash}
7125 }
7126 },
7127 1 => {
7128 0 => {
7129 0 => {Elements::TappathHash},
7130 1 => {Elements::OutpointHash}
7131 },
7132 1 => {
7133 0 => {Elements::AssetAmountHash},
7134 1 => {Elements::NonceHash}
7135 }
7136 }
7137 }
7138 },
7139 1 => {
7140 0 => {
7141 0 => {
7142 0 => {
7143 0 => {
7144 0 => {Elements::AnnexHash},
7145 1 => {Elements::BuildTapleafSimplicity}
7146 },
7147 1 => {
7148 0 => {Elements::BuildTapbranch},
7149 1 => {Elements::BuildTaptweak}
7150 }
7151 },
7152 1 => {}
7153 },
7154 1 => {}
7155 },
7156 1 => {}
7157 }
7158 },
7159 1 => {}
7160 },
7161 1 => {}
7162 },
7163 1 => {}
7164 }
7165 }
7166 }
7167 },
7168 1 => {
7169 0 => {
7170 0 => {
7171 0 => {Elements::CheckLockHeight},
7172 1 => {
7173 0 => {
7174 0 => {Elements::CheckLockTime},
7175 1 => {Elements::BrokenDoNotUseCheckLockDistance}
7176 },
7177 1 => {
7178 0 => {
7179 0 => {
7180 0 => {
7181 0 => {Elements::BrokenDoNotUseCheckLockDuration},
7182 1 => {Elements::TxLockHeight}
7183 },
7184 1 => {
7185 0 => {Elements::TxLockTime},
7186 1 => {Elements::BrokenDoNotUseTxLockDistance}
7187 }
7188 },
7189 1 => {
7190 0 => {
7191 0 => {
7192 0 => {Elements::BrokenDoNotUseTxLockDuration},
7193 1 => {Elements::TxIsFinal}
7194 },
7195 1 => {}
7196 },
7197 1 => {}
7198 }
7199 },
7200 1 => {}
7201 }
7202 }
7203 },
7204 1 => {
7205 0 => {Elements::Issuance},
7206 1 => {
7207 0 => {
7208 0 => {Elements::IssuanceAsset},
7209 1 => {Elements::IssuanceToken}
7210 },
7211 1 => {
7212 0 => {
7213 0 => {
7214 0 => {
7215 0 => {Elements::IssuanceEntropy},
7216 1 => {Elements::CalculateIssuanceEntropy}
7217 },
7218 1 => {
7219 0 => {Elements::CalculateAsset},
7220 1 => {Elements::CalculateExplicitToken}
7221 }
7222 },
7223 1 => {
7224 0 => {
7225 0 => {
7226 0 => {Elements::CalculateConfidentialToken},
7227 1 => {Elements::LbtcAsset}
7228 },
7229 1 => {}
7230 },
7231 1 => {}
7232 }
7233 },
7234 1 => {}
7235 }
7236 }
7237 }
7238 },
7239 1 => {
7240 0 => {
7241 0 => {
7242 0 => {
7243 0 => {
7244 0 => {Elements::ScriptCMR},
7245 1 => {
7246 0 => {
7247 0 => {Elements::InternalKey},
7248 1 => {Elements::CurrentIndex}
7249 },
7250 1 => {
7251 0 => {
7252 0 => {
7253 0 => {
7254 0 => {Elements::NumInputs},
7255 1 => {Elements::NumOutputs}
7256 },
7257 1 => {
7258 0 => {Elements::LockTime},
7259 1 => {Elements::OutputAsset}
7260 }
7261 },
7262 1 => {
7263 0 => {
7264 0 => {
7265 0 => {Elements::OutputAmount},
7266 1 => {Elements::OutputNonce}
7267 },
7268 1 => {
7269 0 => {Elements::OutputScriptHash},
7270 1 => {Elements::OutputNullDatum}
7271 }
7272 },
7273 1 => {
7274 0 => {
7275 0 => {Elements::OutputIsFee},
7276 1 => {Elements::OutputSurjectionProof}
7277 },
7278 1 => {
7279 0 => {Elements::OutputRangeProof},
7280 1 => {Elements::TotalFee}
7281 }
7282 }
7283 }
7284 },
7285 1 => {
7286 0 => {
7287 0 => {
7288 0 => {
7289 0 => {
7290 0 => {
7291 0 => {
7292 0 => {
7293 0 => {Elements::CurrentPegin},
7294 1 => {Elements::CurrentPrevOutpoint}
7295 },
7296 1 => {
7297 0 => {Elements::CurrentAsset},
7298 1 => {Elements::CurrentAmount}
7299 }
7300 },
7301 1 => {
7302 0 => {
7303 0 => {Elements::CurrentScriptHash},
7304 1 => {Elements::CurrentSequence}
7305 },
7306 1 => {
7307 0 => {Elements::CurrentAnnexHash},
7308 1 => {Elements::CurrentScriptSigHash}
7309 }
7310 }
7311 },
7312 1 => {
7313 0 => {
7314 0 => {
7315 0 => {Elements::CurrentReissuanceBlinding},
7316 1 => {Elements::CurrentNewIssuanceContract}
7317 },
7318 1 => {
7319 0 => {Elements::CurrentReissuanceEntropy},
7320 1 => {Elements::CurrentIssuanceAssetAmount}
7321 }
7322 },
7323 1 => {
7324 0 => {
7325 0 => {Elements::CurrentIssuanceTokenAmount},
7326 1 => {Elements::CurrentIssuanceAssetProof}
7327 },
7328 1 => {
7329 0 => {Elements::CurrentIssuanceTokenProof},
7330 1 => {Elements::InputPegin}
7331 }
7332 }
7333 }
7334 },
7335 1 => {
7336 0 => {
7337 0 => {
7338 0 => {
7339 0 => {
7340 0 => {Elements::InputPrevOutpoint},
7341 1 => {Elements::InputAsset}
7342 },
7343 1 => {
7344 0 => {Elements::InputAmount},
7345 1 => {Elements::InputScriptHash}
7346 }
7347 },
7348 1 => {
7349 0 => {
7350 0 => {Elements::InputSequence},
7351 1 => {Elements::InputAnnexHash}
7352 },
7353 1 => {
7354 0 => {Elements::InputScriptSigHash},
7355 1 => {Elements::ReissuanceBlinding}
7356 }
7357 }
7358 },
7359 1 => {
7360 0 => {
7361 0 => {
7362 0 => {Elements::NewIssuanceContract},
7363 1 => {Elements::ReissuanceEntropy}
7364 },
7365 1 => {
7366 0 => {Elements::IssuanceAssetAmount},
7367 1 => {Elements::IssuanceTokenAmount}
7368 }
7369 },
7370 1 => {
7371 0 => {
7372 0 => {Elements::IssuanceAssetProof},
7373 1 => {Elements::IssuanceTokenProof}
7374 },
7375 1 => {
7376 0 => {Elements::TapleafVersion},
7377 1 => {Elements::Tappath}
7378 }
7379 }
7380 }
7381 },
7382 1 => {
7383 0 => {
7384 0 => {
7385 0 => {
7386 0 => {Elements::Version},
7387 1 => {Elements::GenesisBlockHash}
7388 },
7389 1 => {
7390 0 => {Elements::TransactionId},
7391 1 => {}
7392 }
7393 },
7394 1 => {}
7395 },
7396 1 => {}
7397 }
7398 }
7399 },
7400 1 => {}
7401 },
7402 1 => {}
7403 },
7404 1 => {}
7405 }
7406 }
7407 }
7408 },
7409 1 => {}
7410 },
7411 1 => {}
7412 },
7413 1 => {}
7414 },
7415 1 => {}
7416 }
7417 }
7418 }
7419 })
7420 }
7421
7422 fn cost(&self) -> Cost {
7423 match self {
7424 Elements::Add16 => Cost::from_milliweight(108),
7425 Elements::Add32 => Cost::from_milliweight(117),
7426 Elements::Add64 => Cost::from_milliweight(109),
7427 Elements::Add8 => Cost::from_milliweight(112),
7428 Elements::All16 => Cost::from_milliweight(62),
7429 Elements::All32 => Cost::from_milliweight(65),
7430 Elements::All64 => Cost::from_milliweight(79),
7431 Elements::All8 => Cost::from_milliweight(76),
7432 Elements::And1 => Cost::from_milliweight(79),
7433 Elements::And16 => Cost::from_milliweight(88),
7434 Elements::And32 => Cost::from_milliweight(94),
7435 Elements::And64 => Cost::from_milliweight(93),
7436 Elements::And8 => Cost::from_milliweight(91),
7437 Elements::AnnexHash => Cost::from_milliweight(241),
7438 Elements::AssetAmountHash => Cost::from_milliweight(308),
7439 Elements::Bip0340Verify => Cost::from_milliweight(49087),
7440 Elements::BrokenDoNotUseCheckLockDistance => Cost::from_milliweight(105),
7441 Elements::BrokenDoNotUseCheckLockDuration => Cost::from_milliweight(102),
7442 Elements::BrokenDoNotUseTxLockDistance => Cost::from_milliweight(91),
7443 Elements::BrokenDoNotUseTxLockDuration => Cost::from_milliweight(84),
7444 Elements::BuildTapbranch => Cost::from_milliweight(2563),
7445 Elements::BuildTapleafSimplicity => Cost::from_milliweight(1843),
7446 Elements::BuildTaptweak => Cost::from_milliweight(92813),
7447 Elements::CalculateAsset => Cost::from_milliweight(807),
7448 Elements::CalculateConfidentialToken => Cost::from_milliweight(707),
7449 Elements::CalculateExplicitToken => Cost::from_milliweight(771),
7450 Elements::CalculateIssuanceEntropy => Cost::from_milliweight(2095),
7451 Elements::Ch1 => Cost::from_milliweight(78),
7452 Elements::Ch16 => Cost::from_milliweight(94),
7453 Elements::Ch32 => Cost::from_milliweight(91),
7454 Elements::Ch64 => Cost::from_milliweight(91),
7455 Elements::Ch8 => Cost::from_milliweight(77),
7456 Elements::CheckLockHeight => Cost::from_milliweight(77),
7457 Elements::CheckLockTime => Cost::from_milliweight(93),
7458 Elements::CheckSigVerify => Cost::from_milliweight(50000),
7459 Elements::Complement1 => Cost::from_milliweight(79),
7460 Elements::Complement16 => Cost::from_milliweight(75),
7461 Elements::Complement32 => Cost::from_milliweight(93),
7462 Elements::Complement64 => Cost::from_milliweight(88),
7463 Elements::Complement8 => Cost::from_milliweight(80),
7464 Elements::CurrentAmount => Cost::from_milliweight(225),
7465 Elements::CurrentAnnexHash => Cost::from_milliweight(79),
7466 Elements::CurrentAsset => Cost::from_milliweight(171),
7467 Elements::CurrentIndex => Cost::from_milliweight(88),
7468 Elements::CurrentIssuanceAssetAmount => Cost::from_milliweight(165),
7469 Elements::CurrentIssuanceAssetProof => Cost::from_milliweight(140),
7470 Elements::CurrentIssuanceTokenAmount => Cost::from_milliweight(188),
7471 Elements::CurrentIssuanceTokenProof => Cost::from_milliweight(144),
7472 Elements::CurrentNewIssuanceContract => Cost::from_milliweight(145),
7473 Elements::CurrentPegin => Cost::from_milliweight(147),
7474 Elements::CurrentPrevOutpoint => Cost::from_milliweight(156),
7475 Elements::CurrentReissuanceBlinding => Cost::from_milliweight(94),
7476 Elements::CurrentReissuanceEntropy => Cost::from_milliweight(85),
7477 Elements::CurrentScriptHash => Cost::from_milliweight(134),
7478 Elements::CurrentScriptSigHash => Cost::from_milliweight(139),
7479 Elements::CurrentSequence => Cost::from_milliweight(89),
7480 Elements::Decompress => Cost::from_milliweight(10861),
7481 Elements::Decrement16 => Cost::from_milliweight(85),
7482 Elements::Decrement32 => Cost::from_milliweight(91),
7483 Elements::Decrement64 => Cost::from_milliweight(89),
7484 Elements::Decrement8 => Cost::from_milliweight(79),
7485 Elements::DivMod128_64 => Cost::from_milliweight(208),
7486 Elements::DivMod16 => Cost::from_milliweight(118),
7487 Elements::DivMod32 => Cost::from_milliweight(115),
7488 Elements::DivMod64 => Cost::from_milliweight(86),
7489 Elements::DivMod8 => Cost::from_milliweight(128),
7490 Elements::Divide16 => Cost::from_milliweight(98),
7491 Elements::Divide32 => Cost::from_milliweight(100),
7492 Elements::Divide64 => Cost::from_milliweight(101),
7493 Elements::Divide8 => Cost::from_milliweight(108),
7494 Elements::Divides16 => Cost::from_milliweight(93),
7495 Elements::Divides32 => Cost::from_milliweight(87),
7496 Elements::Divides64 => Cost::from_milliweight(91),
7497 Elements::Divides8 => Cost::from_milliweight(98),
7498 Elements::Eq1 => Cost::from_milliweight(74),
7499 Elements::Eq16 => Cost::from_milliweight(84),
7500 Elements::Eq256 => Cost::from_milliweight(225),
7501 Elements::Eq32 => Cost::from_milliweight(88),
7502 Elements::Eq64 => Cost::from_milliweight(100),
7503 Elements::Eq8 => Cost::from_milliweight(95),
7504 Elements::FeAdd => Cost::from_milliweight(755),
7505 Elements::FeInvert => Cost::from_milliweight(3175),
7506 Elements::FeIsOdd => Cost::from_milliweight(290),
7507 Elements::FeIsZero => Cost::from_milliweight(268),
7508 Elements::FeMultiply => Cost::from_milliweight(808),
7509 Elements::FeMultiplyBeta => Cost::from_milliweight(579),
7510 Elements::FeNegate => Cost::from_milliweight(531),
7511 Elements::FeNormalize => Cost::from_milliweight(521),
7512 Elements::FeSquare => Cost::from_milliweight(556),
7513 Elements::FeSquareRoot => Cost::from_milliweight(10275),
7514 Elements::FullAdd16 => Cost::from_milliweight(121),
7515 Elements::FullAdd32 => Cost::from_milliweight(119),
7516 Elements::FullAdd64 => Cost::from_milliweight(121),
7517 Elements::FullAdd8 => Cost::from_milliweight(127),
7518 Elements::FullDecrement16 => Cost::from_milliweight(92),
7519 Elements::FullDecrement32 => Cost::from_milliweight(107),
7520 Elements::FullDecrement64 => Cost::from_milliweight(81),
7521 Elements::FullDecrement8 => Cost::from_milliweight(91),
7522 Elements::FullIncrement16 => Cost::from_milliweight(89),
7523 Elements::FullIncrement32 => Cost::from_milliweight(104),
7524 Elements::FullIncrement64 => Cost::from_milliweight(99),
7525 Elements::FullIncrement8 => Cost::from_milliweight(72),
7526 Elements::FullLeftShift16_1 => Cost::from_milliweight(83),
7527 Elements::FullLeftShift16_2 => Cost::from_milliweight(83),
7528 Elements::FullLeftShift16_4 => Cost::from_milliweight(89),
7529 Elements::FullLeftShift16_8 => Cost::from_milliweight(65),
7530 Elements::FullLeftShift32_1 => Cost::from_milliweight(84),
7531 Elements::FullLeftShift32_16 => Cost::from_milliweight(81),
7532 Elements::FullLeftShift32_2 => Cost::from_milliweight(67),
7533 Elements::FullLeftShift32_4 => Cost::from_milliweight(84),
7534 Elements::FullLeftShift32_8 => Cost::from_milliweight(91),
7535 Elements::FullLeftShift64_1 => Cost::from_milliweight(99),
7536 Elements::FullLeftShift64_16 => Cost::from_milliweight(90),
7537 Elements::FullLeftShift64_2 => Cost::from_milliweight(94),
7538 Elements::FullLeftShift64_32 => Cost::from_milliweight(86),
7539 Elements::FullLeftShift64_4 => Cost::from_milliweight(94),
7540 Elements::FullLeftShift64_8 => Cost::from_milliweight(86),
7541 Elements::FullLeftShift8_1 => Cost::from_milliweight(96),
7542 Elements::FullLeftShift8_2 => Cost::from_milliweight(96),
7543 Elements::FullLeftShift8_4 => Cost::from_milliweight(85),
7544 Elements::FullMultiply16 => Cost::from_milliweight(112),
7545 Elements::FullMultiply32 => Cost::from_milliweight(96),
7546 Elements::FullMultiply64 => Cost::from_milliweight(127),
7547 Elements::FullMultiply8 => Cost::from_milliweight(109),
7548 Elements::FullRightShift16_1 => Cost::from_milliweight(80),
7549 Elements::FullRightShift16_2 => Cost::from_milliweight(79),
7550 Elements::FullRightShift16_4 => Cost::from_milliweight(88),
7551 Elements::FullRightShift16_8 => Cost::from_milliweight(57),
7552 Elements::FullRightShift32_1 => Cost::from_milliweight(74),
7553 Elements::FullRightShift32_16 => Cost::from_milliweight(64),
7554 Elements::FullRightShift32_2 => Cost::from_milliweight(63),
7555 Elements::FullRightShift32_4 => Cost::from_milliweight(71),
7556 Elements::FullRightShift32_8 => Cost::from_milliweight(84),
7557 Elements::FullRightShift64_1 => Cost::from_milliweight(99),
7558 Elements::FullRightShift64_16 => Cost::from_milliweight(86),
7559 Elements::FullRightShift64_2 => Cost::from_milliweight(86),
7560 Elements::FullRightShift64_32 => Cost::from_milliweight(73),
7561 Elements::FullRightShift64_4 => Cost::from_milliweight(93),
7562 Elements::FullRightShift64_8 => Cost::from_milliweight(99),
7563 Elements::FullRightShift8_1 => Cost::from_milliweight(88),
7564 Elements::FullRightShift8_2 => Cost::from_milliweight(86),
7565 Elements::FullRightShift8_4 => Cost::from_milliweight(89),
7566 Elements::FullSubtract16 => Cost::from_milliweight(121),
7567 Elements::FullSubtract32 => Cost::from_milliweight(116),
7568 Elements::FullSubtract64 => Cost::from_milliweight(98),
7569 Elements::FullSubtract8 => Cost::from_milliweight(126),
7570 Elements::GeIsOnCurve => Cost::from_milliweight(642),
7571 Elements::GeNegate => Cost::from_milliweight(945),
7572 Elements::GejAdd => Cost::from_milliweight(2897),
7573 Elements::GejDouble => Cost::from_milliweight(1764),
7574 Elements::GejEquiv => Cost::from_milliweight(2220),
7575 Elements::GejGeAdd => Cost::from_milliweight(2477),
7576 Elements::GejGeAddEx => Cost::from_milliweight(2719),
7577 Elements::GejGeEquiv => Cost::from_milliweight(1765),
7578 Elements::GejInfinity => Cost::from_milliweight(716),
7579 Elements::GejIsInfinity => Cost::from_milliweight(666),
7580 Elements::GejIsOnCurve => Cost::from_milliweight(1016),
7581 Elements::GejNegate => Cost::from_milliweight(1381),
7582 Elements::GejNormalize => Cost::from_milliweight(4099),
7583 Elements::GejRescale => Cost::from_milliweight(1908),
7584 Elements::GejXEquiv => Cost::from_milliweight(1047),
7585 Elements::GejYIsOdd => Cost::from_milliweight(3651),
7586 Elements::Generate => Cost::from_milliweight(50071),
7587 Elements::GenesisBlockHash => Cost::from_milliweight(148),
7588 Elements::HashToCurve => Cost::from_milliweight(68094),
7589 Elements::High1 => Cost::from_milliweight(57),
7590 Elements::High16 => Cost::from_milliweight(66),
7591 Elements::High32 => Cost::from_milliweight(58),
7592 Elements::High64 => Cost::from_milliweight(68),
7593 Elements::High8 => Cost::from_milliweight(59),
7594 Elements::Increment16 => Cost::from_milliweight(69),
7595 Elements::Increment32 => Cost::from_milliweight(92),
7596 Elements::Increment64 => Cost::from_milliweight(87),
7597 Elements::Increment8 => Cost::from_milliweight(85),
7598 Elements::InputAmount => Cost::from_milliweight(285),
7599 Elements::InputAmountsHash => Cost::from_milliweight(140),
7600 Elements::InputAnnexHash => Cost::from_milliweight(90),
7601 Elements::InputAnnexesHash => Cost::from_milliweight(155),
7602 Elements::InputAsset => Cost::from_milliweight(162),
7603 Elements::InputHash => Cost::from_milliweight(965),
7604 Elements::InputOutpointsHash => Cost::from_milliweight(142),
7605 Elements::InputPegin => Cost::from_milliweight(151),
7606 Elements::InputPrevOutpoint => Cost::from_milliweight(160),
7607 Elements::InputScriptHash => Cost::from_milliweight(147),
7608 Elements::InputScriptSigHash => Cost::from_milliweight(153),
7609 Elements::InputScriptSigsHash => Cost::from_milliweight(138),
7610 Elements::InputScriptsHash => Cost::from_milliweight(137),
7611 Elements::InputSequence => Cost::from_milliweight(99),
7612 Elements::InputSequencesHash => Cost::from_milliweight(142),
7613 Elements::InputUtxoHash => Cost::from_milliweight(1996),
7614 Elements::InputUtxosHash => Cost::from_milliweight(140),
7615 Elements::InputsHash => Cost::from_milliweight(154),
7616 Elements::InternalKey => Cost::from_milliweight(152),
7617 Elements::IsOne16 => Cost::from_milliweight(82),
7618 Elements::IsOne32 => Cost::from_milliweight(65),
7619 Elements::IsOne64 => Cost::from_milliweight(83),
7620 Elements::IsOne8 => Cost::from_milliweight(91),
7621 Elements::IsZero16 => Cost::from_milliweight(75),
7622 Elements::IsZero32 => Cost::from_milliweight(85),
7623 Elements::IsZero64 => Cost::from_milliweight(80),
7624 Elements::IsZero8 => Cost::from_milliweight(77),
7625 Elements::Issuance => Cost::from_milliweight(91),
7626 Elements::IssuanceAsset => Cost::from_milliweight(151),
7627 Elements::IssuanceAssetAmount => Cost::from_milliweight(162),
7628 Elements::IssuanceAssetAmountsHash => Cost::from_milliweight(139),
7629 Elements::IssuanceAssetProof => Cost::from_milliweight(150),
7630 Elements::IssuanceBlindingEntropyHash => Cost::from_milliweight(129),
7631 Elements::IssuanceEntropy => Cost::from_milliweight(153),
7632 Elements::IssuanceHash => Cost::from_milliweight(3738),
7633 Elements::IssuanceRangeProofsHash => Cost::from_milliweight(129),
7634 Elements::IssuanceToken => Cost::from_milliweight(149),
7635 Elements::IssuanceTokenAmount => Cost::from_milliweight(196),
7636 Elements::IssuanceTokenAmountsHash => Cost::from_milliweight(138),
7637 Elements::IssuanceTokenProof => Cost::from_milliweight(150),
7638 Elements::IssuancesHash => Cost::from_milliweight(141),
7639 Elements::LbtcAsset => Cost::from_milliweight(145),
7640 Elements::Le16 => Cost::from_milliweight(112),
7641 Elements::Le32 => Cost::from_milliweight(93),
7642 Elements::Le64 => Cost::from_milliweight(93),
7643 Elements::Le8 => Cost::from_milliweight(109),
7644 Elements::LeftExtend16_32 => Cost::from_milliweight(86),
7645 Elements::LeftExtend16_64 => Cost::from_milliweight(89),
7646 Elements::LeftExtend1_16 => Cost::from_milliweight(67),
7647 Elements::LeftExtend1_32 => Cost::from_milliweight(60),
7648 Elements::LeftExtend1_64 => Cost::from_milliweight(76),
7649 Elements::LeftExtend1_8 => Cost::from_milliweight(65),
7650 Elements::LeftExtend32_64 => Cost::from_milliweight(63),
7651 Elements::LeftExtend8_16 => Cost::from_milliweight(88),
7652 Elements::LeftExtend8_32 => Cost::from_milliweight(90),
7653 Elements::LeftExtend8_64 => Cost::from_milliweight(107),
7654 Elements::LeftPadHigh16_32 => Cost::from_milliweight(91),
7655 Elements::LeftPadHigh16_64 => Cost::from_milliweight(110),
7656 Elements::LeftPadHigh1_16 => Cost::from_milliweight(141),
7657 Elements::LeftPadHigh1_32 => Cost::from_milliweight(263),
7658 Elements::LeftPadHigh1_64 => Cost::from_milliweight(422),
7659 Elements::LeftPadHigh1_8 => Cost::from_milliweight(99),
7660 Elements::LeftPadHigh32_64 => Cost::from_milliweight(93),
7661 Elements::LeftPadHigh8_16 => Cost::from_milliweight(88),
7662 Elements::LeftPadHigh8_32 => Cost::from_milliweight(103),
7663 Elements::LeftPadHigh8_64 => Cost::from_milliweight(136),
7664 Elements::LeftPadLow16_32 => Cost::from_milliweight(69),
7665 Elements::LeftPadLow16_64 => Cost::from_milliweight(106),
7666 Elements::LeftPadLow1_16 => Cost::from_milliweight(65),
7667 Elements::LeftPadLow1_32 => Cost::from_milliweight(63),
7668 Elements::LeftPadLow1_64 => Cost::from_milliweight(61),
7669 Elements::LeftPadLow1_8 => Cost::from_milliweight(56),
7670 Elements::LeftPadLow32_64 => Cost::from_milliweight(91),
7671 Elements::LeftPadLow8_16 => Cost::from_milliweight(66),
7672 Elements::LeftPadLow8_32 => Cost::from_milliweight(61),
7673 Elements::LeftPadLow8_64 => Cost::from_milliweight(112),
7674 Elements::LeftRotate16 => Cost::from_milliweight(77),
7675 Elements::LeftRotate32 => Cost::from_milliweight(106),
7676 Elements::LeftRotate64 => Cost::from_milliweight(98),
7677 Elements::LeftRotate8 => Cost::from_milliweight(88),
7678 Elements::LeftShift16 => Cost::from_milliweight(72),
7679 Elements::LeftShift32 => Cost::from_milliweight(78),
7680 Elements::LeftShift64 => Cost::from_milliweight(82),
7681 Elements::LeftShift8 => Cost::from_milliweight(91),
7682 Elements::LeftShiftWith16 => Cost::from_milliweight(83),
7683 Elements::LeftShiftWith32 => Cost::from_milliweight(95),
7684 Elements::LeftShiftWith64 => Cost::from_milliweight(103),
7685 Elements::LeftShiftWith8 => Cost::from_milliweight(107),
7686 Elements::Leftmost16_1 => Cost::from_milliweight(93),
7687 Elements::Leftmost16_2 => Cost::from_milliweight(90),
7688 Elements::Leftmost16_4 => Cost::from_milliweight(75),
7689 Elements::Leftmost16_8 => Cost::from_milliweight(71),
7690 Elements::Leftmost32_1 => Cost::from_milliweight(77),
7691 Elements::Leftmost32_16 => Cost::from_milliweight(102),
7692 Elements::Leftmost32_2 => Cost::from_milliweight(66),
7693 Elements::Leftmost32_4 => Cost::from_milliweight(52),
7694 Elements::Leftmost32_8 => Cost::from_milliweight(103),
7695 Elements::Leftmost64_1 => Cost::from_milliweight(78),
7696 Elements::Leftmost64_16 => Cost::from_milliweight(88),
7697 Elements::Leftmost64_2 => Cost::from_milliweight(71),
7698 Elements::Leftmost64_32 => Cost::from_milliweight(90),
7699 Elements::Leftmost64_4 => Cost::from_milliweight(79),
7700 Elements::Leftmost64_8 => Cost::from_milliweight(86),
7701 Elements::Leftmost8_1 => Cost::from_milliweight(90),
7702 Elements::Leftmost8_2 => Cost::from_milliweight(90),
7703 Elements::Leftmost8_4 => Cost::from_milliweight(87),
7704 Elements::LinearCombination1 => Cost::from_milliweight(84674),
7705 Elements::LinearVerify1 => Cost::from_milliweight(43364),
7706 Elements::LockTime => Cost::from_milliweight(85),
7707 Elements::Low1 => Cost::from_milliweight(38),
7708 Elements::Low16 => Cost::from_milliweight(69),
7709 Elements::Low32 => Cost::from_milliweight(62),
7710 Elements::Low64 => Cost::from_milliweight(47),
7711 Elements::Low8 => Cost::from_milliweight(47),
7712 Elements::Lt16 => Cost::from_milliweight(123),
7713 Elements::Lt32 => Cost::from_milliweight(107),
7714 Elements::Lt64 => Cost::from_milliweight(76),
7715 Elements::Lt8 => Cost::from_milliweight(107),
7716 Elements::Maj1 => Cost::from_milliweight(62),
7717 Elements::Maj16 => Cost::from_milliweight(80),
7718 Elements::Maj32 => Cost::from_milliweight(96),
7719 Elements::Maj64 => Cost::from_milliweight(93),
7720 Elements::Maj8 => Cost::from_milliweight(94),
7721 Elements::Max16 => Cost::from_milliweight(114),
7722 Elements::Max32 => Cost::from_milliweight(92),
7723 Elements::Max64 => Cost::from_milliweight(104),
7724 Elements::Max8 => Cost::from_milliweight(96),
7725 Elements::Median16 => Cost::from_milliweight(123),
7726 Elements::Median32 => Cost::from_milliweight(101),
7727 Elements::Median64 => Cost::from_milliweight(109),
7728 Elements::Median8 => Cost::from_milliweight(122),
7729 Elements::Min16 => Cost::from_milliweight(97),
7730 Elements::Min32 => Cost::from_milliweight(113),
7731 Elements::Min64 => Cost::from_milliweight(102),
7732 Elements::Min8 => Cost::from_milliweight(99),
7733 Elements::Modulo16 => Cost::from_milliweight(103),
7734 Elements::Modulo32 => Cost::from_milliweight(102),
7735 Elements::Modulo64 => Cost::from_milliweight(85),
7736 Elements::Modulo8 => Cost::from_milliweight(102),
7737 Elements::Multiply16 => Cost::from_milliweight(90),
7738 Elements::Multiply32 => Cost::from_milliweight(90),
7739 Elements::Multiply64 => Cost::from_milliweight(85),
7740 Elements::Multiply8 => Cost::from_milliweight(93),
7741 Elements::Negate16 => Cost::from_milliweight(70),
7742 Elements::Negate32 => Cost::from_milliweight(85),
7743 Elements::Negate64 => Cost::from_milliweight(94),
7744 Elements::Negate8 => Cost::from_milliweight(91),
7745 Elements::NewIssuanceContract => Cost::from_milliweight(157),
7746 Elements::NonceHash => Cost::from_milliweight(317),
7747 Elements::NumInputs => Cost::from_milliweight(86),
7748 Elements::NumOutputs => Cost::from_milliweight(79),
7749 Elements::One16 => Cost::from_milliweight(60),
7750 Elements::One32 => Cost::from_milliweight(59),
7751 Elements::One64 => Cost::from_milliweight(59),
7752 Elements::One8 => Cost::from_milliweight(62),
7753 Elements::Or1 => Cost::from_milliweight(77),
7754 Elements::Or16 => Cost::from_milliweight(94),
7755 Elements::Or32 => Cost::from_milliweight(105),
7756 Elements::Or64 => Cost::from_milliweight(99),
7757 Elements::Or8 => Cost::from_milliweight(93),
7758 Elements::OutpointHash => Cost::from_milliweight(319),
7759 Elements::OutputAmount => Cost::from_milliweight(298),
7760 Elements::OutputAmountsHash => Cost::from_milliweight(140),
7761 Elements::OutputAsset => Cost::from_milliweight(170),
7762 Elements::OutputHash => Cost::from_milliweight(2849),
7763 Elements::OutputIsFee => Cost::from_milliweight(92),
7764 Elements::OutputNonce => Cost::from_milliweight(196),
7765 Elements::OutputNoncesHash => Cost::from_milliweight(151),
7766 Elements::OutputNullDatum => Cost::from_milliweight(87),
7767 Elements::OutputRangeProof => Cost::from_milliweight(154),
7768 Elements::OutputRangeProofsHash => Cost::from_milliweight(136),
7769 Elements::OutputScriptHash => Cost::from_milliweight(151),
7770 Elements::OutputScriptsHash => Cost::from_milliweight(142),
7771 Elements::OutputSurjectionProof => Cost::from_milliweight(151),
7772 Elements::OutputSurjectionProofsHash => Cost::from_milliweight(138),
7773 Elements::OutputsHash => Cost::from_milliweight(135),
7774 Elements::ParseLock => Cost::from_milliweight(97),
7775 Elements::ParseSequence => Cost::from_milliweight(116),
7776 Elements::PointVerify1 => Cost::from_milliweight(41494),
7777 Elements::ReissuanceBlinding => Cost::from_milliweight(91),
7778 Elements::ReissuanceEntropy => Cost::from_milliweight(93),
7779 Elements::RightExtend16_32 => Cost::from_milliweight(74),
7780 Elements::RightExtend16_64 => Cost::from_milliweight(82),
7781 Elements::RightExtend32_64 => Cost::from_milliweight(94),
7782 Elements::RightExtend8_16 => Cost::from_milliweight(76),
7783 Elements::RightExtend8_32 => Cost::from_milliweight(106),
7784 Elements::RightExtend8_64 => Cost::from_milliweight(124),
7785 Elements::RightPadHigh16_32 => Cost::from_milliweight(70),
7786 Elements::RightPadHigh16_64 => Cost::from_milliweight(88),
7787 Elements::RightPadHigh1_16 => Cost::from_milliweight(143),
7788 Elements::RightPadHigh1_32 => Cost::from_milliweight(223),
7789 Elements::RightPadHigh1_64 => Cost::from_milliweight(476),
7790 Elements::RightPadHigh1_8 => Cost::from_milliweight(107),
7791 Elements::RightPadHigh32_64 => Cost::from_milliweight(94),
7792 Elements::RightPadHigh8_16 => Cost::from_milliweight(89),
7793 Elements::RightPadHigh8_32 => Cost::from_milliweight(110),
7794 Elements::RightPadHigh8_64 => Cost::from_milliweight(107),
7795 Elements::RightPadLow16_32 => Cost::from_milliweight(71),
7796 Elements::RightPadLow16_64 => Cost::from_milliweight(96),
7797 Elements::RightPadLow1_16 => Cost::from_milliweight(81),
7798 Elements::RightPadLow1_32 => Cost::from_milliweight(75),
7799 Elements::RightPadLow1_64 => Cost::from_milliweight(73),
7800 Elements::RightPadLow1_8 => Cost::from_milliweight(68),
7801 Elements::RightPadLow32_64 => Cost::from_milliweight(80),
7802 Elements::RightPadLow8_16 => Cost::from_milliweight(75),
7803 Elements::RightPadLow8_32 => Cost::from_milliweight(77),
7804 Elements::RightPadLow8_64 => Cost::from_milliweight(82),
7805 Elements::RightRotate16 => Cost::from_milliweight(99),
7806 Elements::RightRotate32 => Cost::from_milliweight(92),
7807 Elements::RightRotate64 => Cost::from_milliweight(93),
7808 Elements::RightRotate8 => Cost::from_milliweight(75),
7809 Elements::RightShift16 => Cost::from_milliweight(84),
7810 Elements::RightShift32 => Cost::from_milliweight(88),
7811 Elements::RightShift64 => Cost::from_milliweight(91),
7812 Elements::RightShift8 => Cost::from_milliweight(88),
7813 Elements::RightShiftWith16 => Cost::from_milliweight(105),
7814 Elements::RightShiftWith32 => Cost::from_milliweight(92),
7815 Elements::RightShiftWith64 => Cost::from_milliweight(97),
7816 Elements::RightShiftWith8 => Cost::from_milliweight(103),
7817 Elements::Rightmost16_1 => Cost::from_milliweight(70),
7818 Elements::Rightmost16_2 => Cost::from_milliweight(82),
7819 Elements::Rightmost16_4 => Cost::from_milliweight(76),
7820 Elements::Rightmost16_8 => Cost::from_milliweight(69),
7821 Elements::Rightmost32_1 => Cost::from_milliweight(90),
7822 Elements::Rightmost32_16 => Cost::from_milliweight(64),
7823 Elements::Rightmost32_2 => Cost::from_milliweight(74),
7824 Elements::Rightmost32_4 => Cost::from_milliweight(92),
7825 Elements::Rightmost32_8 => Cost::from_milliweight(78),
7826 Elements::Rightmost64_1 => Cost::from_milliweight(77),
7827 Elements::Rightmost64_16 => Cost::from_milliweight(86),
7828 Elements::Rightmost64_2 => Cost::from_milliweight(74),
7829 Elements::Rightmost64_32 => Cost::from_milliweight(76),
7830 Elements::Rightmost64_4 => Cost::from_milliweight(70),
7831 Elements::Rightmost64_8 => Cost::from_milliweight(69),
7832 Elements::Rightmost8_1 => Cost::from_milliweight(79),
7833 Elements::Rightmost8_2 => Cost::from_milliweight(98),
7834 Elements::Rightmost8_4 => Cost::from_milliweight(98),
7835 Elements::ScalarAdd => Cost::from_milliweight(739),
7836 Elements::ScalarInvert => Cost::from_milliweight(3193),
7837 Elements::ScalarIsZero => Cost::from_milliweight(271),
7838 Elements::ScalarMultiply => Cost::from_milliweight(774),
7839 Elements::ScalarMultiplyLambda => Cost::from_milliweight(557),
7840 Elements::ScalarNegate => Cost::from_milliweight(490),
7841 Elements::ScalarNormalize => Cost::from_milliweight(472),
7842 Elements::ScalarSquare => Cost::from_milliweight(575),
7843 Elements::Scale => Cost::from_milliweight(72675),
7844 Elements::ScriptCMR => Cost::from_milliweight(136),
7845 Elements::Sha256Block => Cost::from_milliweight(771),
7846 Elements::Sha256Ctx8Add1 => Cost::from_milliweight(642),
7847 Elements::Sha256Ctx8Add128 => Cost::from_milliweight(1779),
7848 Elements::Sha256Ctx8Add16 => Cost::from_milliweight(747),
7849 Elements::Sha256Ctx8Add2 => Cost::from_milliweight(661),
7850 Elements::Sha256Ctx8Add256 => Cost::from_milliweight(2912),
7851 Elements::Sha256Ctx8Add32 => Cost::from_milliweight(896),
7852 Elements::Sha256Ctx8Add4 => Cost::from_milliweight(645),
7853 Elements::Sha256Ctx8Add512 => Cost::from_milliweight(5299),
7854 Elements::Sha256Ctx8Add64 => Cost::from_milliweight(1187),
7855 Elements::Sha256Ctx8Add8 => Cost::from_milliweight(674),
7856 Elements::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(5060),
7857 Elements::Sha256Ctx8Finalize => Cost::from_milliweight(835),
7858 Elements::Sha256Ctx8Init => Cost::from_milliweight(118),
7859 Elements::Sha256Iv => Cost::from_milliweight(93),
7860 Elements::SigAllHash => Cost::from_milliweight(133),
7861 Elements::Some1 => Cost::from_milliweight(70),
7862 Elements::Some16 => Cost::from_milliweight(63),
7863 Elements::Some32 => Cost::from_milliweight(64),
7864 Elements::Some64 => Cost::from_milliweight(93),
7865 Elements::Some8 => Cost::from_milliweight(75),
7866 Elements::Subtract16 => Cost::from_milliweight(113),
7867 Elements::Subtract32 => Cost::from_milliweight(118),
7868 Elements::Subtract64 => Cost::from_milliweight(115),
7869 Elements::Subtract8 => Cost::from_milliweight(109),
7870 Elements::Swu => Cost::from_milliweight(32120),
7871 Elements::TapEnvHash => Cost::from_milliweight(162),
7872 Elements::TapdataInit => Cost::from_milliweight(1178),
7873 Elements::TapleafHash => Cost::from_milliweight(136),
7874 Elements::TapleafVersion => Cost::from_milliweight(105),
7875 Elements::Tappath => Cost::from_milliweight(83),
7876 Elements::TappathHash => Cost::from_milliweight(143),
7877 Elements::TotalFee => Cost::from_milliweight(230),
7878 Elements::TransactionId => Cost::from_milliweight(139),
7879 Elements::TxHash => Cost::from_milliweight(143),
7880 Elements::TxIsFinal => Cost::from_milliweight(71),
7881 Elements::TxLockHeight => Cost::from_milliweight(80),
7882 Elements::TxLockTime => Cost::from_milliweight(80),
7883 Elements::Verify => Cost::from_milliweight(57),
7884 Elements::Version => Cost::from_milliweight(93),
7885 Elements::Xor1 => Cost::from_milliweight(67),
7886 Elements::Xor16 => Cost::from_milliweight(83),
7887 Elements::Xor32 => Cost::from_milliweight(92),
7888 Elements::Xor64 => Cost::from_milliweight(95),
7889 Elements::Xor8 => Cost::from_milliweight(85),
7890 Elements::XorXor1 => Cost::from_milliweight(72),
7891 Elements::XorXor16 => Cost::from_milliweight(79),
7892 Elements::XorXor32 => Cost::from_milliweight(96),
7893 Elements::XorXor64 => Cost::from_milliweight(93),
7894 Elements::XorXor8 => Cost::from_milliweight(98),
7895 }
7896 }
7897
7898 fn parse(s: &str) -> Result<Self, crate::Error> where Self: Sized {
7899 str::FromStr::from_str(s)
7900 }
7901}
7902
7903impl fmt::Display for Elements {
7904 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7905 match self {
7906 Elements::Add16 => f.write_str("add_16"),
7907 Elements::Add32 => f.write_str("add_32"),
7908 Elements::Add64 => f.write_str("add_64"),
7909 Elements::Add8 => f.write_str("add_8"),
7910 Elements::All16 => f.write_str("all_16"),
7911 Elements::All32 => f.write_str("all_32"),
7912 Elements::All64 => f.write_str("all_64"),
7913 Elements::All8 => f.write_str("all_8"),
7914 Elements::And1 => f.write_str("and_1"),
7915 Elements::And16 => f.write_str("and_16"),
7916 Elements::And32 => f.write_str("and_32"),
7917 Elements::And64 => f.write_str("and_64"),
7918 Elements::And8 => f.write_str("and_8"),
7919 Elements::AnnexHash => f.write_str("annex_hash"),
7920 Elements::AssetAmountHash => f.write_str("asset_amount_hash"),
7921 Elements::Bip0340Verify => f.write_str("bip_0340_verify"),
7922 Elements::BrokenDoNotUseCheckLockDistance => f.write_str("broken_do_not_use_check_lock_distance"),
7923 Elements::BrokenDoNotUseCheckLockDuration => f.write_str("broken_do_not_use_check_lock_duration"),
7924 Elements::BrokenDoNotUseTxLockDistance => f.write_str("broken_do_not_use_tx_lock_distance"),
7925 Elements::BrokenDoNotUseTxLockDuration => f.write_str("broken_do_not_use_tx_lock_duration"),
7926 Elements::BuildTapbranch => f.write_str("build_tapbranch"),
7927 Elements::BuildTapleafSimplicity => f.write_str("build_tapleaf_simplicity"),
7928 Elements::BuildTaptweak => f.write_str("build_taptweak"),
7929 Elements::CalculateAsset => f.write_str("calculate_asset"),
7930 Elements::CalculateConfidentialToken => f.write_str("calculate_confidential_token"),
7931 Elements::CalculateExplicitToken => f.write_str("calculate_explicit_token"),
7932 Elements::CalculateIssuanceEntropy => f.write_str("calculate_issuance_entropy"),
7933 Elements::Ch1 => f.write_str("ch_1"),
7934 Elements::Ch16 => f.write_str("ch_16"),
7935 Elements::Ch32 => f.write_str("ch_32"),
7936 Elements::Ch64 => f.write_str("ch_64"),
7937 Elements::Ch8 => f.write_str("ch_8"),
7938 Elements::CheckLockHeight => f.write_str("check_lock_height"),
7939 Elements::CheckLockTime => f.write_str("check_lock_time"),
7940 Elements::CheckSigVerify => f.write_str("check_sig_verify"),
7941 Elements::Complement1 => f.write_str("complement_1"),
7942 Elements::Complement16 => f.write_str("complement_16"),
7943 Elements::Complement32 => f.write_str("complement_32"),
7944 Elements::Complement64 => f.write_str("complement_64"),
7945 Elements::Complement8 => f.write_str("complement_8"),
7946 Elements::CurrentAmount => f.write_str("current_amount"),
7947 Elements::CurrentAnnexHash => f.write_str("current_annex_hash"),
7948 Elements::CurrentAsset => f.write_str("current_asset"),
7949 Elements::CurrentIndex => f.write_str("current_index"),
7950 Elements::CurrentIssuanceAssetAmount => f.write_str("current_issuance_asset_amount"),
7951 Elements::CurrentIssuanceAssetProof => f.write_str("current_issuance_asset_proof"),
7952 Elements::CurrentIssuanceTokenAmount => f.write_str("current_issuance_token_amount"),
7953 Elements::CurrentIssuanceTokenProof => f.write_str("current_issuance_token_proof"),
7954 Elements::CurrentNewIssuanceContract => f.write_str("current_new_issuance_contract"),
7955 Elements::CurrentPegin => f.write_str("current_pegin"),
7956 Elements::CurrentPrevOutpoint => f.write_str("current_prev_outpoint"),
7957 Elements::CurrentReissuanceBlinding => f.write_str("current_reissuance_blinding"),
7958 Elements::CurrentReissuanceEntropy => f.write_str("current_reissuance_entropy"),
7959 Elements::CurrentScriptHash => f.write_str("current_script_hash"),
7960 Elements::CurrentScriptSigHash => f.write_str("current_script_sig_hash"),
7961 Elements::CurrentSequence => f.write_str("current_sequence"),
7962 Elements::Decompress => f.write_str("decompress"),
7963 Elements::Decrement16 => f.write_str("decrement_16"),
7964 Elements::Decrement32 => f.write_str("decrement_32"),
7965 Elements::Decrement64 => f.write_str("decrement_64"),
7966 Elements::Decrement8 => f.write_str("decrement_8"),
7967 Elements::DivMod128_64 => f.write_str("div_mod_128_64"),
7968 Elements::DivMod16 => f.write_str("div_mod_16"),
7969 Elements::DivMod32 => f.write_str("div_mod_32"),
7970 Elements::DivMod64 => f.write_str("div_mod_64"),
7971 Elements::DivMod8 => f.write_str("div_mod_8"),
7972 Elements::Divide16 => f.write_str("divide_16"),
7973 Elements::Divide32 => f.write_str("divide_32"),
7974 Elements::Divide64 => f.write_str("divide_64"),
7975 Elements::Divide8 => f.write_str("divide_8"),
7976 Elements::Divides16 => f.write_str("divides_16"),
7977 Elements::Divides32 => f.write_str("divides_32"),
7978 Elements::Divides64 => f.write_str("divides_64"),
7979 Elements::Divides8 => f.write_str("divides_8"),
7980 Elements::Eq1 => f.write_str("eq_1"),
7981 Elements::Eq16 => f.write_str("eq_16"),
7982 Elements::Eq256 => f.write_str("eq_256"),
7983 Elements::Eq32 => f.write_str("eq_32"),
7984 Elements::Eq64 => f.write_str("eq_64"),
7985 Elements::Eq8 => f.write_str("eq_8"),
7986 Elements::FeAdd => f.write_str("fe_add"),
7987 Elements::FeInvert => f.write_str("fe_invert"),
7988 Elements::FeIsOdd => f.write_str("fe_is_odd"),
7989 Elements::FeIsZero => f.write_str("fe_is_zero"),
7990 Elements::FeMultiply => f.write_str("fe_multiply"),
7991 Elements::FeMultiplyBeta => f.write_str("fe_multiply_beta"),
7992 Elements::FeNegate => f.write_str("fe_negate"),
7993 Elements::FeNormalize => f.write_str("fe_normalize"),
7994 Elements::FeSquare => f.write_str("fe_square"),
7995 Elements::FeSquareRoot => f.write_str("fe_square_root"),
7996 Elements::FullAdd16 => f.write_str("full_add_16"),
7997 Elements::FullAdd32 => f.write_str("full_add_32"),
7998 Elements::FullAdd64 => f.write_str("full_add_64"),
7999 Elements::FullAdd8 => f.write_str("full_add_8"),
8000 Elements::FullDecrement16 => f.write_str("full_decrement_16"),
8001 Elements::FullDecrement32 => f.write_str("full_decrement_32"),
8002 Elements::FullDecrement64 => f.write_str("full_decrement_64"),
8003 Elements::FullDecrement8 => f.write_str("full_decrement_8"),
8004 Elements::FullIncrement16 => f.write_str("full_increment_16"),
8005 Elements::FullIncrement32 => f.write_str("full_increment_32"),
8006 Elements::FullIncrement64 => f.write_str("full_increment_64"),
8007 Elements::FullIncrement8 => f.write_str("full_increment_8"),
8008 Elements::FullLeftShift16_1 => f.write_str("full_left_shift_16_1"),
8009 Elements::FullLeftShift16_2 => f.write_str("full_left_shift_16_2"),
8010 Elements::FullLeftShift16_4 => f.write_str("full_left_shift_16_4"),
8011 Elements::FullLeftShift16_8 => f.write_str("full_left_shift_16_8"),
8012 Elements::FullLeftShift32_1 => f.write_str("full_left_shift_32_1"),
8013 Elements::FullLeftShift32_16 => f.write_str("full_left_shift_32_16"),
8014 Elements::FullLeftShift32_2 => f.write_str("full_left_shift_32_2"),
8015 Elements::FullLeftShift32_4 => f.write_str("full_left_shift_32_4"),
8016 Elements::FullLeftShift32_8 => f.write_str("full_left_shift_32_8"),
8017 Elements::FullLeftShift64_1 => f.write_str("full_left_shift_64_1"),
8018 Elements::FullLeftShift64_16 => f.write_str("full_left_shift_64_16"),
8019 Elements::FullLeftShift64_2 => f.write_str("full_left_shift_64_2"),
8020 Elements::FullLeftShift64_32 => f.write_str("full_left_shift_64_32"),
8021 Elements::FullLeftShift64_4 => f.write_str("full_left_shift_64_4"),
8022 Elements::FullLeftShift64_8 => f.write_str("full_left_shift_64_8"),
8023 Elements::FullLeftShift8_1 => f.write_str("full_left_shift_8_1"),
8024 Elements::FullLeftShift8_2 => f.write_str("full_left_shift_8_2"),
8025 Elements::FullLeftShift8_4 => f.write_str("full_left_shift_8_4"),
8026 Elements::FullMultiply16 => f.write_str("full_multiply_16"),
8027 Elements::FullMultiply32 => f.write_str("full_multiply_32"),
8028 Elements::FullMultiply64 => f.write_str("full_multiply_64"),
8029 Elements::FullMultiply8 => f.write_str("full_multiply_8"),
8030 Elements::FullRightShift16_1 => f.write_str("full_right_shift_16_1"),
8031 Elements::FullRightShift16_2 => f.write_str("full_right_shift_16_2"),
8032 Elements::FullRightShift16_4 => f.write_str("full_right_shift_16_4"),
8033 Elements::FullRightShift16_8 => f.write_str("full_right_shift_16_8"),
8034 Elements::FullRightShift32_1 => f.write_str("full_right_shift_32_1"),
8035 Elements::FullRightShift32_16 => f.write_str("full_right_shift_32_16"),
8036 Elements::FullRightShift32_2 => f.write_str("full_right_shift_32_2"),
8037 Elements::FullRightShift32_4 => f.write_str("full_right_shift_32_4"),
8038 Elements::FullRightShift32_8 => f.write_str("full_right_shift_32_8"),
8039 Elements::FullRightShift64_1 => f.write_str("full_right_shift_64_1"),
8040 Elements::FullRightShift64_16 => f.write_str("full_right_shift_64_16"),
8041 Elements::FullRightShift64_2 => f.write_str("full_right_shift_64_2"),
8042 Elements::FullRightShift64_32 => f.write_str("full_right_shift_64_32"),
8043 Elements::FullRightShift64_4 => f.write_str("full_right_shift_64_4"),
8044 Elements::FullRightShift64_8 => f.write_str("full_right_shift_64_8"),
8045 Elements::FullRightShift8_1 => f.write_str("full_right_shift_8_1"),
8046 Elements::FullRightShift8_2 => f.write_str("full_right_shift_8_2"),
8047 Elements::FullRightShift8_4 => f.write_str("full_right_shift_8_4"),
8048 Elements::FullSubtract16 => f.write_str("full_subtract_16"),
8049 Elements::FullSubtract32 => f.write_str("full_subtract_32"),
8050 Elements::FullSubtract64 => f.write_str("full_subtract_64"),
8051 Elements::FullSubtract8 => f.write_str("full_subtract_8"),
8052 Elements::GeIsOnCurve => f.write_str("ge_is_on_curve"),
8053 Elements::GeNegate => f.write_str("ge_negate"),
8054 Elements::GejAdd => f.write_str("gej_add"),
8055 Elements::GejDouble => f.write_str("gej_double"),
8056 Elements::GejEquiv => f.write_str("gej_equiv"),
8057 Elements::GejGeAdd => f.write_str("gej_ge_add"),
8058 Elements::GejGeAddEx => f.write_str("gej_ge_add_ex"),
8059 Elements::GejGeEquiv => f.write_str("gej_ge_equiv"),
8060 Elements::GejInfinity => f.write_str("gej_infinity"),
8061 Elements::GejIsInfinity => f.write_str("gej_is_infinity"),
8062 Elements::GejIsOnCurve => f.write_str("gej_is_on_curve"),
8063 Elements::GejNegate => f.write_str("gej_negate"),
8064 Elements::GejNormalize => f.write_str("gej_normalize"),
8065 Elements::GejRescale => f.write_str("gej_rescale"),
8066 Elements::GejXEquiv => f.write_str("gej_x_equiv"),
8067 Elements::GejYIsOdd => f.write_str("gej_y_is_odd"),
8068 Elements::Generate => f.write_str("generate"),
8069 Elements::GenesisBlockHash => f.write_str("genesis_block_hash"),
8070 Elements::HashToCurve => f.write_str("hash_to_curve"),
8071 Elements::High1 => f.write_str("high_1"),
8072 Elements::High16 => f.write_str("high_16"),
8073 Elements::High32 => f.write_str("high_32"),
8074 Elements::High64 => f.write_str("high_64"),
8075 Elements::High8 => f.write_str("high_8"),
8076 Elements::Increment16 => f.write_str("increment_16"),
8077 Elements::Increment32 => f.write_str("increment_32"),
8078 Elements::Increment64 => f.write_str("increment_64"),
8079 Elements::Increment8 => f.write_str("increment_8"),
8080 Elements::InputAmount => f.write_str("input_amount"),
8081 Elements::InputAmountsHash => f.write_str("input_amounts_hash"),
8082 Elements::InputAnnexHash => f.write_str("input_annex_hash"),
8083 Elements::InputAnnexesHash => f.write_str("input_annexes_hash"),
8084 Elements::InputAsset => f.write_str("input_asset"),
8085 Elements::InputHash => f.write_str("input_hash"),
8086 Elements::InputOutpointsHash => f.write_str("input_outpoints_hash"),
8087 Elements::InputPegin => f.write_str("input_pegin"),
8088 Elements::InputPrevOutpoint => f.write_str("input_prev_outpoint"),
8089 Elements::InputScriptHash => f.write_str("input_script_hash"),
8090 Elements::InputScriptSigHash => f.write_str("input_script_sig_hash"),
8091 Elements::InputScriptSigsHash => f.write_str("input_script_sigs_hash"),
8092 Elements::InputScriptsHash => f.write_str("input_scripts_hash"),
8093 Elements::InputSequence => f.write_str("input_sequence"),
8094 Elements::InputSequencesHash => f.write_str("input_sequences_hash"),
8095 Elements::InputUtxoHash => f.write_str("input_utxo_hash"),
8096 Elements::InputUtxosHash => f.write_str("input_utxos_hash"),
8097 Elements::InputsHash => f.write_str("inputs_hash"),
8098 Elements::InternalKey => f.write_str("internal_key"),
8099 Elements::IsOne16 => f.write_str("is_one_16"),
8100 Elements::IsOne32 => f.write_str("is_one_32"),
8101 Elements::IsOne64 => f.write_str("is_one_64"),
8102 Elements::IsOne8 => f.write_str("is_one_8"),
8103 Elements::IsZero16 => f.write_str("is_zero_16"),
8104 Elements::IsZero32 => f.write_str("is_zero_32"),
8105 Elements::IsZero64 => f.write_str("is_zero_64"),
8106 Elements::IsZero8 => f.write_str("is_zero_8"),
8107 Elements::Issuance => f.write_str("issuance"),
8108 Elements::IssuanceAsset => f.write_str("issuance_asset"),
8109 Elements::IssuanceAssetAmount => f.write_str("issuance_asset_amount"),
8110 Elements::IssuanceAssetAmountsHash => f.write_str("issuance_asset_amounts_hash"),
8111 Elements::IssuanceAssetProof => f.write_str("issuance_asset_proof"),
8112 Elements::IssuanceBlindingEntropyHash => f.write_str("issuance_blinding_entropy_hash"),
8113 Elements::IssuanceEntropy => f.write_str("issuance_entropy"),
8114 Elements::IssuanceHash => f.write_str("issuance_hash"),
8115 Elements::IssuanceRangeProofsHash => f.write_str("issuance_range_proofs_hash"),
8116 Elements::IssuanceToken => f.write_str("issuance_token"),
8117 Elements::IssuanceTokenAmount => f.write_str("issuance_token_amount"),
8118 Elements::IssuanceTokenAmountsHash => f.write_str("issuance_token_amounts_hash"),
8119 Elements::IssuanceTokenProof => f.write_str("issuance_token_proof"),
8120 Elements::IssuancesHash => f.write_str("issuances_hash"),
8121 Elements::LbtcAsset => f.write_str("lbtc_asset"),
8122 Elements::Le16 => f.write_str("le_16"),
8123 Elements::Le32 => f.write_str("le_32"),
8124 Elements::Le64 => f.write_str("le_64"),
8125 Elements::Le8 => f.write_str("le_8"),
8126 Elements::LeftExtend16_32 => f.write_str("left_extend_16_32"),
8127 Elements::LeftExtend16_64 => f.write_str("left_extend_16_64"),
8128 Elements::LeftExtend1_16 => f.write_str("left_extend_1_16"),
8129 Elements::LeftExtend1_32 => f.write_str("left_extend_1_32"),
8130 Elements::LeftExtend1_64 => f.write_str("left_extend_1_64"),
8131 Elements::LeftExtend1_8 => f.write_str("left_extend_1_8"),
8132 Elements::LeftExtend32_64 => f.write_str("left_extend_32_64"),
8133 Elements::LeftExtend8_16 => f.write_str("left_extend_8_16"),
8134 Elements::LeftExtend8_32 => f.write_str("left_extend_8_32"),
8135 Elements::LeftExtend8_64 => f.write_str("left_extend_8_64"),
8136 Elements::LeftPadHigh16_32 => f.write_str("left_pad_high_16_32"),
8137 Elements::LeftPadHigh16_64 => f.write_str("left_pad_high_16_64"),
8138 Elements::LeftPadHigh1_16 => f.write_str("left_pad_high_1_16"),
8139 Elements::LeftPadHigh1_32 => f.write_str("left_pad_high_1_32"),
8140 Elements::LeftPadHigh1_64 => f.write_str("left_pad_high_1_64"),
8141 Elements::LeftPadHigh1_8 => f.write_str("left_pad_high_1_8"),
8142 Elements::LeftPadHigh32_64 => f.write_str("left_pad_high_32_64"),
8143 Elements::LeftPadHigh8_16 => f.write_str("left_pad_high_8_16"),
8144 Elements::LeftPadHigh8_32 => f.write_str("left_pad_high_8_32"),
8145 Elements::LeftPadHigh8_64 => f.write_str("left_pad_high_8_64"),
8146 Elements::LeftPadLow16_32 => f.write_str("left_pad_low_16_32"),
8147 Elements::LeftPadLow16_64 => f.write_str("left_pad_low_16_64"),
8148 Elements::LeftPadLow1_16 => f.write_str("left_pad_low_1_16"),
8149 Elements::LeftPadLow1_32 => f.write_str("left_pad_low_1_32"),
8150 Elements::LeftPadLow1_64 => f.write_str("left_pad_low_1_64"),
8151 Elements::LeftPadLow1_8 => f.write_str("left_pad_low_1_8"),
8152 Elements::LeftPadLow32_64 => f.write_str("left_pad_low_32_64"),
8153 Elements::LeftPadLow8_16 => f.write_str("left_pad_low_8_16"),
8154 Elements::LeftPadLow8_32 => f.write_str("left_pad_low_8_32"),
8155 Elements::LeftPadLow8_64 => f.write_str("left_pad_low_8_64"),
8156 Elements::LeftRotate16 => f.write_str("left_rotate_16"),
8157 Elements::LeftRotate32 => f.write_str("left_rotate_32"),
8158 Elements::LeftRotate64 => f.write_str("left_rotate_64"),
8159 Elements::LeftRotate8 => f.write_str("left_rotate_8"),
8160 Elements::LeftShift16 => f.write_str("left_shift_16"),
8161 Elements::LeftShift32 => f.write_str("left_shift_32"),
8162 Elements::LeftShift64 => f.write_str("left_shift_64"),
8163 Elements::LeftShift8 => f.write_str("left_shift_8"),
8164 Elements::LeftShiftWith16 => f.write_str("left_shift_with_16"),
8165 Elements::LeftShiftWith32 => f.write_str("left_shift_with_32"),
8166 Elements::LeftShiftWith64 => f.write_str("left_shift_with_64"),
8167 Elements::LeftShiftWith8 => f.write_str("left_shift_with_8"),
8168 Elements::Leftmost16_1 => f.write_str("leftmost_16_1"),
8169 Elements::Leftmost16_2 => f.write_str("leftmost_16_2"),
8170 Elements::Leftmost16_4 => f.write_str("leftmost_16_4"),
8171 Elements::Leftmost16_8 => f.write_str("leftmost_16_8"),
8172 Elements::Leftmost32_1 => f.write_str("leftmost_32_1"),
8173 Elements::Leftmost32_16 => f.write_str("leftmost_32_16"),
8174 Elements::Leftmost32_2 => f.write_str("leftmost_32_2"),
8175 Elements::Leftmost32_4 => f.write_str("leftmost_32_4"),
8176 Elements::Leftmost32_8 => f.write_str("leftmost_32_8"),
8177 Elements::Leftmost64_1 => f.write_str("leftmost_64_1"),
8178 Elements::Leftmost64_16 => f.write_str("leftmost_64_16"),
8179 Elements::Leftmost64_2 => f.write_str("leftmost_64_2"),
8180 Elements::Leftmost64_32 => f.write_str("leftmost_64_32"),
8181 Elements::Leftmost64_4 => f.write_str("leftmost_64_4"),
8182 Elements::Leftmost64_8 => f.write_str("leftmost_64_8"),
8183 Elements::Leftmost8_1 => f.write_str("leftmost_8_1"),
8184 Elements::Leftmost8_2 => f.write_str("leftmost_8_2"),
8185 Elements::Leftmost8_4 => f.write_str("leftmost_8_4"),
8186 Elements::LinearCombination1 => f.write_str("linear_combination_1"),
8187 Elements::LinearVerify1 => f.write_str("linear_verify_1"),
8188 Elements::LockTime => f.write_str("lock_time"),
8189 Elements::Low1 => f.write_str("low_1"),
8190 Elements::Low16 => f.write_str("low_16"),
8191 Elements::Low32 => f.write_str("low_32"),
8192 Elements::Low64 => f.write_str("low_64"),
8193 Elements::Low8 => f.write_str("low_8"),
8194 Elements::Lt16 => f.write_str("lt_16"),
8195 Elements::Lt32 => f.write_str("lt_32"),
8196 Elements::Lt64 => f.write_str("lt_64"),
8197 Elements::Lt8 => f.write_str("lt_8"),
8198 Elements::Maj1 => f.write_str("maj_1"),
8199 Elements::Maj16 => f.write_str("maj_16"),
8200 Elements::Maj32 => f.write_str("maj_32"),
8201 Elements::Maj64 => f.write_str("maj_64"),
8202 Elements::Maj8 => f.write_str("maj_8"),
8203 Elements::Max16 => f.write_str("max_16"),
8204 Elements::Max32 => f.write_str("max_32"),
8205 Elements::Max64 => f.write_str("max_64"),
8206 Elements::Max8 => f.write_str("max_8"),
8207 Elements::Median16 => f.write_str("median_16"),
8208 Elements::Median32 => f.write_str("median_32"),
8209 Elements::Median64 => f.write_str("median_64"),
8210 Elements::Median8 => f.write_str("median_8"),
8211 Elements::Min16 => f.write_str("min_16"),
8212 Elements::Min32 => f.write_str("min_32"),
8213 Elements::Min64 => f.write_str("min_64"),
8214 Elements::Min8 => f.write_str("min_8"),
8215 Elements::Modulo16 => f.write_str("modulo_16"),
8216 Elements::Modulo32 => f.write_str("modulo_32"),
8217 Elements::Modulo64 => f.write_str("modulo_64"),
8218 Elements::Modulo8 => f.write_str("modulo_8"),
8219 Elements::Multiply16 => f.write_str("multiply_16"),
8220 Elements::Multiply32 => f.write_str("multiply_32"),
8221 Elements::Multiply64 => f.write_str("multiply_64"),
8222 Elements::Multiply8 => f.write_str("multiply_8"),
8223 Elements::Negate16 => f.write_str("negate_16"),
8224 Elements::Negate32 => f.write_str("negate_32"),
8225 Elements::Negate64 => f.write_str("negate_64"),
8226 Elements::Negate8 => f.write_str("negate_8"),
8227 Elements::NewIssuanceContract => f.write_str("new_issuance_contract"),
8228 Elements::NonceHash => f.write_str("nonce_hash"),
8229 Elements::NumInputs => f.write_str("num_inputs"),
8230 Elements::NumOutputs => f.write_str("num_outputs"),
8231 Elements::One16 => f.write_str("one_16"),
8232 Elements::One32 => f.write_str("one_32"),
8233 Elements::One64 => f.write_str("one_64"),
8234 Elements::One8 => f.write_str("one_8"),
8235 Elements::Or1 => f.write_str("or_1"),
8236 Elements::Or16 => f.write_str("or_16"),
8237 Elements::Or32 => f.write_str("or_32"),
8238 Elements::Or64 => f.write_str("or_64"),
8239 Elements::Or8 => f.write_str("or_8"),
8240 Elements::OutpointHash => f.write_str("outpoint_hash"),
8241 Elements::OutputAmount => f.write_str("output_amount"),
8242 Elements::OutputAmountsHash => f.write_str("output_amounts_hash"),
8243 Elements::OutputAsset => f.write_str("output_asset"),
8244 Elements::OutputHash => f.write_str("output_hash"),
8245 Elements::OutputIsFee => f.write_str("output_is_fee"),
8246 Elements::OutputNonce => f.write_str("output_nonce"),
8247 Elements::OutputNoncesHash => f.write_str("output_nonces_hash"),
8248 Elements::OutputNullDatum => f.write_str("output_null_datum"),
8249 Elements::OutputRangeProof => f.write_str("output_range_proof"),
8250 Elements::OutputRangeProofsHash => f.write_str("output_range_proofs_hash"),
8251 Elements::OutputScriptHash => f.write_str("output_script_hash"),
8252 Elements::OutputScriptsHash => f.write_str("output_scripts_hash"),
8253 Elements::OutputSurjectionProof => f.write_str("output_surjection_proof"),
8254 Elements::OutputSurjectionProofsHash => f.write_str("output_surjection_proofs_hash"),
8255 Elements::OutputsHash => f.write_str("outputs_hash"),
8256 Elements::ParseLock => f.write_str("parse_lock"),
8257 Elements::ParseSequence => f.write_str("parse_sequence"),
8258 Elements::PointVerify1 => f.write_str("point_verify_1"),
8259 Elements::ReissuanceBlinding => f.write_str("reissuance_blinding"),
8260 Elements::ReissuanceEntropy => f.write_str("reissuance_entropy"),
8261 Elements::RightExtend16_32 => f.write_str("right_extend_16_32"),
8262 Elements::RightExtend16_64 => f.write_str("right_extend_16_64"),
8263 Elements::RightExtend32_64 => f.write_str("right_extend_32_64"),
8264 Elements::RightExtend8_16 => f.write_str("right_extend_8_16"),
8265 Elements::RightExtend8_32 => f.write_str("right_extend_8_32"),
8266 Elements::RightExtend8_64 => f.write_str("right_extend_8_64"),
8267 Elements::RightPadHigh16_32 => f.write_str("right_pad_high_16_32"),
8268 Elements::RightPadHigh16_64 => f.write_str("right_pad_high_16_64"),
8269 Elements::RightPadHigh1_16 => f.write_str("right_pad_high_1_16"),
8270 Elements::RightPadHigh1_32 => f.write_str("right_pad_high_1_32"),
8271 Elements::RightPadHigh1_64 => f.write_str("right_pad_high_1_64"),
8272 Elements::RightPadHigh1_8 => f.write_str("right_pad_high_1_8"),
8273 Elements::RightPadHigh32_64 => f.write_str("right_pad_high_32_64"),
8274 Elements::RightPadHigh8_16 => f.write_str("right_pad_high_8_16"),
8275 Elements::RightPadHigh8_32 => f.write_str("right_pad_high_8_32"),
8276 Elements::RightPadHigh8_64 => f.write_str("right_pad_high_8_64"),
8277 Elements::RightPadLow16_32 => f.write_str("right_pad_low_16_32"),
8278 Elements::RightPadLow16_64 => f.write_str("right_pad_low_16_64"),
8279 Elements::RightPadLow1_16 => f.write_str("right_pad_low_1_16"),
8280 Elements::RightPadLow1_32 => f.write_str("right_pad_low_1_32"),
8281 Elements::RightPadLow1_64 => f.write_str("right_pad_low_1_64"),
8282 Elements::RightPadLow1_8 => f.write_str("right_pad_low_1_8"),
8283 Elements::RightPadLow32_64 => f.write_str("right_pad_low_32_64"),
8284 Elements::RightPadLow8_16 => f.write_str("right_pad_low_8_16"),
8285 Elements::RightPadLow8_32 => f.write_str("right_pad_low_8_32"),
8286 Elements::RightPadLow8_64 => f.write_str("right_pad_low_8_64"),
8287 Elements::RightRotate16 => f.write_str("right_rotate_16"),
8288 Elements::RightRotate32 => f.write_str("right_rotate_32"),
8289 Elements::RightRotate64 => f.write_str("right_rotate_64"),
8290 Elements::RightRotate8 => f.write_str("right_rotate_8"),
8291 Elements::RightShift16 => f.write_str("right_shift_16"),
8292 Elements::RightShift32 => f.write_str("right_shift_32"),
8293 Elements::RightShift64 => f.write_str("right_shift_64"),
8294 Elements::RightShift8 => f.write_str("right_shift_8"),
8295 Elements::RightShiftWith16 => f.write_str("right_shift_with_16"),
8296 Elements::RightShiftWith32 => f.write_str("right_shift_with_32"),
8297 Elements::RightShiftWith64 => f.write_str("right_shift_with_64"),
8298 Elements::RightShiftWith8 => f.write_str("right_shift_with_8"),
8299 Elements::Rightmost16_1 => f.write_str("rightmost_16_1"),
8300 Elements::Rightmost16_2 => f.write_str("rightmost_16_2"),
8301 Elements::Rightmost16_4 => f.write_str("rightmost_16_4"),
8302 Elements::Rightmost16_8 => f.write_str("rightmost_16_8"),
8303 Elements::Rightmost32_1 => f.write_str("rightmost_32_1"),
8304 Elements::Rightmost32_16 => f.write_str("rightmost_32_16"),
8305 Elements::Rightmost32_2 => f.write_str("rightmost_32_2"),
8306 Elements::Rightmost32_4 => f.write_str("rightmost_32_4"),
8307 Elements::Rightmost32_8 => f.write_str("rightmost_32_8"),
8308 Elements::Rightmost64_1 => f.write_str("rightmost_64_1"),
8309 Elements::Rightmost64_16 => f.write_str("rightmost_64_16"),
8310 Elements::Rightmost64_2 => f.write_str("rightmost_64_2"),
8311 Elements::Rightmost64_32 => f.write_str("rightmost_64_32"),
8312 Elements::Rightmost64_4 => f.write_str("rightmost_64_4"),
8313 Elements::Rightmost64_8 => f.write_str("rightmost_64_8"),
8314 Elements::Rightmost8_1 => f.write_str("rightmost_8_1"),
8315 Elements::Rightmost8_2 => f.write_str("rightmost_8_2"),
8316 Elements::Rightmost8_4 => f.write_str("rightmost_8_4"),
8317 Elements::ScalarAdd => f.write_str("scalar_add"),
8318 Elements::ScalarInvert => f.write_str("scalar_invert"),
8319 Elements::ScalarIsZero => f.write_str("scalar_is_zero"),
8320 Elements::ScalarMultiply => f.write_str("scalar_multiply"),
8321 Elements::ScalarMultiplyLambda => f.write_str("scalar_multiply_lambda"),
8322 Elements::ScalarNegate => f.write_str("scalar_negate"),
8323 Elements::ScalarNormalize => f.write_str("scalar_normalize"),
8324 Elements::ScalarSquare => f.write_str("scalar_square"),
8325 Elements::Scale => f.write_str("scale"),
8326 Elements::ScriptCMR => f.write_str("script_cmr"),
8327 Elements::Sha256Block => f.write_str("sha_256_block"),
8328 Elements::Sha256Ctx8Add1 => f.write_str("sha_256_ctx_8_add_1"),
8329 Elements::Sha256Ctx8Add128 => f.write_str("sha_256_ctx_8_add_128"),
8330 Elements::Sha256Ctx8Add16 => f.write_str("sha_256_ctx_8_add_16"),
8331 Elements::Sha256Ctx8Add2 => f.write_str("sha_256_ctx_8_add_2"),
8332 Elements::Sha256Ctx8Add256 => f.write_str("sha_256_ctx_8_add_256"),
8333 Elements::Sha256Ctx8Add32 => f.write_str("sha_256_ctx_8_add_32"),
8334 Elements::Sha256Ctx8Add4 => f.write_str("sha_256_ctx_8_add_4"),
8335 Elements::Sha256Ctx8Add512 => f.write_str("sha_256_ctx_8_add_512"),
8336 Elements::Sha256Ctx8Add64 => f.write_str("sha_256_ctx_8_add_64"),
8337 Elements::Sha256Ctx8Add8 => f.write_str("sha_256_ctx_8_add_8"),
8338 Elements::Sha256Ctx8AddBuffer511 => f.write_str("sha_256_ctx_8_add_buffer_511"),
8339 Elements::Sha256Ctx8Finalize => f.write_str("sha_256_ctx_8_finalize"),
8340 Elements::Sha256Ctx8Init => f.write_str("sha_256_ctx_8_init"),
8341 Elements::Sha256Iv => f.write_str("sha_256_iv"),
8342 Elements::SigAllHash => f.write_str("sig_all_hash"),
8343 Elements::Some1 => f.write_str("some_1"),
8344 Elements::Some16 => f.write_str("some_16"),
8345 Elements::Some32 => f.write_str("some_32"),
8346 Elements::Some64 => f.write_str("some_64"),
8347 Elements::Some8 => f.write_str("some_8"),
8348 Elements::Subtract16 => f.write_str("subtract_16"),
8349 Elements::Subtract32 => f.write_str("subtract_32"),
8350 Elements::Subtract64 => f.write_str("subtract_64"),
8351 Elements::Subtract8 => f.write_str("subtract_8"),
8352 Elements::Swu => f.write_str("swu"),
8353 Elements::TapEnvHash => f.write_str("tap_env_hash"),
8354 Elements::TapdataInit => f.write_str("tapdata_init"),
8355 Elements::TapleafHash => f.write_str("tapleaf_hash"),
8356 Elements::TapleafVersion => f.write_str("tapleaf_version"),
8357 Elements::Tappath => f.write_str("tappath"),
8358 Elements::TappathHash => f.write_str("tappath_hash"),
8359 Elements::TotalFee => f.write_str("total_fee"),
8360 Elements::TransactionId => f.write_str("transaction_id"),
8361 Elements::TxHash => f.write_str("tx_hash"),
8362 Elements::TxIsFinal => f.write_str("tx_is_final"),
8363 Elements::TxLockHeight => f.write_str("tx_lock_height"),
8364 Elements::TxLockTime => f.write_str("tx_lock_time"),
8365 Elements::Verify => f.write_str("verify"),
8366 Elements::Version => f.write_str("version"),
8367 Elements::Xor1 => f.write_str("xor_1"),
8368 Elements::Xor16 => f.write_str("xor_16"),
8369 Elements::Xor32 => f.write_str("xor_32"),
8370 Elements::Xor64 => f.write_str("xor_64"),
8371 Elements::Xor8 => f.write_str("xor_8"),
8372 Elements::XorXor1 => f.write_str("xor_xor_1"),
8373 Elements::XorXor16 => f.write_str("xor_xor_16"),
8374 Elements::XorXor32 => f.write_str("xor_xor_32"),
8375 Elements::XorXor64 => f.write_str("xor_xor_64"),
8376 Elements::XorXor8 => f.write_str("xor_xor_8"),
8377 }
8378 }
8379}
8380
8381impl str::FromStr for Elements {
8382 type Err = crate::Error;
8383
8384 fn from_str(s: &str) -> Result<Self, Self::Err> {
8385 match s {
8386 "add_16" => Ok(Elements::Add16),
8387 "add_32" => Ok(Elements::Add32),
8388 "add_64" => Ok(Elements::Add64),
8389 "add_8" => Ok(Elements::Add8),
8390 "all_16" => Ok(Elements::All16),
8391 "all_32" => Ok(Elements::All32),
8392 "all_64" => Ok(Elements::All64),
8393 "all_8" => Ok(Elements::All8),
8394 "and_1" => Ok(Elements::And1),
8395 "and_16" => Ok(Elements::And16),
8396 "and_32" => Ok(Elements::And32),
8397 "and_64" => Ok(Elements::And64),
8398 "and_8" => Ok(Elements::And8),
8399 "annex_hash" => Ok(Elements::AnnexHash),
8400 "asset_amount_hash" => Ok(Elements::AssetAmountHash),
8401 "bip_0340_verify" => Ok(Elements::Bip0340Verify),
8402 "broken_do_not_use_check_lock_distance" => Ok(Elements::BrokenDoNotUseCheckLockDistance),
8403 "broken_do_not_use_check_lock_duration" => Ok(Elements::BrokenDoNotUseCheckLockDuration),
8404 "broken_do_not_use_tx_lock_distance" => Ok(Elements::BrokenDoNotUseTxLockDistance),
8405 "broken_do_not_use_tx_lock_duration" => Ok(Elements::BrokenDoNotUseTxLockDuration),
8406 "build_tapbranch" => Ok(Elements::BuildTapbranch),
8407 "build_tapleaf_simplicity" => Ok(Elements::BuildTapleafSimplicity),
8408 "build_taptweak" => Ok(Elements::BuildTaptweak),
8409 "calculate_asset" => Ok(Elements::CalculateAsset),
8410 "calculate_confidential_token" => Ok(Elements::CalculateConfidentialToken),
8411 "calculate_explicit_token" => Ok(Elements::CalculateExplicitToken),
8412 "calculate_issuance_entropy" => Ok(Elements::CalculateIssuanceEntropy),
8413 "ch_1" => Ok(Elements::Ch1),
8414 "ch_16" => Ok(Elements::Ch16),
8415 "ch_32" => Ok(Elements::Ch32),
8416 "ch_64" => Ok(Elements::Ch64),
8417 "ch_8" => Ok(Elements::Ch8),
8418 "check_lock_height" => Ok(Elements::CheckLockHeight),
8419 "check_lock_time" => Ok(Elements::CheckLockTime),
8420 "check_sig_verify" => Ok(Elements::CheckSigVerify),
8421 "complement_1" => Ok(Elements::Complement1),
8422 "complement_16" => Ok(Elements::Complement16),
8423 "complement_32" => Ok(Elements::Complement32),
8424 "complement_64" => Ok(Elements::Complement64),
8425 "complement_8" => Ok(Elements::Complement8),
8426 "current_amount" => Ok(Elements::CurrentAmount),
8427 "current_annex_hash" => Ok(Elements::CurrentAnnexHash),
8428 "current_asset" => Ok(Elements::CurrentAsset),
8429 "current_index" => Ok(Elements::CurrentIndex),
8430 "current_issuance_asset_amount" => Ok(Elements::CurrentIssuanceAssetAmount),
8431 "current_issuance_asset_proof" => Ok(Elements::CurrentIssuanceAssetProof),
8432 "current_issuance_token_amount" => Ok(Elements::CurrentIssuanceTokenAmount),
8433 "current_issuance_token_proof" => Ok(Elements::CurrentIssuanceTokenProof),
8434 "current_new_issuance_contract" => Ok(Elements::CurrentNewIssuanceContract),
8435 "current_pegin" => Ok(Elements::CurrentPegin),
8436 "current_prev_outpoint" => Ok(Elements::CurrentPrevOutpoint),
8437 "current_reissuance_blinding" => Ok(Elements::CurrentReissuanceBlinding),
8438 "current_reissuance_entropy" => Ok(Elements::CurrentReissuanceEntropy),
8439 "current_script_hash" => Ok(Elements::CurrentScriptHash),
8440 "current_script_sig_hash" => Ok(Elements::CurrentScriptSigHash),
8441 "current_sequence" => Ok(Elements::CurrentSequence),
8442 "decompress" => Ok(Elements::Decompress),
8443 "decrement_16" => Ok(Elements::Decrement16),
8444 "decrement_32" => Ok(Elements::Decrement32),
8445 "decrement_64" => Ok(Elements::Decrement64),
8446 "decrement_8" => Ok(Elements::Decrement8),
8447 "div_mod_128_64" => Ok(Elements::DivMod128_64),
8448 "div_mod_16" => Ok(Elements::DivMod16),
8449 "div_mod_32" => Ok(Elements::DivMod32),
8450 "div_mod_64" => Ok(Elements::DivMod64),
8451 "div_mod_8" => Ok(Elements::DivMod8),
8452 "divide_16" => Ok(Elements::Divide16),
8453 "divide_32" => Ok(Elements::Divide32),
8454 "divide_64" => Ok(Elements::Divide64),
8455 "divide_8" => Ok(Elements::Divide8),
8456 "divides_16" => Ok(Elements::Divides16),
8457 "divides_32" => Ok(Elements::Divides32),
8458 "divides_64" => Ok(Elements::Divides64),
8459 "divides_8" => Ok(Elements::Divides8),
8460 "eq_1" => Ok(Elements::Eq1),
8461 "eq_16" => Ok(Elements::Eq16),
8462 "eq_256" => Ok(Elements::Eq256),
8463 "eq_32" => Ok(Elements::Eq32),
8464 "eq_64" => Ok(Elements::Eq64),
8465 "eq_8" => Ok(Elements::Eq8),
8466 "fe_add" => Ok(Elements::FeAdd),
8467 "fe_invert" => Ok(Elements::FeInvert),
8468 "fe_is_odd" => Ok(Elements::FeIsOdd),
8469 "fe_is_zero" => Ok(Elements::FeIsZero),
8470 "fe_multiply" => Ok(Elements::FeMultiply),
8471 "fe_multiply_beta" => Ok(Elements::FeMultiplyBeta),
8472 "fe_negate" => Ok(Elements::FeNegate),
8473 "fe_normalize" => Ok(Elements::FeNormalize),
8474 "fe_square" => Ok(Elements::FeSquare),
8475 "fe_square_root" => Ok(Elements::FeSquareRoot),
8476 "full_add_16" => Ok(Elements::FullAdd16),
8477 "full_add_32" => Ok(Elements::FullAdd32),
8478 "full_add_64" => Ok(Elements::FullAdd64),
8479 "full_add_8" => Ok(Elements::FullAdd8),
8480 "full_decrement_16" => Ok(Elements::FullDecrement16),
8481 "full_decrement_32" => Ok(Elements::FullDecrement32),
8482 "full_decrement_64" => Ok(Elements::FullDecrement64),
8483 "full_decrement_8" => Ok(Elements::FullDecrement8),
8484 "full_increment_16" => Ok(Elements::FullIncrement16),
8485 "full_increment_32" => Ok(Elements::FullIncrement32),
8486 "full_increment_64" => Ok(Elements::FullIncrement64),
8487 "full_increment_8" => Ok(Elements::FullIncrement8),
8488 "full_left_shift_16_1" => Ok(Elements::FullLeftShift16_1),
8489 "full_left_shift_16_2" => Ok(Elements::FullLeftShift16_2),
8490 "full_left_shift_16_4" => Ok(Elements::FullLeftShift16_4),
8491 "full_left_shift_16_8" => Ok(Elements::FullLeftShift16_8),
8492 "full_left_shift_32_1" => Ok(Elements::FullLeftShift32_1),
8493 "full_left_shift_32_16" => Ok(Elements::FullLeftShift32_16),
8494 "full_left_shift_32_2" => Ok(Elements::FullLeftShift32_2),
8495 "full_left_shift_32_4" => Ok(Elements::FullLeftShift32_4),
8496 "full_left_shift_32_8" => Ok(Elements::FullLeftShift32_8),
8497 "full_left_shift_64_1" => Ok(Elements::FullLeftShift64_1),
8498 "full_left_shift_64_16" => Ok(Elements::FullLeftShift64_16),
8499 "full_left_shift_64_2" => Ok(Elements::FullLeftShift64_2),
8500 "full_left_shift_64_32" => Ok(Elements::FullLeftShift64_32),
8501 "full_left_shift_64_4" => Ok(Elements::FullLeftShift64_4),
8502 "full_left_shift_64_8" => Ok(Elements::FullLeftShift64_8),
8503 "full_left_shift_8_1" => Ok(Elements::FullLeftShift8_1),
8504 "full_left_shift_8_2" => Ok(Elements::FullLeftShift8_2),
8505 "full_left_shift_8_4" => Ok(Elements::FullLeftShift8_4),
8506 "full_multiply_16" => Ok(Elements::FullMultiply16),
8507 "full_multiply_32" => Ok(Elements::FullMultiply32),
8508 "full_multiply_64" => Ok(Elements::FullMultiply64),
8509 "full_multiply_8" => Ok(Elements::FullMultiply8),
8510 "full_right_shift_16_1" => Ok(Elements::FullRightShift16_1),
8511 "full_right_shift_16_2" => Ok(Elements::FullRightShift16_2),
8512 "full_right_shift_16_4" => Ok(Elements::FullRightShift16_4),
8513 "full_right_shift_16_8" => Ok(Elements::FullRightShift16_8),
8514 "full_right_shift_32_1" => Ok(Elements::FullRightShift32_1),
8515 "full_right_shift_32_16" => Ok(Elements::FullRightShift32_16),
8516 "full_right_shift_32_2" => Ok(Elements::FullRightShift32_2),
8517 "full_right_shift_32_4" => Ok(Elements::FullRightShift32_4),
8518 "full_right_shift_32_8" => Ok(Elements::FullRightShift32_8),
8519 "full_right_shift_64_1" => Ok(Elements::FullRightShift64_1),
8520 "full_right_shift_64_16" => Ok(Elements::FullRightShift64_16),
8521 "full_right_shift_64_2" => Ok(Elements::FullRightShift64_2),
8522 "full_right_shift_64_32" => Ok(Elements::FullRightShift64_32),
8523 "full_right_shift_64_4" => Ok(Elements::FullRightShift64_4),
8524 "full_right_shift_64_8" => Ok(Elements::FullRightShift64_8),
8525 "full_right_shift_8_1" => Ok(Elements::FullRightShift8_1),
8526 "full_right_shift_8_2" => Ok(Elements::FullRightShift8_2),
8527 "full_right_shift_8_4" => Ok(Elements::FullRightShift8_4),
8528 "full_subtract_16" => Ok(Elements::FullSubtract16),
8529 "full_subtract_32" => Ok(Elements::FullSubtract32),
8530 "full_subtract_64" => Ok(Elements::FullSubtract64),
8531 "full_subtract_8" => Ok(Elements::FullSubtract8),
8532 "ge_is_on_curve" => Ok(Elements::GeIsOnCurve),
8533 "ge_negate" => Ok(Elements::GeNegate),
8534 "gej_add" => Ok(Elements::GejAdd),
8535 "gej_double" => Ok(Elements::GejDouble),
8536 "gej_equiv" => Ok(Elements::GejEquiv),
8537 "gej_ge_add" => Ok(Elements::GejGeAdd),
8538 "gej_ge_add_ex" => Ok(Elements::GejGeAddEx),
8539 "gej_ge_equiv" => Ok(Elements::GejGeEquiv),
8540 "gej_infinity" => Ok(Elements::GejInfinity),
8541 "gej_is_infinity" => Ok(Elements::GejIsInfinity),
8542 "gej_is_on_curve" => Ok(Elements::GejIsOnCurve),
8543 "gej_negate" => Ok(Elements::GejNegate),
8544 "gej_normalize" => Ok(Elements::GejNormalize),
8545 "gej_rescale" => Ok(Elements::GejRescale),
8546 "gej_x_equiv" => Ok(Elements::GejXEquiv),
8547 "gej_y_is_odd" => Ok(Elements::GejYIsOdd),
8548 "generate" => Ok(Elements::Generate),
8549 "genesis_block_hash" => Ok(Elements::GenesisBlockHash),
8550 "hash_to_curve" => Ok(Elements::HashToCurve),
8551 "high_1" => Ok(Elements::High1),
8552 "high_16" => Ok(Elements::High16),
8553 "high_32" => Ok(Elements::High32),
8554 "high_64" => Ok(Elements::High64),
8555 "high_8" => Ok(Elements::High8),
8556 "increment_16" => Ok(Elements::Increment16),
8557 "increment_32" => Ok(Elements::Increment32),
8558 "increment_64" => Ok(Elements::Increment64),
8559 "increment_8" => Ok(Elements::Increment8),
8560 "input_amount" => Ok(Elements::InputAmount),
8561 "input_amounts_hash" => Ok(Elements::InputAmountsHash),
8562 "input_annex_hash" => Ok(Elements::InputAnnexHash),
8563 "input_annexes_hash" => Ok(Elements::InputAnnexesHash),
8564 "input_asset" => Ok(Elements::InputAsset),
8565 "input_hash" => Ok(Elements::InputHash),
8566 "input_outpoints_hash" => Ok(Elements::InputOutpointsHash),
8567 "input_pegin" => Ok(Elements::InputPegin),
8568 "input_prev_outpoint" => Ok(Elements::InputPrevOutpoint),
8569 "input_script_hash" => Ok(Elements::InputScriptHash),
8570 "input_script_sig_hash" => Ok(Elements::InputScriptSigHash),
8571 "input_script_sigs_hash" => Ok(Elements::InputScriptSigsHash),
8572 "input_scripts_hash" => Ok(Elements::InputScriptsHash),
8573 "input_sequence" => Ok(Elements::InputSequence),
8574 "input_sequences_hash" => Ok(Elements::InputSequencesHash),
8575 "input_utxo_hash" => Ok(Elements::InputUtxoHash),
8576 "input_utxos_hash" => Ok(Elements::InputUtxosHash),
8577 "inputs_hash" => Ok(Elements::InputsHash),
8578 "internal_key" => Ok(Elements::InternalKey),
8579 "is_one_16" => Ok(Elements::IsOne16),
8580 "is_one_32" => Ok(Elements::IsOne32),
8581 "is_one_64" => Ok(Elements::IsOne64),
8582 "is_one_8" => Ok(Elements::IsOne8),
8583 "is_zero_16" => Ok(Elements::IsZero16),
8584 "is_zero_32" => Ok(Elements::IsZero32),
8585 "is_zero_64" => Ok(Elements::IsZero64),
8586 "is_zero_8" => Ok(Elements::IsZero8),
8587 "issuance" => Ok(Elements::Issuance),
8588 "issuance_asset" => Ok(Elements::IssuanceAsset),
8589 "issuance_asset_amount" => Ok(Elements::IssuanceAssetAmount),
8590 "issuance_asset_amounts_hash" => Ok(Elements::IssuanceAssetAmountsHash),
8591 "issuance_asset_proof" => Ok(Elements::IssuanceAssetProof),
8592 "issuance_blinding_entropy_hash" => Ok(Elements::IssuanceBlindingEntropyHash),
8593 "issuance_entropy" => Ok(Elements::IssuanceEntropy),
8594 "issuance_hash" => Ok(Elements::IssuanceHash),
8595 "issuance_range_proofs_hash" => Ok(Elements::IssuanceRangeProofsHash),
8596 "issuance_token" => Ok(Elements::IssuanceToken),
8597 "issuance_token_amount" => Ok(Elements::IssuanceTokenAmount),
8598 "issuance_token_amounts_hash" => Ok(Elements::IssuanceTokenAmountsHash),
8599 "issuance_token_proof" => Ok(Elements::IssuanceTokenProof),
8600 "issuances_hash" => Ok(Elements::IssuancesHash),
8601 "lbtc_asset" => Ok(Elements::LbtcAsset),
8602 "le_16" => Ok(Elements::Le16),
8603 "le_32" => Ok(Elements::Le32),
8604 "le_64" => Ok(Elements::Le64),
8605 "le_8" => Ok(Elements::Le8),
8606 "left_extend_16_32" => Ok(Elements::LeftExtend16_32),
8607 "left_extend_16_64" => Ok(Elements::LeftExtend16_64),
8608 "left_extend_1_16" => Ok(Elements::LeftExtend1_16),
8609 "left_extend_1_32" => Ok(Elements::LeftExtend1_32),
8610 "left_extend_1_64" => Ok(Elements::LeftExtend1_64),
8611 "left_extend_1_8" => Ok(Elements::LeftExtend1_8),
8612 "left_extend_32_64" => Ok(Elements::LeftExtend32_64),
8613 "left_extend_8_16" => Ok(Elements::LeftExtend8_16),
8614 "left_extend_8_32" => Ok(Elements::LeftExtend8_32),
8615 "left_extend_8_64" => Ok(Elements::LeftExtend8_64),
8616 "left_pad_high_16_32" => Ok(Elements::LeftPadHigh16_32),
8617 "left_pad_high_16_64" => Ok(Elements::LeftPadHigh16_64),
8618 "left_pad_high_1_16" => Ok(Elements::LeftPadHigh1_16),
8619 "left_pad_high_1_32" => Ok(Elements::LeftPadHigh1_32),
8620 "left_pad_high_1_64" => Ok(Elements::LeftPadHigh1_64),
8621 "left_pad_high_1_8" => Ok(Elements::LeftPadHigh1_8),
8622 "left_pad_high_32_64" => Ok(Elements::LeftPadHigh32_64),
8623 "left_pad_high_8_16" => Ok(Elements::LeftPadHigh8_16),
8624 "left_pad_high_8_32" => Ok(Elements::LeftPadHigh8_32),
8625 "left_pad_high_8_64" => Ok(Elements::LeftPadHigh8_64),
8626 "left_pad_low_16_32" => Ok(Elements::LeftPadLow16_32),
8627 "left_pad_low_16_64" => Ok(Elements::LeftPadLow16_64),
8628 "left_pad_low_1_16" => Ok(Elements::LeftPadLow1_16),
8629 "left_pad_low_1_32" => Ok(Elements::LeftPadLow1_32),
8630 "left_pad_low_1_64" => Ok(Elements::LeftPadLow1_64),
8631 "left_pad_low_1_8" => Ok(Elements::LeftPadLow1_8),
8632 "left_pad_low_32_64" => Ok(Elements::LeftPadLow32_64),
8633 "left_pad_low_8_16" => Ok(Elements::LeftPadLow8_16),
8634 "left_pad_low_8_32" => Ok(Elements::LeftPadLow8_32),
8635 "left_pad_low_8_64" => Ok(Elements::LeftPadLow8_64),
8636 "left_rotate_16" => Ok(Elements::LeftRotate16),
8637 "left_rotate_32" => Ok(Elements::LeftRotate32),
8638 "left_rotate_64" => Ok(Elements::LeftRotate64),
8639 "left_rotate_8" => Ok(Elements::LeftRotate8),
8640 "left_shift_16" => Ok(Elements::LeftShift16),
8641 "left_shift_32" => Ok(Elements::LeftShift32),
8642 "left_shift_64" => Ok(Elements::LeftShift64),
8643 "left_shift_8" => Ok(Elements::LeftShift8),
8644 "left_shift_with_16" => Ok(Elements::LeftShiftWith16),
8645 "left_shift_with_32" => Ok(Elements::LeftShiftWith32),
8646 "left_shift_with_64" => Ok(Elements::LeftShiftWith64),
8647 "left_shift_with_8" => Ok(Elements::LeftShiftWith8),
8648 "leftmost_16_1" => Ok(Elements::Leftmost16_1),
8649 "leftmost_16_2" => Ok(Elements::Leftmost16_2),
8650 "leftmost_16_4" => Ok(Elements::Leftmost16_4),
8651 "leftmost_16_8" => Ok(Elements::Leftmost16_8),
8652 "leftmost_32_1" => Ok(Elements::Leftmost32_1),
8653 "leftmost_32_16" => Ok(Elements::Leftmost32_16),
8654 "leftmost_32_2" => Ok(Elements::Leftmost32_2),
8655 "leftmost_32_4" => Ok(Elements::Leftmost32_4),
8656 "leftmost_32_8" => Ok(Elements::Leftmost32_8),
8657 "leftmost_64_1" => Ok(Elements::Leftmost64_1),
8658 "leftmost_64_16" => Ok(Elements::Leftmost64_16),
8659 "leftmost_64_2" => Ok(Elements::Leftmost64_2),
8660 "leftmost_64_32" => Ok(Elements::Leftmost64_32),
8661 "leftmost_64_4" => Ok(Elements::Leftmost64_4),
8662 "leftmost_64_8" => Ok(Elements::Leftmost64_8),
8663 "leftmost_8_1" => Ok(Elements::Leftmost8_1),
8664 "leftmost_8_2" => Ok(Elements::Leftmost8_2),
8665 "leftmost_8_4" => Ok(Elements::Leftmost8_4),
8666 "linear_combination_1" => Ok(Elements::LinearCombination1),
8667 "linear_verify_1" => Ok(Elements::LinearVerify1),
8668 "lock_time" => Ok(Elements::LockTime),
8669 "low_1" => Ok(Elements::Low1),
8670 "low_16" => Ok(Elements::Low16),
8671 "low_32" => Ok(Elements::Low32),
8672 "low_64" => Ok(Elements::Low64),
8673 "low_8" => Ok(Elements::Low8),
8674 "lt_16" => Ok(Elements::Lt16),
8675 "lt_32" => Ok(Elements::Lt32),
8676 "lt_64" => Ok(Elements::Lt64),
8677 "lt_8" => Ok(Elements::Lt8),
8678 "maj_1" => Ok(Elements::Maj1),
8679 "maj_16" => Ok(Elements::Maj16),
8680 "maj_32" => Ok(Elements::Maj32),
8681 "maj_64" => Ok(Elements::Maj64),
8682 "maj_8" => Ok(Elements::Maj8),
8683 "max_16" => Ok(Elements::Max16),
8684 "max_32" => Ok(Elements::Max32),
8685 "max_64" => Ok(Elements::Max64),
8686 "max_8" => Ok(Elements::Max8),
8687 "median_16" => Ok(Elements::Median16),
8688 "median_32" => Ok(Elements::Median32),
8689 "median_64" => Ok(Elements::Median64),
8690 "median_8" => Ok(Elements::Median8),
8691 "min_16" => Ok(Elements::Min16),
8692 "min_32" => Ok(Elements::Min32),
8693 "min_64" => Ok(Elements::Min64),
8694 "min_8" => Ok(Elements::Min8),
8695 "modulo_16" => Ok(Elements::Modulo16),
8696 "modulo_32" => Ok(Elements::Modulo32),
8697 "modulo_64" => Ok(Elements::Modulo64),
8698 "modulo_8" => Ok(Elements::Modulo8),
8699 "multiply_16" => Ok(Elements::Multiply16),
8700 "multiply_32" => Ok(Elements::Multiply32),
8701 "multiply_64" => Ok(Elements::Multiply64),
8702 "multiply_8" => Ok(Elements::Multiply8),
8703 "negate_16" => Ok(Elements::Negate16),
8704 "negate_32" => Ok(Elements::Negate32),
8705 "negate_64" => Ok(Elements::Negate64),
8706 "negate_8" => Ok(Elements::Negate8),
8707 "new_issuance_contract" => Ok(Elements::NewIssuanceContract),
8708 "nonce_hash" => Ok(Elements::NonceHash),
8709 "num_inputs" => Ok(Elements::NumInputs),
8710 "num_outputs" => Ok(Elements::NumOutputs),
8711 "one_16" => Ok(Elements::One16),
8712 "one_32" => Ok(Elements::One32),
8713 "one_64" => Ok(Elements::One64),
8714 "one_8" => Ok(Elements::One8),
8715 "or_1" => Ok(Elements::Or1),
8716 "or_16" => Ok(Elements::Or16),
8717 "or_32" => Ok(Elements::Or32),
8718 "or_64" => Ok(Elements::Or64),
8719 "or_8" => Ok(Elements::Or8),
8720 "outpoint_hash" => Ok(Elements::OutpointHash),
8721 "output_amount" => Ok(Elements::OutputAmount),
8722 "output_amounts_hash" => Ok(Elements::OutputAmountsHash),
8723 "output_asset" => Ok(Elements::OutputAsset),
8724 "output_hash" => Ok(Elements::OutputHash),
8725 "output_is_fee" => Ok(Elements::OutputIsFee),
8726 "output_nonce" => Ok(Elements::OutputNonce),
8727 "output_nonces_hash" => Ok(Elements::OutputNoncesHash),
8728 "output_null_datum" => Ok(Elements::OutputNullDatum),
8729 "output_range_proof" => Ok(Elements::OutputRangeProof),
8730 "output_range_proofs_hash" => Ok(Elements::OutputRangeProofsHash),
8731 "output_script_hash" => Ok(Elements::OutputScriptHash),
8732 "output_scripts_hash" => Ok(Elements::OutputScriptsHash),
8733 "output_surjection_proof" => Ok(Elements::OutputSurjectionProof),
8734 "output_surjection_proofs_hash" => Ok(Elements::OutputSurjectionProofsHash),
8735 "outputs_hash" => Ok(Elements::OutputsHash),
8736 "parse_lock" => Ok(Elements::ParseLock),
8737 "parse_sequence" => Ok(Elements::ParseSequence),
8738 "point_verify_1" => Ok(Elements::PointVerify1),
8739 "reissuance_blinding" => Ok(Elements::ReissuanceBlinding),
8740 "reissuance_entropy" => Ok(Elements::ReissuanceEntropy),
8741 "right_extend_16_32" => Ok(Elements::RightExtend16_32),
8742 "right_extend_16_64" => Ok(Elements::RightExtend16_64),
8743 "right_extend_32_64" => Ok(Elements::RightExtend32_64),
8744 "right_extend_8_16" => Ok(Elements::RightExtend8_16),
8745 "right_extend_8_32" => Ok(Elements::RightExtend8_32),
8746 "right_extend_8_64" => Ok(Elements::RightExtend8_64),
8747 "right_pad_high_16_32" => Ok(Elements::RightPadHigh16_32),
8748 "right_pad_high_16_64" => Ok(Elements::RightPadHigh16_64),
8749 "right_pad_high_1_16" => Ok(Elements::RightPadHigh1_16),
8750 "right_pad_high_1_32" => Ok(Elements::RightPadHigh1_32),
8751 "right_pad_high_1_64" => Ok(Elements::RightPadHigh1_64),
8752 "right_pad_high_1_8" => Ok(Elements::RightPadHigh1_8),
8753 "right_pad_high_32_64" => Ok(Elements::RightPadHigh32_64),
8754 "right_pad_high_8_16" => Ok(Elements::RightPadHigh8_16),
8755 "right_pad_high_8_32" => Ok(Elements::RightPadHigh8_32),
8756 "right_pad_high_8_64" => Ok(Elements::RightPadHigh8_64),
8757 "right_pad_low_16_32" => Ok(Elements::RightPadLow16_32),
8758 "right_pad_low_16_64" => Ok(Elements::RightPadLow16_64),
8759 "right_pad_low_1_16" => Ok(Elements::RightPadLow1_16),
8760 "right_pad_low_1_32" => Ok(Elements::RightPadLow1_32),
8761 "right_pad_low_1_64" => Ok(Elements::RightPadLow1_64),
8762 "right_pad_low_1_8" => Ok(Elements::RightPadLow1_8),
8763 "right_pad_low_32_64" => Ok(Elements::RightPadLow32_64),
8764 "right_pad_low_8_16" => Ok(Elements::RightPadLow8_16),
8765 "right_pad_low_8_32" => Ok(Elements::RightPadLow8_32),
8766 "right_pad_low_8_64" => Ok(Elements::RightPadLow8_64),
8767 "right_rotate_16" => Ok(Elements::RightRotate16),
8768 "right_rotate_32" => Ok(Elements::RightRotate32),
8769 "right_rotate_64" => Ok(Elements::RightRotate64),
8770 "right_rotate_8" => Ok(Elements::RightRotate8),
8771 "right_shift_16" => Ok(Elements::RightShift16),
8772 "right_shift_32" => Ok(Elements::RightShift32),
8773 "right_shift_64" => Ok(Elements::RightShift64),
8774 "right_shift_8" => Ok(Elements::RightShift8),
8775 "right_shift_with_16" => Ok(Elements::RightShiftWith16),
8776 "right_shift_with_32" => Ok(Elements::RightShiftWith32),
8777 "right_shift_with_64" => Ok(Elements::RightShiftWith64),
8778 "right_shift_with_8" => Ok(Elements::RightShiftWith8),
8779 "rightmost_16_1" => Ok(Elements::Rightmost16_1),
8780 "rightmost_16_2" => Ok(Elements::Rightmost16_2),
8781 "rightmost_16_4" => Ok(Elements::Rightmost16_4),
8782 "rightmost_16_8" => Ok(Elements::Rightmost16_8),
8783 "rightmost_32_1" => Ok(Elements::Rightmost32_1),
8784 "rightmost_32_16" => Ok(Elements::Rightmost32_16),
8785 "rightmost_32_2" => Ok(Elements::Rightmost32_2),
8786 "rightmost_32_4" => Ok(Elements::Rightmost32_4),
8787 "rightmost_32_8" => Ok(Elements::Rightmost32_8),
8788 "rightmost_64_1" => Ok(Elements::Rightmost64_1),
8789 "rightmost_64_16" => Ok(Elements::Rightmost64_16),
8790 "rightmost_64_2" => Ok(Elements::Rightmost64_2),
8791 "rightmost_64_32" => Ok(Elements::Rightmost64_32),
8792 "rightmost_64_4" => Ok(Elements::Rightmost64_4),
8793 "rightmost_64_8" => Ok(Elements::Rightmost64_8),
8794 "rightmost_8_1" => Ok(Elements::Rightmost8_1),
8795 "rightmost_8_2" => Ok(Elements::Rightmost8_2),
8796 "rightmost_8_4" => Ok(Elements::Rightmost8_4),
8797 "scalar_add" => Ok(Elements::ScalarAdd),
8798 "scalar_invert" => Ok(Elements::ScalarInvert),
8799 "scalar_is_zero" => Ok(Elements::ScalarIsZero),
8800 "scalar_multiply" => Ok(Elements::ScalarMultiply),
8801 "scalar_multiply_lambda" => Ok(Elements::ScalarMultiplyLambda),
8802 "scalar_negate" => Ok(Elements::ScalarNegate),
8803 "scalar_normalize" => Ok(Elements::ScalarNormalize),
8804 "scalar_square" => Ok(Elements::ScalarSquare),
8805 "scale" => Ok(Elements::Scale),
8806 "script_cmr" => Ok(Elements::ScriptCMR),
8807 "sha_256_block" => Ok(Elements::Sha256Block),
8808 "sha_256_ctx_8_add_1" => Ok(Elements::Sha256Ctx8Add1),
8809 "sha_256_ctx_8_add_128" => Ok(Elements::Sha256Ctx8Add128),
8810 "sha_256_ctx_8_add_16" => Ok(Elements::Sha256Ctx8Add16),
8811 "sha_256_ctx_8_add_2" => Ok(Elements::Sha256Ctx8Add2),
8812 "sha_256_ctx_8_add_256" => Ok(Elements::Sha256Ctx8Add256),
8813 "sha_256_ctx_8_add_32" => Ok(Elements::Sha256Ctx8Add32),
8814 "sha_256_ctx_8_add_4" => Ok(Elements::Sha256Ctx8Add4),
8815 "sha_256_ctx_8_add_512" => Ok(Elements::Sha256Ctx8Add512),
8816 "sha_256_ctx_8_add_64" => Ok(Elements::Sha256Ctx8Add64),
8817 "sha_256_ctx_8_add_8" => Ok(Elements::Sha256Ctx8Add8),
8818 "sha_256_ctx_8_add_buffer_511" => Ok(Elements::Sha256Ctx8AddBuffer511),
8819 "sha_256_ctx_8_finalize" => Ok(Elements::Sha256Ctx8Finalize),
8820 "sha_256_ctx_8_init" => Ok(Elements::Sha256Ctx8Init),
8821 "sha_256_iv" => Ok(Elements::Sha256Iv),
8822 "sig_all_hash" => Ok(Elements::SigAllHash),
8823 "some_1" => Ok(Elements::Some1),
8824 "some_16" => Ok(Elements::Some16),
8825 "some_32" => Ok(Elements::Some32),
8826 "some_64" => Ok(Elements::Some64),
8827 "some_8" => Ok(Elements::Some8),
8828 "subtract_16" => Ok(Elements::Subtract16),
8829 "subtract_32" => Ok(Elements::Subtract32),
8830 "subtract_64" => Ok(Elements::Subtract64),
8831 "subtract_8" => Ok(Elements::Subtract8),
8832 "swu" => Ok(Elements::Swu),
8833 "tap_env_hash" => Ok(Elements::TapEnvHash),
8834 "tapdata_init" => Ok(Elements::TapdataInit),
8835 "tapleaf_hash" => Ok(Elements::TapleafHash),
8836 "tapleaf_version" => Ok(Elements::TapleafVersion),
8837 "tappath" => Ok(Elements::Tappath),
8838 "tappath_hash" => Ok(Elements::TappathHash),
8839 "total_fee" => Ok(Elements::TotalFee),
8840 "transaction_id" => Ok(Elements::TransactionId),
8841 "tx_hash" => Ok(Elements::TxHash),
8842 "tx_is_final" => Ok(Elements::TxIsFinal),
8843 "tx_lock_height" => Ok(Elements::TxLockHeight),
8844 "tx_lock_time" => Ok(Elements::TxLockTime),
8845 "verify" => Ok(Elements::Verify),
8846 "version" => Ok(Elements::Version),
8847 "xor_1" => Ok(Elements::Xor1),
8848 "xor_16" => Ok(Elements::Xor16),
8849 "xor_32" => Ok(Elements::Xor32),
8850 "xor_64" => Ok(Elements::Xor64),
8851 "xor_8" => Ok(Elements::Xor8),
8852 "xor_xor_1" => Ok(Elements::XorXor1),
8853 "xor_xor_16" => Ok(Elements::XorXor16),
8854 "xor_xor_32" => Ok(Elements::XorXor32),
8855 "xor_xor_64" => Ok(Elements::XorXor64),
8856 "xor_xor_8" => Ok(Elements::XorXor8),
8857 x => Err(crate::Error::InvalidJetName(x.to_owned())),
8858 }
8859 }
8860}
8861
8862pub(crate) fn c_jet_ptr(jet: &Elements) -> fn(&mut CFrameItem, CFrameItem, &CElementsTxEnv) -> bool {
8863 match jet {
8864 Elements::Add16 => simplicity_sys::c_jets::jets_wrapper::add_16,
8865 Elements::Add32 => simplicity_sys::c_jets::jets_wrapper::add_32,
8866 Elements::Add64 => simplicity_sys::c_jets::jets_wrapper::add_64,
8867 Elements::Add8 => simplicity_sys::c_jets::jets_wrapper::add_8,
8868 Elements::All16 => simplicity_sys::c_jets::jets_wrapper::all_16,
8869 Elements::All32 => simplicity_sys::c_jets::jets_wrapper::all_32,
8870 Elements::All64 => simplicity_sys::c_jets::jets_wrapper::all_64,
8871 Elements::All8 => simplicity_sys::c_jets::jets_wrapper::all_8,
8872 Elements::And1 => simplicity_sys::c_jets::jets_wrapper::and_1,
8873 Elements::And16 => simplicity_sys::c_jets::jets_wrapper::and_16,
8874 Elements::And32 => simplicity_sys::c_jets::jets_wrapper::and_32,
8875 Elements::And64 => simplicity_sys::c_jets::jets_wrapper::and_64,
8876 Elements::And8 => simplicity_sys::c_jets::jets_wrapper::and_8,
8877 Elements::AnnexHash => simplicity_sys::c_jets::jets_wrapper::annex_hash,
8878 Elements::AssetAmountHash => simplicity_sys::c_jets::jets_wrapper::asset_amount_hash,
8879 Elements::Bip0340Verify => simplicity_sys::c_jets::jets_wrapper::bip_0340_verify,
8880 Elements::BrokenDoNotUseCheckLockDistance => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_check_lock_distance,
8881 Elements::BrokenDoNotUseCheckLockDuration => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_check_lock_duration,
8882 Elements::BrokenDoNotUseTxLockDistance => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_tx_lock_distance,
8883 Elements::BrokenDoNotUseTxLockDuration => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_tx_lock_duration,
8884 Elements::BuildTapbranch => simplicity_sys::c_jets::jets_wrapper::build_tapbranch,
8885 Elements::BuildTapleafSimplicity => simplicity_sys::c_jets::jets_wrapper::build_tapleaf_simplicity,
8886 Elements::BuildTaptweak => simplicity_sys::c_jets::jets_wrapper::build_taptweak,
8887 Elements::CalculateAsset => simplicity_sys::c_jets::jets_wrapper::calculate_asset,
8888 Elements::CalculateConfidentialToken => simplicity_sys::c_jets::jets_wrapper::calculate_confidential_token,
8889 Elements::CalculateExplicitToken => simplicity_sys::c_jets::jets_wrapper::calculate_explicit_token,
8890 Elements::CalculateIssuanceEntropy => simplicity_sys::c_jets::jets_wrapper::calculate_issuance_entropy,
8891 Elements::Ch1 => simplicity_sys::c_jets::jets_wrapper::ch_1,
8892 Elements::Ch16 => simplicity_sys::c_jets::jets_wrapper::ch_16,
8893 Elements::Ch32 => simplicity_sys::c_jets::jets_wrapper::ch_32,
8894 Elements::Ch64 => simplicity_sys::c_jets::jets_wrapper::ch_64,
8895 Elements::Ch8 => simplicity_sys::c_jets::jets_wrapper::ch_8,
8896 Elements::CheckLockHeight => simplicity_sys::c_jets::jets_wrapper::check_lock_height,
8897 Elements::CheckLockTime => simplicity_sys::c_jets::jets_wrapper::check_lock_time,
8898 Elements::CheckSigVerify => simplicity_sys::c_jets::jets_wrapper::check_sig_verify,
8899 Elements::Complement1 => simplicity_sys::c_jets::jets_wrapper::complement_1,
8900 Elements::Complement16 => simplicity_sys::c_jets::jets_wrapper::complement_16,
8901 Elements::Complement32 => simplicity_sys::c_jets::jets_wrapper::complement_32,
8902 Elements::Complement64 => simplicity_sys::c_jets::jets_wrapper::complement_64,
8903 Elements::Complement8 => simplicity_sys::c_jets::jets_wrapper::complement_8,
8904 Elements::CurrentAmount => simplicity_sys::c_jets::jets_wrapper::current_amount,
8905 Elements::CurrentAnnexHash => simplicity_sys::c_jets::jets_wrapper::current_annex_hash,
8906 Elements::CurrentAsset => simplicity_sys::c_jets::jets_wrapper::current_asset,
8907 Elements::CurrentIndex => simplicity_sys::c_jets::jets_wrapper::current_index,
8908 Elements::CurrentIssuanceAssetAmount => simplicity_sys::c_jets::jets_wrapper::current_issuance_asset_amount,
8909 Elements::CurrentIssuanceAssetProof => simplicity_sys::c_jets::jets_wrapper::current_issuance_asset_proof,
8910 Elements::CurrentIssuanceTokenAmount => simplicity_sys::c_jets::jets_wrapper::current_issuance_token_amount,
8911 Elements::CurrentIssuanceTokenProof => simplicity_sys::c_jets::jets_wrapper::current_issuance_token_proof,
8912 Elements::CurrentNewIssuanceContract => simplicity_sys::c_jets::jets_wrapper::current_new_issuance_contract,
8913 Elements::CurrentPegin => simplicity_sys::c_jets::jets_wrapper::current_pegin,
8914 Elements::CurrentPrevOutpoint => simplicity_sys::c_jets::jets_wrapper::current_prev_outpoint,
8915 Elements::CurrentReissuanceBlinding => simplicity_sys::c_jets::jets_wrapper::current_reissuance_blinding,
8916 Elements::CurrentReissuanceEntropy => simplicity_sys::c_jets::jets_wrapper::current_reissuance_entropy,
8917 Elements::CurrentScriptHash => simplicity_sys::c_jets::jets_wrapper::current_script_hash,
8918 Elements::CurrentScriptSigHash => simplicity_sys::c_jets::jets_wrapper::current_script_sig_hash,
8919 Elements::CurrentSequence => simplicity_sys::c_jets::jets_wrapper::current_sequence,
8920 Elements::Decompress => simplicity_sys::c_jets::jets_wrapper::decompress,
8921 Elements::Decrement16 => simplicity_sys::c_jets::jets_wrapper::decrement_16,
8922 Elements::Decrement32 => simplicity_sys::c_jets::jets_wrapper::decrement_32,
8923 Elements::Decrement64 => simplicity_sys::c_jets::jets_wrapper::decrement_64,
8924 Elements::Decrement8 => simplicity_sys::c_jets::jets_wrapper::decrement_8,
8925 Elements::DivMod128_64 => simplicity_sys::c_jets::jets_wrapper::div_mod_128_64,
8926 Elements::DivMod16 => simplicity_sys::c_jets::jets_wrapper::div_mod_16,
8927 Elements::DivMod32 => simplicity_sys::c_jets::jets_wrapper::div_mod_32,
8928 Elements::DivMod64 => simplicity_sys::c_jets::jets_wrapper::div_mod_64,
8929 Elements::DivMod8 => simplicity_sys::c_jets::jets_wrapper::div_mod_8,
8930 Elements::Divide16 => simplicity_sys::c_jets::jets_wrapper::divide_16,
8931 Elements::Divide32 => simplicity_sys::c_jets::jets_wrapper::divide_32,
8932 Elements::Divide64 => simplicity_sys::c_jets::jets_wrapper::divide_64,
8933 Elements::Divide8 => simplicity_sys::c_jets::jets_wrapper::divide_8,
8934 Elements::Divides16 => simplicity_sys::c_jets::jets_wrapper::divides_16,
8935 Elements::Divides32 => simplicity_sys::c_jets::jets_wrapper::divides_32,
8936 Elements::Divides64 => simplicity_sys::c_jets::jets_wrapper::divides_64,
8937 Elements::Divides8 => simplicity_sys::c_jets::jets_wrapper::divides_8,
8938 Elements::Eq1 => simplicity_sys::c_jets::jets_wrapper::eq_1,
8939 Elements::Eq16 => simplicity_sys::c_jets::jets_wrapper::eq_16,
8940 Elements::Eq256 => simplicity_sys::c_jets::jets_wrapper::eq_256,
8941 Elements::Eq32 => simplicity_sys::c_jets::jets_wrapper::eq_32,
8942 Elements::Eq64 => simplicity_sys::c_jets::jets_wrapper::eq_64,
8943 Elements::Eq8 => simplicity_sys::c_jets::jets_wrapper::eq_8,
8944 Elements::FeAdd => simplicity_sys::c_jets::jets_wrapper::fe_add,
8945 Elements::FeInvert => simplicity_sys::c_jets::jets_wrapper::fe_invert,
8946 Elements::FeIsOdd => simplicity_sys::c_jets::jets_wrapper::fe_is_odd,
8947 Elements::FeIsZero => simplicity_sys::c_jets::jets_wrapper::fe_is_zero,
8948 Elements::FeMultiply => simplicity_sys::c_jets::jets_wrapper::fe_multiply,
8949 Elements::FeMultiplyBeta => simplicity_sys::c_jets::jets_wrapper::fe_multiply_beta,
8950 Elements::FeNegate => simplicity_sys::c_jets::jets_wrapper::fe_negate,
8951 Elements::FeNormalize => simplicity_sys::c_jets::jets_wrapper::fe_normalize,
8952 Elements::FeSquare => simplicity_sys::c_jets::jets_wrapper::fe_square,
8953 Elements::FeSquareRoot => simplicity_sys::c_jets::jets_wrapper::fe_square_root,
8954 Elements::FullAdd16 => simplicity_sys::c_jets::jets_wrapper::full_add_16,
8955 Elements::FullAdd32 => simplicity_sys::c_jets::jets_wrapper::full_add_32,
8956 Elements::FullAdd64 => simplicity_sys::c_jets::jets_wrapper::full_add_64,
8957 Elements::FullAdd8 => simplicity_sys::c_jets::jets_wrapper::full_add_8,
8958 Elements::FullDecrement16 => simplicity_sys::c_jets::jets_wrapper::full_decrement_16,
8959 Elements::FullDecrement32 => simplicity_sys::c_jets::jets_wrapper::full_decrement_32,
8960 Elements::FullDecrement64 => simplicity_sys::c_jets::jets_wrapper::full_decrement_64,
8961 Elements::FullDecrement8 => simplicity_sys::c_jets::jets_wrapper::full_decrement_8,
8962 Elements::FullIncrement16 => simplicity_sys::c_jets::jets_wrapper::full_increment_16,
8963 Elements::FullIncrement32 => simplicity_sys::c_jets::jets_wrapper::full_increment_32,
8964 Elements::FullIncrement64 => simplicity_sys::c_jets::jets_wrapper::full_increment_64,
8965 Elements::FullIncrement8 => simplicity_sys::c_jets::jets_wrapper::full_increment_8,
8966 Elements::FullLeftShift16_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_1,
8967 Elements::FullLeftShift16_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_2,
8968 Elements::FullLeftShift16_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_4,
8969 Elements::FullLeftShift16_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_8,
8970 Elements::FullLeftShift32_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_1,
8971 Elements::FullLeftShift32_16 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_16,
8972 Elements::FullLeftShift32_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_2,
8973 Elements::FullLeftShift32_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_4,
8974 Elements::FullLeftShift32_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_8,
8975 Elements::FullLeftShift64_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_1,
8976 Elements::FullLeftShift64_16 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_16,
8977 Elements::FullLeftShift64_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_2,
8978 Elements::FullLeftShift64_32 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_32,
8979 Elements::FullLeftShift64_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_4,
8980 Elements::FullLeftShift64_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_8,
8981 Elements::FullLeftShift8_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_1,
8982 Elements::FullLeftShift8_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_2,
8983 Elements::FullLeftShift8_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_4,
8984 Elements::FullMultiply16 => simplicity_sys::c_jets::jets_wrapper::full_multiply_16,
8985 Elements::FullMultiply32 => simplicity_sys::c_jets::jets_wrapper::full_multiply_32,
8986 Elements::FullMultiply64 => simplicity_sys::c_jets::jets_wrapper::full_multiply_64,
8987 Elements::FullMultiply8 => simplicity_sys::c_jets::jets_wrapper::full_multiply_8,
8988 Elements::FullRightShift16_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_1,
8989 Elements::FullRightShift16_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_2,
8990 Elements::FullRightShift16_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_4,
8991 Elements::FullRightShift16_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_8,
8992 Elements::FullRightShift32_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_1,
8993 Elements::FullRightShift32_16 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_16,
8994 Elements::FullRightShift32_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_2,
8995 Elements::FullRightShift32_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_4,
8996 Elements::FullRightShift32_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_8,
8997 Elements::FullRightShift64_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_1,
8998 Elements::FullRightShift64_16 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_16,
8999 Elements::FullRightShift64_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_2,
9000 Elements::FullRightShift64_32 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_32,
9001 Elements::FullRightShift64_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_4,
9002 Elements::FullRightShift64_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_8,
9003 Elements::FullRightShift8_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_1,
9004 Elements::FullRightShift8_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_2,
9005 Elements::FullRightShift8_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_4,
9006 Elements::FullSubtract16 => simplicity_sys::c_jets::jets_wrapper::full_subtract_16,
9007 Elements::FullSubtract32 => simplicity_sys::c_jets::jets_wrapper::full_subtract_32,
9008 Elements::FullSubtract64 => simplicity_sys::c_jets::jets_wrapper::full_subtract_64,
9009 Elements::FullSubtract8 => simplicity_sys::c_jets::jets_wrapper::full_subtract_8,
9010 Elements::GeIsOnCurve => simplicity_sys::c_jets::jets_wrapper::ge_is_on_curve,
9011 Elements::GeNegate => simplicity_sys::c_jets::jets_wrapper::ge_negate,
9012 Elements::GejAdd => simplicity_sys::c_jets::jets_wrapper::gej_add,
9013 Elements::GejDouble => simplicity_sys::c_jets::jets_wrapper::gej_double,
9014 Elements::GejEquiv => simplicity_sys::c_jets::jets_wrapper::gej_equiv,
9015 Elements::GejGeAdd => simplicity_sys::c_jets::jets_wrapper::gej_ge_add,
9016 Elements::GejGeAddEx => simplicity_sys::c_jets::jets_wrapper::gej_ge_add_ex,
9017 Elements::GejGeEquiv => simplicity_sys::c_jets::jets_wrapper::gej_ge_equiv,
9018 Elements::GejInfinity => simplicity_sys::c_jets::jets_wrapper::gej_infinity,
9019 Elements::GejIsInfinity => simplicity_sys::c_jets::jets_wrapper::gej_is_infinity,
9020 Elements::GejIsOnCurve => simplicity_sys::c_jets::jets_wrapper::gej_is_on_curve,
9021 Elements::GejNegate => simplicity_sys::c_jets::jets_wrapper::gej_negate,
9022 Elements::GejNormalize => simplicity_sys::c_jets::jets_wrapper::gej_normalize,
9023 Elements::GejRescale => simplicity_sys::c_jets::jets_wrapper::gej_rescale,
9024 Elements::GejXEquiv => simplicity_sys::c_jets::jets_wrapper::gej_x_equiv,
9025 Elements::GejYIsOdd => simplicity_sys::c_jets::jets_wrapper::gej_y_is_odd,
9026 Elements::Generate => simplicity_sys::c_jets::jets_wrapper::generate,
9027 Elements::GenesisBlockHash => simplicity_sys::c_jets::jets_wrapper::genesis_block_hash,
9028 Elements::HashToCurve => simplicity_sys::c_jets::jets_wrapper::hash_to_curve,
9029 Elements::High1 => simplicity_sys::c_jets::jets_wrapper::high_1,
9030 Elements::High16 => simplicity_sys::c_jets::jets_wrapper::high_16,
9031 Elements::High32 => simplicity_sys::c_jets::jets_wrapper::high_32,
9032 Elements::High64 => simplicity_sys::c_jets::jets_wrapper::high_64,
9033 Elements::High8 => simplicity_sys::c_jets::jets_wrapper::high_8,
9034 Elements::Increment16 => simplicity_sys::c_jets::jets_wrapper::increment_16,
9035 Elements::Increment32 => simplicity_sys::c_jets::jets_wrapper::increment_32,
9036 Elements::Increment64 => simplicity_sys::c_jets::jets_wrapper::increment_64,
9037 Elements::Increment8 => simplicity_sys::c_jets::jets_wrapper::increment_8,
9038 Elements::InputAmount => simplicity_sys::c_jets::jets_wrapper::input_amount,
9039 Elements::InputAmountsHash => simplicity_sys::c_jets::jets_wrapper::input_amounts_hash,
9040 Elements::InputAnnexHash => simplicity_sys::c_jets::jets_wrapper::input_annex_hash,
9041 Elements::InputAnnexesHash => simplicity_sys::c_jets::jets_wrapper::input_annexes_hash,
9042 Elements::InputAsset => simplicity_sys::c_jets::jets_wrapper::input_asset,
9043 Elements::InputHash => simplicity_sys::c_jets::jets_wrapper::input_hash,
9044 Elements::InputOutpointsHash => simplicity_sys::c_jets::jets_wrapper::input_outpoints_hash,
9045 Elements::InputPegin => simplicity_sys::c_jets::jets_wrapper::input_pegin,
9046 Elements::InputPrevOutpoint => simplicity_sys::c_jets::jets_wrapper::input_prev_outpoint,
9047 Elements::InputScriptHash => simplicity_sys::c_jets::jets_wrapper::input_script_hash,
9048 Elements::InputScriptSigHash => simplicity_sys::c_jets::jets_wrapper::input_script_sig_hash,
9049 Elements::InputScriptSigsHash => simplicity_sys::c_jets::jets_wrapper::input_script_sigs_hash,
9050 Elements::InputScriptsHash => simplicity_sys::c_jets::jets_wrapper::input_scripts_hash,
9051 Elements::InputSequence => simplicity_sys::c_jets::jets_wrapper::input_sequence,
9052 Elements::InputSequencesHash => simplicity_sys::c_jets::jets_wrapper::input_sequences_hash,
9053 Elements::InputUtxoHash => simplicity_sys::c_jets::jets_wrapper::input_utxo_hash,
9054 Elements::InputUtxosHash => simplicity_sys::c_jets::jets_wrapper::input_utxos_hash,
9055 Elements::InputsHash => simplicity_sys::c_jets::jets_wrapper::inputs_hash,
9056 Elements::InternalKey => simplicity_sys::c_jets::jets_wrapper::internal_key,
9057 Elements::IsOne16 => simplicity_sys::c_jets::jets_wrapper::is_one_16,
9058 Elements::IsOne32 => simplicity_sys::c_jets::jets_wrapper::is_one_32,
9059 Elements::IsOne64 => simplicity_sys::c_jets::jets_wrapper::is_one_64,
9060 Elements::IsOne8 => simplicity_sys::c_jets::jets_wrapper::is_one_8,
9061 Elements::IsZero16 => simplicity_sys::c_jets::jets_wrapper::is_zero_16,
9062 Elements::IsZero32 => simplicity_sys::c_jets::jets_wrapper::is_zero_32,
9063 Elements::IsZero64 => simplicity_sys::c_jets::jets_wrapper::is_zero_64,
9064 Elements::IsZero8 => simplicity_sys::c_jets::jets_wrapper::is_zero_8,
9065 Elements::Issuance => simplicity_sys::c_jets::jets_wrapper::issuance,
9066 Elements::IssuanceAsset => simplicity_sys::c_jets::jets_wrapper::issuance_asset,
9067 Elements::IssuanceAssetAmount => simplicity_sys::c_jets::jets_wrapper::issuance_asset_amount,
9068 Elements::IssuanceAssetAmountsHash => simplicity_sys::c_jets::jets_wrapper::issuance_asset_amounts_hash,
9069 Elements::IssuanceAssetProof => simplicity_sys::c_jets::jets_wrapper::issuance_asset_proof,
9070 Elements::IssuanceBlindingEntropyHash => simplicity_sys::c_jets::jets_wrapper::issuance_blinding_entropy_hash,
9071 Elements::IssuanceEntropy => simplicity_sys::c_jets::jets_wrapper::issuance_entropy,
9072 Elements::IssuanceHash => simplicity_sys::c_jets::jets_wrapper::issuance_hash,
9073 Elements::IssuanceRangeProofsHash => simplicity_sys::c_jets::jets_wrapper::issuance_range_proofs_hash,
9074 Elements::IssuanceToken => simplicity_sys::c_jets::jets_wrapper::issuance_token,
9075 Elements::IssuanceTokenAmount => simplicity_sys::c_jets::jets_wrapper::issuance_token_amount,
9076 Elements::IssuanceTokenAmountsHash => simplicity_sys::c_jets::jets_wrapper::issuance_token_amounts_hash,
9077 Elements::IssuanceTokenProof => simplicity_sys::c_jets::jets_wrapper::issuance_token_proof,
9078 Elements::IssuancesHash => simplicity_sys::c_jets::jets_wrapper::issuances_hash,
9079 Elements::LbtcAsset => simplicity_sys::c_jets::jets_wrapper::lbtc_asset,
9080 Elements::Le16 => simplicity_sys::c_jets::jets_wrapper::le_16,
9081 Elements::Le32 => simplicity_sys::c_jets::jets_wrapper::le_32,
9082 Elements::Le64 => simplicity_sys::c_jets::jets_wrapper::le_64,
9083 Elements::Le8 => simplicity_sys::c_jets::jets_wrapper::le_8,
9084 Elements::LeftExtend16_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_16_32,
9085 Elements::LeftExtend16_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_16_64,
9086 Elements::LeftExtend1_16 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_16,
9087 Elements::LeftExtend1_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_32,
9088 Elements::LeftExtend1_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_64,
9089 Elements::LeftExtend1_8 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_8,
9090 Elements::LeftExtend32_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_32_64,
9091 Elements::LeftExtend8_16 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_16,
9092 Elements::LeftExtend8_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_32,
9093 Elements::LeftExtend8_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_64,
9094 Elements::LeftPadHigh16_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_32,
9095 Elements::LeftPadHigh16_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_64,
9096 Elements::LeftPadHigh1_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_16,
9097 Elements::LeftPadHigh1_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_32,
9098 Elements::LeftPadHigh1_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_64,
9099 Elements::LeftPadHigh1_8 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_8,
9100 Elements::LeftPadHigh32_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_32_64,
9101 Elements::LeftPadHigh8_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_16,
9102 Elements::LeftPadHigh8_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_32,
9103 Elements::LeftPadHigh8_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_64,
9104 Elements::LeftPadLow16_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_32,
9105 Elements::LeftPadLow16_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_64,
9106 Elements::LeftPadLow1_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_16,
9107 Elements::LeftPadLow1_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_32,
9108 Elements::LeftPadLow1_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_64,
9109 Elements::LeftPadLow1_8 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_8,
9110 Elements::LeftPadLow32_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_32_64,
9111 Elements::LeftPadLow8_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_16,
9112 Elements::LeftPadLow8_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_32,
9113 Elements::LeftPadLow8_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_64,
9114 Elements::LeftRotate16 => simplicity_sys::c_jets::jets_wrapper::left_rotate_16,
9115 Elements::LeftRotate32 => simplicity_sys::c_jets::jets_wrapper::left_rotate_32,
9116 Elements::LeftRotate64 => simplicity_sys::c_jets::jets_wrapper::left_rotate_64,
9117 Elements::LeftRotate8 => simplicity_sys::c_jets::jets_wrapper::left_rotate_8,
9118 Elements::LeftShift16 => simplicity_sys::c_jets::jets_wrapper::left_shift_16,
9119 Elements::LeftShift32 => simplicity_sys::c_jets::jets_wrapper::left_shift_32,
9120 Elements::LeftShift64 => simplicity_sys::c_jets::jets_wrapper::left_shift_64,
9121 Elements::LeftShift8 => simplicity_sys::c_jets::jets_wrapper::left_shift_8,
9122 Elements::LeftShiftWith16 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_16,
9123 Elements::LeftShiftWith32 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_32,
9124 Elements::LeftShiftWith64 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_64,
9125 Elements::LeftShiftWith8 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_8,
9126 Elements::Leftmost16_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_1,
9127 Elements::Leftmost16_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_2,
9128 Elements::Leftmost16_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_4,
9129 Elements::Leftmost16_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_8,
9130 Elements::Leftmost32_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_1,
9131 Elements::Leftmost32_16 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_16,
9132 Elements::Leftmost32_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_2,
9133 Elements::Leftmost32_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_4,
9134 Elements::Leftmost32_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_8,
9135 Elements::Leftmost64_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_1,
9136 Elements::Leftmost64_16 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_16,
9137 Elements::Leftmost64_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_2,
9138 Elements::Leftmost64_32 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_32,
9139 Elements::Leftmost64_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_4,
9140 Elements::Leftmost64_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_8,
9141 Elements::Leftmost8_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_1,
9142 Elements::Leftmost8_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_2,
9143 Elements::Leftmost8_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_4,
9144 Elements::LinearCombination1 => simplicity_sys::c_jets::jets_wrapper::linear_combination_1,
9145 Elements::LinearVerify1 => simplicity_sys::c_jets::jets_wrapper::linear_verify_1,
9146 Elements::LockTime => simplicity_sys::c_jets::jets_wrapper::lock_time,
9147 Elements::Low1 => simplicity_sys::c_jets::jets_wrapper::low_1,
9148 Elements::Low16 => simplicity_sys::c_jets::jets_wrapper::low_16,
9149 Elements::Low32 => simplicity_sys::c_jets::jets_wrapper::low_32,
9150 Elements::Low64 => simplicity_sys::c_jets::jets_wrapper::low_64,
9151 Elements::Low8 => simplicity_sys::c_jets::jets_wrapper::low_8,
9152 Elements::Lt16 => simplicity_sys::c_jets::jets_wrapper::lt_16,
9153 Elements::Lt32 => simplicity_sys::c_jets::jets_wrapper::lt_32,
9154 Elements::Lt64 => simplicity_sys::c_jets::jets_wrapper::lt_64,
9155 Elements::Lt8 => simplicity_sys::c_jets::jets_wrapper::lt_8,
9156 Elements::Maj1 => simplicity_sys::c_jets::jets_wrapper::maj_1,
9157 Elements::Maj16 => simplicity_sys::c_jets::jets_wrapper::maj_16,
9158 Elements::Maj32 => simplicity_sys::c_jets::jets_wrapper::maj_32,
9159 Elements::Maj64 => simplicity_sys::c_jets::jets_wrapper::maj_64,
9160 Elements::Maj8 => simplicity_sys::c_jets::jets_wrapper::maj_8,
9161 Elements::Max16 => simplicity_sys::c_jets::jets_wrapper::max_16,
9162 Elements::Max32 => simplicity_sys::c_jets::jets_wrapper::max_32,
9163 Elements::Max64 => simplicity_sys::c_jets::jets_wrapper::max_64,
9164 Elements::Max8 => simplicity_sys::c_jets::jets_wrapper::max_8,
9165 Elements::Median16 => simplicity_sys::c_jets::jets_wrapper::median_16,
9166 Elements::Median32 => simplicity_sys::c_jets::jets_wrapper::median_32,
9167 Elements::Median64 => simplicity_sys::c_jets::jets_wrapper::median_64,
9168 Elements::Median8 => simplicity_sys::c_jets::jets_wrapper::median_8,
9169 Elements::Min16 => simplicity_sys::c_jets::jets_wrapper::min_16,
9170 Elements::Min32 => simplicity_sys::c_jets::jets_wrapper::min_32,
9171 Elements::Min64 => simplicity_sys::c_jets::jets_wrapper::min_64,
9172 Elements::Min8 => simplicity_sys::c_jets::jets_wrapper::min_8,
9173 Elements::Modulo16 => simplicity_sys::c_jets::jets_wrapper::modulo_16,
9174 Elements::Modulo32 => simplicity_sys::c_jets::jets_wrapper::modulo_32,
9175 Elements::Modulo64 => simplicity_sys::c_jets::jets_wrapper::modulo_64,
9176 Elements::Modulo8 => simplicity_sys::c_jets::jets_wrapper::modulo_8,
9177 Elements::Multiply16 => simplicity_sys::c_jets::jets_wrapper::multiply_16,
9178 Elements::Multiply32 => simplicity_sys::c_jets::jets_wrapper::multiply_32,
9179 Elements::Multiply64 => simplicity_sys::c_jets::jets_wrapper::multiply_64,
9180 Elements::Multiply8 => simplicity_sys::c_jets::jets_wrapper::multiply_8,
9181 Elements::Negate16 => simplicity_sys::c_jets::jets_wrapper::negate_16,
9182 Elements::Negate32 => simplicity_sys::c_jets::jets_wrapper::negate_32,
9183 Elements::Negate64 => simplicity_sys::c_jets::jets_wrapper::negate_64,
9184 Elements::Negate8 => simplicity_sys::c_jets::jets_wrapper::negate_8,
9185 Elements::NewIssuanceContract => simplicity_sys::c_jets::jets_wrapper::new_issuance_contract,
9186 Elements::NonceHash => simplicity_sys::c_jets::jets_wrapper::nonce_hash,
9187 Elements::NumInputs => simplicity_sys::c_jets::jets_wrapper::num_inputs,
9188 Elements::NumOutputs => simplicity_sys::c_jets::jets_wrapper::num_outputs,
9189 Elements::One16 => simplicity_sys::c_jets::jets_wrapper::one_16,
9190 Elements::One32 => simplicity_sys::c_jets::jets_wrapper::one_32,
9191 Elements::One64 => simplicity_sys::c_jets::jets_wrapper::one_64,
9192 Elements::One8 => simplicity_sys::c_jets::jets_wrapper::one_8,
9193 Elements::Or1 => simplicity_sys::c_jets::jets_wrapper::or_1,
9194 Elements::Or16 => simplicity_sys::c_jets::jets_wrapper::or_16,
9195 Elements::Or32 => simplicity_sys::c_jets::jets_wrapper::or_32,
9196 Elements::Or64 => simplicity_sys::c_jets::jets_wrapper::or_64,
9197 Elements::Or8 => simplicity_sys::c_jets::jets_wrapper::or_8,
9198 Elements::OutpointHash => simplicity_sys::c_jets::jets_wrapper::outpoint_hash,
9199 Elements::OutputAmount => simplicity_sys::c_jets::jets_wrapper::output_amount,
9200 Elements::OutputAmountsHash => simplicity_sys::c_jets::jets_wrapper::output_amounts_hash,
9201 Elements::OutputAsset => simplicity_sys::c_jets::jets_wrapper::output_asset,
9202 Elements::OutputHash => simplicity_sys::c_jets::jets_wrapper::output_hash,
9203 Elements::OutputIsFee => simplicity_sys::c_jets::jets_wrapper::output_is_fee,
9204 Elements::OutputNonce => simplicity_sys::c_jets::jets_wrapper::output_nonce,
9205 Elements::OutputNoncesHash => simplicity_sys::c_jets::jets_wrapper::output_nonces_hash,
9206 Elements::OutputNullDatum => simplicity_sys::c_jets::jets_wrapper::output_null_datum,
9207 Elements::OutputRangeProof => simplicity_sys::c_jets::jets_wrapper::output_range_proof,
9208 Elements::OutputRangeProofsHash => simplicity_sys::c_jets::jets_wrapper::output_range_proofs_hash,
9209 Elements::OutputScriptHash => simplicity_sys::c_jets::jets_wrapper::output_script_hash,
9210 Elements::OutputScriptsHash => simplicity_sys::c_jets::jets_wrapper::output_scripts_hash,
9211 Elements::OutputSurjectionProof => simplicity_sys::c_jets::jets_wrapper::output_surjection_proof,
9212 Elements::OutputSurjectionProofsHash => simplicity_sys::c_jets::jets_wrapper::output_surjection_proofs_hash,
9213 Elements::OutputsHash => simplicity_sys::c_jets::jets_wrapper::outputs_hash,
9214 Elements::ParseLock => simplicity_sys::c_jets::jets_wrapper::parse_lock,
9215 Elements::ParseSequence => simplicity_sys::c_jets::jets_wrapper::parse_sequence,
9216 Elements::PointVerify1 => simplicity_sys::c_jets::jets_wrapper::point_verify_1,
9217 Elements::ReissuanceBlinding => simplicity_sys::c_jets::jets_wrapper::reissuance_blinding,
9218 Elements::ReissuanceEntropy => simplicity_sys::c_jets::jets_wrapper::reissuance_entropy,
9219 Elements::RightExtend16_32 => simplicity_sys::c_jets::jets_wrapper::right_extend_16_32,
9220 Elements::RightExtend16_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_16_64,
9221 Elements::RightExtend32_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_32_64,
9222 Elements::RightExtend8_16 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_16,
9223 Elements::RightExtend8_32 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_32,
9224 Elements::RightExtend8_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_64,
9225 Elements::RightPadHigh16_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_32,
9226 Elements::RightPadHigh16_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_64,
9227 Elements::RightPadHigh1_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_16,
9228 Elements::RightPadHigh1_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_32,
9229 Elements::RightPadHigh1_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_64,
9230 Elements::RightPadHigh1_8 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_8,
9231 Elements::RightPadHigh32_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_32_64,
9232 Elements::RightPadHigh8_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_16,
9233 Elements::RightPadHigh8_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_32,
9234 Elements::RightPadHigh8_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_64,
9235 Elements::RightPadLow16_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_32,
9236 Elements::RightPadLow16_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_64,
9237 Elements::RightPadLow1_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_16,
9238 Elements::RightPadLow1_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_32,
9239 Elements::RightPadLow1_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_64,
9240 Elements::RightPadLow1_8 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_8,
9241 Elements::RightPadLow32_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_32_64,
9242 Elements::RightPadLow8_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_16,
9243 Elements::RightPadLow8_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_32,
9244 Elements::RightPadLow8_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_64,
9245 Elements::RightRotate16 => simplicity_sys::c_jets::jets_wrapper::right_rotate_16,
9246 Elements::RightRotate32 => simplicity_sys::c_jets::jets_wrapper::right_rotate_32,
9247 Elements::RightRotate64 => simplicity_sys::c_jets::jets_wrapper::right_rotate_64,
9248 Elements::RightRotate8 => simplicity_sys::c_jets::jets_wrapper::right_rotate_8,
9249 Elements::RightShift16 => simplicity_sys::c_jets::jets_wrapper::right_shift_16,
9250 Elements::RightShift32 => simplicity_sys::c_jets::jets_wrapper::right_shift_32,
9251 Elements::RightShift64 => simplicity_sys::c_jets::jets_wrapper::right_shift_64,
9252 Elements::RightShift8 => simplicity_sys::c_jets::jets_wrapper::right_shift_8,
9253 Elements::RightShiftWith16 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_16,
9254 Elements::RightShiftWith32 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_32,
9255 Elements::RightShiftWith64 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_64,
9256 Elements::RightShiftWith8 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_8,
9257 Elements::Rightmost16_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_1,
9258 Elements::Rightmost16_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_2,
9259 Elements::Rightmost16_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_4,
9260 Elements::Rightmost16_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_8,
9261 Elements::Rightmost32_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_1,
9262 Elements::Rightmost32_16 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_16,
9263 Elements::Rightmost32_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_2,
9264 Elements::Rightmost32_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_4,
9265 Elements::Rightmost32_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_8,
9266 Elements::Rightmost64_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_1,
9267 Elements::Rightmost64_16 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_16,
9268 Elements::Rightmost64_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_2,
9269 Elements::Rightmost64_32 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_32,
9270 Elements::Rightmost64_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_4,
9271 Elements::Rightmost64_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_8,
9272 Elements::Rightmost8_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_1,
9273 Elements::Rightmost8_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_2,
9274 Elements::Rightmost8_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_4,
9275 Elements::ScalarAdd => simplicity_sys::c_jets::jets_wrapper::scalar_add,
9276 Elements::ScalarInvert => simplicity_sys::c_jets::jets_wrapper::scalar_invert,
9277 Elements::ScalarIsZero => simplicity_sys::c_jets::jets_wrapper::scalar_is_zero,
9278 Elements::ScalarMultiply => simplicity_sys::c_jets::jets_wrapper::scalar_multiply,
9279 Elements::ScalarMultiplyLambda => simplicity_sys::c_jets::jets_wrapper::scalar_multiply_lambda,
9280 Elements::ScalarNegate => simplicity_sys::c_jets::jets_wrapper::scalar_negate,
9281 Elements::ScalarNormalize => simplicity_sys::c_jets::jets_wrapper::scalar_normalize,
9282 Elements::ScalarSquare => simplicity_sys::c_jets::jets_wrapper::scalar_square,
9283 Elements::Scale => simplicity_sys::c_jets::jets_wrapper::scale,
9284 Elements::ScriptCMR => simplicity_sys::c_jets::jets_wrapper::script_cmr,
9285 Elements::Sha256Block => simplicity_sys::c_jets::jets_wrapper::sha_256_block,
9286 Elements::Sha256Ctx8Add1 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_1,
9287 Elements::Sha256Ctx8Add128 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_128,
9288 Elements::Sha256Ctx8Add16 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_16,
9289 Elements::Sha256Ctx8Add2 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_2,
9290 Elements::Sha256Ctx8Add256 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_256,
9291 Elements::Sha256Ctx8Add32 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_32,
9292 Elements::Sha256Ctx8Add4 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_4,
9293 Elements::Sha256Ctx8Add512 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_512,
9294 Elements::Sha256Ctx8Add64 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_64,
9295 Elements::Sha256Ctx8Add8 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_8,
9296 Elements::Sha256Ctx8AddBuffer511 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_buffer_511,
9297 Elements::Sha256Ctx8Finalize => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_finalize,
9298 Elements::Sha256Ctx8Init => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_init,
9299 Elements::Sha256Iv => simplicity_sys::c_jets::jets_wrapper::sha_256_iv,
9300 Elements::SigAllHash => simplicity_sys::c_jets::jets_wrapper::sig_all_hash,
9301 Elements::Some1 => simplicity_sys::c_jets::jets_wrapper::some_1,
9302 Elements::Some16 => simplicity_sys::c_jets::jets_wrapper::some_16,
9303 Elements::Some32 => simplicity_sys::c_jets::jets_wrapper::some_32,
9304 Elements::Some64 => simplicity_sys::c_jets::jets_wrapper::some_64,
9305 Elements::Some8 => simplicity_sys::c_jets::jets_wrapper::some_8,
9306 Elements::Subtract16 => simplicity_sys::c_jets::jets_wrapper::subtract_16,
9307 Elements::Subtract32 => simplicity_sys::c_jets::jets_wrapper::subtract_32,
9308 Elements::Subtract64 => simplicity_sys::c_jets::jets_wrapper::subtract_64,
9309 Elements::Subtract8 => simplicity_sys::c_jets::jets_wrapper::subtract_8,
9310 Elements::Swu => simplicity_sys::c_jets::jets_wrapper::swu,
9311 Elements::TapEnvHash => simplicity_sys::c_jets::jets_wrapper::tap_env_hash,
9312 Elements::TapdataInit => simplicity_sys::c_jets::jets_wrapper::tapdata_init,
9313 Elements::TapleafHash => simplicity_sys::c_jets::jets_wrapper::tapleaf_hash,
9314 Elements::TapleafVersion => simplicity_sys::c_jets::jets_wrapper::tapleaf_version,
9315 Elements::Tappath => simplicity_sys::c_jets::jets_wrapper::tappath,
9316 Elements::TappathHash => simplicity_sys::c_jets::jets_wrapper::tappath_hash,
9317 Elements::TotalFee => simplicity_sys::c_jets::jets_wrapper::total_fee,
9318 Elements::TransactionId => simplicity_sys::c_jets::jets_wrapper::transaction_id,
9319 Elements::TxHash => simplicity_sys::c_jets::jets_wrapper::tx_hash,
9320 Elements::TxIsFinal => simplicity_sys::c_jets::jets_wrapper::tx_is_final,
9321 Elements::TxLockHeight => simplicity_sys::c_jets::jets_wrapper::tx_lock_height,
9322 Elements::TxLockTime => simplicity_sys::c_jets::jets_wrapper::tx_lock_time,
9323 Elements::Verify => simplicity_sys::c_jets::jets_wrapper::verify,
9324 Elements::Version => simplicity_sys::c_jets::jets_wrapper::version,
9325 Elements::Xor1 => simplicity_sys::c_jets::jets_wrapper::xor_1,
9326 Elements::Xor16 => simplicity_sys::c_jets::jets_wrapper::xor_16,
9327 Elements::Xor32 => simplicity_sys::c_jets::jets_wrapper::xor_32,
9328 Elements::Xor64 => simplicity_sys::c_jets::jets_wrapper::xor_64,
9329 Elements::Xor8 => simplicity_sys::c_jets::jets_wrapper::xor_8,
9330 Elements::XorXor1 => simplicity_sys::c_jets::jets_wrapper::xor_xor_1,
9331 Elements::XorXor16 => simplicity_sys::c_jets::jets_wrapper::xor_xor_16,
9332 Elements::XorXor32 => simplicity_sys::c_jets::jets_wrapper::xor_xor_32,
9333 Elements::XorXor64 => simplicity_sys::c_jets::jets_wrapper::xor_xor_64,
9334 Elements::XorXor8 => simplicity_sys::c_jets::jets_wrapper::xor_xor_8,
9335 }
9336}