From 12929936f8813e6c83d0b065fc8dcaa8955652de Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Mon, 11 Sep 2017 15:55:00 -0400 Subject: [PATCH 01/40] First cut at PGP/SHA verification of downloads. --- quicklisp/client-info.lisp | 2 +- quicklisp/client.lisp | 2 +- quicklisp/dist.lisp | 58 ++- quicklisp/key-management.lisp | 27 ++ quicklisp/openpgp.lisp | 727 ++++++++++++++++++++++++++++++++++ quicklisp/package.lisp | 31 +- quicklisp/quicklisp.asd | 3 + quicklisp/setup.lisp | 2 +- quicklisp/sha.lisp | 599 ++++++++++++++++++++++++++++ quicklisp/utils.lisp | 20 + 10 files changed, 1463 insertions(+), 8 deletions(-) create mode 100644 quicklisp/key-management.lisp create mode 100644 quicklisp/openpgp.lisp create mode 100644 quicklisp/sha.lisp diff --git a/quicklisp/client-info.lisp b/quicklisp/client-info.lisp index 5cc972e..06ce5b0 100644 --- a/quicklisp/client-info.lisp +++ b/quicklisp/client-info.lisp @@ -2,7 +2,7 @@ (in-package #:quicklisp-client) -(defparameter *client-base-url* "http://beta.quicklisp.org/") +(defparameter *client-base-url* "http://release.quicklisp.org/") (defgeneric info-equal (info1 info2) (:documentation "Return TRUE if INFO1 and INFO2 are 'equal' in some diff --git a/quicklisp/client.lisp b/quicklisp/client.lisp index 7b67834..979574c 100644 --- a/quicklisp/client.lisp +++ b/quicklisp/client.lisp @@ -75,7 +75,7 @@ (available-versions (find-dist-or-lose name))) (defun help () - "For help with Quicklisp, see http://www.quicklisp.org/beta/") + "For help with Quicklisp, see https://www.quicklisp.org/") (defun uninstall (system-name) (let ((system (find-system system-name))) diff --git a/quicklisp/dist.lisp b/quicklisp/dist.lisp index 960e2c9..08cdb53 100644 --- a/quicklisp/dist.lisp +++ b/quicklisp/dist.lisp @@ -297,6 +297,10 @@ (:documentation "Return the full URL for fetching the archive file of RELEASE.")) +(defgeneric archive-digest (release) + (:documentation + "Return the cryptographic digest of RELEASE as a string.")) + (defgeneric installed-asdf-system-file (object) (:documentation "Return the path to the installed ASDF system file for OBJECT, or @@ -452,11 +456,33 @@ (setf (available-versions-url dist) (make-versions-url (distinfo-subscription-url dist)))) +(defun fetch-signed-index-file (url target) + (let ((signature-url (format nil "~A.asc" url)) + (temp-file (temp-output-file "index.txt")) + (temp-signature-file (temp-output-file "signature.asc"))) + (unwind-protect + (progn + (fetch signature-url temp-signature-file) + (fetch url temp-file) + (let* ((signature (ql-openpgp:load-signature temp-signature-file)) + (id (ql-openpgp:key-id-string signature)) + (key (ql-openpgp:find-key id))) + (unless key + (error "No key available for id ~S" id)) + (let ((result (ql-openpgp:verify-signature temp-file signature key))) + (unless result + (error "Signature failed for index file ~A" + target)) + (format t "~&; Signature check result: ~A~%" result))) + (rename-file temp-file target) + (delete-file temp-signature-file)) + (delete-file-if-exists temp-file) + (delete-file-if-exists temp-signature-file)))) (defmethod ensure-system-index-file ((dist dist)) (let ((pathname (relative-to dist "systems.txt"))) (or (probe-file pathname) - (nth-value 1 (fetch (system-index-url dist) pathname))))) + (fetch-signed-index-file (system-index-url dist) pathname)))) (defmethod ensure-system-cdb-file ((dist dist)) (let* ((system-file (ensure-system-index-file dist)) @@ -469,7 +495,7 @@ (defmethod ensure-release-index-file ((dist dist)) (let ((pathname (relative-to dist "releases.txt"))) (or (probe-file pathname) - (nth-value 1 (fetch (release-index-url dist) pathname))))) + (fetch-signed-index-file (release-index-url dist) pathname)))) (defmethod ensure-release-cdb-file ((dist dist)) (let* ((release-file (ensure-release-index-file dist)) @@ -717,6 +743,15 @@ the given NAME." (badly-sized-local-archive-expected-size condition) (badly-sized-local-archive-actual-size condition))))) +(define-condition file-digest-mismatch (invalid-local-archive) + () + (:report + (lambda (condition stream) + (format stream "The archive file ~S for ~S does not have the expected ~ + cryptographic digest" + (file-namestring (invalid-local-archive-file condition)) + (name (invalid-local-archive-release condition)))))) + (defmethod check-local-archive-file ((release release)) (let ((file (local-archive-file release))) (unless (probe-file file) @@ -730,7 +765,14 @@ the given NAME." :file file :release release :actual-size actual-size - :expected-size expected-size))))) + :expected-size expected-size))) + (let ((expected-digest (archive-digest release)) + (actual-digest (file-sha-string 'sha256 file))) + (unless (equalp expected-digest actual-digest) + (error 'file-digest-mismatch + :file file + :release release))) + :good-archive)) (defmethod local-archive-file ((release release)) (relative-to (dist release) @@ -829,6 +871,16 @@ the given NAME." (unless (ignorable line) (funcall fun line)))))) + +(defmethod archive-digest ((release release)) + (let ((entry (cdb-lookup (dist release) (name release) + "archive-digests.cdb"))) + (unless entry + (error "No digest indexed for ~S. That's pretty weird!" release)) + (let ((digest-position (position #\Space entry))) + (subseq entry (1+ digest-position))))) + + (defmethod slot-unbound (class (dist dist) (slot (eql 'release-index))) (declare (ignore class)) (setf (slot-value dist 'release-index) diff --git a/quicklisp/key-management.lisp b/quicklisp/key-management.lisp new file mode 100644 index 0000000..aeee68d --- /dev/null +++ b/quicklisp/key-management.lisp @@ -0,0 +1,27 @@ +;;;; key-management.lisp + +(in-package #:ql-openpgp) + +(defun all-key-files () + (let* ((key-directory (ql-setup:qmerge "openpgp-keys/")) + (wild (make-pathname :name :wild + :type "key" + :version :wild + :defaults key-directory))) + (directory wild))) + +(defun all-keys () + (flet ((try-file (file) + (ignore-errors (load-packet-from-file file)))) + (loop for file in (all-key-files) + for packet = (try-file file) + when packet collect packet))) + +(defun find-key (key-id) + (flet ((match (packet) + (and (typep packet 'rsa-public-key-packet) + (equal (key-id-string packet) key-id)))) + (find-if #'match (all-keys)))) + + + diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp new file mode 100644 index 0000000..b8f5c39 --- /dev/null +++ b/quicklisp/openpgp.lisp @@ -0,0 +1,727 @@ +;;;; openpgp.lisp + +(in-package #:ql-openpgp) + +(defun first-n-octets (n vector) + (let ((length (length vector))) + (unless (<= n length) + (error "Vector too short to take ~A elements" n)) + (subseq vector 0 n))) + +(defun octet-vector-hex (octet-vector) + (nstring-downcase + (with-output-to-string (s) + (map nil (lambda (o) (format s "~2,'0X" o)) octet-vector)))) + +;;;; r64.lisp + +(defvar *radix64-alphabet* + (concatenate 'string + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789" + "+/")) +(defvar *whitespace-characters* + '(#\Tab #\Newline #\Linefeed #\Page #\Return #\Space) + "Whitespace standard characters as defined by http://l1sp.org/cl/2.1.4") + +(defvar *whitespace-index* 255) + +(defparameter *radix64-indexes* + (let ((table (make-hash-table))) + (setf (gethash #\= table) 0) + (dolist (char *whitespace-characters*) + (setf (gethash char table) *whitespace-index*)) + (loop for index from 0 + for char across *radix64-alphabet* + do (setf (gethash char table) index)) + table)) + +(defstruct r64-decoder + (state 0 :type (mod 4)) + (accumulator 0 :type (mod 256)) + (result (make-array 10 :element-type '(unsigned-byte 8) + :fill-pointer 0 + :adjustable t))) + +(defun update-decoder (decoder string) + (declare (type r64-decoder decoder) + (type string string) + (optimize speed)) + (let ((state (r64-decoder-state decoder)) + (accumulator (r64-decoder-accumulator decoder)) + (result (r64-decoder-result decoder))) + (dotimes (i (length string)) + (let* ((char (char string i)) + (index (gethash char *radix64-indexes* 100))) + (declare (type (mod 256) index)) + (when (= index 100) + (error "Invalid radix64 character ~S at ~A of ~S" + char i string)) + (when (eql index *whitespace-index*) + (go skip)) + (ecase state + (0 + (setf state 1) + (setf accumulator (ash index 2))) + (1 + (setf state 2) + (unless (eql char #\=) + (vector-push-extend (logior accumulator + (ldb (byte 2 4) index)) + result)) + (setf accumulator (ash (ldb (byte 4 0) index) 4))) + (2 + (setf state 3) + (unless (eql char #\=) + (vector-push-extend (logior accumulator (ldb (byte 4 2) index)) + result)) + (setf accumulator (ash (ldb (byte 2 0) index) 6))) + (3 + (setf state 0) + (unless (eql char #\=) + (vector-push-extend (logior accumulator index) + result)) + (setf accumulator 0) + ))) + skip) + (setf (r64-decoder-accumulator decoder) accumulator) + (setf (r64-decoder-state decoder) state) + decoder)) + +(defun r64-decode (string) + "Decode a complete radix-64 message from STRING." + (let ((decoder (make-r64-decoder))) + (update-decoder decoder string) + (r64-decoder-result decoder))) + +;;;; ascii-armor.lisp + +(define-condition ascii-armor-error (simple-error) ()) + +(defvar *supported-armor-header-lines* + '("-----BEGIN PGP SIGNATURE-----" + "-----BEGIN PGP PUBLIC KEY BLOCK-----")) + +(defvar *supported-armor-tail-lines* + '("-----END PGP SIGNATURE-----" + "-----END PGP PUBLIC KEY BLOCK-----") + "A list of supported tail lines. Must match up 1-to-1 with header + lines.") + +(defun starts-with (substring string) + (and (<= (length substring) (length string)) + (string= substring string :end2 (length substring)))) + +(defun whitespacep (char) + (member char '(#\Space #\Tab #\Newline #\Return))) + +(defun marker-equal (marker string) + "Does STRING match MARKER? To match, MARKER must appear at the + start, and have only whitespace following." + (and (starts-with marker string) + (not (position-if-not #'whitespacep string + :start (length marker))))) + +(defun checksum-line-p (line) + (and (<= (length line) 5) + (char= (char line 0) #\=))) + +(defun tail-line (header-line) + (let ((index (position header-line *supported-armor-header-lines* + :test #'marker-equal))) + (unless index + (error "Unknown header line -- ~S" header-line)) + (elt *supported-armor-tail-lines* index))) + +(defun skip-to-armor-header-line (stream) + (loop for line = (read-line stream nil stream) + when (eq line stream) + do (error 'ascii-armor-error :format-control "EOF when looking for header") + when (member line *supported-armor-header-lines* :test #'marker-equal) + return line)) + +(defun ascii-armor-data (stream) + "Return the ASCII-armored ASCII data from STREAM." + (let* ((checksum-line nil) + (header-line (skip-to-armor-header-line stream)) + (tail-line (tail-line header-line))) + ;; Skip header lines, if present + (loop for line = (read-line stream nil) + if (null line) + do (error 'ascii-armor-error + :format-control "Missing armor header lines") + until (marker-equal "" line)) + ;; Read data + (values + (with-output-to-string (s) + (loop for line = (read-line stream nil) + if (null line) + do (error 'ascii-armor-error + :format-control "End of file in armor stream") + if (checksum-line-p line) + ;; Skip leading #\= + do (setf checksum-line (subseq line 1)) + until (marker-equal line tail-line) + do (unless checksum-line (write-line line s)))) + checksum-line + header-line))) + +(defun ascii-armor-crc24 (octets) + (let ((crc #xB704CE) + (poly #x1864CFB)) + (map nil (lambda (octet) + (setf crc (logand #xFFFFFF (logxor crc (ash octet 16)))) + (dotimes (i 8) + (setf crc (ash crc 1)) + (when (logtest #x1000000 crc) + (setf crc (logxor crc poly))))) + octets) + (vector (ldb (byte 8 16) crc) + (ldb (byte 8 8) crc) + (ldb (byte 8 0) crc)))) + +(defun file-ascii-armor-data (file) + (with-open-file (stream file) + (multiple-value-bind (encoded-data encoded-checksum) + (ascii-armor-data stream) + (let* ((data (r64-decode encoded-data)) + (data-checksum (r64-decode encoded-checksum)) + (checksum (ascii-armor-crc24 data))) + (unless (equalp checksum data-checksum) + (error "Checksum mismatch -- ASCII armor data has ~S, locally computed ~S" + data-checksum + checksum)) + data)))) + + +;;;; packet.lisp + +(defun key-string (key-id) + "Convert the octet vector KEY-ID to a hex string." + (octet-vector-hex key-id)) + +(defclass packet () + ((packet-type + :initarg :packet-type + :accessor packet-type) + (hashed-data + :initarg :hashed-data + :accessor hashed-data) + (data + :initarg :data + :accessor data))) + +(defgeneric version (packet) + (:method (packet) + (aref (data packet) 0))) + +(defmethod print-object ((packet packet) stream) + (print-unreadable-object (packet stream :type t :identity t) + (format stream "~S, size ~D" + (packet-type packet) + (length (data packet))))) + +(defmethod initialize-instance :after ((packet packet) + &key data + &allow-other-keys) + (unless data + (error "DATA is required")) + (unless (slot-boundp packet 'hashed-data) + (setf (hashed-data packet) data))) + +(defgeneric specialize-packet-by-type (packet-type packet) + (:method ((packet-type t) packet) + packet)) + +(defgeneric specialize-packet (packet) + (:documentation "Change (via CHANGE-CLASS) a plain packet into a + specialized packet by examining its type and data.") + (:method (packet) + (specialize-packet-by-type (packet-type packet) packet))) + +(defclass rsa-signature-packet (packet) + ((key-id + :initarg :key-id + :accessor key-id) + (signature-type + :initarg :signature-type + :accessor signature-type) + (hashed-data + :initarg :hashed-data + :accessor hashed-data) + (creation-time + :initarg :creation-time + :accessor creation-time) + (public-key-algorithm + :initarg :public-key-algorithm + :accessor public-key-algorithm) + (hash-algorithm + :initarg :hash-algorithm + :accessor hash-algorithm) + (quick-check-value + :initarg :quick-check-value + :accessor quick-check-value) + (signature-value + :initarg :signature-value + :accessor signature-value))) + +(defmethod print-object ((packet rsa-signature-packet) stream) + (print-unreadable-object (packet stream :type t :identity t) + (format stream "~A key id ~S" + (public-key-algorithm packet) + (key-string (key-id packet))))) + + +(defclass rsa-public-key-packet (packet) + ((fingerprint + :initarg :fingerprint + :accessor fingerprint) + (key-id + :initarg :key-id + :accessor key-id) + (hashed-data + :initarg :hashed-data + :accessor hashed-data) + (creation-time + :initarg :creation-time + :accessor creation-time) + (n + :initarg :n + :accessor n) + (e + :initarg :e + :accessor e))) + +(defclass rsa-public-subkey-packet (rsa-public-key-packet) ()) + +(defmethod print-object ((packet rsa-public-key-packet) stream) + (print-unreadable-object (packet stream :type t :identity t) + (format stream "key id ~S" (key-string (key-id packet))))) + +(defvar *initial-fingerprint-vector* + (make-array 1 :element-type '(unsigned-byte 8) :initial-element #x99 )) + +(defun compute-fingerprint (data) + (let* ((sha1 (make-instance 'sha1)) + (length (length data)) + (length-vector (make-array 2 :element-type '(unsigned-byte 8)))) + (setf (aref length-vector 0) (ldb (byte 8 8) length)) + (setf (aref length-vector 1) (ldb (byte 8 0) length)) + (update-sha sha1 *initial-fingerprint-vector*) + (update-sha sha1 length-vector) + (update-sha sha1 data) + (finish-sha sha1))) + +(defun compute-key-id (public-key) + (subseq (fingerprint public-key) 12)) + +(defclass user-id-packet (packet) + ((user-id + :initarg :user-id + :accessor user-id))) + +(defmethod print-object ((packet user-id-packet) stream) + (print-unreadable-object (packet stream :type t) + (format stream "~S" (user-id packet)))) + + +(defgeneric key-id-string (object) + (:method (object) + (key-string (key-id object)))) + + +;;;; packet-parsing.lisp + +(defclass packet-stream () + ((data + :initarg :data + :reader data) + (data-length + :reader data-length) + (pos + :initform 0 + :accessor pos) + (eofp + :initform nil + :accessor eofp)) + (:documentation + "A packet stream is a simple stream-like object for sequential + access to an octet vector.")) + +(define-condition packet-stream-eof (error) ()) + +(defmethod initialize-instance :after ((packet-stream packet-stream) + &key data &allow-other-keys) + (unless data + (error "DATA is required")) + (setf (slot-value packet-stream 'data-length) (length data))) + +(defun pstream (data) + "Create a packet stream based on DATA." + (make-instance 'packet-stream :data data)) + +(defun at-eof-p (packet-stream) + (= (pos packet-stream) (data-length packet-stream))) + +(defun check-eof (packet-stream) + (when (or (eofp packet-stream) + (setf (eofp packet-stream) (at-eof-p packet-stream))) + (error 'packet-stream-eof))) + + +(defun read-u8 (packet-stream) + (check-eof packet-stream) + (prog1 + (aref (data packet-stream) (pos packet-stream)) + (incf (pos packet-stream)))) + +(defun read-n-octets (n pstream) + (let ((vector (make-array n :element-type '(unsigned-byte 8)))) + (loop for i below n + do (setf (aref vector i) (read-u8 pstream))) + vector)) + +(defun read-u16 (packet-stream) + (logior (ash (read-u8 packet-stream) 8) + (ash (read-u8 packet-stream) 0))) + +(defun read-u32 (packet-stream) + (logior (ash (read-u8 packet-stream) 24) + (ash (read-u8 packet-stream) 16) + (ash (read-u8 packet-stream) 8) + (ash (read-u8 packet-stream) 0))) + +(defun read-mpi (packet-stream) + (let* ((mpi-bits (read-u16 packet-stream)) + (octets (ceiling mpi-bits 8)) + (result 0)) + (dotimes (i octets result) + (setf result (logior (ash result 8) + (read-u8 packet-stream)))))) + +(defun decode-u32 (vector) + (logior (ash (aref vector 0) 24) + (ash (aref vector 1) 16) + (ash (aref vector 2) 8) + (ash (aref vector 3) 0))) + +(defun encode-u32 (u32) + (make-array 4 :element-type '(unsigned-byte 8) + :initial-contents (list (ldb (byte 8 24) u32) + (ldb (byte 8 16) u32) + (ldb (byte 8 8) u32) + (ldb (byte 8 0) u32)))) + +(defun %reset (packet-stream) + "Reset PACKET-STREAM so it can be read again from the beginning." + (setf (pos packet-stream) 0) + (setf (eofp packet-stream) nil) + packet-stream) + +(defun packet-type-value (packet-type) + "Return a symbolic value for the integer PACKET-TYPE. Only supported +values are decoded; others signal an error. See RFC4880 section 4.3." + (ecase packet-type + (0 (error "0 is a reserved packet type and must not appear per RFC 4880")) + (2 :signature) + (6 :public-key) + (13 :user-id) + (14 :public-subkey))) + + +;;; +;;; Reading and decoding various packet fields from integers to +;;; symbolic constants. +;;; + +(eval-when (:compile-toplevel :load-toplevel :execute) + (defun find-type-reader (type) + (ecase type + (u8 'read-u8) + (u16 'read-u16) + (u32 'read-u32)))) + +(defmacro define-field (name (&key type) &body values-alist) + `(progn + (setf (get ',name 'reader-function) ',(find-type-reader type)) + (setf (get ',name 'values-alist) ',values-alist))) + +(defun missing-reader-function (&rest args) + (declare (ignore args)) + (error "No reader function available")) + +(defun read-field (field pstream) + "Read the integer value of FIELD (a symbol previously defined with +DEFINE-FIELD) from PSTREAM." + (funcall (get field 'reader-function 'missing-reader-function) pstream)) + +(defun read-field-value (field pstream) + "Read and FIELD from PSTREAM and look up and return its symbolic +value." + (let* ((raw-value (read-field field pstream)) + (translation (assoc raw-value (get field 'values-alist)))) + (unless translation + (error "Unsupported value ~A for field ~A" + raw-value + field)) + (cdr translation))) + +(define-field signature-type (:type u8) + ;; RFC 4880 section 5.2.1 + (0 . :binary-document) + (16 . :generic-certification) + (17 . :persona-certification) + (18 . :casual-certification) + (19 . :positive-user-id-certification) + (24 . :subkey-binding-signature)) + + +(define-field subpacket-type (:type u8) + ;; RFC 4880 section 5.2.3.1 + (2 . :signature-creation-time) + (3 . :signature-expiration-time) + (9 . :key-expiration-time) + (11 . :preferred-symmetric-algorithms) + (16 . :issuer) + (21 . :preferred-hash-algorithms) + (22 . :preferred-compression-algorithms) + (23 . :key-server-preferences) + (27 . :key-flags) + (30 . :features)) + +(define-field public-key-algorithm (:type u8) + ;; RFC 4880 section 9.1 + (1 . :rsa) + (3 . :rsa-sign-only) + (17 . :dsa)) + +(define-field hash-algorithm (:type u8) + ;; RFC 4880 section 9.4 + (1 . :md5) + (2 . :sha-1) + (8 . :sha-256) + (9 . :sha-384) + (10 . :sha-512) + (11 . :sha-224)) + + +(defun check-supported-value (description supported actual) + "Signal an error unless SUPPORTED is EQL to ACTUAL" + (unless (eql supported actual) + (error "Value ~S for ~A not supported -- only ~A" + actual description supported))) + +(defun read-subpacket-length (pstream) + "Read an encoded length value, which may be 1, 2, or 5 octets in +size, from PSTREAM. See RFC4880 5.2.3.1 for details." + (let ((b1 (read-u8 pstream))) + (cond ((< b1 192) + b1) + ((<= 192 b1 254) + (let ((b2 (read-u8 pstream))) + (logior (ash (- b1 192) 8) + b2 + 192))) + ((= b1 255) + (read-u32 pstream))))) + +(defun read-signature-subpacket (pstream) + "Read a single signature subpacket from PSTREAM. Returns the packet + type and data as multiple values." + (let* ((length (read-subpacket-length pstream)) + (type (read-field-value 'subpacket-type pstream)) + (data (read-n-octets (1- length) pstream))) + (values type data))) + +(defun read-signature-subpackets (pstream) + "Read a list of subpackets from PSTREAM." + (let* ((subpackets-total-length (read-u16 pstream)) + (end (+ (pos pstream) subpackets-total-length)) + (result '())) + (loop + (when (<= end (pos pstream)) + (return (nreverse result))) + (multiple-value-bind (type data) + (read-signature-subpacket pstream) + (push (cons type data) result))))) + +;;; Generic packet reading + +(defun read-packet (pstream) + "Read a packet from PSTREAM. Signals PACKET-STREAM-EOF if there is +no more data in PSTREAM. Format of binary packet data header is +specified in RFC 4880 section 4.2." + (let ((tag (read-u8 pstream))) + (unless (logbitp 7 tag) + (error "Invalid packet tag -- bit 7 is zero -- ~A" tag)) + (when (logbitp 6 tag) + (error "New packet format is not supported")) + (let* ((packet-tag (ldb (byte 4 2) tag)) + (length-type (ldb (byte 2 0) tag)) + (length-size (expt 2 length-type))) + (when (= length-type 3) + (error "Indefinite length types not supported")) + (let* ((length (ecase length-size + (1 (read-u8 pstream)) + (2 (read-u16 pstream)) + (4 (read-u16 pstream)))) + (data (read-n-octets length pstream))) + (specialize-packet + (make-instance 'packet + :data data + :packet-type (packet-type-value packet-tag))))))) + +(defun read-packets (pstream) + "Return a list of packets from PSTREAM." + (loop for packet = (handler-case (read-packet pstream) + (packet-stream-eof () nil)) + while packet + collect packet)) + +;;; User-id packets + +(defun utf8-octets-to-string (octets) + ;; FIXME: Handle real UTF-8 + (when (some (lambda (code) (logbitp 7 code)) octets) + (error "Proper UTF-8 decoding is not implemented yet")) + (map 'string 'code-char octets)) + +(defmethod specialize-packet-by-type ((packet-type (eql :user-id)) packet) + (change-class packet + 'user-id-packet + :user-id (utf8-octets-to-string (data packet)))) + + +;;; Public key and subkey packets + +(defmethod specialize-packet-by-type ((packet-type (eql :public-key)) packet) + (let* ((pstream (pstream (data packet))) + (version (read-u8 pstream))) + (check-supported-value "version" 4 version) + (let ((creation-time (read-u32 pstream)) + (public-key-algorithm (read-field-value 'public-key-algorithm + pstream))) + (check-supported-value "public-key algorithm" :rsa public-key-algorithm) + (let* ((n (read-mpi pstream)) + (e (read-mpi pstream)) + (fingerprint (compute-fingerprint (data packet))) + (key-id (subseq fingerprint (- (length fingerprint) 8)))) + (change-class packet 'rsa-public-key-packet + :fingerprint fingerprint + :key-id key-id + :creation-time creation-time + :n n + :e e))))) + +(defmethod specialize-packet-by-type ((packet-type (eql :public-subkey)) packet) + (change-class (specialize-packet-by-type :public-key packet) + 'rsa-public-subkey-packet)) + + +;;; Signature packet + +(defmethod specialize-packet-by-type ((packet-type (eql :signature)) packet) + (let* ((pstream (pstream (data packet))) + (VERSION (read-u8 pstream))) + (check-supported-value "version" 4 version) + (let ((signature-type (read-field-value 'signature-type pstream)) + (public-key-algorithm (read-field-value 'public-key-algorithm + pstream)) + (hash-algorithm (read-field-value 'hash-algorithm pstream))) + (check-supported-value "public-key algorithm" + :rsa + public-key-algorithm) + (let* ((hashed-subpackets (read-signature-subpackets pstream)) + ;; Important to save the position immediately after + ;; reading the hashed subpackets + (end-of-hashed-data-pos (pos pstream)) + (unhashed-subpackets (read-signature-subpackets pstream)) + (subpackets (append hashed-subpackets unhashed-subpackets)) + (quick-check-value (read-n-octets 2 pstream)) + (rsa-signature-value (read-mpi pstream)) + (raw-creation-time (cdr (assoc :signature-creation-time subpackets))) + (creation-time (and raw-creation-time + (decode-u32 raw-creation-time)))) + (change-class packet 'rsa-signature-packet + :key-id (cdr (assoc :issuer subpackets)) + :creation-time creation-time + :signature-type signature-type + :hash-algorithm hash-algorithm + :public-key-algorithm public-key-algorithm + :quick-check-value quick-check-value + :hashed-data (subseq (data packet) + 0 end-of-hashed-data-pos) + :signature-value rsa-signature-value))))) + + +;;; Misc + +(defun load-packets-from-file (file) + (let* ((data (file-ascii-armor-data file)) + (pstream (pstream data))) + (read-packets pstream))) + +(defun load-packet-from-file (file) + (let* ((data (file-ascii-armor-data file)) + (pstream (pstream data))) + (read-packet pstream))) + + +;;;; signature.lisp + +(defun expt-mod (n exponent modulus) + (loop with result = 1 + for i from 0 below (integer-length exponent) + for sqr = n then (mod (* sqr sqr) modulus) + when (logbitp i exponent) do + (setf result (mod (* result sqr) modulus)) + finally (return result))) + +(defun vector-integer (vector) + "Convert the octet vector VECTOR to an integer." + (let ((result 0)) + (dotimes (i (length vector) result) + (setf result (logior (ash result 8) (aref vector i)))))) + + +(defun load-signature (file) + (let* ((packet (load-packet-from-file file))) + (check-type packet rsa-signature-packet) + packet)) + +(defun load-public-key (file) + (let* ((packet (load-packet-from-file file))) + (check-type packet rsa-public-key-packet) + packet)) + +(defun verify-signature (file signature public-key) + (unless (equalp (key-id public-key) + (key-id signature)) + (error "Signature and public key do not match")) + (check-supported-value "hash algorithm" :sha-512 (hash-algorithm signature)) + (check-supported-value "public-key algorithm" + :rsa + (public-key-algorithm signature)) + (check-supported-value "signature type" + :binary-document + (signature-type signature)) + (let ((sha512 (make-instance 'sha512)) + (trailer (make-array 2 :element-type '(unsigned-byte 8) + :initial-contents (list (version signature) #xFF))) + (size-vector (encode-u32 (length (hashed-data signature)))) + (quick-check-expected (quick-check-value signature))) + (update-sha-from-file sha512 file) + (update-sha sha512 (hashed-data signature)) + (update-sha sha512 trailer) + (update-sha sha512 size-vector) + (let* ((result (finish-sha sha512)) + (quick-check-actual (first-n-octets 2 result))) + (when (equalp quick-check-actual quick-check-expected) + (let* ((n (vector-integer result)) + (pk (ldb (byte 512 0) + (expt-mod (signature-value signature) + (e public-key) + (n public-key))))) + (when (= n pk) + :good-signature)))))) diff --git a/quicklisp/package.lisp b/quicklisp/package.lisp index da68cd2..bccc3cb 100644 --- a/quicklisp/package.lisp +++ b/quicklisp/package.lisp @@ -16,7 +16,9 @@ #:file-size #:safely-read #:safely-read-file - #:make-versions-url)) + #:make-versions-url + #:random-pathname-string + #:temp-output-file)) (defpackage #:ql-setup (:documentation @@ -134,6 +136,30 @@ #:map-cdb #:convert-index-file)) +(defpackage #:ql-sha + (:documentation + "Compute SHA digests. Used for verification.") + (:use #:cl) + (:export #:file-sha + #:file-sha-string + #:sha1 + #:sha256 + #:sha512) + (:export #:update-sha-from-file + #:update-sha + #:finish-sha)) + +(defpackage #:ql-openpgp + (:documentation + "Verify OpenPGP signatures.") + (:use #:cl + #:ql-sha + #:ql-util) + (:export #:load-signature + #:verify-signature + #:find-key + #:key-id-string)) + (defpackage #:ql-dist (:documentation "Generic functions, variables, and classes for interacting with the @@ -144,7 +170,8 @@ #:ql-http #:ql-setup #:ql-gunzipper - #:ql-minitar) + #:ql-minitar + #:ql-sha) (:intern #:dist-version #:dist-url) (:import-from #:ql-impl-util diff --git a/quicklisp/quicklisp.asd b/quicklisp/quicklisp.asd index 158a1b4..54def52 100644 --- a/quicklisp/quicklisp.asd +++ b/quicklisp/quicklisp.asd @@ -24,6 +24,9 @@ (:file "deflate") (:file "minitar") (:file "cdb") + (:file "sha") + (:file "openpgp") + (:file "key-management") (:file "dist") (:file "setup") (:file "client") diff --git a/quicklisp/setup.lisp b/quicklisp/setup.lisp index fb2a671..981f731 100644 --- a/quicklisp/setup.lisp +++ b/quicklisp/setup.lisp @@ -197,7 +197,7 @@ dependencies too if possible." name)) (defvar *initial-dist-url* - "http://beta.quicklisp.org/dist/quicklisp.txt") + "http://release.quicklisp.org/dist/quicklisp.txt") (defun dists-initialized-p () (not (not (ignore-errors (truename (qmerge "dists/")))))) diff --git a/quicklisp/sha.lisp b/quicklisp/sha.lisp new file mode 100644 index 0000000..f1d7343 --- /dev/null +++ b/quicklisp/sha.lisp @@ -0,0 +1,599 @@ +;;;; sha.lisp + +(in-package #:ql-sha) + +;;; SHA-oriented arithmetic. + +(deftype octet () + `(unsigned-byte 8)) + +(deftype ub32 () + `(unsigned-byte 32)) + +(deftype ub64 () + `(unsigned-byte 64)) + +(deftype octet-vector (&optional size) + `(simple-array octet (,size))) + +(defun octet-vector (&rest initial-contents) + (make-array (length initial-contents) + :element-type 'octet + :initial-contents initial-contents)) + +(defun make-octet-vector (size) + (make-array size :element-type 'octet)) + +(defun make-ub32-vector (size) + (make-array size :element-type 'ub32)) + +(defun make-ub64-vector (size) + (make-array size :element-type 'ub64)) + + +;;; For every op, define 32 and 64 bit versions, binary versions, and +;;; n-ary versions that reduce by compiler macro to the binary +;;; version. + +(eval-when (:compile-toplevel :load-toplevel :execute) + (defun make-mask (bits) + (1- (ash 1 bits))) + + (defun expand-rest-to-binary (op args) + (if (rest args) + `(,op ,(first args) + ,(expand-rest-to-binary op (rest args))) + (first args))) + + (defun operation-expansion (lisp-fun type mask a b) + `(logand ,mask (,lisp-fun (the ,type ,a) + (the ,type ,b)))) + + (defun symconcat (symbol suffix) + (intern (format nil "~A~A" + (symbol-name symbol) + suffix) + *package*))) + +(defmacro define-binary-op (name lisp-fun) + (flet ((expand (name name/2 mask type) + `((defun ,name/2 (a b) + (declare (type ,type a b)) + (logand ,mask (,lisp-fun a b))) + (define-compiler-macro ,name/2 (a b) + (operation-expansion ',lisp-fun ',type ,mask a b)) + (defun ,name (&rest args) + (reduce ',name/2 args)) + (define-compiler-macro ,name (&rest args) + (expand-rest-to-binary ',name/2 args))))) + (let* ((fun32 (symconcat name "32")) + (fun64 (symconcat name "64")) + (fun32/2 (symconcat fun32 "/2")) + (fun64/2 (symconcat fun64 "/2")) + (mask32 (make-mask 32)) + (mask64 (make-mask 64))) + `(progn + ,@(expand fun32 fun32/2 mask32 'ub32) + ,@(expand fun64 fun64/2 mask64 'ub64))))) + +(defmacro define-unary-op (name lisp-fun) + (flet ((expand (name type mask) + `((defun ,name (a) + (declare (type ,type a)) + (logand ,mask (,lisp-fun a))) + (define-compiler-macro ,name (a) + `(logand ,',mask (,',lisp-fun (the ,',type ,a))))))) + `(progn + ,@(expand (symconcat name "32") 'ub32 (make-mask 32)) + ,@(expand (symconcat name "64") 'ub64 (make-mask 64))))) + +(define-binary-op xor logxor) +(define-binary-op and logand) +(define-binary-op or logior) +(define-binary-op add +) +(define-unary-op not lognot) + +(macrolet ((define-rotate (direction size) + (let* ((type (ecase size (32 'ub32) (64 'ub64))) + (prefix (ecase direction (:left 'rol) (:right 'ror))) + (name (symconcat prefix (princ-to-string size))) + (mask (make-mask size))) + (multiple-value-bind (shift1 shift2) + (ecase direction + (:right (values '(- count) `(- ,size count))) + (:left (values 'count `(- count ,size)))) + `(progn + (defun ,name (a count) + (declare (type ,type a) + (type (mod ,size) count)) + (logand ,mask + (logior (ash a ,shift1) + (logand ,mask (ash a ,shift2))))) + (define-compiler-macro ,name (&whole whole &rest args) + (declare (ignore args)) + whole)))))) + (define-rotate :left 32) + (define-rotate :left 64) + (define-rotate :right 32) + (define-rotate :right 64)) + +(macrolet ((define-shift (size) + (let ((type (ecase size (32 'ub32) (64 'ub64))) + (name (symconcat 'shift (princ-to-string size))) + (mask (make-mask size))) + `(progn + (defun ,name (a count) + (logand ,mask (ash (the ,type a) (- count)))) + (define-compiler-macro ,name (a count) + `(logand ,',mask (ash (the ,',type ,a) (- ,count)))))))) + (define-shift 32) + (define-shift 64)) + + +;;; SHA + +(defparameter *sha-buffer-size* 6400) + +(defgeneric update-sha (sha source &key start end)) +(defgeneric update-sha-from-file (sha file)) +(defgeneric compress (sha buffer end)) +(defgeneric block-octet-count (sha)) +(defgeneric total-octet-count (sha)) +(defgeneric make-trailer-octets (sha)) +(defgeneric sha-word-size (sha)) +(defgeneric hash-vector-octets (sha)) +(defgeneric sha-trailer (sha)) +(defgeneric finish-sha (sha)) + +(defun make-trailer (octet-count &key block-octet-count size-octets-count) + "Returns a trailer suitable for use in SHA-1, SHA-256, or SHA-512 +padding, depending on the parameters given in BLOCK-OCTET-COUNT and +SIZE-OCTETS-COUNT. OCTET-COUNT is the total number of octets hashed." + ;; Need space for #(#x80 ...padding... ) + (let* ((room-needed (+ 1 size-octets-count)) + (room (- block-octet-count (rem octet-count block-octet-count))) + (trailer-size room)) + (when (< room room-needed) + (incf trailer-size block-octet-count)) + (let ((trailer (make-octet-vector trailer-size))) + ;; Leading 1 bit + (setf (aref trailer 0) #x80) + (let ((bit-count (* octet-count 8))) + (loop for i downfrom (1- trailer-size) + for bit-offset from 0 by 8 + repeat size-octets-count + do (setf (aref trailer i) + (ldb (byte 8 bit-offset) bit-count)))) + trailer))) + + +(defun decode-ub32-vector (octet-vector start count target-vector) + "Convert the octets in OCTET-VECTOR as (unsigned-byte 32) values +into TARGET-VECTOR." + (declare (optimize speed) + (type octet-vector octet-vector) + (type fixnum start count) + (type (simple-array (unsigned-byte 32) (*)) target-vector)) + (flet ((decode (position) + (logior (ash (aref octet-vector (+ position 0)) 24) + (ash (aref octet-vector (+ position 1)) 16) + (ash (aref octet-vector (+ position 2)) 8) + (ash (aref octet-vector (+ position 3)) 0)))) + (loop for i below count + for j from start by 4 + do (setf (aref target-vector i) (decode j))) + target-vector)) + +(defun decode-ub64-vector (octet-vector start count target-vector) + "Convert the octets in OCTET-VECTOR as (unsigned-byte 64) values +into TARGET-VECTOR." + (declare (optimize speed) + (type octet-vector octet-vector) + (type fixnum start count) + (type (simple-array (unsigned-byte 64) (*)) target-vector)) + (flet ((decode (position) + (logior (ash (aref octet-vector (+ position 0)) 56) + (ash (aref octet-vector (+ position 1)) 48) + (ash (aref octet-vector (+ position 2)) 40) + (ash (aref octet-vector (+ position 3)) 32) + (ash (aref octet-vector (+ position 4)) 24) + (ash (aref octet-vector (+ position 5)) 16) + (ash (aref octet-vector (+ position 6)) 8) + (ash (aref octet-vector (+ position 7)) 0)))) + (loop for i below count + for j from start by 8 + do (setf (aref target-vector i) (decode j))) + target-vector)) + + +;;; Generic SHA structure + +(defclass sha () + ((hash-vector + :initarg :hash-vector + :reader hash-vector) + (work-vector + :initarg :work-vector + :reader work-vector) + (buffer + :initarg :buffer + :reader buffer) + (buffer-position + :initarg :buffer-position + :accessor buffer-position + :initform 0) + (total-octet-count + :initarg :total-octet-count + :initform 0 + :accessor total-octet-count) + (block-octet-count + :initarg :block-octet-count + :reader block-octet-count) + (word-size + :initarg :word-size + :reader sha-word-size))) + +(defmethod sha-trailer (sha) + (make-trailer (total-octet-count sha) + :block-octet-count (block-octet-count sha) + :size-octets-count (/ (sha-word-size sha) 4))) + +(defun sha-result (sha) + (hash-vector-octets sha)) + +(defmethod finish-sha (sha) + (let ((trailer (sha-trailer sha))) + (update-sha sha trailer) + (compress sha (buffer sha) (buffer-position sha)) + (sha-result sha))) + +(defmethod update-sha (sha octets &key start end) + "Add OCTETS (delimited by START and END) to SHA." + (unless start (setf start 0)) + (unless end (setf end (length octets))) + ;; Copy as much of OCTETS to the SHA buffer as possible; if it + ;; fills, COMPRESS it and copy more. + (let* ((buffer (buffer sha)) + (pos (buffer-position sha)) + (buffer-size (length buffer)) + (capacity (- (length buffer) pos)) + (needed (- end start))) + (incf (total-octet-count sha) needed) + (loop + (when (zerop capacity) + (compress sha buffer buffer-size) + (setf capacity buffer-size) + (setf pos 0)) + (when (<= needed capacity) + (replace buffer octets + :start1 pos + :start2 start + :end2 end) + (incf (buffer-position sha) needed) + (return)) + (replace buffer octets + :start1 pos + :end1 buffer-size + :start2 start) + (incf start capacity) + (decf needed capacity) + (setf capacity 0)))) + +(defmethod update-sha (sha (stream stream) &key start end) + (declare (ignore start end)) + (let ((buffer (make-octet-vector *sha-buffer-size*))) + (loop + (let ((end (read-sequence buffer stream))) + (when (zerop end) + (return sha)) + (update-sha sha buffer :end end))))) + +(defmethod update-sha-from-file (sha file) + (with-open-file (stream file :element-type 'octet) + (update-sha sha stream))) + +(defmacro with-hash-vector (vars sha &body body) + (let ((hash-vector (gensym "hash-vector"))) + `(let ((,hash-vector (hash-vector ,sha))) + (let ,(loop for var in vars + for i from 0 + collect (list var `(aref ,hash-vector ,i))) + (progn + ,@body) + ,@(loop for var in vars + for i from 0 + collect `(setf (aref ,hash-vector ,i) ,var)))))) + +(defun word-vector-octets (vector word-size) + "Return an octet vector of the words of VECTOR, interpreting each +vector element as an unsigned-byte of size WORD-SIZE." + (let ((result (make-octet-vector (* (length vector) (floor word-size 8))))) + (dotimes (i (length result) result) + (multiple-value-bind (word-index octet-index) + (truncate (* i 8) word-size) + (let ((ldb-position (- word-size octet-index 8))) + (setf (aref result i) + (ldb (byte 8 ldb-position) (aref vector word-index)))))))) + +(defmethod hash-vector-octets (sha) + (word-vector-octets (hash-vector sha) (sha-word-size sha))) + +;;; SHA-1 + +(defparameter *sha1-hash-vector* + (vector #x67452301 + #xEFCDAB89 + #x98BADCFE + #x10325476 + #xC3D2E1F0)) + +(defclass sha1 (sha) + () + (:default-initargs + :buffer (make-octet-vector *sha-buffer-size*) + :hash-vector (replace (make-ub32-vector 5) *sha1-hash-vector*) + :work-vector (make-ub32-vector 80) + :block-octet-count 64 + :word-size 32)) + +(defmethod compress ((sha1 sha1) buffer end) + (declare (optimize speed)) + (prog1 sha1 + (with-hash-vector (h0 h1 h2 h3 h4) + sha1 + (let* ((f 0) + (k 0) + (w (work-vector sha1)) + (block-octet-count (block-octet-count sha1)) + (block-count (floor end block-octet-count))) + (declare (type (simple-array ub32 (80)) w)) + (dotimes (ii block-count) + (let ((a h0) + (b h1) + (c h2) + (d h3) + (e h4)) + (decode-ub32-vector buffer (* ii 64) 16 w) + (loop for i from 16 to 79 + do (setf (aref w i) + (rol32 (xor32 (aref w (- i 3)) + (aref w (- i 8)) + (aref w (- i 14)) + (aref w (- i 16))) + 1))) + (dotimes (i 80) + (cond ((<= 0 i 19) + (setf f (or32 (and32 b c) + (and32 (not32 b) d))) + (setf k #x5A827999)) + ((<= 20 i 39) + (setf f (xor32 b c d)) + (setf k #x6ED9EBA1)) + ((<= 40 i 59) + (setf f (or32 (and32 b c) + (and32 b d) + (and32 c d))) + (setf k #x8F1BBCDC)) + ((<= 60 i 79) + (setf f (xor32 b c d)) + (setf k #xCA62C1D6))) + (let ((temp (add32 (rol32 a 5) f e k (aref w i)))) + (setf e d) + (setf d c) + (setf c (rol32 b 30)) + (setf b a) + (setf a temp))) + (setf h0 (add32 a h0)) + (setf h1 (add32 b h1)) + (setf h2 (add32 c h2)) + (setf h3 (add32 d h3)) + (setf h4 (add32 e h4)))) + (setf (buffer-position sha1) 0))))) + + +;;; SHA256 + +(defvar *sha256-round-constants* + #(#x428a2f98 #x71374491 #xb5c0fbcf #xe9b5dba5 + #x3956c25b #x59f111f1 #x923f82a4 #xab1c5ed5 + #xd807aa98 #x12835b01 #x243185be #x550c7dc3 + #x72be5d74 #x80deb1fe #x9bdc06a7 #xc19bf174 + #xe49b69c1 #xefbe4786 #x0fc19dc6 #x240ca1cc + #x2de92c6f #x4a7484aa #x5cb0a9dc #x76f988da + #x983e5152 #xa831c66d #xb00327c8 #xbf597fc7 + #xc6e00bf3 #xd5a79147 #x06ca6351 #x14292967 + #x27b70a85 #x2e1b2138 #x4d2c6dfc #x53380d13 + #x650a7354 #x766a0abb #x81c2c92e #x92722c85 + #xa2bfe8a1 #xa81a664b #xc24b8b70 #xc76c51a3 + #xd192e819 #xd6990624 #xf40e3585 #x106aa070 + #x19a4c116 #x1e376c08 #x2748774c #x34b0bcb5 + #x391c0cb3 #x4ed8aa4a #x5b9cca4f #x682e6ff3 + #x748f82ee #x78a5636f #x84c87814 #x8cc70208 + #x90befffa #xa4506ceb #xbef9a3f7 #xc67178f2)) + +(defvar *sha256-hash-vector* + #(#x6a09e667 #xbb67ae85 #x3c6ef372 #xa54ff53a + #x510e527f #x9b05688c #x1f83d9ab #x5be0cd19)) + +(defclass sha256 (sha) + ((constant-vector + :initarg :constant-vector + :reader constant-vector)) + (:default-initargs + :block-octet-count 64 + :buffer (make-octet-vector *sha-buffer-size*) + :work-vector (make-ub32-vector 64) + :hash-vector (replace (make-ub32-vector 8) *sha256-hash-vector*) + :constant-vector (replace (make-ub32-vector 64) + *sha256-round-constants*) + :word-size 32)) + +(defmethod compress ((sha sha256) buffer end) + (declare (optimize speed)) + (prog1 sha + (with-hash-vector (h0 h1 h2 h3 h4 h5 h6 h7) + sha + (let* ((w (work-vector sha)) + (k (constant-vector sha)) + (block-octet-count (block-octet-count sha)) + (block-count (floor end block-octet-count))) + (declare (type (simple-array ub32 (*)) w k)) + (dotimes (ii block-count) + (let ((a h0) (b h1) (c h2) (d h3) + (e h4) (f h5) (g h6) (h h7)) + (declare (type ub32 a b c d e f g h)) + (decode-ub32-vector buffer (* ii 64) 16 w) + (loop for i from 16 to 63 + do + (let* ((w15 (aref w (- i 15))) + (w2 (aref w (- i 2))) + (s0 (xor32 (ror32 w15 7) + (ror32 w15 18) + (shift32 w15 3))) + (s1 (xor32 (ror32 w2 17) + (ror32 w2 19) + (shift32 w2 10)))) + (setf (aref w i) + (add32 (aref w (- i 16)) + s0 + (aref w (- i 7)) + s1)))) + (dotimes (i 64) + (let* ((S1 (xor32 (ror32 e 6) (ror32 e 11) (ror32 e 25))) + (ch (xor32 (and32 e f) (and32 (not32 e) g))) + (temp1 (add32 h S1 ch (aref k i) (aref w i))) + (S0 (xor32 (ror32 a 2) (ror32 a 13) (ror32 a 22))) + (maj (xor32 (and32 a b) (and32 a c) (and32 b c))) + (temp2 (add32 S0 maj))) + (setf h g + g f + f e + e (add32 d temp1) + d c + c b + b a + a (add32 temp1 temp2)))) + (setf h0 (add32 a h0) + h1 (add32 b h1) + h2 (add32 c h2) + h3 (add32 d h3) + h4 (add32 e h4) + h5 (add32 f h5) + h6 (add32 g h6) + h7 (add32 h h7))))) + (setf (buffer-position sha) 0)))) + + +;;; SHA-512 + +(defvar *sha512-constant-vector* + #(#x428a2f98d728ae22 #x7137449123ef65cd #xb5c0fbcfec4d3b2f #xe9b5dba58189dbbc + #x3956c25bf348b538 #x59f111f1b605d019 #x923f82a4af194f9b #xab1c5ed5da6d8118 + #xd807aa98a3030242 #x12835b0145706fbe #x243185be4ee4b28c #x550c7dc3d5ffb4e2 + #x72be5d74f27b896f #x80deb1fe3b1696b1 #x9bdc06a725c71235 #xc19bf174cf692694 + #xe49b69c19ef14ad2 #xefbe4786384f25e3 #x0fc19dc68b8cd5b5 #x240ca1cc77ac9c65 + #x2de92c6f592b0275 #x4a7484aa6ea6e483 #x5cb0a9dcbd41fbd4 #x76f988da831153b5 + #x983e5152ee66dfab #xa831c66d2db43210 #xb00327c898fb213f #xbf597fc7beef0ee4 + #xc6e00bf33da88fc2 #xd5a79147930aa725 #x06ca6351e003826f #x142929670a0e6e70 + #x27b70a8546d22ffc #x2e1b21385c26c926 #x4d2c6dfc5ac42aed #x53380d139d95b3df + #x650a73548baf63de #x766a0abb3c77b2a8 #x81c2c92e47edaee6 #x92722c851482353b + #xa2bfe8a14cf10364 #xa81a664bbc423001 #xc24b8b70d0f89791 #xc76c51a30654be30 + #xd192e819d6ef5218 #xd69906245565a910 #xf40e35855771202a #x106aa07032bbd1b8 + #x19a4c116b8d2d0c8 #x1e376c085141ab53 #x2748774cdf8eeb99 #x34b0bcb5e19b48a8 + #x391c0cb3c5c95a63 #x4ed8aa4ae3418acb #x5b9cca4f7763e373 #x682e6ff3d6b2b8a3 + #x748f82ee5defb2fc #x78a5636f43172f60 #x84c87814a1f0ab72 #x8cc702081a6439ec + #x90befffa23631e28 #xa4506cebde82bde9 #xbef9a3f7b2c67915 #xc67178f2e372532b + #xca273eceea26619c #xd186b8c721c0c207 #xeada7dd6cde0eb1e #xf57d4f7fee6ed178 + #x06f067aa72176fba #x0a637dc5a2c898a6 #x113f9804bef90dae #x1b710b35131c471b + #x28db77f523047d84 #x32caab7b40c72493 #x3c9ebe0a15c9bebc #x431d67c49c100d4c + #x4cc5d4becb3e42b6 #x597f299cfc657e2a #x5fcb6fab3ad6faec #x6c44198c4a475817)) + +(defparameter *sha512-hash-vector* + #(#x6a09e667f3bcc908 #xbb67ae8584caa73b #x3c6ef372fe94f82b + #xa54ff53a5f1d36f1 #x510e527fade682d1 #x9b05688c2b3e6c1f + #x1f83d9abfb41bd6b #x5be0cd19137e2179)) + +(defclass sha512 (sha) + ((constant-vector + :initarg :constant-vector + :reader constant-vector)) + (:default-initargs + :block-octet-count 128 + :buffer (make-octet-vector *sha-buffer-size*) + :work-vector (make-ub64-vector 80) + :hash-vector (replace (make-ub64-vector 8) *sha512-hash-vector*) + :constant-vector (replace (make-ub64-vector 80) + *sha512-constant-vector*) + :word-size 64)) + +(defmethod compress ((sha sha512) buffer end) + (declare (optimize speed)) + (prog1 sha + (with-hash-vector (h0 h1 h2 h3 h4 h5 h6 h7) + sha + (let* ((w (work-vector sha)) + (k (constant-vector sha)) + (block-octet-count (block-octet-count sha)) + (block-count (floor end block-octet-count))) + (declare (type (simple-array ub64 (*)) w k)) + (dotimes (ii block-count) + (let ((a h0) (b h1) (c h2) (d h3) + (e h4) (f h5) (g h6) (h h7)) + (declare (type ub64 a b c d e f g h)) + (decode-ub64-vector buffer (* ii 128) 16 w) + (loop for i from 16 to 79 + do + (let* ((w15 (aref w (- i 15))) + (w2 (aref w (- i 2))) + (s0 (xor64 (ror64 w15 1) + (ror64 w15 8) + (shift64 w15 7))) + (s1 (xor64 (ror64 w2 19) + (ror64 w2 61) + (shift64 w2 6)))) + (setf (aref w i) + (add64 (aref w (- i 16)) + s0 + (aref w (- i 7)) + s1)))) + (dotimes (i 80) + (let* ((S1 (xor64 (ror64 e 14) (ror64 e 18) (ror64 e 41))) + (ch (xor64 (and64 e f) (and64 (not64 e) g))) + (temp1 (add64 h S1 ch (aref k i) (aref w i))) + (S0 (xor64 (ror64 a 28) (ror64 a 34) (ror64 a 39))) + (maj (xor64 (and64 a b) (and64 a c) (and64 b c))) + (temp2 (add64 S0 maj))) + (setf h g + g f + f e + e (add64 d temp1) + d c + c b + b a + a (add64 temp1 temp2)))) + (setf h0 (add64 a h0) + h1 (add64 b h1) + h2 (add64 c h2) + h3 (add64 d h3) + h4 (add64 e h4) + h5 (add64 f h5) + h6 (add64 g h6) + h7 (add64 h h7))))) + (setf (buffer-position sha) 0)))) + + +;;; Misc. utility + +(defun octet-vector-hex (octet-vector) + (nstring-downcase + (with-output-to-string (s) + (map nil (lambda (o) (format s "~2,'0X" o)) octet-vector)))) + +(defun file-sha (sha-class file) + (let ((sha (make-instance sha-class))) + (with-open-file (stream file :element-type 'octet) + (update-sha sha stream)) + (finish-sha sha))) + +(defun file-sha-string (sha-class file) + (octet-vector-hex (file-sha sha-class file))) diff --git a/quicklisp/utils.lisp b/quicklisp/utils.lisp index 71a89ef..c40d48e 100644 --- a/quicklisp/utils.lisp +++ b/quicklisp/utils.lisp @@ -122,3 +122,23 @@ http://foo/bar-versions.txt." (subseq url 0 suffix-pos) "-versions" extension)))) + +(defvar *random-pathname-alphabet* + (concatenate 'string + "abcdefghijklmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "0123456789")) + +(defun random-pathname-string (&optional (length 8)) + (let ((string (make-string length))) + (map-into string (lambda () (char *random-pathname-alphabet* + (random (length *random-pathname-alphabet*))))))) + +(defun temp-output-file (template-pathname) + (let* ((temp-string (random-pathname-string)) + (temp-name (format nil "~A-~A" + (pathname-name template-pathname) + temp-string))) + (merge-pathnames (make-pathname :name temp-name + :type (pathname-type template-pathname)) + (ql-setup:qmerge "tmp/")))) From 551d38a84821198f9df29adaa62dfa4c758d4e25 Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Mon, 11 Sep 2017 15:55:46 -0400 Subject: [PATCH 02/40] Update version.txt. --- quicklisp/version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/version.txt b/quicklisp/version.txt index 6da4abe..e2f61a7 100644 --- a/quicklisp/version.txt +++ b/quicklisp/version.txt @@ -1 +1 @@ -2017-03-06 +2017-09-11 From 5db74c8eacfa21035f7a61571dba417797e03f39 Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Tue, 12 Sep 2017 13:21:11 -0400 Subject: [PATCH 03/40] Use ".asc" and not ".key" as the openpgp key extension. --- quicklisp/key-management.lisp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/key-management.lisp b/quicklisp/key-management.lisp index aeee68d..73d92c4 100644 --- a/quicklisp/key-management.lisp +++ b/quicklisp/key-management.lisp @@ -5,7 +5,7 @@ (defun all-key-files () (let* ((key-directory (ql-setup:qmerge "openpgp-keys/")) (wild (make-pathname :name :wild - :type "key" + :type "asc" :version :wild :defaults key-directory))) (directory wild))) From 9c61bbf5431c54cc8e36519a352a4b0c7da66a31 Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Tue, 12 Sep 2017 13:21:56 -0400 Subject: [PATCH 04/40] New version.txt --- quicklisp/version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/version.txt b/quicklisp/version.txt index e2f61a7..afa084d 100644 --- a/quicklisp/version.txt +++ b/quicklisp/version.txt @@ -1 +1 @@ -2017-09-11 +2017-09-12 From ead3458983d642141330d797ad8880d083bf7e71 Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Mon, 18 Sep 2017 15:06:21 -0400 Subject: [PATCH 05/40] Make it an error to not find a key. --- quicklisp/key-management.lisp | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/quicklisp/key-management.lisp b/quicklisp/key-management.lisp index 73d92c4..2cd058e 100644 --- a/quicklisp/key-management.lisp +++ b/quicklisp/key-management.lisp @@ -2,6 +2,14 @@ (in-package #:ql-openpgp) +(define-condition unknown-openpgp-key-id (error) + ((key-id + :initarg :key-id + :reader unknown-openpgp-key-id-key-id)) + (:report (lambda (condition stream) + (format stream "Unknown OpenPGP key id ~S" + (unknown-openpgp-key-id-key-id condition))))) + (defun all-key-files () (let* ((key-directory (ql-setup:qmerge "openpgp-keys/")) (wild (make-pathname :name :wild @@ -18,10 +26,16 @@ when packet collect packet))) (defun find-key (key-id) - (flet ((match (packet) - (and (typep packet 'rsa-public-key-packet) - (equal (key-id-string packet) key-id)))) - (find-if #'match (all-keys)))) - - - + "Returns the OpenPGP key associated with KEY-ID in the system. If no +key by that id is found, signals a continuable error of type +UNKNOWN-OPENPGP-KEY-ID." + (loop + (flet ((match (packet) + (and (typep packet 'rsa-public-key-packet) + (equal (key-id-string packet) key-id)))) + (let ((key (find-if #'match (all-keys)))) + (if key + (return key) + (cerror "Try again" + 'unknown-openpgp-key-id + :key-id key-id)))))) From 8220bd175c5ab321ff9da038a2492d113fe48bc9 Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Mon, 18 Sep 2017 15:27:16 -0400 Subject: [PATCH 06/40] OpenPGP/SHA checking updates. - Rework package layout - Check client and version updates - Make missing keys an error --- quicklisp/checked-fetch.lisp | 42 +++++++++++++++++ quicklisp/client-info.lisp | 15 ++++-- quicklisp/client-update.lisp | 8 ++-- quicklisp/dist-update.lisp | 4 +- quicklisp/dist.lisp | 90 +++++++++++++++--------------------- quicklisp/fetch-gzipped.lisp | 2 +- quicklisp/package.lisp | 41 ++++++++++------ quicklisp/quicklisp.asd | 1 + quicklisp/utils.lisp | 28 +++++++++++ 9 files changed, 154 insertions(+), 77 deletions(-) create mode 100644 quicklisp/checked-fetch.lisp diff --git a/quicklisp/checked-fetch.lisp b/quicklisp/checked-fetch.lisp new file mode 100644 index 0000000..1a690db --- /dev/null +++ b/quicklisp/checked-fetch.lisp @@ -0,0 +1,42 @@ +;;;; checked-fetch.lisp + +(in-package #:ql-http) + +(define-condition verification-error (error) ()) +(define-condition unexpected-sha256-error (verification-error) ()) +(define-condition signature-verification-error (verification-error) ()) + +(defun openpgp-signature-url (url) + (format nil "~A.asc" url)) + +(defun fetch-digest-checked (url output expected-digest &key quietly) + "Fetch the data at URL and save to the file OUTPUT. The + EXPECTED-DIGEST value of OBJECT is checked against the actual SHA256 + digest of the retrieved file, and if they match, the output file is + returned, otherwise an UNEXPECTED-SHA256-ERROR is signaled." + (with-temp-output-file (file "digest-checked.dat") + (fetch url file :quietly quietly) + (let ((actual-digest (file-sha-string 'sha256 file))) + (unless (equalp actual-digest expected-digest) + (error 'unexpected-sha256-error))) + (rename-mundanely file output) + (probe-file output))) + +(defun fetch-openpgp-checked (url output &key quietly) + (with-temp-output-files ((file "openpgp-checked.dat") + (sig "openpgp-signature.asc")) + (let ((sig-url (openpgp-signature-url url))) + (fetch sig-url sig :quietly quietly) + (fetch url file :quietly quietly) + (let* ((signature (ql-openpgp:load-signature sig)) + (id (ql-openpgp:key-id-string signature)) + (key (ql-openpgp:find-key id))) + (unless key + (error "No key available for id ~S" id)) + (let ((result (ql-openpgp:verify-signature file signature key))) + (unless result + (error "Signature failed for file ~A" + output)) + (unless quietly + (format t "~&; Signature check result: ~A~%" result))) + (rename-mundanely file output))))) diff --git a/quicklisp/client-info.lisp b/quicklisp/client-info.lisp index 06ce5b0..aa149ce 100644 --- a/quicklisp/client-info.lisp +++ b/quicklisp/client-info.lisp @@ -83,6 +83,12 @@ (badly-sized-client-file-expected-size condition) (badly-sized-client-file-actual-size condition))))) +(define-condition sha-mismatched-client-file (invalid-client-file) + () + (:report (lambda (condition stream) + (format stream "SHA digest mismatch on client file ~A" + (invalid-client-file-file condition))))) + (defun check-client-file-size (file expected-size) (let ((actual-size (file-size file))) (unless (eql expected-size actual-size) @@ -99,6 +105,10 @@ metadata in CLIENT-FILE-INFO.") (:method (file client-file-info) (check-client-file-size file (size client-file-info)) + (let ((actual-sha (ql-sha:file-sha-string 'sha256 file )) + (expected-sha (sha256 client-file-info))) + (unless (equalp expected-sha actual-sha) + (error "SHA mismatch on ~A" client-file-info))) client-file-info)) ;;; Structuring and loading information about the Quicklisp client @@ -207,9 +217,8 @@ 'client-tar-file-info)))) (defun fetch-client-info (url) - (let ((info-file (qmerge "tmp/client-info.sexp"))) - (delete-file-if-exists info-file) - (fetch url info-file :quietly t) + (with-temp-output-file (info-file "client-info.sexp") + (ql-http:fetch-openpgp-checked url info-file :quietly t) (handler-case (load-client-info info-file) ;; FIXME: So many other things could go wrong here; I think it diff --git a/quicklisp/client-update.lisp b/quicklisp/client-update.lisp index 1388c2e..3dafc57 100644 --- a/quicklisp/client-update.lisp +++ b/quicklisp/client-update.lisp @@ -3,9 +3,11 @@ (in-package #:quicklisp-client) (defun fetch-client-file-info (client-file-info output-file) - (maybe-fetch-gzipped (file-url client-file-info) output-file) - (check-client-file output-file client-file-info) - (probe-file output-file)) + (with-temp-output-file (temp "client-info.dat") + (maybe-fetch-gzipped (file-url client-file-info) temp) + (check-client-file temp client-file-info) + (rename-mundanely temp output-file) + (probe-file output-file))) (defun retirement-directory (base) (let ((suffix 0)) diff --git a/quicklisp/dist-update.lisp b/quicklisp/dist-update.lisp index 0974eb4..112c919 100644 --- a/quicklisp/dist-update.lisp +++ b/quicklisp/dist-update.lisp @@ -30,7 +30,7 @@ (delete-directory-tree (qmerge "tmp/distinfo-update/"))) (when url (ensure-directories-exist target) - (fetch url target :quietly t) + (fetch-openpgp-checked url target :quietly t) (let ((new (make-dist-from-file target))) (setf (base-directory new) (make-pathname :name nil @@ -135,7 +135,7 @@ (let ((temp-file (qmerge "tmp/install-dist-distinfo.txt"))) (ensure-directories-exist temp-file) (delete-file-if-exists temp-file) - (fetch url temp-file) + (fetch-openpgp-checked url temp-file) (let* ((new-dist (make-dist-from-file temp-file)) (old-dist (find-dist (name new-dist)))) (when old-dist diff --git a/quicklisp/dist.lisp b/quicklisp/dist.lisp index 08cdb53..1f32049 100644 --- a/quicklisp/dist.lisp +++ b/quicklisp/dist.lisp @@ -456,33 +456,10 @@ (setf (available-versions-url dist) (make-versions-url (distinfo-subscription-url dist)))) -(defun fetch-signed-index-file (url target) - (let ((signature-url (format nil "~A.asc" url)) - (temp-file (temp-output-file "index.txt")) - (temp-signature-file (temp-output-file "signature.asc"))) - (unwind-protect - (progn - (fetch signature-url temp-signature-file) - (fetch url temp-file) - (let* ((signature (ql-openpgp:load-signature temp-signature-file)) - (id (ql-openpgp:key-id-string signature)) - (key (ql-openpgp:find-key id))) - (unless key - (error "No key available for id ~S" id)) - (let ((result (ql-openpgp:verify-signature temp-file signature key))) - (unless result - (error "Signature failed for index file ~A" - target)) - (format t "~&; Signature check result: ~A~%" result))) - (rename-file temp-file target) - (delete-file temp-signature-file)) - (delete-file-if-exists temp-file) - (delete-file-if-exists temp-signature-file)))) - (defmethod ensure-system-index-file ((dist dist)) (let ((pathname (relative-to dist "systems.txt"))) (or (probe-file pathname) - (fetch-signed-index-file (system-index-url dist) pathname)))) + (fetch-openpgp-checked (system-index-url dist) pathname)))) (defmethod ensure-system-cdb-file ((dist dist)) (let* ((system-file (ensure-system-index-file dist)) @@ -495,7 +472,7 @@ (defmethod ensure-release-index-file ((dist dist)) (let ((pathname (relative-to dist "releases.txt"))) (or (probe-file pathname) - (fetch-signed-index-file (release-index-url dist) pathname)))) + (fetch-openpgp-checked (release-index-url dist) pathname)))) (defmethod ensure-release-cdb-file ((dist dist)) (let* ((release-file (ensure-release-index-file dist)) @@ -752,6 +729,21 @@ the given NAME." (file-namestring (invalid-local-archive-file condition)) (name (invalid-local-archive-release condition)))))) +(defmethod archive-digest ((release release)) + (let* ((dist (dist release)) + (index (relative-to dist "digests.txt")) + (cdb (relative-to dist "digests.cdb")) + (key (format nil "release/~A" (name release)))) + (unless (probe-file index) + (error "Digest index file is missing")) + (unless (probe-file cdb) + (ql-cdb:convert-index-file index :cdb-file cdb)) + (let ((value (ql-cdb:lookup key cdb))) + (destructuring-bind (k sha256) + (split-spaces value) + (declare (ignore k)) + sha256)))) + (defmethod check-local-archive-file ((release release)) (let ((file (local-archive-file release))) (unless (probe-file file) @@ -787,7 +779,9 @@ the given NAME." (or (probe-file pathname) (progn (ensure-directories-exist pathname) - (fetch (archive-url release) pathname))) + (fetch-digest-checked (archive-url release) + pathname + (archive-digest release)))) (restart-case (check-local-archive-file release) (delete-and-retry (&optional v) @@ -871,16 +865,6 @@ the given NAME." (unless (ignorable line) (funcall fun line)))))) - -(defmethod archive-digest ((release release)) - (let ((entry (cdb-lookup (dist release) (name release) - "archive-digests.cdb"))) - (unless entry - (error "No digest indexed for ~S. That's pretty weird!" release)) - (let ((digest-position (position #\Space entry))) - (subseq entry (1+ digest-position))))) - - (defmethod slot-unbound (class (dist dist) (slot (eql 'release-index))) (declare (ignore class)) (setf (slot-value dist 'release-index) @@ -1177,23 +1161,23 @@ FUN." ;;; (defmethod available-versions ((dist dist)) - (let ((temp (qmerge "tmp/dist-versions.txt")) - (versions '()) - (url (available-versions-url dist))) - (when url - (ensure-directories-exist temp) - (delete-file-if-exists temp) - (handler-case - (fetch url temp) - (unexpected-http-status () - (return-from available-versions nil))) - (with-open-file (stream temp) - (loop for line = (read-line stream nil) - while line do - (destructuring-bind (version url) - (split-spaces line) - (setf versions (acons version url versions))))) - versions))) + (with-temp-output-file (temp "dist-versions.txt") + (let ((versions '()) + (url (available-versions-url dist))) + (when url + (ensure-directories-exist temp) + (delete-file-if-exists temp) + (handler-case + (fetch-openpgp-checked url temp) + (unexpected-http-status () + (return-from available-versions nil))) + (with-open-file (stream temp) + (loop for line = (read-line stream nil) + while line do + (destructuring-bind (version url) + (split-spaces line) + (setf versions (acons version url versions))))) + versions)))) ;;; diff --git a/quicklisp/fetch-gzipped.lisp b/quicklisp/fetch-gzipped.lisp index b453803..d7fed99 100644 --- a/quicklisp/fetch-gzipped.lisp +++ b/quicklisp/fetch-gzipped.lisp @@ -9,7 +9,7 @@ (defun fetch-gzipped-version (url file &key quietly) (let ((gzipped (gzipped-url url)) (gzipped-temp (merge-pathnames "gzipped.tmp" file))) - (fetch gzipped gzipped-temp :quietly quietly) + (fetch-openpgp-checked gzipped gzipped-temp :quietly quietly) (gunzip gzipped-temp file) (delete-file-if-exists gzipped-temp) (probe-file file))) diff --git a/quicklisp/package.lisp b/quicklisp/package.lisp index bccc3cb..cba7dfb 100644 --- a/quicklisp/package.lisp +++ b/quicklisp/package.lisp @@ -7,6 +7,7 @@ (:export #:write-line-to-file #:without-prompting #:press-enter-to-continue + #:rename-mundanely #:replace-file #:copy-file #:delete-file-if-exists @@ -18,7 +19,9 @@ #:safely-read-file #:make-versions-url #:random-pathname-string - #:temp-output-file)) + #:temp-output-file + #:with-temp-output-file + #:with-temp-output-files)) (defpackage #:ql-setup (:documentation @@ -93,10 +96,25 @@ #:update-progress #:finish-display)) +(defpackage #:ql-sha + (:documentation + "Compute SHA digests. Used for verification.") + (:use #:cl) + (:export #:file-sha + #:file-sha-string + #:sha1 + #:sha256 + #:sha512) + (:export #:update-sha-from-file + #:update-sha + #:finish-sha)) + (defpackage #:ql-http (:documentation "A simple HTTP client.") - (:use #:cl #:ql-network #:ql-progress #:ql-config) + (:use #:cl + #:ql-network #:ql-progress #:ql-config #:ql-util + #:ql-sha) (:export #:*proxy-url* #:fetch #:http-fetch @@ -108,13 +126,17 @@ #:url #:*maximum-redirects* #:*default-url-defaults*) + (:export #:fetch-digest-checked + #:fetch-openpgp-checked) (:export #:fetch-error #:unexpected-http-status #:unexpected-http-status-code #:unexpected-http-status-url #:too-many-redirects #:too-many-redirects-url - #:too-many-redirects-count)) + #:too-many-redirects-count + #:digest-check-error + #:openpgp-check-error)) (defpackage #:ql-minitar (:documentation @@ -136,18 +158,7 @@ #:map-cdb #:convert-index-file)) -(defpackage #:ql-sha - (:documentation - "Compute SHA digests. Used for verification.") - (:use #:cl) - (:export #:file-sha - #:file-sha-string - #:sha1 - #:sha256 - #:sha512) - (:export #:update-sha-from-file - #:update-sha - #:finish-sha)) + (defpackage #:ql-openpgp (:documentation diff --git a/quicklisp/quicklisp.asd b/quicklisp/quicklisp.asd index 54def52..e36dc14 100644 --- a/quicklisp/quicklisp.asd +++ b/quicklisp/quicklisp.asd @@ -27,6 +27,7 @@ (:file "sha") (:file "openpgp") (:file "key-management") + (:file "checked-fetch") (:file "dist") (:file "setup") (:file "client") diff --git a/quicklisp/utils.lisp b/quicklisp/utils.lisp index c40d48e..9b76016 100644 --- a/quicklisp/utils.lisp +++ b/quicklisp/utils.lisp @@ -25,6 +25,13 @@ (let ((result (read-line *query-io*))) (zerop (length result)))) +(defun rename-mundanely (from to) + "Renames file FROM to TO, but inhibit's CL:RENAME-FILE's merging behavior." + (setf from (merge-pathnames from (make-pathname :type :unspecific + :name :unspecific + :version :unspecific))) + (rename-file from to)) + (defun replace-file (from to) "Like RENAME-FILE, but deletes TO if it exists, first." (when (probe-file to) @@ -142,3 +149,24 @@ http://foo/bar-versions.txt." (merge-pathnames (make-pathname :name temp-name :type (pathname-type template-pathname)) (ql-setup:qmerge "tmp/")))) + +(defun call-with-temp-output-file (template-pathname fun) + (let ((file (temp-output-file template-pathname))) + (ensure-directories-exist file) + (unwind-protect + (funcall fun file) + (delete-file-if-exists file)))) + +(defmacro with-temp-output-file ((var template-pathname) &body body) + `(call-with-temp-output-file ,template-pathname (lambda (,var) ,@body))) + +(defmacro with-temp-output-files (bindings &body body) + (labels ((expand (bindings body) + (let ((binding (first bindings))) + (if (rest bindings) + `(with-temp-output-file (,(first binding) ,(second binding)) + ,(expand (rest bindings) body)) + `(with-temp-output-file (,(first binding) ,(second binding)) + ,@body))))) + (expand bindings body))) + From e796e2e09159c81144ee87e65f29fe9f2e5691e1 Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Mon, 18 Sep 2017 15:27:26 -0400 Subject: [PATCH 07/40] Update version.txt --- quicklisp/version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/version.txt b/quicklisp/version.txt index afa084d..c52d244 100644 --- a/quicklisp/version.txt +++ b/quicklisp/version.txt @@ -1 +1 @@ -2017-09-12 +2017-09-18 From 76840843854c45421568b4043eec46f1c5e41ba3 Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Mon, 18 Sep 2017 15:53:18 -0400 Subject: [PATCH 08/40] Fix how signed URLs are generated. Incoming argument might be a ql-http:url object, not just a string. --- quicklisp/checked-fetch.lisp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/quicklisp/checked-fetch.lisp b/quicklisp/checked-fetch.lisp index 1a690db..0321e09 100644 --- a/quicklisp/checked-fetch.lisp +++ b/quicklisp/checked-fetch.lisp @@ -7,7 +7,11 @@ (define-condition signature-verification-error (verification-error) ()) (defun openpgp-signature-url (url) - (format nil "~A.asc" url)) + (etypecase url + (string + (format nil "~A.asc" url)) + (url + (format nil "~A.asc" (urlstring url))))) (defun fetch-digest-checked (url output expected-digest &key quietly) "Fetch the data at URL and save to the file OUTPUT. The From 8f3621051b94e543a613c0c157e02326a158ec0f Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Mon, 18 Sep 2017 15:53:35 -0400 Subject: [PATCH 09/40] Update version.txt --- quicklisp/version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/version.txt b/quicklisp/version.txt index c52d244..2d10157 100644 --- a/quicklisp/version.txt +++ b/quicklisp/version.txt @@ -1 +1 @@ -2017-09-18 +2017-09-18-01 From df221a501a1fd2b53ec1bdd9356b23aea229270b Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Mon, 18 Sep 2017 16:27:34 -0400 Subject: [PATCH 10/40] Fetch and convert release digest index during dist installation. --- quicklisp/dist-update.lisp | 3 +++ quicklisp/dist.lisp | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/quicklisp/dist-update.lisp b/quicklisp/dist-update.lisp index 112c919..5fbde53 100644 --- a/quicklisp/dist-update.lisp +++ b/quicklisp/dist-update.lisp @@ -156,6 +156,9 @@ (copy-file temp-file (relative-to new-dist "distinfo.txt")) (ensure-release-index-file new-dist) (ensure-system-index-file new-dist) + (let ((output (relative-to new-dist "digests.txt"))) + (fetch-openpgp-checked (digest-index-url new-dist) output) + (ql-cdb:convert-index-file output)) (enable new-dist) (setf (preference new-dist) (get-universal-time)) (when old-dist diff --git a/quicklisp/dist.lisp b/quicklisp/dist.lisp index 1f32049..cd73305 100644 --- a/quicklisp/dist.lisp +++ b/quicklisp/dist.lisp @@ -25,6 +25,10 @@ (:documentation "Return the URL for the available versions data file of OBJECT.")) +(defgeneric digest-index-url (object) + (:documentation + "Return the URL for the index of digests of releases for OBJECT.")) + (defgeneric release (object) (:documentation "Return the release of OBJECT.")) @@ -447,6 +451,14 @@ (print-unreadable-object (dist stream :type t) (write-string (short-description dist) stream))) +(defmethod digest-index-url ((dist dist)) + (let ((base (canonical-distinfo-url dist))) + ;; Convert something like "http://foo/bar/baz" to "http://foo/bar/digests.txt" + (let ((final-slash (position #\/ base :from-end t))) + (unless final-slash + (error "Can't process URL -- ~S" base)) + (format nil "~A/digests.txt" (subseq base 0 final-slash))))) + (defun cdb-lookup (dist key cdb) (ql-cdb:lookup key (relative-to dist cdb))) From 37b0cb6d6d0e048fcd5ea78f1675663113b2b9f5 Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Mon, 18 Sep 2017 16:27:48 -0400 Subject: [PATCH 11/40] Update version.txt --- quicklisp/version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/version.txt b/quicklisp/version.txt index 2d10157..0a86208 100644 --- a/quicklisp/version.txt +++ b/quicklisp/version.txt @@ -1 +1 @@ -2017-09-18-01 +2017-09-18-02 From 1f7863e7882a3add6c3b6fad373035ec6741eb07 Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Tue, 19 Sep 2017 09:49:36 -0400 Subject: [PATCH 12/40] Pretty up sha256 reporting and remove CLISP-failing rename-mundanely. --- quicklisp/checked-fetch.lisp | 31 ++++++++++++++++++++++++++----- quicklisp/client-update.lisp | 2 +- quicklisp/dist.lisp | 9 ++------- quicklisp/package.lisp | 1 - quicklisp/utils.lisp | 7 ------- 5 files changed, 29 insertions(+), 21 deletions(-) diff --git a/quicklisp/checked-fetch.lisp b/quicklisp/checked-fetch.lisp index 0321e09..aa2a4f2 100644 --- a/quicklisp/checked-fetch.lisp +++ b/quicklisp/checked-fetch.lisp @@ -3,7 +3,24 @@ (in-package #:ql-http) (define-condition verification-error (error) ()) -(define-condition unexpected-sha256-error (verification-error) ()) +(define-condition unexpected-sha256-error (verification-error) + ((expected + :initarg :expected + :reader unexpected-sha256-error-expected) + (actual + :initarg :actual + :reader unexpected-sha256-error-actual) + (thing + :initarg :thing + :initform nil + :reader unexpected-sha256-error-thing)) + (:report + (lambda (condition stream) + (format stream "SHA256 error - expected ~S, but got ~S~@[ on ~A~]" + (unexpected-sha256-error-expected condition) + (unexpected-sha256-error-actual condition) + (unexpected-sha256-error-thing condition))))) + (define-condition signature-verification-error (verification-error) ()) (defun openpgp-signature-url (url) @@ -13,7 +30,8 @@ (url (format nil "~A.asc" (urlstring url))))) -(defun fetch-digest-checked (url output expected-digest &key quietly) +(defun fetch-digest-checked (url output expected-digest + &key quietly pretty-description) "Fetch the data at URL and save to the file OUTPUT. The EXPECTED-DIGEST value of OBJECT is checked against the actual SHA256 digest of the retrieved file, and if they match, the output file is @@ -22,8 +40,11 @@ (fetch url file :quietly quietly) (let ((actual-digest (file-sha-string 'sha256 file))) (unless (equalp actual-digest expected-digest) - (error 'unexpected-sha256-error))) - (rename-mundanely file output) + (error 'unexpected-sha256-error + :expected expected-digest + :actual actual-digest + :thing pretty-description))) + (rename-file file output) (probe-file output))) (defun fetch-openpgp-checked (url output &key quietly) @@ -43,4 +64,4 @@ output)) (unless quietly (format t "~&; Signature check result: ~A~%" result))) - (rename-mundanely file output))))) + (rename-file file output))))) diff --git a/quicklisp/client-update.lisp b/quicklisp/client-update.lisp index 3dafc57..b7a3737 100644 --- a/quicklisp/client-update.lisp +++ b/quicklisp/client-update.lisp @@ -6,7 +6,7 @@ (with-temp-output-file (temp "client-info.dat") (maybe-fetch-gzipped (file-url client-file-info) temp) (check-client-file temp client-file-info) - (rename-mundanely temp output-file) + (rename-file temp output-file) (probe-file output-file))) (defun retirement-directory (base) diff --git a/quicklisp/dist.lisp b/quicklisp/dist.lisp index cd73305..91295eb 100644 --- a/quicklisp/dist.lisp +++ b/quicklisp/dist.lisp @@ -770,12 +770,6 @@ the given NAME." :release release :actual-size actual-size :expected-size expected-size))) - (let ((expected-digest (archive-digest release)) - (actual-digest (file-sha-string 'sha256 file))) - (unless (equalp expected-digest actual-digest) - (error 'file-digest-mismatch - :file file - :release release))) :good-archive)) (defmethod local-archive-file ((release release)) @@ -793,7 +787,8 @@ the given NAME." (ensure-directories-exist pathname) (fetch-digest-checked (archive-url release) pathname - (archive-digest release)))) + (archive-digest release) + :pretty-description release))) (restart-case (check-local-archive-file release) (delete-and-retry (&optional v) diff --git a/quicklisp/package.lisp b/quicklisp/package.lisp index cba7dfb..a80edbf 100644 --- a/quicklisp/package.lisp +++ b/quicklisp/package.lisp @@ -7,7 +7,6 @@ (:export #:write-line-to-file #:without-prompting #:press-enter-to-continue - #:rename-mundanely #:replace-file #:copy-file #:delete-file-if-exists diff --git a/quicklisp/utils.lisp b/quicklisp/utils.lisp index 9b76016..2475823 100644 --- a/quicklisp/utils.lisp +++ b/quicklisp/utils.lisp @@ -25,13 +25,6 @@ (let ((result (read-line *query-io*))) (zerop (length result)))) -(defun rename-mundanely (from to) - "Renames file FROM to TO, but inhibit's CL:RENAME-FILE's merging behavior." - (setf from (merge-pathnames from (make-pathname :type :unspecific - :name :unspecific - :version :unspecific))) - (rename-file from to)) - (defun replace-file (from to) "Like RENAME-FILE, but deletes TO if it exists, first." (when (probe-file to) From 8aafab53145a1c69ed729d9a31eea140f46ee41a Mon Sep 17 00:00:00 2001 From: Zach Beane Date: Tue, 19 Sep 2017 09:49:50 -0400 Subject: [PATCH 13/40] Update version.txt --- quicklisp/version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/version.txt b/quicklisp/version.txt index 0a86208..c1d787d 100644 --- a/quicklisp/version.txt +++ b/quicklisp/version.txt @@ -1 +1 @@ -2017-09-18-02 +2017-09-18-03 From a55f8b9c37d8255ee6a4b73989dedaedc6ce9c8a Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 11 Apr 2018 20:52:54 -0400 Subject: [PATCH 14/40] Display "OpenPGP" in OpenPGP supported-value failures. It's not clear what component is having trouble otherwise. --- quicklisp/openpgp.lisp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index b8f5c39..1c1d7d5 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -509,7 +509,7 @@ value." (defun check-supported-value (description supported actual) "Signal an error unless SUPPORTED is EQL to ACTUAL" (unless (eql supported actual) - (error "Value ~S for ~A not supported -- only ~A" + (error "Value ~S for OpenPGP ~A not supported -- only ~A" actual description supported))) (defun read-subpacket-length (pstream) From a75710ecc09e179d69671ec19e98d8193368aa4c Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 11 Apr 2018 21:37:44 -0400 Subject: [PATCH 15/40] Allow unrecognized subpacket types. Per RFC 4880: An implementation SHOULD ignore any subpacket of a type that it does not recognize. --- quicklisp/openpgp.lisp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index 1c1d7d5..801130d 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -456,16 +456,19 @@ values are decoded; others signal an error. See RFC4880 section 4.3." DEFINE-FIELD) from PSTREAM." (funcall (get field 'reader-function 'missing-reader-function) pstream)) -(defun read-field-value (field pstream) +(defun read-field-value (field pstream &key (default nil defaultp)) "Read and FIELD from PSTREAM and look up and return its symbolic value." (let* ((raw-value (read-field field pstream)) (translation (assoc raw-value (get field 'values-alist)))) - (unless translation + (when (and (not translation) + (not defaultp)) (error "Unsupported value ~A for field ~A" raw-value field)) - (cdr translation))) + (if translation + (cdr translation) + default))) (define-field signature-type (:type u8) ;; RFC 4880 section 5.2.1 @@ -488,6 +491,7 @@ value." (22 . :preferred-compression-algorithms) (23 . :key-server-preferences) (27 . :key-flags) + (28 . :signer-user-id) (30 . :features)) (define-field public-key-algorithm (:type u8) @@ -530,7 +534,8 @@ size, from PSTREAM. See RFC4880 5.2.3.1 for details." "Read a single signature subpacket from PSTREAM. Returns the packet type and data as multiple values." (let* ((length (read-subpacket-length pstream)) - (type (read-field-value 'subpacket-type pstream)) + (type (read-field-value 'subpacket-type pstream + :default :unrecognized)) (data (read-n-octets (1- length) pstream))) (values type data))) From a1add4fab742514b238894f9920752d02642fb2a Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 11 Apr 2018 21:41:49 -0400 Subject: [PATCH 16/40] Be more verbose about digest check success. --- quicklisp/checked-fetch.lisp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/quicklisp/checked-fetch.lisp b/quicklisp/checked-fetch.lisp index aa2a4f2..e1a1c47 100644 --- a/quicklisp/checked-fetch.lisp +++ b/quicklisp/checked-fetch.lisp @@ -43,7 +43,10 @@ (error 'unexpected-sha256-error :expected expected-digest :actual actual-digest - :thing pretty-description))) + :thing pretty-description)) + (unless quietly + (format t "~&; Digest check~@[ of ~A~] successful~%" + pretty-description))) (rename-file file output) (probe-file output))) From 41f98b063df1cc9f29ec454f4e2e21415665459f Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 25 Apr 2018 21:25:24 -0400 Subject: [PATCH 17/40] Add test vectors for sha1/256/512. --- tests/sha1-vectors/0000.sha1 | 0 tests/sha1-vectors/0001.sha1 | Bin 0 -> 360 bytes tests/sha1-vectors/0002.sha1 | Bin 0 -> 1373 bytes tests/sha1-vectors/0003.sha1 | Bin 0 -> 1613 bytes tests/sha1-vectors/0004.sha1 | Bin 0 -> 911 bytes tests/sha1-vectors/0005.sha1 | Bin 0 -> 866 bytes tests/sha1-vectors/0006.sha1 | Bin 0 -> 133 bytes tests/sha1-vectors/0007.sha1 | Bin 0 -> 565 bytes tests/sha1-vectors/0008.sha1 | Bin 0 -> 1687 bytes tests/sha1-vectors/0009.sha1 | Bin 0 -> 1131 bytes tests/sha1-vectors/0010.sha1 | 1 + tests/sha1-vectors/0011.sha1 | Bin 0 -> 127 bytes tests/sha1-vectors/0012.sha1 | 1 + tests/sha1-vectors/0013.sha1 | Bin 0 -> 972 bytes tests/sha1-vectors/0014.sha1 | Bin 0 -> 606 bytes tests/sha1-vectors/0015.sha1 | Bin 0 -> 2302 bytes tests/sha1-vectors/0016.sha1 | Bin 0 -> 1221 bytes tests/sha1-vectors/0017.sha1 | Bin 0 -> 600 bytes tests/sha1-vectors/0018.sha1 | Bin 0 -> 1733 bytes tests/sha1-vectors/0019.sha1 | Bin 0 -> 583 bytes tests/sha1-vectors/0020.sha1 | Bin 0 -> 2340 bytes tests/sha1-vectors/0021.sha1 | Bin 0 -> 1462 bytes tests/sha1-vectors/0022.sha1 | Bin 0 -> 401 bytes tests/sha1-vectors/0023.sha1 | 4 + tests/sha1-vectors/0024.sha1 | Bin 0 -> 1825 bytes tests/sha1-vectors/0025.sha1 | Bin 0 -> 2483 bytes tests/sha1-vectors/0026.sha1 | Bin 0 -> 619 bytes tests/sha1-vectors/0027.sha1 | Bin 0 -> 2128 bytes tests/sha1-vectors/0028.sha1 | Bin 0 -> 882 bytes tests/sha1-vectors/0029.sha1 | Bin 0 -> 1178 bytes tests/sha1-vectors/0030.sha1 | Bin 0 -> 614 bytes tests/sha1-vectors/0031.sha1 | Bin 0 -> 2111 bytes tests/sha1-vectors/0032.sha1 | Bin 0 -> 1675 bytes tests/sha1-vectors/0033.sha1 | Bin 0 -> 925 bytes tests/sha1-vectors/0034.sha1 | Bin 0 -> 949 bytes tests/sha1-vectors/0035.sha1 | Bin 0 -> 1251 bytes tests/sha1-vectors/0036.sha1 | Bin 0 -> 16 bytes tests/sha1-vectors/0037.sha1 | Bin 0 -> 1032 bytes tests/sha1-vectors/0038.sha1 | Bin 0 -> 2480 bytes tests/sha1-vectors/0039.sha1 | Bin 0 -> 2232 bytes tests/sha1-vectors/0040.sha1 | 2 + tests/sha1-vectors/0041.sha1 | Bin 0 -> 567 bytes tests/sha1-vectors/0042.sha1 | Bin 0 -> 2344 bytes tests/sha1-vectors/0043.sha1 | Bin 0 -> 1142 bytes tests/sha1-vectors/0044.sha1 | Bin 0 -> 1228 bytes tests/sha1-vectors/0045.sha1 | Bin 0 -> 2353 bytes tests/sha1-vectors/0046.sha1 | Bin 0 -> 1178 bytes tests/sha1-vectors/0047.sha1 | Bin 0 -> 2133 bytes tests/sha1-vectors/0048.sha1 | Bin 0 -> 333 bytes tests/sha1-vectors/0049.sha1 | Bin 0 -> 1689 bytes tests/sha1-vectors/0050.sha1 | Bin 0 -> 2254 bytes tests/sha1-vectors/0051.sha1 | Bin 0 -> 1361 bytes tests/sha1-vectors/0052.sha1 | Bin 0 -> 2373 bytes tests/sha1-vectors/0053.sha1 | Bin 0 -> 486 bytes tests/sha1-vectors/0054.sha1 | Bin 0 -> 2263 bytes tests/sha1-vectors/0055.sha1 | Bin 0 -> 1732 bytes tests/sha1-vectors/0056.sha1 | Bin 0 -> 416 bytes tests/sha1-vectors/0057.sha1 | Bin 0 -> 2126 bytes tests/sha1-vectors/0058.sha1 | Bin 0 -> 2285 bytes tests/sha1-vectors/0059.sha1 | Bin 0 -> 959 bytes tests/sha1-vectors/0060.sha1 | 1 + tests/sha1-vectors/0061.sha1 | Bin 0 -> 872 bytes tests/sha1-vectors/0062.sha1 | Bin 0 -> 1512 bytes tests/sha1-vectors/0063.sha1 | 1 + tests/sha1-vectors/0064.sha1 | Bin 0 -> 1537 bytes tests/sha1-vectors/0065.sha1 | Bin 0 -> 2094 bytes tests/sha1-vectors/0066.sha1 | Bin 0 -> 1792 bytes tests/sha1-vectors/0067.sha1 | Bin 0 -> 2487 bytes tests/sha1-vectors/0068.sha1 | Bin 0 -> 907 bytes tests/sha1-vectors/0069.sha1 | 1 + tests/sha1-vectors/0070.sha1 | Bin 0 -> 2103 bytes tests/sha1-vectors/0071.sha1 | Bin 0 -> 357 bytes tests/sha1-vectors/0072.sha1 | Bin 0 -> 2032 bytes tests/sha1-vectors/0073.sha1 | 3 + tests/sha1-vectors/0074.sha1 | Bin 0 -> 2049 bytes tests/sha1-vectors/0075.sha1 | Bin 0 -> 510 bytes tests/sha1-vectors/0076.sha1 | Bin 0 -> 2261 bytes tests/sha1-vectors/0077.sha1 | Bin 0 -> 779 bytes tests/sha1-vectors/0078.sha1 | Bin 0 -> 1967 bytes tests/sha1-vectors/0079.sha1 | Bin 0 -> 413 bytes tests/sha1-vectors/0080.sha1 | Bin 0 -> 1365 bytes tests/sha1-vectors/0081.sha1 | Bin 0 -> 1790 bytes tests/sha1-vectors/0082.sha1 | Bin 0 -> 2229 bytes tests/sha1-vectors/0083.sha1 | Bin 0 -> 2086 bytes tests/sha1-vectors/0084.sha1 | Bin 0 -> 2002 bytes tests/sha1-vectors/0085.sha1 | Bin 0 -> 1326 bytes tests/sha1-vectors/0086.sha1 | Bin 0 -> 374 bytes tests/sha1-vectors/0087.sha1 | Bin 0 -> 1955 bytes tests/sha1-vectors/0088.sha1 | Bin 0 -> 1532 bytes tests/sha1-vectors/0089.sha1 | Bin 0 -> 823 bytes tests/sha1-vectors/0090.sha1 | Bin 0 -> 2260 bytes tests/sha1-vectors/0091.sha1 | Bin 0 -> 2461 bytes tests/sha1-vectors/0092.sha1 | Bin 0 -> 2234 bytes tests/sha1-vectors/0093.sha1 | Bin 0 -> 2345 bytes tests/sha1-vectors/0094.sha1 | Bin 0 -> 1096 bytes tests/sha1-vectors/0095.sha1 | Bin 0 -> 1347 bytes tests/sha1-vectors/0096.sha1 | Bin 0 -> 1926 bytes tests/sha1-vectors/0097.sha1 | Bin 0 -> 1602 bytes tests/sha1-vectors/0098.sha1 | Bin 0 -> 125 bytes tests/sha1-vectors/0099.sha1 | Bin 0 -> 1148 bytes tests/sha1-vectors/0100.sha1 | Bin 0 -> 372 bytes tests/sha1-vectors/0101.sha1 | Bin 0 -> 1422 bytes tests/sha1-vectors/0102.sha1 | 1 + tests/sha1-vectors/0103.sha1 | Bin 0 -> 623 bytes tests/sha1-vectors/0104.sha1 | Bin 0 -> 1824 bytes tests/sha1-vectors/0105.sha1 | 1 + tests/sha1-vectors/0106.sha1 | Bin 0 -> 358 bytes tests/sha1-vectors/0107.sha1 | Bin 0 -> 1081 bytes tests/sha1-vectors/0108.sha1 | Bin 0 -> 1107 bytes tests/sha1-vectors/0109.sha1 | Bin 0 -> 52 bytes tests/sha1-vectors/0110.sha1 | 1 + tests/sha1-vectors/0111.sha1 | Bin 0 -> 1790 bytes tests/sha1-vectors/0112.sha1 | Bin 0 -> 1075 bytes tests/sha1-vectors/0113.sha1 | Bin 0 -> 1106 bytes tests/sha1-vectors/0114.sha1 | Bin 0 -> 700 bytes tests/sha1-vectors/0115.sha1 | Bin 0 -> 2320 bytes tests/sha1-vectors/0116.sha1 | Bin 0 -> 1278 bytes tests/sha1-vectors/0117.sha1 | Bin 0 -> 1219 bytes tests/sha1-vectors/0118.sha1 | Bin 0 -> 2492 bytes tests/sha1-vectors/0119.sha1 | Bin 0 -> 647 bytes tests/sha1-vectors/0120.sha1 | Bin 0 -> 738 bytes tests/sha1-vectors/0121.sha1 | 1 + tests/sha1-vectors/0122.sha1 | Bin 0 -> 2372 bytes tests/sha1-vectors/0123.sha1 | Bin 0 -> 367 bytes tests/sha1-vectors/0124.sha1 | Bin 0 -> 2180 bytes tests/sha1-vectors/0125.sha1 | Bin 0 -> 1842 bytes tests/sha1-vectors/0126.sha1 | Bin 0 -> 205 bytes tests/sha1-vectors/0127.sha1 | 1 + tests/sha1-vectors/0128.sha1 | Bin 0 -> 807 bytes tests/sha1-vectors/0129.sha1 | Bin 0 -> 1601 bytes tests/sha1-vectors/0130.sha1 | Bin 0 -> 2111 bytes tests/sha1-vectors/0131.sha1 | Bin 0 -> 2447 bytes tests/sha1-vectors/0132.sha1 | Bin 0 -> 1814 bytes tests/sha1-vectors/0133.sha1 | Bin 0 -> 637 bytes tests/sha1-vectors/0134.sha1 | Bin 0 -> 382 bytes tests/sha1-vectors/0135.sha1 | Bin 0 -> 2073 bytes tests/sha1-vectors/0136.sha1 | 3 + tests/sha1-vectors/0137.sha1 | Bin 0 -> 201 bytes tests/sha1-vectors/0138.sha1 | Bin 0 -> 1452 bytes tests/sha1-vectors/0139.sha1 | Bin 0 -> 1580 bytes tests/sha1-vectors/0140.sha1 | Bin 0 -> 154 bytes tests/sha1-vectors/0141.sha1 | Bin 0 -> 439 bytes tests/sha1-vectors/0142.sha1 | Bin 0 -> 567 bytes tests/sha1-vectors/0143.sha1 | Bin 0 -> 1645 bytes tests/sha1-vectors/0144.sha1 | 1 + tests/sha1-vectors/0145.sha1 | Bin 0 -> 1135 bytes tests/sha1-vectors/0146.sha1 | 5 + tests/sha1-vectors/0147.sha1 | Bin 0 -> 547 bytes tests/sha1-vectors/0148.sha1 | Bin 0 -> 2029 bytes tests/sha1-vectors/0149.sha1 | Bin 0 -> 56 bytes tests/sha1-vectors/0150.sha1 | Bin 0 -> 2164 bytes tests/sha1-vectors/0151.sha1 | Bin 0 -> 2130 bytes tests/sha1-vectors/0152.sha1 | Bin 0 -> 2236 bytes tests/sha1-vectors/0153.sha1 | Bin 0 -> 370 bytes tests/sha1-vectors/0154.sha1 | Bin 0 -> 491 bytes tests/sha1-vectors/0155.sha1 | Bin 0 -> 1444 bytes tests/sha1-vectors/0156.sha1 | Bin 0 -> 2183 bytes tests/sha1-vectors/0157.sha1 | Bin 0 -> 461 bytes tests/sha1-vectors/0158.sha1 | Bin 0 -> 1828 bytes tests/sha1-vectors/0159.sha1 | Bin 0 -> 2462 bytes tests/sha1-vectors/0160.sha1 | Bin 0 -> 2299 bytes tests/sha1-vectors/0161.sha1 | Bin 0 -> 667 bytes tests/sha1-vectors/0162.sha1 | Bin 0 -> 827 bytes tests/sha1-vectors/0163.sha1 | Bin 0 -> 1716 bytes tests/sha1-vectors/0164.sha1 | Bin 0 -> 131 bytes tests/sha1-vectors/0165.sha1 | Bin 0 -> 2026 bytes tests/sha1-vectors/0166.sha1 | Bin 0 -> 1193 bytes tests/sha1-vectors/0167.sha1 | Bin 0 -> 1026 bytes tests/sha1-vectors/0168.sha1 | Bin 0 -> 1458 bytes tests/sha1-vectors/0169.sha1 | Bin 0 -> 1413 bytes tests/sha1-vectors/0170.sha1 | 1 + tests/sha1-vectors/0171.sha1 | Bin 0 -> 1610 bytes tests/sha1-vectors/0172.sha1 | Bin 0 -> 2111 bytes tests/sha1-vectors/0173.sha1 | Bin 0 -> 768 bytes tests/sha1-vectors/0174.sha1 | Bin 0 -> 1671 bytes tests/sha1-vectors/0175.sha1 | Bin 0 -> 1439 bytes tests/sha1-vectors/0176.sha1 | Bin 0 -> 1189 bytes tests/sha1-vectors/0177.sha1 | Bin 0 -> 361 bytes tests/sha1-vectors/0178.sha1 | Bin 0 -> 1853 bytes tests/sha1-vectors/0179.sha1 | Bin 0 -> 127 bytes tests/sha1-vectors/0180.sha1 | Bin 0 -> 807 bytes tests/sha1-vectors/0181.sha1 | Bin 0 -> 1054 bytes tests/sha1-vectors/0182.sha1 | Bin 0 -> 1212 bytes tests/sha1-vectors/0183.sha1 | Bin 0 -> 2086 bytes tests/sha1-vectors/0184.sha1 | Bin 0 -> 2111 bytes tests/sha1-vectors/0185.sha1 | Bin 0 -> 647 bytes tests/sha1-vectors/0186.sha1 | Bin 0 -> 1040 bytes tests/sha1-vectors/0187.sha1 | Bin 0 -> 1462 bytes tests/sha1-vectors/0188.sha1 | Bin 0 -> 1724 bytes tests/sha1-vectors/0189.sha1 | Bin 0 -> 934 bytes tests/sha1-vectors/0190.sha1 | Bin 0 -> 591 bytes tests/sha1-vectors/0191.sha1 | Bin 0 -> 1753 bytes tests/sha1-vectors/0192.sha1 | Bin 0 -> 397 bytes tests/sha1-vectors/0193.sha1 | 2 + tests/sha1-vectors/0194.sha1 | Bin 0 -> 1020 bytes tests/sha1-vectors/0195.sha1 | Bin 0 -> 731 bytes tests/sha1-vectors/0196.sha1 | 1 + tests/sha1-vectors/0197.sha1 | Bin 0 -> 255 bytes tests/sha1-vectors/0198.sha1 | Bin 0 -> 1414 bytes tests/sha1-vectors/0199.sha1 | 1 + tests/sha1-vectors/index.sha1 | 200 ++++++++++++++++++++++++++++++ tests/sha256-vectors/0000.sha256 | 0 tests/sha256-vectors/0001.sha256 | Bin 0 -> 2329 bytes tests/sha256-vectors/0002.sha256 | Bin 0 -> 995 bytes tests/sha256-vectors/0003.sha256 | Bin 0 -> 1132 bytes tests/sha256-vectors/0004.sha256 | 1 + tests/sha256-vectors/0005.sha256 | Bin 0 -> 773 bytes tests/sha256-vectors/0006.sha256 | Bin 0 -> 2045 bytes tests/sha256-vectors/0007.sha256 | Bin 0 -> 1499 bytes tests/sha256-vectors/0008.sha256 | Bin 0 -> 842 bytes tests/sha256-vectors/0009.sha256 | Bin 0 -> 1100 bytes tests/sha256-vectors/0010.sha256 | Bin 0 -> 1766 bytes tests/sha256-vectors/0011.sha256 | 2 + tests/sha256-vectors/0012.sha256 | Bin 0 -> 1396 bytes tests/sha256-vectors/0013.sha256 | Bin 0 -> 2011 bytes tests/sha256-vectors/0014.sha256 | Bin 0 -> 2482 bytes tests/sha256-vectors/0015.sha256 | Bin 0 -> 1861 bytes tests/sha256-vectors/0016.sha256 | Bin 0 -> 2294 bytes tests/sha256-vectors/0017.sha256 | Bin 0 -> 1507 bytes tests/sha256-vectors/0018.sha256 | Bin 0 -> 1548 bytes tests/sha256-vectors/0019.sha256 | Bin 0 -> 258 bytes tests/sha256-vectors/0020.sha256 | Bin 0 -> 1092 bytes tests/sha256-vectors/0021.sha256 | Bin 0 -> 1806 bytes tests/sha256-vectors/0022.sha256 | Bin 0 -> 1405 bytes tests/sha256-vectors/0023.sha256 | Bin 0 -> 1357 bytes tests/sha256-vectors/0024.sha256 | Bin 0 -> 569 bytes tests/sha256-vectors/0025.sha256 | Bin 0 -> 1224 bytes tests/sha256-vectors/0026.sha256 | Bin 0 -> 1023 bytes tests/sha256-vectors/0027.sha256 | Bin 0 -> 909 bytes tests/sha256-vectors/0028.sha256 | Bin 0 -> 524 bytes tests/sha256-vectors/0029.sha256 | Bin 0 -> 2284 bytes tests/sha256-vectors/0030.sha256 | Bin 0 -> 753 bytes tests/sha256-vectors/0031.sha256 | Bin 0 -> 2058 bytes tests/sha256-vectors/0032.sha256 | 2 + tests/sha256-vectors/0033.sha256 | Bin 0 -> 1520 bytes tests/sha256-vectors/0034.sha256 | Bin 0 -> 1968 bytes tests/sha256-vectors/0035.sha256 | Bin 0 -> 815 bytes tests/sha256-vectors/0036.sha256 | Bin 0 -> 1375 bytes tests/sha256-vectors/0037.sha256 | Bin 0 -> 2435 bytes tests/sha256-vectors/0038.sha256 | Bin 0 -> 2052 bytes tests/sha256-vectors/0039.sha256 | Bin 0 -> 735 bytes tests/sha256-vectors/0040.sha256 | Bin 0 -> 1921 bytes tests/sha256-vectors/0041.sha256 | Bin 0 -> 1634 bytes tests/sha256-vectors/0042.sha256 | Bin 0 -> 2409 bytes tests/sha256-vectors/0043.sha256 | Bin 0 -> 1170 bytes tests/sha256-vectors/0044.sha256 | Bin 0 -> 813 bytes tests/sha256-vectors/0045.sha256 | Bin 0 -> 1009 bytes tests/sha256-vectors/0046.sha256 | Bin 0 -> 371 bytes tests/sha256-vectors/0047.sha256 | 2 + tests/sha256-vectors/0048.sha256 | Bin 0 -> 327 bytes tests/sha256-vectors/0049.sha256 | Bin 0 -> 287 bytes tests/sha256-vectors/0050.sha256 | Bin 0 -> 1007 bytes tests/sha256-vectors/0051.sha256 | Bin 0 -> 692 bytes tests/sha256-vectors/0052.sha256 | Bin 0 -> 2141 bytes tests/sha256-vectors/0053.sha256 | Bin 0 -> 1400 bytes tests/sha256-vectors/0054.sha256 | Bin 0 -> 753 bytes tests/sha256-vectors/0055.sha256 | Bin 0 -> 543 bytes tests/sha256-vectors/0056.sha256 | Bin 0 -> 643 bytes tests/sha256-vectors/0057.sha256 | Bin 0 -> 1725 bytes tests/sha256-vectors/0058.sha256 | Bin 0 -> 400 bytes tests/sha256-vectors/0059.sha256 | Bin 0 -> 825 bytes tests/sha256-vectors/0060.sha256 | Bin 0 -> 785 bytes tests/sha256-vectors/0061.sha256 | Bin 0 -> 1912 bytes tests/sha256-vectors/0062.sha256 | Bin 0 -> 1056 bytes tests/sha256-vectors/0063.sha256 | Bin 0 -> 1287 bytes tests/sha256-vectors/0064.sha256 | Bin 0 -> 891 bytes tests/sha256-vectors/0065.sha256 | Bin 0 -> 1600 bytes tests/sha256-vectors/0066.sha256 | Bin 0 -> 627 bytes tests/sha256-vectors/0067.sha256 | Bin 0 -> 775 bytes tests/sha256-vectors/0068.sha256 | Bin 0 -> 2320 bytes tests/sha256-vectors/0069.sha256 | Bin 0 -> 1573 bytes tests/sha256-vectors/0070.sha256 | Bin 0 -> 1485 bytes tests/sha256-vectors/0071.sha256 | Bin 0 -> 1676 bytes tests/sha256-vectors/0072.sha256 | Bin 0 -> 2288 bytes tests/sha256-vectors/0073.sha256 | Bin 0 -> 2215 bytes tests/sha256-vectors/0074.sha256 | Bin 0 -> 731 bytes tests/sha256-vectors/0075.sha256 | 1 + tests/sha256-vectors/0076.sha256 | Bin 0 -> 263 bytes tests/sha256-vectors/0077.sha256 | Bin 0 -> 1756 bytes tests/sha256-vectors/0078.sha256 | Bin 0 -> 2242 bytes tests/sha256-vectors/0079.sha256 | Bin 0 -> 1893 bytes tests/sha256-vectors/0080.sha256 | Bin 0 -> 313 bytes tests/sha256-vectors/0081.sha256 | Bin 0 -> 747 bytes tests/sha256-vectors/0082.sha256 | 2 + tests/sha256-vectors/0083.sha256 | Bin 0 -> 425 bytes tests/sha256-vectors/0084.sha256 | Bin 0 -> 1285 bytes tests/sha256-vectors/0085.sha256 | Bin 0 -> 1839 bytes tests/sha256-vectors/0086.sha256 | Bin 0 -> 33 bytes tests/sha256-vectors/0087.sha256 | Bin 0 -> 2416 bytes tests/sha256-vectors/0088.sha256 | Bin 0 -> 167 bytes tests/sha256-vectors/0089.sha256 | Bin 0 -> 2065 bytes tests/sha256-vectors/0090.sha256 | Bin 0 -> 648 bytes tests/sha256-vectors/0091.sha256 | Bin 0 -> 2384 bytes tests/sha256-vectors/0092.sha256 | 4 + tests/sha256-vectors/0093.sha256 | Bin 0 -> 397 bytes tests/sha256-vectors/0094.sha256 | Bin 0 -> 1844 bytes tests/sha256-vectors/0095.sha256 | 2 + tests/sha256-vectors/0096.sha256 | Bin 0 -> 2079 bytes tests/sha256-vectors/0097.sha256 | Bin 0 -> 1810 bytes tests/sha256-vectors/0098.sha256 | Bin 0 -> 1592 bytes tests/sha256-vectors/0099.sha256 | Bin 0 -> 2388 bytes tests/sha256-vectors/0100.sha256 | 2 + tests/sha256-vectors/0101.sha256 | Bin 0 -> 1695 bytes tests/sha256-vectors/0102.sha256 | Bin 0 -> 2415 bytes tests/sha256-vectors/0103.sha256 | Bin 0 -> 1043 bytes tests/sha256-vectors/0104.sha256 | Bin 0 -> 2018 bytes tests/sha256-vectors/0105.sha256 | Bin 0 -> 2012 bytes tests/sha256-vectors/0106.sha256 | Bin 0 -> 474 bytes tests/sha256-vectors/0107.sha256 | Bin 0 -> 2164 bytes tests/sha256-vectors/0108.sha256 | Bin 0 -> 781 bytes tests/sha256-vectors/0109.sha256 | Bin 0 -> 2176 bytes tests/sha256-vectors/0110.sha256 | Bin 0 -> 2425 bytes tests/sha256-vectors/0111.sha256 | Bin 0 -> 323 bytes tests/sha256-vectors/0112.sha256 | Bin 0 -> 1511 bytes tests/sha256-vectors/0113.sha256 | Bin 0 -> 940 bytes tests/sha256-vectors/0114.sha256 | Bin 0 -> 809 bytes tests/sha256-vectors/0115.sha256 | Bin 0 -> 599 bytes tests/sha256-vectors/0116.sha256 | Bin 0 -> 2398 bytes tests/sha256-vectors/0117.sha256 | 2 + tests/sha256-vectors/0118.sha256 | Bin 0 -> 1597 bytes tests/sha256-vectors/0119.sha256 | Bin 0 -> 442 bytes tests/sha256-vectors/0120.sha256 | Bin 0 -> 2194 bytes tests/sha256-vectors/0121.sha256 | 1 + tests/sha256-vectors/0122.sha256 | Bin 0 -> 1176 bytes tests/sha256-vectors/0123.sha256 | Bin 0 -> 1105 bytes tests/sha256-vectors/0124.sha256 | Bin 0 -> 1356 bytes tests/sha256-vectors/0125.sha256 | Bin 0 -> 430 bytes tests/sha256-vectors/0126.sha256 | Bin 0 -> 929 bytes tests/sha256-vectors/0127.sha256 | Bin 0 -> 2285 bytes tests/sha256-vectors/0128.sha256 | Bin 0 -> 496 bytes tests/sha256-vectors/0129.sha256 | Bin 0 -> 2365 bytes tests/sha256-vectors/0130.sha256 | 1 + tests/sha256-vectors/0131.sha256 | Bin 0 -> 1562 bytes tests/sha256-vectors/0132.sha256 | Bin 0 -> 2453 bytes tests/sha256-vectors/0133.sha256 | Bin 0 -> 2318 bytes tests/sha256-vectors/0134.sha256 | Bin 0 -> 285 bytes tests/sha256-vectors/0135.sha256 | Bin 0 -> 811 bytes tests/sha256-vectors/0136.sha256 | Bin 0 -> 783 bytes tests/sha256-vectors/0137.sha256 | Bin 0 -> 1912 bytes tests/sha256-vectors/0138.sha256 | Bin 0 -> 1191 bytes tests/sha256-vectors/0139.sha256 | 2 + tests/sha256-vectors/0140.sha256 | Bin 0 -> 2238 bytes tests/sha256-vectors/0141.sha256 | Bin 0 -> 665 bytes tests/sha256-vectors/0142.sha256 | Bin 0 -> 1191 bytes tests/sha256-vectors/0143.sha256 | Bin 0 -> 1436 bytes tests/sha256-vectors/0144.sha256 | Bin 0 -> 582 bytes tests/sha256-vectors/0145.sha256 | Bin 0 -> 916 bytes tests/sha256-vectors/0146.sha256 | Bin 0 -> 780 bytes tests/sha256-vectors/0147.sha256 | Bin 0 -> 1394 bytes tests/sha256-vectors/0148.sha256 | Bin 0 -> 1053 bytes tests/sha256-vectors/0149.sha256 | Bin 0 -> 621 bytes tests/sha256-vectors/0150.sha256 | Bin 0 -> 2495 bytes tests/sha256-vectors/0151.sha256 | Bin 0 -> 1046 bytes tests/sha256-vectors/0152.sha256 | Bin 0 -> 883 bytes tests/sha256-vectors/0153.sha256 | Bin 0 -> 1197 bytes tests/sha256-vectors/0154.sha256 | Bin 0 -> 1181 bytes tests/sha256-vectors/0155.sha256 | Bin 0 -> 849 bytes tests/sha256-vectors/0156.sha256 | Bin 0 -> 2004 bytes tests/sha256-vectors/0157.sha256 | 3 + tests/sha256-vectors/0158.sha256 | Bin 0 -> 1801 bytes tests/sha256-vectors/0159.sha256 | Bin 0 -> 1666 bytes tests/sha256-vectors/0160.sha256 | Bin 0 -> 531 bytes tests/sha256-vectors/0161.sha256 | Bin 0 -> 1186 bytes tests/sha256-vectors/0162.sha256 | Bin 0 -> 2387 bytes tests/sha256-vectors/0163.sha256 | Bin 0 -> 2168 bytes tests/sha256-vectors/0164.sha256 | Bin 0 -> 1901 bytes tests/sha256-vectors/0165.sha256 | 3 + tests/sha256-vectors/0166.sha256 | Bin 0 -> 1855 bytes tests/sha256-vectors/0167.sha256 | Bin 0 -> 831 bytes tests/sha256-vectors/0168.sha256 | 1 + tests/sha256-vectors/0169.sha256 | 7 ++ tests/sha256-vectors/0170.sha256 | Bin 0 -> 455 bytes tests/sha256-vectors/0171.sha256 | Bin 0 -> 1790 bytes tests/sha256-vectors/0172.sha256 | Bin 0 -> 1901 bytes tests/sha256-vectors/0173.sha256 | 8 ++ tests/sha256-vectors/0174.sha256 | 2 + tests/sha256-vectors/0175.sha256 | Bin 0 -> 791 bytes tests/sha256-vectors/0176.sha256 | Bin 0 -> 1510 bytes tests/sha256-vectors/0177.sha256 | Bin 0 -> 2126 bytes tests/sha256-vectors/0178.sha256 | Bin 0 -> 1171 bytes tests/sha256-vectors/0179.sha256 | Bin 0 -> 1918 bytes tests/sha256-vectors/0180.sha256 | Bin 0 -> 790 bytes tests/sha256-vectors/0181.sha256 | Bin 0 -> 1411 bytes tests/sha256-vectors/0182.sha256 | Bin 0 -> 1906 bytes tests/sha256-vectors/0183.sha256 | Bin 0 -> 1909 bytes tests/sha256-vectors/0184.sha256 | Bin 0 -> 1552 bytes tests/sha256-vectors/0185.sha256 | Bin 0 -> 1295 bytes tests/sha256-vectors/0186.sha256 | Bin 0 -> 2195 bytes tests/sha256-vectors/0187.sha256 | 1 + tests/sha256-vectors/0188.sha256 | Bin 0 -> 252 bytes tests/sha256-vectors/0189.sha256 | Bin 0 -> 684 bytes tests/sha256-vectors/0190.sha256 | Bin 0 -> 1753 bytes tests/sha256-vectors/0191.sha256 | Bin 0 -> 222 bytes tests/sha256-vectors/0192.sha256 | Bin 0 -> 2117 bytes tests/sha256-vectors/0193.sha256 | Bin 0 -> 2480 bytes tests/sha256-vectors/0194.sha256 | Bin 0 -> 1303 bytes tests/sha256-vectors/0195.sha256 | Bin 0 -> 2333 bytes tests/sha256-vectors/0196.sha256 | Bin 0 -> 1528 bytes tests/sha256-vectors/0197.sha256 | Bin 0 -> 2489 bytes tests/sha256-vectors/0198.sha256 | Bin 0 -> 1465 bytes tests/sha256-vectors/0199.sha256 | Bin 0 -> 2263 bytes tests/sha256-vectors/index.sha256 | 200 ++++++++++++++++++++++++++++++ tests/sha512-vectors/0000.sha512 | 0 tests/sha512-vectors/0001.sha512 | Bin 0 -> 879 bytes tests/sha512-vectors/0002.sha512 | Bin 0 -> 944 bytes tests/sha512-vectors/0003.sha512 | Bin 0 -> 1811 bytes tests/sha512-vectors/0004.sha512 | Bin 0 -> 654 bytes tests/sha512-vectors/0005.sha512 | Bin 0 -> 1336 bytes tests/sha512-vectors/0006.sha512 | Bin 0 -> 676 bytes tests/sha512-vectors/0007.sha512 | Bin 0 -> 535 bytes tests/sha512-vectors/0008.sha512 | Bin 0 -> 1486 bytes tests/sha512-vectors/0009.sha512 | Bin 0 -> 1935 bytes tests/sha512-vectors/0010.sha512 | Bin 0 -> 807 bytes tests/sha512-vectors/0011.sha512 | Bin 0 -> 1877 bytes tests/sha512-vectors/0012.sha512 | 1 + tests/sha512-vectors/0013.sha512 | Bin 0 -> 1438 bytes tests/sha512-vectors/0014.sha512 | Bin 0 -> 1855 bytes tests/sha512-vectors/0015.sha512 | Bin 0 -> 1354 bytes tests/sha512-vectors/0016.sha512 | Bin 0 -> 1249 bytes tests/sha512-vectors/0017.sha512 | Bin 0 -> 595 bytes tests/sha512-vectors/0018.sha512 | Bin 0 -> 1078 bytes tests/sha512-vectors/0019.sha512 | Bin 0 -> 1812 bytes tests/sha512-vectors/0020.sha512 | Bin 0 -> 1992 bytes tests/sha512-vectors/0021.sha512 | Bin 0 -> 1279 bytes tests/sha512-vectors/0022.sha512 | Bin 0 -> 709 bytes tests/sha512-vectors/0023.sha512 | Bin 0 -> 523 bytes tests/sha512-vectors/0024.sha512 | 4 + tests/sha512-vectors/0025.sha512 | Bin 0 -> 2196 bytes tests/sha512-vectors/0026.sha512 | Bin 0 -> 358 bytes tests/sha512-vectors/0027.sha512 | Bin 0 -> 1909 bytes tests/sha512-vectors/0028.sha512 | Bin 0 -> 897 bytes tests/sha512-vectors/0029.sha512 | Bin 0 -> 1817 bytes tests/sha512-vectors/0030.sha512 | Bin 0 -> 1600 bytes tests/sha512-vectors/0031.sha512 | Bin 0 -> 1372 bytes tests/sha512-vectors/0032.sha512 | Bin 0 -> 478 bytes tests/sha512-vectors/0033.sha512 | Bin 0 -> 1467 bytes tests/sha512-vectors/0034.sha512 | Bin 0 -> 1181 bytes tests/sha512-vectors/0035.sha512 | Bin 0 -> 505 bytes tests/sha512-vectors/0036.sha512 | Bin 0 -> 1836 bytes tests/sha512-vectors/0037.sha512 | Bin 0 -> 1871 bytes tests/sha512-vectors/0038.sha512 | Bin 0 -> 866 bytes tests/sha512-vectors/0039.sha512 | Bin 0 -> 410 bytes tests/sha512-vectors/0040.sha512 | 1 + tests/sha512-vectors/0041.sha512 | Bin 0 -> 812 bytes tests/sha512-vectors/0042.sha512 | Bin 0 -> 1715 bytes tests/sha512-vectors/0043.sha512 | Bin 0 -> 2096 bytes tests/sha512-vectors/0044.sha512 | Bin 0 -> 666 bytes tests/sha512-vectors/0045.sha512 | Bin 0 -> 664 bytes tests/sha512-vectors/0046.sha512 | Bin 0 -> 528 bytes tests/sha512-vectors/0047.sha512 | Bin 0 -> 1071 bytes tests/sha512-vectors/0048.sha512 | Bin 0 -> 623 bytes tests/sha512-vectors/0049.sha512 | Bin 0 -> 649 bytes tests/sha512-vectors/0050.sha512 | Bin 0 -> 1999 bytes tests/sha512-vectors/0051.sha512 | Bin 0 -> 410 bytes tests/sha512-vectors/0052.sha512 | Bin 0 -> 231 bytes tests/sha512-vectors/0053.sha512 | Bin 0 -> 1890 bytes tests/sha512-vectors/0054.sha512 | Bin 0 -> 1010 bytes tests/sha512-vectors/0055.sha512 | Bin 0 -> 1765 bytes tests/sha512-vectors/0056.sha512 | Bin 0 -> 1669 bytes tests/sha512-vectors/0057.sha512 | Bin 0 -> 1786 bytes tests/sha512-vectors/0058.sha512 | Bin 0 -> 1725 bytes tests/sha512-vectors/0059.sha512 | Bin 0 -> 1064 bytes tests/sha512-vectors/0060.sha512 | Bin 0 -> 2284 bytes tests/sha512-vectors/0061.sha512 | 2 + tests/sha512-vectors/0062.sha512 | Bin 0 -> 902 bytes tests/sha512-vectors/0063.sha512 | Bin 0 -> 1561 bytes tests/sha512-vectors/0064.sha512 | Bin 0 -> 1548 bytes tests/sha512-vectors/0065.sha512 | Bin 0 -> 929 bytes tests/sha512-vectors/0066.sha512 | Bin 0 -> 2006 bytes tests/sha512-vectors/0067.sha512 | Bin 0 -> 2281 bytes tests/sha512-vectors/0068.sha512 | Bin 0 -> 1432 bytes tests/sha512-vectors/0069.sha512 | Bin 0 -> 1406 bytes tests/sha512-vectors/0070.sha512 | 1 + tests/sha512-vectors/0071.sha512 | Bin 0 -> 1517 bytes tests/sha512-vectors/0072.sha512 | Bin 0 -> 1355 bytes tests/sha512-vectors/0073.sha512 | Bin 0 -> 547 bytes tests/sha512-vectors/0074.sha512 | Bin 0 -> 1110 bytes tests/sha512-vectors/0075.sha512 | Bin 0 -> 1914 bytes tests/sha512-vectors/0076.sha512 | 3 + tests/sha512-vectors/0077.sha512 | Bin 0 -> 627 bytes tests/sha512-vectors/0078.sha512 | Bin 0 -> 534 bytes tests/sha512-vectors/0079.sha512 | Bin 0 -> 1417 bytes tests/sha512-vectors/0080.sha512 | Bin 0 -> 1807 bytes tests/sha512-vectors/0081.sha512 | Bin 0 -> 1481 bytes tests/sha512-vectors/0082.sha512 | Bin 0 -> 1173 bytes tests/sha512-vectors/0083.sha512 | Bin 0 -> 1066 bytes tests/sha512-vectors/0084.sha512 | Bin 0 -> 1390 bytes tests/sha512-vectors/0085.sha512 | Bin 0 -> 1256 bytes tests/sha512-vectors/0086.sha512 | Bin 0 -> 37 bytes tests/sha512-vectors/0087.sha512 | Bin 0 -> 658 bytes tests/sha512-vectors/0088.sha512 | Bin 0 -> 994 bytes tests/sha512-vectors/0089.sha512 | Bin 0 -> 2179 bytes tests/sha512-vectors/0090.sha512 | Bin 0 -> 1782 bytes tests/sha512-vectors/0091.sha512 | Bin 0 -> 1161 bytes tests/sha512-vectors/0092.sha512 | Bin 0 -> 957 bytes tests/sha512-vectors/0093.sha512 | Bin 0 -> 2380 bytes tests/sha512-vectors/0094.sha512 | Bin 0 -> 2207 bytes tests/sha512-vectors/0095.sha512 | Bin 0 -> 1911 bytes tests/sha512-vectors/0096.sha512 | Bin 0 -> 992 bytes tests/sha512-vectors/0097.sha512 | Bin 0 -> 2465 bytes tests/sha512-vectors/0098.sha512 | Bin 0 -> 1793 bytes tests/sha512-vectors/0099.sha512 | Bin 0 -> 169 bytes tests/sha512-vectors/0100.sha512 | Bin 0 -> 2361 bytes tests/sha512-vectors/0101.sha512 | Bin 0 -> 355 bytes tests/sha512-vectors/0102.sha512 | Bin 0 -> 2150 bytes tests/sha512-vectors/0103.sha512 | Bin 0 -> 1882 bytes tests/sha512-vectors/0104.sha512 | Bin 0 -> 2386 bytes tests/sha512-vectors/0105.sha512 | Bin 0 -> 76 bytes tests/sha512-vectors/0106.sha512 | Bin 0 -> 1103 bytes tests/sha512-vectors/0107.sha512 | Bin 0 -> 547 bytes tests/sha512-vectors/0108.sha512 | Bin 0 -> 1642 bytes tests/sha512-vectors/0109.sha512 | Bin 0 -> 2487 bytes tests/sha512-vectors/0110.sha512 | Bin 0 -> 1918 bytes tests/sha512-vectors/0111.sha512 | Bin 0 -> 429 bytes tests/sha512-vectors/0112.sha512 | Bin 0 -> 346 bytes tests/sha512-vectors/0113.sha512 | Bin 0 -> 1650 bytes tests/sha512-vectors/0114.sha512 | Bin 0 -> 398 bytes tests/sha512-vectors/0115.sha512 | Bin 0 -> 1350 bytes tests/sha512-vectors/0116.sha512 | Bin 0 -> 295 bytes tests/sha512-vectors/0117.sha512 | 3 + tests/sha512-vectors/0118.sha512 | Bin 0 -> 466 bytes tests/sha512-vectors/0119.sha512 | Bin 0 -> 1418 bytes tests/sha512-vectors/0120.sha512 | 4 + tests/sha512-vectors/0121.sha512 | Bin 0 -> 1932 bytes tests/sha512-vectors/0122.sha512 | Bin 0 -> 1394 bytes tests/sha512-vectors/0123.sha512 | Bin 0 -> 2214 bytes tests/sha512-vectors/0124.sha512 | Bin 0 -> 1600 bytes tests/sha512-vectors/0125.sha512 | Bin 0 -> 1558 bytes tests/sha512-vectors/0126.sha512 | Bin 0 -> 254 bytes tests/sha512-vectors/0127.sha512 | Bin 0 -> 1839 bytes tests/sha512-vectors/0128.sha512 | Bin 0 -> 1930 bytes tests/sha512-vectors/0129.sha512 | Bin 0 -> 2422 bytes tests/sha512-vectors/0130.sha512 | Bin 0 -> 2346 bytes tests/sha512-vectors/0131.sha512 | Bin 0 -> 1115 bytes tests/sha512-vectors/0132.sha512 | Bin 0 -> 1919 bytes tests/sha512-vectors/0133.sha512 | Bin 0 -> 2220 bytes tests/sha512-vectors/0134.sha512 | Bin 0 -> 1302 bytes tests/sha512-vectors/0135.sha512 | 6 + tests/sha512-vectors/0136.sha512 | Bin 0 -> 2192 bytes tests/sha512-vectors/0137.sha512 | Bin 0 -> 779 bytes tests/sha512-vectors/0138.sha512 | Bin 0 -> 347 bytes tests/sha512-vectors/0139.sha512 | Bin 0 -> 1329 bytes tests/sha512-vectors/0140.sha512 | Bin 0 -> 1465 bytes tests/sha512-vectors/0141.sha512 | Bin 0 -> 925 bytes tests/sha512-vectors/0142.sha512 | Bin 0 -> 2075 bytes tests/sha512-vectors/0143.sha512 | 2 + tests/sha512-vectors/0144.sha512 | Bin 0 -> 1562 bytes tests/sha512-vectors/0145.sha512 | Bin 0 -> 771 bytes tests/sha512-vectors/0146.sha512 | Bin 0 -> 947 bytes tests/sha512-vectors/0147.sha512 | Bin 0 -> 1265 bytes tests/sha512-vectors/0148.sha512 | Bin 0 -> 1866 bytes tests/sha512-vectors/0149.sha512 | 1 + tests/sha512-vectors/0150.sha512 | Bin 0 -> 2074 bytes tests/sha512-vectors/0151.sha512 | Bin 0 -> 2374 bytes tests/sha512-vectors/0152.sha512 | Bin 0 -> 2497 bytes tests/sha512-vectors/0153.sha512 | Bin 0 -> 1557 bytes tests/sha512-vectors/0154.sha512 | Bin 0 -> 677 bytes tests/sha512-vectors/0155.sha512 | Bin 0 -> 1402 bytes tests/sha512-vectors/0156.sha512 | Bin 0 -> 431 bytes tests/sha512-vectors/0157.sha512 | Bin 0 -> 1802 bytes tests/sha512-vectors/0158.sha512 | Bin 0 -> 565 bytes tests/sha512-vectors/0159.sha512 | Bin 0 -> 79 bytes tests/sha512-vectors/0160.sha512 | Bin 0 -> 1633 bytes tests/sha512-vectors/0161.sha512 | Bin 0 -> 1848 bytes tests/sha512-vectors/0162.sha512 | Bin 0 -> 2342 bytes tests/sha512-vectors/0163.sha512 | Bin 0 -> 2158 bytes tests/sha512-vectors/0164.sha512 | Bin 0 -> 657 bytes tests/sha512-vectors/0165.sha512 | Bin 0 -> 2021 bytes tests/sha512-vectors/0166.sha512 | Bin 0 -> 551 bytes tests/sha512-vectors/0167.sha512 | Bin 0 -> 1892 bytes tests/sha512-vectors/0168.sha512 | Bin 0 -> 2217 bytes tests/sha512-vectors/0169.sha512 | Bin 0 -> 1486 bytes tests/sha512-vectors/0170.sha512 | Bin 0 -> 1927 bytes tests/sha512-vectors/0171.sha512 | Bin 0 -> 2331 bytes tests/sha512-vectors/0172.sha512 | Bin 0 -> 1118 bytes tests/sha512-vectors/0173.sha512 | Bin 0 -> 268 bytes tests/sha512-vectors/0174.sha512 | Bin 0 -> 2180 bytes tests/sha512-vectors/0175.sha512 | Bin 0 -> 1757 bytes tests/sha512-vectors/0176.sha512 | Bin 0 -> 296 bytes tests/sha512-vectors/0177.sha512 | Bin 0 -> 1265 bytes tests/sha512-vectors/0178.sha512 | Bin 0 -> 1379 bytes tests/sha512-vectors/0179.sha512 | Bin 0 -> 1400 bytes tests/sha512-vectors/0180.sha512 | Bin 0 -> 947 bytes tests/sha512-vectors/0181.sha512 | 1 + tests/sha512-vectors/0182.sha512 | Bin 0 -> 971 bytes tests/sha512-vectors/0183.sha512 | Bin 0 -> 1727 bytes tests/sha512-vectors/0184.sha512 | Bin 0 -> 226 bytes tests/sha512-vectors/0185.sha512 | Bin 0 -> 1152 bytes tests/sha512-vectors/0186.sha512 | Bin 0 -> 506 bytes tests/sha512-vectors/0187.sha512 | Bin 0 -> 1543 bytes tests/sha512-vectors/0188.sha512 | Bin 0 -> 755 bytes tests/sha512-vectors/0189.sha512 | Bin 0 -> 1677 bytes tests/sha512-vectors/0190.sha512 | Bin 0 -> 1021 bytes tests/sha512-vectors/0191.sha512 | Bin 0 -> 689 bytes tests/sha512-vectors/0192.sha512 | Bin 0 -> 2211 bytes tests/sha512-vectors/0193.sha512 | Bin 0 -> 1347 bytes tests/sha512-vectors/0194.sha512 | Bin 0 -> 2081 bytes tests/sha512-vectors/0195.sha512 | Bin 0 -> 2275 bytes tests/sha512-vectors/0196.sha512 | Bin 0 -> 170 bytes tests/sha512-vectors/0197.sha512 | Bin 0 -> 1174 bytes tests/sha512-vectors/0198.sha512 | Bin 0 -> 2449 bytes tests/sha512-vectors/0199.sha512 | Bin 0 -> 1640 bytes tests/sha512-vectors/index.sha512 | 200 ++++++++++++++++++++++++++++++ 603 files changed, 711 insertions(+) create mode 100644 tests/sha1-vectors/0000.sha1 create mode 100644 tests/sha1-vectors/0001.sha1 create mode 100644 tests/sha1-vectors/0002.sha1 create mode 100644 tests/sha1-vectors/0003.sha1 create mode 100644 tests/sha1-vectors/0004.sha1 create mode 100644 tests/sha1-vectors/0005.sha1 create mode 100644 tests/sha1-vectors/0006.sha1 create mode 100644 tests/sha1-vectors/0007.sha1 create mode 100644 tests/sha1-vectors/0008.sha1 create mode 100644 tests/sha1-vectors/0009.sha1 create mode 100644 tests/sha1-vectors/0010.sha1 create mode 100644 tests/sha1-vectors/0011.sha1 create mode 100644 tests/sha1-vectors/0012.sha1 create mode 100644 tests/sha1-vectors/0013.sha1 create mode 100644 tests/sha1-vectors/0014.sha1 create mode 100644 tests/sha1-vectors/0015.sha1 create mode 100644 tests/sha1-vectors/0016.sha1 create mode 100644 tests/sha1-vectors/0017.sha1 create mode 100644 tests/sha1-vectors/0018.sha1 create mode 100644 tests/sha1-vectors/0019.sha1 create mode 100644 tests/sha1-vectors/0020.sha1 create mode 100644 tests/sha1-vectors/0021.sha1 create mode 100644 tests/sha1-vectors/0022.sha1 create mode 100644 tests/sha1-vectors/0023.sha1 create mode 100644 tests/sha1-vectors/0024.sha1 create mode 100644 tests/sha1-vectors/0025.sha1 create mode 100644 tests/sha1-vectors/0026.sha1 create mode 100644 tests/sha1-vectors/0027.sha1 create mode 100644 tests/sha1-vectors/0028.sha1 create mode 100644 tests/sha1-vectors/0029.sha1 create mode 100644 tests/sha1-vectors/0030.sha1 create mode 100644 tests/sha1-vectors/0031.sha1 create mode 100644 tests/sha1-vectors/0032.sha1 create mode 100644 tests/sha1-vectors/0033.sha1 create mode 100644 tests/sha1-vectors/0034.sha1 create mode 100644 tests/sha1-vectors/0035.sha1 create mode 100644 tests/sha1-vectors/0036.sha1 create mode 100644 tests/sha1-vectors/0037.sha1 create mode 100644 tests/sha1-vectors/0038.sha1 create mode 100644 tests/sha1-vectors/0039.sha1 create mode 100644 tests/sha1-vectors/0040.sha1 create mode 100644 tests/sha1-vectors/0041.sha1 create mode 100644 tests/sha1-vectors/0042.sha1 create mode 100644 tests/sha1-vectors/0043.sha1 create mode 100644 tests/sha1-vectors/0044.sha1 create mode 100644 tests/sha1-vectors/0045.sha1 create mode 100644 tests/sha1-vectors/0046.sha1 create mode 100644 tests/sha1-vectors/0047.sha1 create mode 100644 tests/sha1-vectors/0048.sha1 create mode 100644 tests/sha1-vectors/0049.sha1 create mode 100644 tests/sha1-vectors/0050.sha1 create mode 100644 tests/sha1-vectors/0051.sha1 create mode 100644 tests/sha1-vectors/0052.sha1 create mode 100644 tests/sha1-vectors/0053.sha1 create mode 100644 tests/sha1-vectors/0054.sha1 create mode 100644 tests/sha1-vectors/0055.sha1 create mode 100644 tests/sha1-vectors/0056.sha1 create mode 100644 tests/sha1-vectors/0057.sha1 create mode 100644 tests/sha1-vectors/0058.sha1 create mode 100644 tests/sha1-vectors/0059.sha1 create mode 100644 tests/sha1-vectors/0060.sha1 create mode 100644 tests/sha1-vectors/0061.sha1 create mode 100644 tests/sha1-vectors/0062.sha1 create mode 100644 tests/sha1-vectors/0063.sha1 create mode 100644 tests/sha1-vectors/0064.sha1 create mode 100644 tests/sha1-vectors/0065.sha1 create mode 100644 tests/sha1-vectors/0066.sha1 create mode 100644 tests/sha1-vectors/0067.sha1 create mode 100644 tests/sha1-vectors/0068.sha1 create mode 100644 tests/sha1-vectors/0069.sha1 create mode 100644 tests/sha1-vectors/0070.sha1 create mode 100644 tests/sha1-vectors/0071.sha1 create mode 100644 tests/sha1-vectors/0072.sha1 create mode 100644 tests/sha1-vectors/0073.sha1 create mode 100644 tests/sha1-vectors/0074.sha1 create mode 100644 tests/sha1-vectors/0075.sha1 create mode 100644 tests/sha1-vectors/0076.sha1 create mode 100644 tests/sha1-vectors/0077.sha1 create mode 100644 tests/sha1-vectors/0078.sha1 create mode 100644 tests/sha1-vectors/0079.sha1 create mode 100644 tests/sha1-vectors/0080.sha1 create mode 100644 tests/sha1-vectors/0081.sha1 create mode 100644 tests/sha1-vectors/0082.sha1 create mode 100644 tests/sha1-vectors/0083.sha1 create mode 100644 tests/sha1-vectors/0084.sha1 create mode 100644 tests/sha1-vectors/0085.sha1 create mode 100644 tests/sha1-vectors/0086.sha1 create mode 100644 tests/sha1-vectors/0087.sha1 create mode 100644 tests/sha1-vectors/0088.sha1 create mode 100644 tests/sha1-vectors/0089.sha1 create mode 100644 tests/sha1-vectors/0090.sha1 create mode 100644 tests/sha1-vectors/0091.sha1 create mode 100644 tests/sha1-vectors/0092.sha1 create mode 100644 tests/sha1-vectors/0093.sha1 create mode 100644 tests/sha1-vectors/0094.sha1 create mode 100644 tests/sha1-vectors/0095.sha1 create mode 100644 tests/sha1-vectors/0096.sha1 create mode 100644 tests/sha1-vectors/0097.sha1 create mode 100644 tests/sha1-vectors/0098.sha1 create mode 100644 tests/sha1-vectors/0099.sha1 create mode 100644 tests/sha1-vectors/0100.sha1 create mode 100644 tests/sha1-vectors/0101.sha1 create mode 100644 tests/sha1-vectors/0102.sha1 create mode 100644 tests/sha1-vectors/0103.sha1 create mode 100644 tests/sha1-vectors/0104.sha1 create mode 100644 tests/sha1-vectors/0105.sha1 create mode 100644 tests/sha1-vectors/0106.sha1 create mode 100644 tests/sha1-vectors/0107.sha1 create mode 100644 tests/sha1-vectors/0108.sha1 create mode 100644 tests/sha1-vectors/0109.sha1 create mode 100644 tests/sha1-vectors/0110.sha1 create mode 100644 tests/sha1-vectors/0111.sha1 create mode 100644 tests/sha1-vectors/0112.sha1 create mode 100644 tests/sha1-vectors/0113.sha1 create mode 100644 tests/sha1-vectors/0114.sha1 create mode 100644 tests/sha1-vectors/0115.sha1 create mode 100644 tests/sha1-vectors/0116.sha1 create mode 100644 tests/sha1-vectors/0117.sha1 create mode 100644 tests/sha1-vectors/0118.sha1 create mode 100644 tests/sha1-vectors/0119.sha1 create mode 100644 tests/sha1-vectors/0120.sha1 create mode 100644 tests/sha1-vectors/0121.sha1 create mode 100644 tests/sha1-vectors/0122.sha1 create mode 100644 tests/sha1-vectors/0123.sha1 create mode 100644 tests/sha1-vectors/0124.sha1 create mode 100644 tests/sha1-vectors/0125.sha1 create mode 100644 tests/sha1-vectors/0126.sha1 create mode 100644 tests/sha1-vectors/0127.sha1 create mode 100644 tests/sha1-vectors/0128.sha1 create mode 100644 tests/sha1-vectors/0129.sha1 create mode 100644 tests/sha1-vectors/0130.sha1 create mode 100644 tests/sha1-vectors/0131.sha1 create mode 100644 tests/sha1-vectors/0132.sha1 create mode 100644 tests/sha1-vectors/0133.sha1 create mode 100644 tests/sha1-vectors/0134.sha1 create mode 100644 tests/sha1-vectors/0135.sha1 create mode 100644 tests/sha1-vectors/0136.sha1 create mode 100644 tests/sha1-vectors/0137.sha1 create mode 100644 tests/sha1-vectors/0138.sha1 create mode 100644 tests/sha1-vectors/0139.sha1 create mode 100644 tests/sha1-vectors/0140.sha1 create mode 100644 tests/sha1-vectors/0141.sha1 create mode 100644 tests/sha1-vectors/0142.sha1 create mode 100644 tests/sha1-vectors/0143.sha1 create mode 100644 tests/sha1-vectors/0144.sha1 create mode 100644 tests/sha1-vectors/0145.sha1 create mode 100644 tests/sha1-vectors/0146.sha1 create mode 100644 tests/sha1-vectors/0147.sha1 create mode 100644 tests/sha1-vectors/0148.sha1 create mode 100644 tests/sha1-vectors/0149.sha1 create mode 100644 tests/sha1-vectors/0150.sha1 create mode 100644 tests/sha1-vectors/0151.sha1 create mode 100644 tests/sha1-vectors/0152.sha1 create mode 100644 tests/sha1-vectors/0153.sha1 create mode 100644 tests/sha1-vectors/0154.sha1 create mode 100644 tests/sha1-vectors/0155.sha1 create mode 100644 tests/sha1-vectors/0156.sha1 create mode 100644 tests/sha1-vectors/0157.sha1 create mode 100644 tests/sha1-vectors/0158.sha1 create mode 100644 tests/sha1-vectors/0159.sha1 create mode 100644 tests/sha1-vectors/0160.sha1 create mode 100644 tests/sha1-vectors/0161.sha1 create mode 100644 tests/sha1-vectors/0162.sha1 create mode 100644 tests/sha1-vectors/0163.sha1 create mode 100644 tests/sha1-vectors/0164.sha1 create mode 100644 tests/sha1-vectors/0165.sha1 create mode 100644 tests/sha1-vectors/0166.sha1 create mode 100644 tests/sha1-vectors/0167.sha1 create mode 100644 tests/sha1-vectors/0168.sha1 create mode 100644 tests/sha1-vectors/0169.sha1 create mode 100644 tests/sha1-vectors/0170.sha1 create mode 100644 tests/sha1-vectors/0171.sha1 create mode 100644 tests/sha1-vectors/0172.sha1 create mode 100644 tests/sha1-vectors/0173.sha1 create mode 100644 tests/sha1-vectors/0174.sha1 create mode 100644 tests/sha1-vectors/0175.sha1 create mode 100644 tests/sha1-vectors/0176.sha1 create mode 100644 tests/sha1-vectors/0177.sha1 create mode 100644 tests/sha1-vectors/0178.sha1 create mode 100644 tests/sha1-vectors/0179.sha1 create mode 100644 tests/sha1-vectors/0180.sha1 create mode 100644 tests/sha1-vectors/0181.sha1 create mode 100644 tests/sha1-vectors/0182.sha1 create mode 100644 tests/sha1-vectors/0183.sha1 create mode 100644 tests/sha1-vectors/0184.sha1 create mode 100644 tests/sha1-vectors/0185.sha1 create mode 100644 tests/sha1-vectors/0186.sha1 create mode 100644 tests/sha1-vectors/0187.sha1 create mode 100644 tests/sha1-vectors/0188.sha1 create mode 100644 tests/sha1-vectors/0189.sha1 create mode 100644 tests/sha1-vectors/0190.sha1 create mode 100644 tests/sha1-vectors/0191.sha1 create mode 100644 tests/sha1-vectors/0192.sha1 create mode 100644 tests/sha1-vectors/0193.sha1 create mode 100644 tests/sha1-vectors/0194.sha1 create mode 100644 tests/sha1-vectors/0195.sha1 create mode 100644 tests/sha1-vectors/0196.sha1 create mode 100644 tests/sha1-vectors/0197.sha1 create mode 100644 tests/sha1-vectors/0198.sha1 create mode 100644 tests/sha1-vectors/0199.sha1 create mode 100644 tests/sha1-vectors/index.sha1 create mode 100644 tests/sha256-vectors/0000.sha256 create mode 100644 tests/sha256-vectors/0001.sha256 create mode 100644 tests/sha256-vectors/0002.sha256 create mode 100644 tests/sha256-vectors/0003.sha256 create mode 100644 tests/sha256-vectors/0004.sha256 create mode 100644 tests/sha256-vectors/0005.sha256 create mode 100644 tests/sha256-vectors/0006.sha256 create mode 100644 tests/sha256-vectors/0007.sha256 create mode 100644 tests/sha256-vectors/0008.sha256 create mode 100644 tests/sha256-vectors/0009.sha256 create mode 100644 tests/sha256-vectors/0010.sha256 create mode 100644 tests/sha256-vectors/0011.sha256 create mode 100644 tests/sha256-vectors/0012.sha256 create mode 100644 tests/sha256-vectors/0013.sha256 create mode 100644 tests/sha256-vectors/0014.sha256 create mode 100644 tests/sha256-vectors/0015.sha256 create mode 100644 tests/sha256-vectors/0016.sha256 create mode 100644 tests/sha256-vectors/0017.sha256 create mode 100644 tests/sha256-vectors/0018.sha256 create mode 100644 tests/sha256-vectors/0019.sha256 create mode 100644 tests/sha256-vectors/0020.sha256 create mode 100644 tests/sha256-vectors/0021.sha256 create mode 100644 tests/sha256-vectors/0022.sha256 create mode 100644 tests/sha256-vectors/0023.sha256 create mode 100644 tests/sha256-vectors/0024.sha256 create mode 100644 tests/sha256-vectors/0025.sha256 create mode 100644 tests/sha256-vectors/0026.sha256 create mode 100644 tests/sha256-vectors/0027.sha256 create mode 100644 tests/sha256-vectors/0028.sha256 create mode 100644 tests/sha256-vectors/0029.sha256 create mode 100644 tests/sha256-vectors/0030.sha256 create mode 100644 tests/sha256-vectors/0031.sha256 create mode 100644 tests/sha256-vectors/0032.sha256 create mode 100644 tests/sha256-vectors/0033.sha256 create mode 100644 tests/sha256-vectors/0034.sha256 create mode 100644 tests/sha256-vectors/0035.sha256 create mode 100644 tests/sha256-vectors/0036.sha256 create mode 100644 tests/sha256-vectors/0037.sha256 create mode 100644 tests/sha256-vectors/0038.sha256 create mode 100644 tests/sha256-vectors/0039.sha256 create mode 100644 tests/sha256-vectors/0040.sha256 create mode 100644 tests/sha256-vectors/0041.sha256 create mode 100644 tests/sha256-vectors/0042.sha256 create mode 100644 tests/sha256-vectors/0043.sha256 create mode 100644 tests/sha256-vectors/0044.sha256 create mode 100644 tests/sha256-vectors/0045.sha256 create mode 100644 tests/sha256-vectors/0046.sha256 create mode 100644 tests/sha256-vectors/0047.sha256 create mode 100644 tests/sha256-vectors/0048.sha256 create mode 100644 tests/sha256-vectors/0049.sha256 create mode 100644 tests/sha256-vectors/0050.sha256 create mode 100644 tests/sha256-vectors/0051.sha256 create mode 100644 tests/sha256-vectors/0052.sha256 create mode 100644 tests/sha256-vectors/0053.sha256 create mode 100644 tests/sha256-vectors/0054.sha256 create mode 100644 tests/sha256-vectors/0055.sha256 create mode 100644 tests/sha256-vectors/0056.sha256 create mode 100644 tests/sha256-vectors/0057.sha256 create mode 100644 tests/sha256-vectors/0058.sha256 create mode 100644 tests/sha256-vectors/0059.sha256 create mode 100644 tests/sha256-vectors/0060.sha256 create mode 100644 tests/sha256-vectors/0061.sha256 create mode 100644 tests/sha256-vectors/0062.sha256 create mode 100644 tests/sha256-vectors/0063.sha256 create mode 100644 tests/sha256-vectors/0064.sha256 create mode 100644 tests/sha256-vectors/0065.sha256 create mode 100644 tests/sha256-vectors/0066.sha256 create mode 100644 tests/sha256-vectors/0067.sha256 create mode 100644 tests/sha256-vectors/0068.sha256 create mode 100644 tests/sha256-vectors/0069.sha256 create mode 100644 tests/sha256-vectors/0070.sha256 create mode 100644 tests/sha256-vectors/0071.sha256 create mode 100644 tests/sha256-vectors/0072.sha256 create mode 100644 tests/sha256-vectors/0073.sha256 create mode 100644 tests/sha256-vectors/0074.sha256 create mode 100644 tests/sha256-vectors/0075.sha256 create mode 100644 tests/sha256-vectors/0076.sha256 create mode 100644 tests/sha256-vectors/0077.sha256 create mode 100644 tests/sha256-vectors/0078.sha256 create mode 100644 tests/sha256-vectors/0079.sha256 create mode 100644 tests/sha256-vectors/0080.sha256 create mode 100644 tests/sha256-vectors/0081.sha256 create mode 100644 tests/sha256-vectors/0082.sha256 create mode 100644 tests/sha256-vectors/0083.sha256 create mode 100644 tests/sha256-vectors/0084.sha256 create mode 100644 tests/sha256-vectors/0085.sha256 create mode 100644 tests/sha256-vectors/0086.sha256 create mode 100644 tests/sha256-vectors/0087.sha256 create mode 100644 tests/sha256-vectors/0088.sha256 create mode 100644 tests/sha256-vectors/0089.sha256 create mode 100644 tests/sha256-vectors/0090.sha256 create mode 100644 tests/sha256-vectors/0091.sha256 create mode 100644 tests/sha256-vectors/0092.sha256 create mode 100644 tests/sha256-vectors/0093.sha256 create mode 100644 tests/sha256-vectors/0094.sha256 create mode 100644 tests/sha256-vectors/0095.sha256 create mode 100644 tests/sha256-vectors/0096.sha256 create mode 100644 tests/sha256-vectors/0097.sha256 create mode 100644 tests/sha256-vectors/0098.sha256 create mode 100644 tests/sha256-vectors/0099.sha256 create mode 100644 tests/sha256-vectors/0100.sha256 create mode 100644 tests/sha256-vectors/0101.sha256 create mode 100644 tests/sha256-vectors/0102.sha256 create mode 100644 tests/sha256-vectors/0103.sha256 create mode 100644 tests/sha256-vectors/0104.sha256 create mode 100644 tests/sha256-vectors/0105.sha256 create mode 100644 tests/sha256-vectors/0106.sha256 create mode 100644 tests/sha256-vectors/0107.sha256 create mode 100644 tests/sha256-vectors/0108.sha256 create mode 100644 tests/sha256-vectors/0109.sha256 create mode 100644 tests/sha256-vectors/0110.sha256 create mode 100644 tests/sha256-vectors/0111.sha256 create mode 100644 tests/sha256-vectors/0112.sha256 create mode 100644 tests/sha256-vectors/0113.sha256 create mode 100644 tests/sha256-vectors/0114.sha256 create mode 100644 tests/sha256-vectors/0115.sha256 create mode 100644 tests/sha256-vectors/0116.sha256 create mode 100644 tests/sha256-vectors/0117.sha256 create mode 100644 tests/sha256-vectors/0118.sha256 create mode 100644 tests/sha256-vectors/0119.sha256 create mode 100644 tests/sha256-vectors/0120.sha256 create mode 100644 tests/sha256-vectors/0121.sha256 create mode 100644 tests/sha256-vectors/0122.sha256 create mode 100644 tests/sha256-vectors/0123.sha256 create mode 100644 tests/sha256-vectors/0124.sha256 create mode 100644 tests/sha256-vectors/0125.sha256 create mode 100644 tests/sha256-vectors/0126.sha256 create mode 100644 tests/sha256-vectors/0127.sha256 create mode 100644 tests/sha256-vectors/0128.sha256 create mode 100644 tests/sha256-vectors/0129.sha256 create mode 100644 tests/sha256-vectors/0130.sha256 create mode 100644 tests/sha256-vectors/0131.sha256 create mode 100644 tests/sha256-vectors/0132.sha256 create mode 100644 tests/sha256-vectors/0133.sha256 create mode 100644 tests/sha256-vectors/0134.sha256 create mode 100644 tests/sha256-vectors/0135.sha256 create mode 100644 tests/sha256-vectors/0136.sha256 create mode 100644 tests/sha256-vectors/0137.sha256 create mode 100644 tests/sha256-vectors/0138.sha256 create mode 100644 tests/sha256-vectors/0139.sha256 create mode 100644 tests/sha256-vectors/0140.sha256 create mode 100644 tests/sha256-vectors/0141.sha256 create mode 100644 tests/sha256-vectors/0142.sha256 create mode 100644 tests/sha256-vectors/0143.sha256 create mode 100644 tests/sha256-vectors/0144.sha256 create mode 100644 tests/sha256-vectors/0145.sha256 create mode 100644 tests/sha256-vectors/0146.sha256 create mode 100644 tests/sha256-vectors/0147.sha256 create mode 100644 tests/sha256-vectors/0148.sha256 create mode 100644 tests/sha256-vectors/0149.sha256 create mode 100644 tests/sha256-vectors/0150.sha256 create mode 100644 tests/sha256-vectors/0151.sha256 create mode 100644 tests/sha256-vectors/0152.sha256 create mode 100644 tests/sha256-vectors/0153.sha256 create mode 100644 tests/sha256-vectors/0154.sha256 create mode 100644 tests/sha256-vectors/0155.sha256 create mode 100644 tests/sha256-vectors/0156.sha256 create mode 100644 tests/sha256-vectors/0157.sha256 create mode 100644 tests/sha256-vectors/0158.sha256 create mode 100644 tests/sha256-vectors/0159.sha256 create mode 100644 tests/sha256-vectors/0160.sha256 create mode 100644 tests/sha256-vectors/0161.sha256 create mode 100644 tests/sha256-vectors/0162.sha256 create mode 100644 tests/sha256-vectors/0163.sha256 create mode 100644 tests/sha256-vectors/0164.sha256 create mode 100644 tests/sha256-vectors/0165.sha256 create mode 100644 tests/sha256-vectors/0166.sha256 create mode 100644 tests/sha256-vectors/0167.sha256 create mode 100644 tests/sha256-vectors/0168.sha256 create mode 100644 tests/sha256-vectors/0169.sha256 create mode 100644 tests/sha256-vectors/0170.sha256 create mode 100644 tests/sha256-vectors/0171.sha256 create mode 100644 tests/sha256-vectors/0172.sha256 create mode 100644 tests/sha256-vectors/0173.sha256 create mode 100644 tests/sha256-vectors/0174.sha256 create mode 100644 tests/sha256-vectors/0175.sha256 create mode 100644 tests/sha256-vectors/0176.sha256 create mode 100644 tests/sha256-vectors/0177.sha256 create mode 100644 tests/sha256-vectors/0178.sha256 create mode 100644 tests/sha256-vectors/0179.sha256 create mode 100644 tests/sha256-vectors/0180.sha256 create mode 100644 tests/sha256-vectors/0181.sha256 create mode 100644 tests/sha256-vectors/0182.sha256 create mode 100644 tests/sha256-vectors/0183.sha256 create mode 100644 tests/sha256-vectors/0184.sha256 create mode 100644 tests/sha256-vectors/0185.sha256 create mode 100644 tests/sha256-vectors/0186.sha256 create mode 100644 tests/sha256-vectors/0187.sha256 create mode 100644 tests/sha256-vectors/0188.sha256 create mode 100644 tests/sha256-vectors/0189.sha256 create mode 100644 tests/sha256-vectors/0190.sha256 create mode 100644 tests/sha256-vectors/0191.sha256 create mode 100644 tests/sha256-vectors/0192.sha256 create mode 100644 tests/sha256-vectors/0193.sha256 create mode 100644 tests/sha256-vectors/0194.sha256 create mode 100644 tests/sha256-vectors/0195.sha256 create mode 100644 tests/sha256-vectors/0196.sha256 create mode 100644 tests/sha256-vectors/0197.sha256 create mode 100644 tests/sha256-vectors/0198.sha256 create mode 100644 tests/sha256-vectors/0199.sha256 create mode 100644 tests/sha256-vectors/index.sha256 create mode 100644 tests/sha512-vectors/0000.sha512 create mode 100644 tests/sha512-vectors/0001.sha512 create mode 100644 tests/sha512-vectors/0002.sha512 create mode 100644 tests/sha512-vectors/0003.sha512 create mode 100644 tests/sha512-vectors/0004.sha512 create mode 100644 tests/sha512-vectors/0005.sha512 create mode 100644 tests/sha512-vectors/0006.sha512 create mode 100644 tests/sha512-vectors/0007.sha512 create mode 100644 tests/sha512-vectors/0008.sha512 create mode 100644 tests/sha512-vectors/0009.sha512 create mode 100644 tests/sha512-vectors/0010.sha512 create mode 100644 tests/sha512-vectors/0011.sha512 create mode 100644 tests/sha512-vectors/0012.sha512 create mode 100644 tests/sha512-vectors/0013.sha512 create mode 100644 tests/sha512-vectors/0014.sha512 create mode 100644 tests/sha512-vectors/0015.sha512 create mode 100644 tests/sha512-vectors/0016.sha512 create mode 100644 tests/sha512-vectors/0017.sha512 create mode 100644 tests/sha512-vectors/0018.sha512 create mode 100644 tests/sha512-vectors/0019.sha512 create mode 100644 tests/sha512-vectors/0020.sha512 create mode 100644 tests/sha512-vectors/0021.sha512 create mode 100644 tests/sha512-vectors/0022.sha512 create mode 100644 tests/sha512-vectors/0023.sha512 create mode 100644 tests/sha512-vectors/0024.sha512 create mode 100644 tests/sha512-vectors/0025.sha512 create mode 100644 tests/sha512-vectors/0026.sha512 create mode 100644 tests/sha512-vectors/0027.sha512 create mode 100644 tests/sha512-vectors/0028.sha512 create mode 100644 tests/sha512-vectors/0029.sha512 create mode 100644 tests/sha512-vectors/0030.sha512 create mode 100644 tests/sha512-vectors/0031.sha512 create mode 100644 tests/sha512-vectors/0032.sha512 create mode 100644 tests/sha512-vectors/0033.sha512 create mode 100644 tests/sha512-vectors/0034.sha512 create mode 100644 tests/sha512-vectors/0035.sha512 create mode 100644 tests/sha512-vectors/0036.sha512 create mode 100644 tests/sha512-vectors/0037.sha512 create mode 100644 tests/sha512-vectors/0038.sha512 create mode 100644 tests/sha512-vectors/0039.sha512 create mode 100644 tests/sha512-vectors/0040.sha512 create mode 100644 tests/sha512-vectors/0041.sha512 create mode 100644 tests/sha512-vectors/0042.sha512 create mode 100644 tests/sha512-vectors/0043.sha512 create mode 100644 tests/sha512-vectors/0044.sha512 create mode 100644 tests/sha512-vectors/0045.sha512 create mode 100644 tests/sha512-vectors/0046.sha512 create mode 100644 tests/sha512-vectors/0047.sha512 create mode 100644 tests/sha512-vectors/0048.sha512 create mode 100644 tests/sha512-vectors/0049.sha512 create mode 100644 tests/sha512-vectors/0050.sha512 create mode 100644 tests/sha512-vectors/0051.sha512 create mode 100644 tests/sha512-vectors/0052.sha512 create mode 100644 tests/sha512-vectors/0053.sha512 create mode 100644 tests/sha512-vectors/0054.sha512 create mode 100644 tests/sha512-vectors/0055.sha512 create mode 100644 tests/sha512-vectors/0056.sha512 create mode 100644 tests/sha512-vectors/0057.sha512 create mode 100644 tests/sha512-vectors/0058.sha512 create mode 100644 tests/sha512-vectors/0059.sha512 create mode 100644 tests/sha512-vectors/0060.sha512 create mode 100644 tests/sha512-vectors/0061.sha512 create mode 100644 tests/sha512-vectors/0062.sha512 create mode 100644 tests/sha512-vectors/0063.sha512 create mode 100644 tests/sha512-vectors/0064.sha512 create mode 100644 tests/sha512-vectors/0065.sha512 create mode 100644 tests/sha512-vectors/0066.sha512 create mode 100644 tests/sha512-vectors/0067.sha512 create mode 100644 tests/sha512-vectors/0068.sha512 create mode 100644 tests/sha512-vectors/0069.sha512 create mode 100644 tests/sha512-vectors/0070.sha512 create mode 100644 tests/sha512-vectors/0071.sha512 create mode 100644 tests/sha512-vectors/0072.sha512 create mode 100644 tests/sha512-vectors/0073.sha512 create mode 100644 tests/sha512-vectors/0074.sha512 create mode 100644 tests/sha512-vectors/0075.sha512 create mode 100644 tests/sha512-vectors/0076.sha512 create mode 100644 tests/sha512-vectors/0077.sha512 create mode 100644 tests/sha512-vectors/0078.sha512 create mode 100644 tests/sha512-vectors/0079.sha512 create mode 100644 tests/sha512-vectors/0080.sha512 create mode 100644 tests/sha512-vectors/0081.sha512 create mode 100644 tests/sha512-vectors/0082.sha512 create mode 100644 tests/sha512-vectors/0083.sha512 create mode 100644 tests/sha512-vectors/0084.sha512 create mode 100644 tests/sha512-vectors/0085.sha512 create mode 100644 tests/sha512-vectors/0086.sha512 create mode 100644 tests/sha512-vectors/0087.sha512 create mode 100644 tests/sha512-vectors/0088.sha512 create mode 100644 tests/sha512-vectors/0089.sha512 create mode 100644 tests/sha512-vectors/0090.sha512 create mode 100644 tests/sha512-vectors/0091.sha512 create mode 100644 tests/sha512-vectors/0092.sha512 create mode 100644 tests/sha512-vectors/0093.sha512 create mode 100644 tests/sha512-vectors/0094.sha512 create mode 100644 tests/sha512-vectors/0095.sha512 create mode 100644 tests/sha512-vectors/0096.sha512 create mode 100644 tests/sha512-vectors/0097.sha512 create mode 100644 tests/sha512-vectors/0098.sha512 create mode 100644 tests/sha512-vectors/0099.sha512 create mode 100644 tests/sha512-vectors/0100.sha512 create mode 100644 tests/sha512-vectors/0101.sha512 create mode 100644 tests/sha512-vectors/0102.sha512 create mode 100644 tests/sha512-vectors/0103.sha512 create mode 100644 tests/sha512-vectors/0104.sha512 create mode 100644 tests/sha512-vectors/0105.sha512 create mode 100644 tests/sha512-vectors/0106.sha512 create mode 100644 tests/sha512-vectors/0107.sha512 create mode 100644 tests/sha512-vectors/0108.sha512 create mode 100644 tests/sha512-vectors/0109.sha512 create mode 100644 tests/sha512-vectors/0110.sha512 create mode 100644 tests/sha512-vectors/0111.sha512 create mode 100644 tests/sha512-vectors/0112.sha512 create mode 100644 tests/sha512-vectors/0113.sha512 create mode 100644 tests/sha512-vectors/0114.sha512 create mode 100644 tests/sha512-vectors/0115.sha512 create mode 100644 tests/sha512-vectors/0116.sha512 create mode 100644 tests/sha512-vectors/0117.sha512 create mode 100644 tests/sha512-vectors/0118.sha512 create mode 100644 tests/sha512-vectors/0119.sha512 create mode 100644 tests/sha512-vectors/0120.sha512 create mode 100644 tests/sha512-vectors/0121.sha512 create mode 100644 tests/sha512-vectors/0122.sha512 create mode 100644 tests/sha512-vectors/0123.sha512 create mode 100644 tests/sha512-vectors/0124.sha512 create mode 100644 tests/sha512-vectors/0125.sha512 create mode 100644 tests/sha512-vectors/0126.sha512 create mode 100644 tests/sha512-vectors/0127.sha512 create mode 100644 tests/sha512-vectors/0128.sha512 create mode 100644 tests/sha512-vectors/0129.sha512 create mode 100644 tests/sha512-vectors/0130.sha512 create mode 100644 tests/sha512-vectors/0131.sha512 create mode 100644 tests/sha512-vectors/0132.sha512 create mode 100644 tests/sha512-vectors/0133.sha512 create mode 100644 tests/sha512-vectors/0134.sha512 create mode 100644 tests/sha512-vectors/0135.sha512 create mode 100644 tests/sha512-vectors/0136.sha512 create mode 100644 tests/sha512-vectors/0137.sha512 create mode 100644 tests/sha512-vectors/0138.sha512 create mode 100644 tests/sha512-vectors/0139.sha512 create mode 100644 tests/sha512-vectors/0140.sha512 create mode 100644 tests/sha512-vectors/0141.sha512 create mode 100644 tests/sha512-vectors/0142.sha512 create mode 100644 tests/sha512-vectors/0143.sha512 create mode 100644 tests/sha512-vectors/0144.sha512 create mode 100644 tests/sha512-vectors/0145.sha512 create mode 100644 tests/sha512-vectors/0146.sha512 create mode 100644 tests/sha512-vectors/0147.sha512 create mode 100644 tests/sha512-vectors/0148.sha512 create mode 100644 tests/sha512-vectors/0149.sha512 create mode 100644 tests/sha512-vectors/0150.sha512 create mode 100644 tests/sha512-vectors/0151.sha512 create mode 100644 tests/sha512-vectors/0152.sha512 create mode 100644 tests/sha512-vectors/0153.sha512 create mode 100644 tests/sha512-vectors/0154.sha512 create mode 100644 tests/sha512-vectors/0155.sha512 create mode 100644 tests/sha512-vectors/0156.sha512 create mode 100644 tests/sha512-vectors/0157.sha512 create mode 100644 tests/sha512-vectors/0158.sha512 create mode 100644 tests/sha512-vectors/0159.sha512 create mode 100644 tests/sha512-vectors/0160.sha512 create mode 100644 tests/sha512-vectors/0161.sha512 create mode 100644 tests/sha512-vectors/0162.sha512 create mode 100644 tests/sha512-vectors/0163.sha512 create mode 100644 tests/sha512-vectors/0164.sha512 create mode 100644 tests/sha512-vectors/0165.sha512 create mode 100644 tests/sha512-vectors/0166.sha512 create mode 100644 tests/sha512-vectors/0167.sha512 create mode 100644 tests/sha512-vectors/0168.sha512 create mode 100644 tests/sha512-vectors/0169.sha512 create mode 100644 tests/sha512-vectors/0170.sha512 create mode 100644 tests/sha512-vectors/0171.sha512 create mode 100644 tests/sha512-vectors/0172.sha512 create mode 100644 tests/sha512-vectors/0173.sha512 create mode 100644 tests/sha512-vectors/0174.sha512 create mode 100644 tests/sha512-vectors/0175.sha512 create mode 100644 tests/sha512-vectors/0176.sha512 create mode 100644 tests/sha512-vectors/0177.sha512 create mode 100644 tests/sha512-vectors/0178.sha512 create mode 100644 tests/sha512-vectors/0179.sha512 create mode 100644 tests/sha512-vectors/0180.sha512 create mode 100644 tests/sha512-vectors/0181.sha512 create mode 100644 tests/sha512-vectors/0182.sha512 create mode 100644 tests/sha512-vectors/0183.sha512 create mode 100644 tests/sha512-vectors/0184.sha512 create mode 100644 tests/sha512-vectors/0185.sha512 create mode 100644 tests/sha512-vectors/0186.sha512 create mode 100644 tests/sha512-vectors/0187.sha512 create mode 100644 tests/sha512-vectors/0188.sha512 create mode 100644 tests/sha512-vectors/0189.sha512 create mode 100644 tests/sha512-vectors/0190.sha512 create mode 100644 tests/sha512-vectors/0191.sha512 create mode 100644 tests/sha512-vectors/0192.sha512 create mode 100644 tests/sha512-vectors/0193.sha512 create mode 100644 tests/sha512-vectors/0194.sha512 create mode 100644 tests/sha512-vectors/0195.sha512 create mode 100644 tests/sha512-vectors/0196.sha512 create mode 100644 tests/sha512-vectors/0197.sha512 create mode 100644 tests/sha512-vectors/0198.sha512 create mode 100644 tests/sha512-vectors/0199.sha512 create mode 100644 tests/sha512-vectors/index.sha512 diff --git a/tests/sha1-vectors/0000.sha1 b/tests/sha1-vectors/0000.sha1 new file mode 100644 index 0000000..e69de29 diff --git a/tests/sha1-vectors/0001.sha1 b/tests/sha1-vectors/0001.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..624f905ffa57d06747479f0037cbed62bb3d5891 GIT binary patch literal 360 zcmV-u0hj*9P{pKfXcxX@O)388#mC0+Dn8)}Ch`)s9K2T{8C7g3D!n0ui7c9tN#Ko~ zuuv2JSOT9X`W9hXf5$s&PcWg&v_$8|ed5L_ADkNYUdYs#_i@X5Ckf~1jc7bp!XyAv zP`+XjDmiwkFN}2|T4x5kF!egd=rx7L+f2ZYqLk3`#5(iz}Co@I|SE zHkhFJ(R;zql?@e}dzkD{n=jsZa5giy@tmPRa8|~jCTt*=I5EgGMT?HIUHDO2;GLeR zxdmW#_#`04Qmv^&-9}bS4ybKl;xO0nM0!amJHI{me$k#n@iZHpEUZT+?!RvNmQuP) zy<8M^|9jY}V1$=_<*w-te=H^oln*%*Hyz{FOAthfW9WMy!%g0~bCaXsHKeDaX8B0} zslo50-tQQ7@9Di**V^|WRUO+bSiixoO!H>y=if0M%INmHPEd}H+%iOv zdAP(9+U3PDu7!fZ?m?FuDKxjDE-9M43a)ewS=it}eUnv;$c{Gj2h-f*vm`q1)cG(w4DFp* zv>~scmJ6<3E!<|?nGPtLd6v8_b=;*JaC9`v8ehW|6aJPgE`b`0{{(NK!f(ZefwRri zO#PCx&rKsX;;xa@Ys?n0(7Mf5L+_AlS_;@v%n@L;dwjN(LONm#|)jg#ms-DWmmvi^u+kukmrs#;~4u zL%4%|2hWqpf@gmZ6kTs6k*P3`L@RW$=oF;|st{%Y+_y}iwLdUPF#?exy6G?C&A`Bh z+hNlIX474&abKM9O%QDkR+n>Uz_A~eU(qHZ@4$c2>?cPlHE!r7^60)TD=FM9d+eN! z&t@rY5CZ_y{LA z-*%bAI&C1g5i%I4o8o2K-Q+3!k%$P!sag_MODWfYR&ga4-L^P;GQ6J@P_#YrXBjur)&;TCf*rW<7@QU)2J4Mm(y^ctbY~S^+`G z9> ziWQBOHy}GP1qdk!!#paU;;RfdvZ(hpt5~zPQILs6(T3i%q?=svj$(hX5QAd%YQfr{ z8j0C>6kZ+xs^shJdTwHZe9lTRHL*;Q&7G>l%i-01KwNnA$b1tO%_m1W=H?CI0d(d5 zjQz5C=TKnO9FicYkUx+%@63|H*uJe+0u_PS#Up_FHba{j>&r}B|EI&oiu6aVp|sCY z@*#HtDxmFsb~pkORhGe&hiE9WzJwTqSeIuaJXFNT1}DS%dNnW6l=XV$>O%wdQ3y7M zSIYCg^G*2`#ib!OVQw`|V_-~`bn_{UVYFtu73O?-O2V(lx?lwIAXJC!KkR}E#3sP{A z9+$%Nvw~$G`Pz&*Txx)=(i^|60Alp!2#igX=dKKk@tREi89R+X+&(Ufm#Q?wS?e02 zUt*&1zH0xBQI0I&P-FI=a(c*y4w;B?h7wYL$3MK;<~0rCP*h3=Al|sLGZO`M_Y;SAzL06x<+drL~O)Q2UU7!ymAK|Du literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0003.sha1 b/tests/sha1-vectors/0003.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..bee1e0bff37be5d343624e4ec81db387baea4111 GIT binary patch literal 1613 zcmV-T2D16Kd?hVd*T$?&WI;WE6CSyA26jp((n|(zik|{A&_~x6xWCsarY}H}@DG~C zwu_AV>-#HC@T63&RRTQh56g^O`4F}L;K~gHe~kq$@U=5` zQHZKt={QWaA$cE|?-tk5h>)vw6U*v7ED4hFrH~qw6|JEr3qdI-i0t{2=jHvohk))g z`bVbiaW>BO9o&uLI~CVg>7&ct(2D|!!>BaW9|#XgqWV}S>A+hyl|A%WuU0sB;$I&)3;sW%%14RKD*AAFBlXrf zvL$#txlH2NceLdYB9$g=iS|s>)z4H+xiBUOF3(h2yx?qA)RYK+n-M$8FhORLUuOvC zGjX&r`mv$BIl62z=21<|`DWnpl;;Z@Ny*dTO<16fU{@%A+@!iGIi}FIupcvUWi3E9 ze$C4k?aJUSLfsGt*BGBRA$zLOhoHb^P2IEREK{)pn6p7avMmyS5y%c^m@5a>DfWG7 zro~729nOmEw`XOjNLApz7#Pm7c#-Tg#GwS6WZjtPRG4h2GZ8*OB>LME5J4Q2?_+b< zu~UQFvYPBD{X&`Q#&_SUUmupjM=9_2n4fMhAa0AqiWAHEA@tb)eTqvq;_$&UdPWtq z1(=b&k$^bY&6TguKJ33;oOrBl!=HcVO{OLG9Gm|5&|V&E0~W;oA!55@kt4*eoknSp zLl8JTq=^Od_;&VEJrR)JD~oIW++_a=4uDHsuhyvH5*uC28P4mZ}* zHWy1bAPpLrIS;$>f}DCN4fNQPWzUz8#r!GkYthmT(P zG~SHX_kxVxvi=^(6**_-j6+_Gjk*!ZPq+n0w(4 ziIsJ2Eh)G)1N58(-+7FaRmi! zx?~s|M`Xs%i&i?eZ(jJNd)lk#kj?`Bi#(IkUR22u!CoE0?sm)&Zm7swlkB zW5?j9!zT|MqTIn65V3MVnW=7Bzvo@ihYmb!frT{G$g_{#o`(gH%A&N;4N1O=ksVd@H3hQ6XD)?*44}b zEkD?HJH(_Idyx|*=0$h*mRQ)ywL~;c?Y#&9^9~Kdv{Wm<5*QRXWfv7qaT5;tGuO3@|h8bDu zumN@R+XVQb?kk6pmfidlcNWE)C|=Ug(5$Ws?wHt<5U5HyppA2F5hVoDC)=l3Xay23s%ZN!JS)mTPDBpQ?{MsYiW z*s+ZO>Kyce;c37f87l16YhM&}v0r^+d^+GGn(X@< z)+=h{-ZRd-DdM*W{YY}Vr&Bs=&1_g-zVL!NB-OfJ340gNc=rlI`vqvKjIPrq8$yoi zrWE$y%M4A|V>p?|ba~P!E|gRY5afD-am4y81$Y6KuFeOIRje6c6rqwxT)(k~oJ1G3 zW^%)x(4ckF;iC)}XIfA2AT==dL_4&`R=@a_t{n65A?R L=lzJT^$qinIwKgq literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0004.sha1 b/tests/sha1-vectors/0004.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..6167722a2c4e8b63d1161a1e67e7be12056e7d79 GIT binary patch literal 911 zcmV;A191GU069tMXI=wQGgQ0ur<+2jf=+g-QkSY4M2^YmnwiL;NsO?!KflVPFE5(+ zZy8Mu6l#3N^U%b>;C5%mDesb+;+|0AoPY?cjWiJTryQ|S0`~Fe4znE8F@voE8c3AB z84A#VO@*zSbpu6b3hi@DB1|6c+nb7whFm5h19Q!aL}8_|05o6$Vdkezm|ve>mI30x zVYNR01ftZM8}vIne*>o_U?U4WlxJ54{qUwn$Hck5Of+dO;74ApX}mo6X-`lbmF~w0f5D>X-TTi=6euzE_PxDd zX=T<(Wx{z4J{nD2N+20i=`p^>I@gZvQms!}J;eVo$DloMza%fce7T>;(Pw^KN1^}% z<{>_3A*suS^i8G%{ooH|C?t ziqD`(KQ=L?pt!upymsu>-@7mv2+H|sVH5a?-BGQxJ3JH+HHedqZ3R-U=58Ydq_vlC zqs1jrODntI{xXji6Ru`l*Yeb4JB?e%22)T>e3D^-2ekE_)O-oog&D8qgP$}A*@~!J z^|on-XNTQ7@xt1YPolC(TY`^>lMaJ;=1Q^RA82P$wLT`n@aq2M^!diz_9pOya;VI0 z*6zQBWUSlC;pO*s@{aCTeSO>-+Nko;FxL&^Y;05Ig1%nCuiP#elK3;XOX{J}WNoyP z3mkG(C27yoc<7Zaa}a#)8BUOR4hX*C0;XU3(C=Kb#WNvnsRc%hBR6~bWrCD0o*zAl zh5Uq}Cy5paGum*OW-3@>;%q`Zg}( l9=&Y{Dy-~U&n6oUvT-ofXfCVOc(Clj?+k$lSODLBb;T5k#hd^D literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0005.sha1 b/tests/sha1-vectors/0005.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..0aa3593672a0706d0e4c778d16a87f025953a0b3 GIT binary patch literal 866 zcmV-o1D*Ulzg@m%BT0dFOKwmahojchhUCIyWXjWxU*^8IsjUVekx2CpVBPIe5>6lP zIwFdHO#G`S8AR|(tQ$l|Qzgew%15R=XlWRq2)BxrI@=wEn7SIdX4*5REHA_{Lb?zmUZ`bk~au_=xQYs@08E8fCbn1@B5*e4fSPumgUX zu<3YqYj*ZLD)z|~g5N~2Bo#vt&`5$NUXlA(WDGvru}!`l#=O*9pU+xir+(vSL|M%e8f6ko>(Wm^T+m0`xsQ9)F z3yH38sr4N*2BPQYpI3}gTHelMh|8sGc{LwNrjYXd8f z&#|TNK;DDB__f$DFr<9qt%e#9nUXVw*VpuXdajhix-88)%;!RUZ-_H{Pg7zM$q`Z? z+Z5_TEPd4&i~tLz9r9LU{P}OFP)=oT)BlY~xjTp8o3XM85?`#)=p|c0=t>S87y~H! zdPW>ULAuTxDo?0d7HwizJ7`nMzTPfi^JL3ECs<@EqRy%Vvf;Hj^uif}@h^*f3DP zi5uaGaa0cHw*oJ^_T%1b*Jhso0Qyb5`${vgzjSs+hKr@YG;Tl1x6J?E_QqikE*H1X zPvAO?z)7Fl$ih^Iz7bze_4KaCn4-;Ni7c@=1&c4J>7rF=U^y=X#oG5|?>K*D7UNBx z0GGN>1GL>vu=WVb*JS^_^g$M%haW@ns1KmaR5Qi9-UmOPJfr+?dk`q>k8jir6q6HL zwnK}3*p sam`K>5cd2>8;UtU&`u3XA^LZ30qfj8H>CQVNRBLf&lRns{upP literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0007.sha1 b/tests/sha1-vectors/0007.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..3e6322a8434aedb1317e4f52c5f249f45aed2f79 GIT binary patch literal 565 zcmV-50?PeDYjW?jJe>`I8Iz>Ge%2RlG#5laPD#X*D5$RUwxw-wNP#N zIj_8yRn}pav&Vc_=B2RK%{@DnFt-$bE21Df{{cV@a**BAyv@KGH+zGrdY7;r;)W@@ zt5%;M7{R~Sh-#0Z#KxsNap1b$E7OsKkA}|G4628e&~>5TRg4~Q!H>{s2g3{!RX9AH zqR``4a<_t@h<3T-pDpu(a~TWCv3^SFk>19Mz})t5J;5#`I$*r+bDQ** zVr9tO<4XE~_T#7suQ3B55ij{!r|6fC$FmU1%5V!FCv`tV)7v$+_8;-g^ zzwQ03CRu=khy6sZrmdk>a#kiOQ&(%hCJD@tRQVy}izC1ufr5W66mk_Yb%5=5Fw&bjQul&Z|&fdQcGRI^ZuE1&A)>~ee@Vl_K z5>*KN5lq10?Zgd5hB1c-xv^TSNxMOh5y<^r!9p=R94O>!A2Sea2r04UfwVcTF}37W zBJSaVc@*@D_=OFC7)-i@u$XL%r=LFE6#JK)GK%5|pi1|a$JIM0@4|U39j9P$*d4IuDHuQ89Keh=v0beS8c6zi#*B_WvMHBhif z0EqyuQRnhZLjdA&d$g(T8J(Kz*UkC%{ZGL!BKjA(ZWWB-Eis2WKF)RzgXUU!J%HF_Y8|dDWCqAH7&>;A+)r zk*&HBd~|D_$`@ll+|3X4k_a5h|6meh&jOV_B!*ricjM|@vBs|!Mcr+(IR~|C$5?$a z!1ouRts)J71;0w{k^_N7S`#(s%mdEO5;p+cU}&^o`=4&VZ{WR+1dDO(j}b+Z7_ExO zq5$oFV3$Wp&yKHqbv8Sq+zQ+gyh|}FWTAt&St;>N;Stt*wji_@jb4Xc38232 ztDc_L$J@A&=4hjGy(@2m{MHk0uqeC(GU-s3tu6j_UE>3oT;{`GuVybpt9Qxcd}TJ(GZ`1 zUZ@O_F_J^PF^vqEPli8TZc7==HGrcPT=1|Cn@7qPDWP0vs=6{*Dg?)xNVIQ+38PnR zOYJu|!-#}malj(DWpY!6(%G2YIPK_sP?nR(oAm8#cU`RP@l-5Svbia#lm$r6@Tf8W htEWc+0oE1|$4b$&r;kH44i=d3$L-YJw4*Zse=#2%B$waUZrIq7lapcj&qV(M1bM9p`4wosTHZcj*COE%ABr|{N?Y^!=)i?SXiFWnhk~LjK{mtTOs&d zNo(%thc|`elh22|ZV*;K3KS9Iu80Af4yPNOO!A_xwG~Ws6i2J@hd|S}R{7V;TaEXb z?|R{`y+Lgyj4m-Dvi<7IHb z4)cFcXH7kZF;JdQ+sQII=d@DB*P6)8g@q$u=hvpxqG~8NxzGMi8tK?`9<6>Z=y~iB z?#&fSIFqYD;}FK?I;ECc!Oqg;isNQNkcS{%L61Q?>K9QXU_h=5WWfUY<+MAuJT_Ya z+kCXjz50SN{pJvUcY2Kb@gT7~5_s$79AdMv0~F9&j>G>PtoIaGDyi>sQB!XCN9L^_ z!<|A)|!72#7F+X^NRuuhz~WX6|<;JL;+LZJ9_#*F0le< z>Wo?%I5MLj_^o_OI}}}@RlMY1akqpfgX&tt=tG3tWz64a!@#i_4(hVFz%IS*4&ET~ z8i9h_j3B$^NwlJfS|jcE=x`vt6DskVv{!|K1-C&z)Ys)V^2v9bM(O8Z;)Mb=QLImu zc{j##_mfO9?KCd^O`8D>0~G-gOB$Gg!4>r|T7dq=Sn%gZA94ANk=r-(hL%3Sf4WQV zJQk|^MjD9RPLPL9Jma*ZYr2~<^^f*VgK=lf*bUM!|12VK=>mY+x9=lEbH{kPe` zK5;Gw5oJ7fj~*A-|(+K1(f9D|}&E;NoXMA>JT!MP26lcSN6+Ud3s&sEd+Ug<>hK0g2e literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0010.sha1 b/tests/sha1-vectors/0010.sha1 new file mode 100644 index 0000000..7b81c11 --- /dev/null +++ b/tests/sha1-vectors/0010.sha1 @@ -0,0 +1 @@ +sưa�`h�T� \ No newline at end of file diff --git a/tests/sha1-vectors/0011.sha1 b/tests/sha1-vectors/0011.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..2069bbdc76f0a568efd0cda190b2b200aaba39a9 GIT binary patch literal 127 zcmV-_0D%9T^YMJCeH$ii!%lfM&vXc`_CQq~vt3juNI=6Is;;|zbCY&U`zqWOG#@dP zu|^yXmjJ017EzkW{GiAF-_Ur%NWyKtui$8M^_;~O?Ql5uq=w2#rmp`utz@GIQET`S hnvDl073p-xJ2~v*TIW#zJ-(r!IO|WEvi0+}E~mM{LD>KR literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0012.sha1 b/tests/sha1-vectors/0012.sha1 new file mode 100644 index 0000000..a12aa9f --- /dev/null +++ b/tests/sha1-vectors/0012.sha1 @@ -0,0 +1 @@ +m�ʇ̴3�z+�µ�[��H!�q�RF.5��Op���3�.�������$Jxh �A{�y8/s�+��-�U��m�^4|Oa��� �8=���7E�� ���!��x���?(0�h���C[�/$��!�'Q�=��Ec'�8�A�S�5�?����u�Z�^��|�^�Dx�����Y$f��J6�}��g�p�(�;h���Bh�@(����0( \ No newline at end of file diff --git a/tests/sha1-vectors/0013.sha1 b/tests/sha1-vectors/0013.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..dcc6a40f4e39851b6ef45ff67fd1a007a584dc8f GIT binary patch literal 972 zcmV;-12g>d@w?QT!yI!h#x+35{5rT+%Z&fKvIg+vIsB6 ze8InRulvWLDawnpHTj%5JSJ=ynMU!Pt?$!jx<1rk?vz}Px)ZpMXm!HIOy%!E-k4Zx zZGsxAE^BI&au3K5sC8lus0nj zd93H($3sPq-hDN|&=AJ8mFc;^UMuAt<6O!X$ANj}Sob{R75zf0b{S~LAA1K8w@ zG-0c~#sCHRn=vaBqHcie6~bJDWy|)U^AIBK8eF1p9`DoM=ak(Mcb>)Re(F}pG6YAY z>>X!2Be@n1=Rpfs8W>dTwhO;oyXHRV;>lQu_qN3z?&20$km#q zK2Fvf3cLy;S>Yddb0rn`ReE)hqeb=_@2Fg6$}&P8dD1TMtAUIE3jw_@KH1Yv)7Sco zTY-QJMCVtB|Ab%Mq_*QCTW07bnyQ>YsU@qxBQIV`N;#mtP9u$?8vg{Y|Bd09Ra(F9 zL51NAL+u%l7M2q$W}>_Zb)<0&!HQ|FPcL6@8*FtZt~cavZ*X4UejTJ!jN|1Gq*KGl z7tc!&(4s~nklb^Hzz*7N1=0v#9IeK0h0BQEO8f>`*Ivd3j>}yo%8yz-OU-Ob@@{8q zIZ^{g<{_m$uo;ydMSl;STJsiOxy>J4RI+q zl#=KzFNwHXzzyaBbnt81#2u-6m7Tdp%sU)DuBZtFwFY0@w6%CsNL-O(H<*!82#t*` zDsBoW0$)>*tQO+uL6%%trB^MPtj zC23%=Ypm)ZKP)f!W^-LUwB zvQgN@m@OC1An^i(FoM3+j%KW#2f)Opkw^dE52n|iTZA5*uTd#4jG0y8@BMu@c5$-w z;oo%Y!4X&yreh0!9TbXAy7BG8@Ke2Ki2(>D24$LX5M8Iw0a zVzp`P8Auz1SoTsR&W-Z95E*WR;u{R`#8z4T{CM`t)8eQn^C^Lz3EZ`I>}F|g+v&E) z3o!ej6jh+Qa5HeVFf5`mgdSZY*h3lTm)??JSQ9q}7376DCmNf8_>>zfAc2ohWzKwt sgK-Q22>4M@>B3&E`dxWAUvIIVu5TKAAI$B&lxnMqoC|G@7J@_|>H)tnEC2ui literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0015.sha1 b/tests/sha1-vectors/0015.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..f5fe357fd32050c80a8dec67bb35ea92ae88b5f6 GIT binary patch literal 2302 zcmVTu(Rh|wk&pOy>skz$k(dz!Cw zKHU3Vb^1$?n31czblx_k9}f!Z+A(d3C)13*(71CB4>z6W#ur>g7bb8_7efIfEk|qFcQB;dZHp zolJOKtciWi9?CrVkm$fAuPiIpH=@(;s>~e%fiMZ_gvfG%5~&fr%g|eU?Q%K(R>L(^ zo_hi5?2T*GD+*UKNNiNi1(#3a0|y)#$g1I69>cxyAD%S|u(|39xOe;-9b)F0uEbCO%y))QP0io~z@j$|DhPfV$cf zT-fx6!zH$ccS&j$hm2SmStU)T_H;j$?cO6)0e-6N3|l3sm?D**Mkfd-afVMrgL1b; z7WrdK-4kE5#t{Jf=iOS-dA%Cj@m3h_?uffYL6Tq_uJ6rWh~7w%r*Sbjp#lr8&y@s> z34M>X^|oF<@xE_Bf}&Ex4J1aNqwn{qSj&*B{dw!Xz3|rMQv#0PbJV0SIHi0mu>HB@ zVYJ3&oLwyfnSUVowi0tT5RDnF*&od*ifa;z`ni)M-;#PZj)M?j7LI?BVp=AbvB6tS zqj+<`?Y2g^k;@+koAQb?MO-gk$)m{u-)PB!64386mP`F2wvGj<;DfkDx@B~M0?;#n z8t?6l1|{Nb;y)u?O3j*V?tN23i!a%!U40`wh%o{TTwimWty};+Yq1}p85MzgiZm+& zB;gBLzUAB^dfV&-M43zqZ8@~Kq(bs>HpEe2JleW9;{8C7E85tYT1_ERoU?UDGB7k$ zhPX*$XmV(KsHq8KiXdMc6kv-CMD-sc1J!axyO-*e{wtThds(5^ocTS*;empHKV_TTyOGUI){Z!=LPn4gBeGgMAxb-Gb;WF3tK_nJZ^R+$24?#y`kBE^Vp1q8l&P-q z+OZza9gl`+TaT6zWgo^ABw_~yQ5pKor&Pr8)&!+OM1HknN`EbtlLUymO43|H;-ZQ@ zK;)e={foTL!3P;r?))St<=2H9%=v=iTJxRt{Rp)J2iX4f()2r>)!>xB!ZFAltF zbS6Q{kv2#v_ocscDZItS^B~EW@F;h7i4tVTxdNF)4<0!g;u(KOU8hWlDSZYTiiI%> z(0pf3X!+uJa|aUyve{Nn+M-?!NpgJ;pOMPgxAwe_NX57V8YPO3Y1!wrX*Ns4VTKkX zS_+gJ92&FU|cL!KCgw2<~HR{buG;n$c&6m>yoOm`0v@850a1EEy@ z6TB^8OlOV)0DL@dz1>~fL!%wn-$74!e+C1>oZf$VeB!+yAfyTTGTZ$)a+|9AxJ-XX zO+T_OTl~>sFG8lxQhaAKW0&hivqIHp_4`KrfzPLzqMZ88sY8+m9>SE3FLc7r?_aeX z2@1N4*(llJGbbsF{l4dcYt^Hf_hC#g1r(WL-Um^JmQ6VzEiS6neQQ#{FN~2 zB#vYYCk-{#lYh;`0L(@}8}EbL9W&1)4fXz6Z@#BxZltD0l%B^;3tUopm7%0`pQj6+ zT~O(ce~&^Bh3+X)?>OZW7t~y~T|N~JXC1AXYnYUOc;kT_0@(deNfSo?@Vu>XZvxl3 zAjcbA{k41sJv6OLp*^XV3C)S%`=-~7UECc)d@~Kxbxk`R+@5>Ud)tB{yPOefe04s# z6CrP2E-rLf#k1DfPk^*{d<9?D{(%vXdOBA&h;27Zc<04=O_*6mR6&Wvg{&Ne0NZ5W z^<6HG%OHIwHC66ZG?(Khb&TR6zdvpq=%J2kDjgTmFviOpjuDO)EVm`fmxhY0){&kg zkB8yB4gq}SW;}zqdi#j4?|b2NNwVlgn8EOB^G?`k$P|s^xwPxPnfmWaYyDZGdVb>} zqFHx<9uos;Z*hN4J_*Gc`vSTzr`%C3{Y^AVBouF2!yja{`A6_`9C<*kDPfKyoQvJL z(dF}vfZh3E+w#BM5h6!TpKvKWZ|qT0f2M+jz#nrr>XKxSKzO&Tv0IM+SIQxtK-1bw z9JK$_B!UB!DC0q{IJ2_vA67kPKvM#N~q?-`;@ z*3u;oe$NK@MA0Pnm`>qbbzeLNW7$BL{DFE$vJ*JqX>-y`$Kb z$8vUILV+Sl*Kc(+hGC$Mki2QG*1+Seqn#u1{=*S8)Owc7UYAHfq1l*GjzauEVm&QA zaal|6ujr!PTm1s@v%h=87wLBwY%u6DK5vD>a;z?ThsF5FVZ+UmHk@ifKMP&mxz#ar z)DBMH)qUEhpB_47@0ZuRsZSAxRQrn`C&C(!r|5N{h#eer_(af|2VM&1^aciJeyFhe zo{9;j3~pEaU@+XuxSPr@0@rluvu3r8{`6Z5yIwjkR~8X0k-udB%3&7v*!OC6e2G^K zhV8ao6kAy=ro)I)K@bF*dMFWguR5Q z`SCO@?=zz^NPn;)XgdmqqG9Atph_#Lxg|)Ld6pn>mx?uBkIPF@qX1eB^d7@K9ZEOU06#eUk6kR6zlb;CJGOmKEQIo$5dZfO!C+<^gh{jgZ09}lgWHB zv_@1yAXYG1(h0qv11yp#xeivt>NO~tj7v-bAzc0+9i(j!dVQdSyvS8JO%MsaUxqG3 zk9yX1Db=WMIp~eILT5x7(!xbYlLi}HB|(K`Y-+Pn7@~PG-6F?hJ2zxZNYx?7h(|_- zg~K<#QaX-RpGjtwg+x&TRdwL|lH=RawuTM1=#W1)b@)xim9Ya<%w_FNH~N6=onZ z9m_z~C~u#S%Q32#_hn{y1g}){Jfkcc-~K7?90s(*^74Gv-_YNy`EbS?-hL>6FedU2 z6gW%|wY)G7yv7qpxjH$?)=x~<9$fM!(PV#^%J|wUTJ$jS%Ep&tX0njy{!qq&QEICE zJlyY@`ermkKVh?YHU#HlAHe4t&D6>ABpey41>NVXS*(=lN+;niB>ii>baXcnP zZaUH|6V=WQB;zp=JCUwcuc^t)b6cvY(E~wPNXP5-u|Q;JI)__0PuTRVLn*S})>^N0?=sRW{46IE|rBC+~hxQ=SQmUue z_~m}*GQ1>nV@tO*W!wHx7IUGIud2S~N-j%BT|b&jLjmghHOe%1AjVn z%s{QuFq_p~fWn#8YCeE|91cO?K22c=SA*A?E9a1-zEr!bQaBTL#S!nU{}jfG++kv) zfJ2&wADO*OqtY3&VI=+rhPqH^488nH6WHk~(xge$az`Nt!BK(uJkWu1MK8Dty?eB9 zvYhYLL{7NjOa4}O*)z`0I%8k^H9#%U07ZCz`r*!fvdtQpoSjp$RTjBd^7SRuAfqAd zFWn%J>4$-P^{58psA~oPr5J^hTV&k%(w0RY^xa@RG@CJ9ES1y;K#}IV8Z?(8mJuBp zQmDV;s(JQ1Bay~=WTg!jL-dEFsN9n>b48mDMtbKXuI^IpHqI6boy0q@Ou8k#QS*#< zjjZAetQ6dx_~EC$-HAJ7XTP}*e`xAjl_QTL?9%a@p#KV~|JS$l-9vHB&fIkB`kk9` mg4X^vapKLq^ft2d-b;Rm4?!u|S90mk7!i!yvHWswV^9x2MKB%! literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0018.sha1 b/tests/sha1-vectors/0018.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..ea2d3c6f63096eed15be020b71de03a0a53e49f6 GIT binary patch literal 1733 zcmV;$20HonKxi-($Xo>|8P%36T|v3-TlobHsXzt7(J zKK%lW#>dMW1DQ0*x?)5;{$G};1bgs>)+r(*Fel8;aq5g+$CJKFHLJ0MB{C#N^Tqq~ zw>$PABNJ?d%X7nW%w{J4z~%H$-^~!N1!x`JOgm$Jwv|{jUvF&u%ymA_>%I z^N`R-QFwH>nGzW6?boD2IM??H(``oPLwKTV#B*Y|xv)cOKx1QM4wFi^``D*W;T~(* zrY7acL7*(k2&=5b;20X9BTTj%^jxfsVCDo(SjCk7*u-Xbv~43#>kV^D8PYG0N#Xv6 zS!0ym&pz&zUyhl}$L4~=urn>9@?5uga0H<%^-SnK_fg{(kwkYzoQ$+!h+xv0{7feSnQPgc;NNPcV=Wxb~BC6N|uu-$pfHLis-tJbmaBJ2b9?)5XeA2 z55nCV#+@I>wwHVfLS98r*WpOAe&EACP+Op&JPEziXK}GEFa|r3Hk&&tD?SxFU~oBVk%fCDB{`Q2B9aTV4q12)6S_JUaddOi5;5g878u}WP!lbL znUPRf(8h@c$-Ugu%;}Y5dS1dR60*tzVOwP)=+;%~X;}$EZkT0xD&*a(_rJkSi-T0leQC`Y=M^{hemg$Ae|xwYSRIL+;4y zaU$J#nIhXweGEh^DWfS3x!OnlQ$k6U+|y2NpULQsZ!a7M<#Cz!m%3X4g4>vlfo!5D zBUrCmSlAaj3m$3oDEp7r>{n&QGXuecv&3^}(Mfs|!3p-5=(Sjj5afBFTEMi8X0874 z!0T`(x^@HLf9M5bf#Et9A`&DT?uZ3kw8Fa6Dj_)afCvGjn(&`XSPG!l zH#h?UUN=<-#??oX^Mwn#y`0%(ji-=PP0Z6@c((Q$cZiGKW?K@DeC;Q)v1*p8adPLE zZ5so|?I2jIxA!@u42|!VysO5M?)}02nXyQqcCcRiaMLlKwgyFaV=z1$PnE+}wo}l= zD)v);?gy(rE!uE|{#ke4J^3mxAM2sr*>E}7em{qcve(~@1F>wU)eNtr%Ha?qJU!sF ztLW>#-Ho2adH1-Txz6x=56?W3Yh;AVf!^7L63*04S*DIE!!zdutl5oveke%_*+abq zcpZ9N75vhY_3}VfK{w@hw<#k=|o2KnS%qz!g^K<1&OKz#VhpM2W*)1rVqz=W;MmV2yRo<ioRptG}dPE(r_H02Hj74qi#7*{||P^qH-5 zUZ8APVR9BS67Cjk#HeW7SD%ri6atW<83$V^6ZZ7;s)_#f^7&lM4)*P^JVXby)sBprEcj}uak2I{0hwN_*53r zH&HK&qr%iVPfqn8-BRf(nSd>mRkE8&)i2aVoHMypi}T5s;_@Ey&koiXVS}lhnwbzN zqeM7Bl*xNXO1Ue$BA-jMwQhw9U2$jD1T%N98)E#WY!Z-$q6_lSab6wTV#=?5rO=0~ zSoA%ljWXcwfy V&~?rJ4f?-;$Qbh85>u>{TT}SmC+YwI literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0020.sha1 b/tests/sha1-vectors/0020.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..852bf27610492233f8c772e9a07b75425f73bf36 GIT binary patch literal 2340 zcmV+<3ETGlWMZ_}{}xWC$nKfG`$v9X_X`XC%A6ugsIU;hb_km)dp<{m1RW2gCU`r+ zK)D|PZq^1m0O=;TBU977|? z$K@16oMZs)2Uj*p}9U+0HWpYK@ zv5qTVo#P1aYx#4nn_BIqdGcmPs^5c*n)2YSE;x!*u?4ZSB$o<{qL67dn36%A8jY6h zP8*4%y1&VwI+8OeG+=qxp>A29;dMDAlhJ}qJGGm}fh|rqzE14+IxtWjGNaKCI_=5s z_^pJ9V>-=>@ibbnJc^j)*oVeb9zQ_yWCjaN5oau4=Y{R*Q4s*+{)52Fr;c^|qVkhN zed)UuYF*mg>;yD?meu4O)S3c<`5rvEAqTc*+4nM)64epq=758KJ`kr5nypz%K!@9j z2sfm;R!c=pMG_D9BX}UmC2W=19~$?SC=`e@+hZ|f@IwWe~X<%2~uP9-T1*0L(Ny4nH^mPN~0L9FP(QT zmKH$nxWMXRBt^|)NJnCsa39IZRURq<)>@y;XH$Vz0Me@Sw*F`zUsKOW*bMg0eUSn7 zS@fizUO%GH3aS~R8KnNEpluJ0M5g8bASr#Q(BI?Z;KRks72doVFxa_*mgM+C5w&(X zy~`iBJT;*_J#6=c0EJcIb99vs<1R}%BM0!53S}od^?Mz~H!PhQlwilO3>t(!KBx3Y z@FNIv1*g51J1s4}o}&ZGfl=;4+(sv&6bU<$g$M>s{z?Qz>u@Xmw%sRa)xo5jZ+3mI zDwu_{XVAYQTLa+H26SA-4YgPj850p#Kh$iXv{gbzgQQAl9{d7&Lua8cZV^}i9c(PkvxhJavGWrjAq!ZU zVU-*eL#9@O)P&!R>iGj-t4e&zd&#b2t?YAoHE%MvO4sG;5QU`z=z14RapVMY|F_

)rE%S^&%YdmigM& z)>M%l?ggPPGs>dY_6oGAI*}KTiOZRC{uvX+$$6!m&6)|rv~3F_V-w0zdTSE?`!kGU z4ihDZ{b*HU^cISzZ*FF;Q-)K!HmbZ`mXs1}uRA6P6&HvWL+Gh#e$?sqTWrfE(L(`v zDmvh0s0y$&+o*Lf7f%;d`Kb`J9H3-D;8Z8z6{s6Kh<=R?*}!Z0zqua&PD-hlVk?g- zI=aK^FdiuCY+7BjtK5PdJV$Q%X;2O?>VH^VHP^1^<-G2P1=!92hj^rV*)PBjlh-cX zkHAsz&LcD1k#2yB2AE>@5luzGlE{IY2OtFp2+K?Bpx1Gp@SFfajE8#VAfn=A0=_pJ zGDC0|L4nX4E-MHW;jIYAn2Y6PYyzp^EeiT}PA}wNNFS;|go6Zu^B8n&IIr8N`aWe& z?*lt{o*6LG7N5W!-0-nAh>R>vDJV!_cS>j!?#9U%G^i^Gj>^+z$De^SJgC@Q)h)^% zKstdH{Q%}YcddDKNV#J4_qI|!slM8(Y{u(nBsRs21#b=XCQ4tRoTR$*=u9UfpW(91 z{N5s6A%;!vQRo;~gqF`6TNx4a%yT1{tg`zP#DefWkdo3`QwID-_odvh0T7-V;MgZz z725`3)@l=;y!X1B%(bvyOU>2`jEAR znd5@WFo0>tu_^dF0j?n`KVc2KwD$ke7M9TOTVaU<&mYi`sX`Gzy^Ny~B3gV)q3yzF z823Kuw^~P2tV#llXX%=Vyb^IR!E&!#aXZ=tDuE zuObtNGwR44S-7H8t-pi5LYbS$r-#n6Hx+ZN`!Ap6K8Xu3z{&M_U38K~3!7H1{)1z9 zlE9E9)kn*AeKoMY6ys%Lwn{2=N35=M77;n#j-h zI8;fGYhan#aY{3aZk*`D%{iL_6y2by=x~8J!y?@0SLrqSZ?W2Vr)i4v2Qr9@Nuy#iC>BtWriA$A!L{JW;T{@YxgG7R z*#O-VPd{ur2A%0sEUd77@l&Exclk#3BbfVWhnOqO{5Q!%;+`s*%$Ti5-|k3NdI&|P KneRvipYJ=Q1B5;R literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0021.sha1 b/tests/sha1-vectors/0021.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..d52aad1a0ab7b418203a9de20530534ecd871ccf GIT binary patch literal 1462 zcmV;n1xflEtQ4QvKz1AcZ9)&?*2o>L`;#1>2^E`Vp!Ig8&|eV(H?S<3F1QYAH!s{l z;B)!hENb_6xgOa?Fo$e)!|B(V!^^;T&WGPOvox# z0aLZ+-v=t<2eJ~1=MIH;Isc93-YWgL{=qyS;`$|Od&~KnR}3@J(c5|o!$az}>N^%( z;m05u5SgLhq-liU1{|q{!`7uPjlyxz>8$9#MOYn0qcdKt(Ct>!HHIOkbi{_C^_M1J zUMx0I6y@VBg0xeVpPpTt?`--q4O~ksH}37wV8xlg_>aFDSTU)@BEE}5DD8%3u^oXH z0PgVXx%5Vaq$yW)pTvthw;qLpA=zc0 za&#oM?=vodz9yyEs?O`lV%Y7JPk zhQCwd{pxtKwhS>WWMQg4KT!}>+eZBJ5a}{-h)^F^nL)Y0udbq%QnEi9m77VBC$c*Dbo(`6)WmUdU>}hcHF(%R&+zQeHk(N*%UHLV zjJfSY%{_MNuFJhNd`5y`rQu15|2?1^0caH|TW!^dDn2_`cI~W z%%BFP*XZhSiW6c^z=(uXlm-pE;hXljjA4m9jq6m3RsN3SbA^KzA|&IVtW5MR)G#f_ zUHTTsNH!bRe#pdv_cg7>zJWL0bKYE*Co3Y(glw;pVc3U= z6+)2+7^lMKVnqK=h()Qq`RED7M{?pB&Wu=t)I4*nZOG^&Xust4>$R9?sB6m^%2NIc zCbvDvayw(#$E$GmrEsxfIIs7L`(EIzD@z-HUSQS3P?%`>#R28)@5oiK^hi*)PmZ=-FsRc=T)ZACG6WU8_XV5hPjG$rYfh-MVX#RMj@2 zM*ct&5kh^n*JSec&VoOk~%BURR8-gMY{UypPC;$8i6CCxb zIXj}o#bObg%mY>bil7qvcWx)Io0eHxaO5Q==i|fn+;w?0hN{wJ(lv;35ZY%`!d1SIwToGnzePZZ$RBX&!~g&Q literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0022.sha1 b/tests/sha1-vectors/0022.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..14d4c5d59b6432f35ee6282ac16b0bdb7cbf5c4a GIT binary patch literal 401 zcmV;C0dD@SGPBOB5?KUgg>T9kfy{$qVzCde2a|_#kSx}Vz&Nb3$1g2+;D0*9Sibcu zBH!^cDJ4JIPE{|%yQzj#u;{cme}aA5Cg}dfK6;ocbGUj)QCXzyIPMon-f7)0wG@g$A&y``#C5GCw9|bdkhXxR{A`uR$m+@Vg vP{VI-hWE70��t C�/�Y}]ρ�(�L؇g��fru��<��.�+�p.(wpI$�M)HP��Y��F4I��y���-�1hI'�qm���$J �6�y����S����� :�`Y"�������� *82S���%9���2d�Fc<�l��Z�p:O[���.��V��+9� OY��%�!D�''�qTB��H�� T-[������>$��#�' 3��bi 4�_s�)���$� o��?Q�l�E��J܇�*j�j�in^uD$/���N�v, � +�0@�k������g��� ��S���yO���� ���:��9if��?������Ic\�nW��Q +��X�L�ϸ��� � 8�l��M&&p|�KE�zX�2�9_(Ĉ�4qZ�y���R_���9�U%�deszG*b�o B&ؖ�����p�**��� ��b+j8X�� ���c�H�������o�1�O��� ט�����R��,���.�|׳��aH�]Z�˳L �6��h��T���fT��� ���꿺�|�:��ú��қ��Dfjo�R.������?1��e"�U���x ��+Y q!�Ȫ��i�#�����>�t؟�&��LZ�/��a�i�k����\�٤_ut����gL�m0�����_`H&ݱ|�طs֡y�x���Q/^u�M���'a�N ��;16��q��IbB�1U���+K$��I�~�~,�]� +_n��|��a�U���-�8��B\ٽ�/��t ٯ����☂���&Ok���@�ב�p?��K¿����O+��:�>�A�!�@[|�|ޛ�wB����iQND+/V����/�Y.j����s� \ No newline at end of file diff --git a/tests/sha1-vectors/0024.sha1 b/tests/sha1-vectors/0024.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..3249dca80d5a3ceef30a45afaf17162154b7a100 GIT binary patch literal 1825 zcmV++2j2L`BB`h=bxgY_r3#Hi8jFCIwG7Us&|r5lRNm>x6DZHFpO7fdyMxOm*6!5U zx}{)bSce6q&L3Fv5X7G8JHe)>yN4S#lhsQbrp-KK+kIus*@;1LIUs5GD$ywtfjYSp z1g1$n!B>$Ab+^i4ijb$xIEwRjVy($$RO}vorut2sWsTdA%fPvWsng8+SXZXS%A5M6 zDPLo1?<=OEtIbK;61BeZQ>w15T)Z} z$|2Z&GJ5VR*?R#aU((iU{VnWfd>XzoJwUfK8o81ej4rrDPagjDXlHg?D1Rg1dH29_ z3;6B;8nBC|T?U)#br<~i>oTOb$|+0k{bZDa%Y{eYx!7c5{v=&~qUxn>{XpletswP+ z?nFc)#{AX>NH&x-{HY+IJL~6xohnNSzW0Fjy^exHjP(yU{HH-?Nw0@M{nn`}O2!k< z@dsqnHaxim0t~nqY42nmh97Z+qB3e#Ar+q4J^29A()-g_bRBu!a&D$=KiZzb)VY4( z@Jz1Oq-14lcwEwj^qvGVmS~Ji%l*lGDAMQW&*YHvd2V!Ow4(!BYXaKLF?f{jSTn@N zH&tZr)qO__XpU9mdLSD=N&}DlX)&Jq8(lc{9lCfc#y-2+gk3R;A0Hw{2q9GPqTbN= zm_dH|^`{B*eg8UDxRr>NF_e(%y6b|yULTv^&|nMR7mv}S4Cw%jstj|ZRaVk^h!L?!=-I;LzUK1JV`hrn1$ zocgoQYmi!4>fDAOAG#He`K*!ExYM#e-RcVC(mf9>SDx+XZ7FaFArXc;!%lpm<(H!r zs;@3uCs20k%jRT<^1n`=u@w*j+1jp+)e0XW#(4e@wr?B-VOL_#-!3ZLuyIHV69^N zX}E{D8)#;a0~{d*wD`Y*_|TFY5Z6*xC#-ZQVp?1M+?uXdlYXl~xRSq)bY29q{5dLW z0;^T^{d@lke5A%p1B9H3>aQR+nHJYM9ijQI833rF7V?Y-3PuM8C4Y&Umx}X5x9|MBSjs^Ai$~qt;3#Oi_g7vFy~JT*r2$t*7QX!zRkT`nKm`9`>cfzo1aPaW1yKVkW_(NTn` zkm#heghCrK&h@{UJxqvQt#uWFOjyT1*}(a47zzgXFuh`UUu6Ga2A$FWVn7QrUR8a$y!`FV>3Xt;Gvx6r`p9ka~4 zMOuIpqoeBmC|XV+Tlt!~;@i;Ps=VUnU$t#0r5yW(1wbLi;oaDu*)S+?QMas+T%7D= z_sf6kV@MdoIO$4gV4ac!u#0~30|pzTDUe378FM2XX_i%_FzN)fe+ForQsE~v!6lnh zl9PL^jim3%zlUoq^;VM=o@d6 z49C3WNm<;lc@5rRJ;E0vMK?^F4BdfBe4~hj9(EA$@286)FIuw8W5@|;`GG+!NyJvI zHTn}yuTuA4s~nC0C7d31WvvW3PbUIyMByfE%Kr?n;8DnC11Se#g9*MB590G<)2tso z2Trc$!du+>_(QP6-Z|FmMA@mQL?1N0ST2m3tEQ_(xc$G+l8jHr`B~2yFByJYN=sdwqitSq;%_!`jbk;QdP$T z0h=T4U_2cFj(}7cOAAF&x16WfZ52U}}wLc5i)2I5tU= z82Pov@!2dkEzecAZY;r_n-;@gEVoR+`U6Hq>G5_C7=9t%Y<2vB=9Q0euR#S9Fy0FD zYltPa-gBtn3MXbb3_$?Ma_|{MmIf0Qs#`t@4AdJbtFKeQ1R1B#e+TKRWb(bT!=Ej4 zbHG7HpvRw$qYDwKt?m;) PLsxm){pMJPtvPDc`um?| literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0025.sha1 b/tests/sha1-vectors/0025.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..f61f3c3b49dfd98ad86dfb6073eca63f85ea37c5 GIT binary patch literal 2483 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 xpXO= literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0026.sha1 b/tests/sha1-vectors/0026.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..2613635ebdfd8d36fba8b268dbff16246448f734 GIT binary patch literal 619 zcmV-x0+jt=f28Aad0`Dgq3VqBE*jkG2^zC#pG~30tp<%7+;GDF7A$d42eCWl-{A7{ zylX7;M7zBY@QmF$qNBw_iOX}*{uWwicGkiqot(Me5t=_U9I!B8jO;bLW~71P?yQRs z%#dneh=*<_%pZ;;@Q--bfv~$yh~UVV9*!YkGH_(Ikvbp|K577u@7IOut?W*)1U}(O zA?Unfb9S3dV?z zk(GFAV11~B<|?JwkLT_q&T}}AW~uXKb1PcBsr|nB*(&RfCI`A{sy8td?TRY?6$UIm zK45;+*|feu-P%$qP?Xo^<<>(kZh%gqv!_yS2I?FZqL+I5JqW@+iM`FX{K=AT1NCba z-uSdR4Ed(pZd29t;Mi5*7SgtZj)F*f{>xx11wzewtJ-S#UL4I<%mDHiLP+es(SG$oQv zn!9^(D;>dfC!5)9DHZ{|nyA#KU&&z`FCzJG6#pyVin7jgy}WCyRyKSgL+iNM&F`-$ Fk2o}BJWc=r literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0027.sha1 b/tests/sha1-vectors/0027.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..6f63890dadf823605696dd784dd42120124186a0 GIT binary patch literal 2128 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 I_ClMEt1)7>u>b%7 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0029.sha1 b/tests/sha1-vectors/0029.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..11d9b307f1ed3e8a4f6e1119ef3691398b4ca328 GIT binary patch literal 1178 zcmV;L1ZDf>b5I-_!fs{`{?B2M=ymM5^O5YE^Z3>#D2+!y!Ytn=tvx-U1z($**lKP* zL_yJNYvQT%%vk_JG7zZdrdXHckop?!tFf|#EJ9~E^IFxU1H*JZ`nHcH9TAO1VAETF zE`6o7;MXt1@*OW62>|giTbO}3_2(hOW8pma)bC^>4FTv;BuiTF9U}hK-tM*T%=)|z zOn3vZvl%Q}*>~3EAX-_1G3#H*#~dN7%7BSK=rFSX~D zyB~@I`(P(GVLOS1JHNGi7bJIFO0qq8;TLZEaSTS2G4b?jNIO?apZH$V{PJRfkJ0- z6;M~u6&3Z^iXxe%nX?a=u9T84PcYm3h4Z6(tLRD}6`6n?f8W3b_q|xlU-)r*n{t#G zxUo(g_gzt0@py2U!7<;gom%)-V&nUS& zysdMBw3vq>La^n)W2N&nBK{pxoG!dKD@xv9es3x_lk+O}$PwX~Bah!mtNc`MPx(jp zLkgX4^DP0hGrwdQhGbC%aDnpH@}W0c`(aaKc;wV?q#UJk_GQvoD_ZqK;@KxgfL=Ahbn7#2ITZUI zPuFl}1fzPEgmbS99- sz9GN;xo8qcvBWIeN)ZEPo{UZ>(g5eC6hiVAja7mVv+!~e+Q7##YWfsYsQ>@~ literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0030.sha1 b/tests/sha1-vectors/0030.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..ac89ae1e327fcbcfc34c923eb373fca20a848a1c GIT binary patch literal 614 zcmV-s0-629kHKLk79wN-zvFycVt&rD!xnrVe#@#hP526}br2_7)*7sz@3vTgPuJd+ z`ctzFp}&JQl!`)uz=N(Vl3URWE!6WkH`B(nK_Z~1+}$ex;V@hUkXrW^SO>F@YLa-^_>j@F zcMFuE0=HdRK(uc!fW}4*7MHSeuvNCFx%Pox?hZ}gRm8NeB&2{Qg~T5O-@949{x+Dv zE79`u@tI9G=`m;{vzc}5eU)8vEDP9WR`ujKQ=Z;Z;Xp(&+vE*e+m-b%mG7^SW&yczrZCj(m&4fcLBep(TDz6XoQ=s3#2ZZeXuhek!tXN2)`d|5ZUNRAb z6dpv@bZ$9d%y5pm4&O zta>fZ+!Eh}s;em)StBn}gaI!{%1<3W&jQkNIDuGq#mVsg*V|-30>%bW4f|>+r%e0wn*KO($D4`v~&`c@64$uj?%n}NnCd-bu+rcAy&-Keb-ceIQ zi_@S>Y!K@*tp8kc2O1ZiE*r)kLHUNC90_J!hu{gpvv0dg(`U1Lxu~buw(QjNj%?#H AX#fBK literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0031.sha1 b/tests/sha1-vectors/0031.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..9da49c756b2559d6aacce901fd72296c5f139cd2 GIT binary patch literal 2111 zcmV-F2*CH&5T#g=8>SOrj-qp2mVZbbB|JM4F3YPw!plTH;1{Gvu7gcS*d)nNHUdLD zl~!kH6sz-zJZxUub;X}WG!dkng+hY)KM;;~wx_6d_->`-VBvLjjD*6rIc>7OHqZ*Xw$@y>c*Ex6|%oE=416mR!kZAbVCl zyjyO{x1J4=9V3!Ui)6-faKhg zK!9|QX9rkjsHZ=WO1+UAo!mSLK@RMti++IUc*^5W=Cud002w`c;$SI|bt1D6*u#E= z2P<2VAyCXnX9*;JG1$WlR7}iFpDs5*v7=g~3T%4=0*C%}>*#e>F<`hfR9$ z`fk|$&VjTe<-1x&ncw`Y9c?4vYzA3#I|q6f2wa79dFv2m#0H^i74nV9h?g^Kx8$Vv zACEUV9LV4`F>*ZBUTd(zqX7ZbHFDBjMVu>FiPEOef$dGs+lM8QS)CBSitpk}PwkAi zDf6?9Lh)Ad#eHM6j0(5p9vuTqBlj^=w>LY+3sLWwm(re- z(bcS|;6s3^FfxHpwlddedx;?d;qm@Ye$%y zG}?gJg$;@-c{78)3deTR^k!hrl-m|0v8C9hT?XF>9vqDS)3F{<21XRTzc&$9tNWx6 zN5h45Xlqmoqlxo*wvzexXpcBCI#`;g`L!0%#NTwh#QwwsGgpAKJ zba_EZbF0f;*LPpZm6kh!bMY9s$fl1mcZdA$fDVB-WE^G1oOC2GocefjVB4c)kV5dV z_|d6I;c~;IowgHx>dbGo3F2bPiM&DOB}AzfF6g^n?_jp#t1f<{ROP2rEl5BoDJ_a1 z_*V|8UE<84E6yig914Kppn#pQRLt%viQ9P(Y2wT`SF=`zM6(N9bKpSOnbD-w=GZ}X z;eZ_cE6(k@NgSl&VTE~qgEx)1%j70AzJSj@^&@aysZc*p)@-2GzEhA)dAjhXp89PC z8Ove%tH_Q%wMp*1p>{97^QC#2Sz)VW-uZ8wwsrBCAxUS4fsiE_$* z_*#`7OV;L(yXyf-z)egM=h!;o{h|ptdU=TOaOG&IY+=E~wq}T3;}aB7%i9%pQGgo| zuQCDQb^$NgVJ;-j_qy_E0*1w^2M4bq_d&UJ?OSf#4q*&|+ESJIHzsUT4%-GCZ(b3q zh|XcNr81Ls)Yr3hMkfG_9%}vWM3jcW^q>Cgyz?k<)Wzy&YbEWLiJRkgS86i5`aZAe zvD!O_CIs;0d#b&RGEhKuI69y>-7=YA@>RVeqv6^=n;mgN+_0gbuOq%lO)?}9hSZc~ zfQ^@5%xuVjem}VX*=O|yQz^LXu#HWLo+(3l+B_|J|KDHHP%NFX5R6E+`AzyfVx;Jh za_N{KlEE{Q>G&KLRYq2y zdU+oAFzI@}+q)z;iDw7^o_@tRR;m7P7SBAM9)hLW-u#%au+)k0@4$iYSx7j_1tX#C zz{Y;2<$>lF%X+0s>W;(37bsZswKQT2lgzO`v*^3EXt*FBL8x<6r6`elpH3)r;rO}% zEovo~$#3AYr|L_`=iQK}Bbh0#$IeV>xFsW@5(ch9(#4JJ(wITOF=CNZTlR^#(hRUSwEcn(X?$) z3&IRf@R!nm;8U#)uf=1sf*3)2v&kDI$-lB5W^XjatD%K&gW;MKP2fSqQ0m%~1pFt8 zqNo4wXTpP95a2G3MiK^hXdlJ?AC3Y_Anr?2G;^az@&W_nB=>?t&W z41iNNP~T#z*N>Ao@v7L>YgGXsZ@((2c^$+52$zWacjP$y2JbS+s?sWrPzTp;KW`{0cpok^kvfiLxjEB5Xv);SEVetSW)Y>Acyg|Kno1Kwt! pVCvK@`64M1UF)mbaY};m;=N*8c+e>zOKfY@$a97b-@?GRIM{`nB_aR- literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0032.sha1 b/tests/sha1-vectors/0032.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..1998e1cf9bd1f2ed29e0d403d4156ab6d451776c GIT binary patch literal 1675 zcmV;626Xu!Mbq}DO*rrG;_|oF;h$LJymfy*?6CNQvR^KKe_4V9q7&LYO--ZEE*tA$ zkUs;*)~k@mQV1ze=xFl%03i+ahkpGli&o8)iJ78cX&;O-#%ZnBNdip8+C!Q(mTbK1 zy)S)JK^gV>s|&!Ouoxh<<2LFVeW3yH_U{d+Rbb@Fe1@~gddZI>RIV&(j32yvz6-Ck z_?%ru;B0S_@(DAjQ7?pvM(2tK0`Dc1+$4B#zLjHxN{ePOeL0o1PG2ryxOWBZ3WU`L zTh&9PJiu@IZ#7Ri54&7Fm_r(HO;cB3SG2)?;SN{J9^1~8BSPdjUO zpf*kzWRU&CQ{tq#$ZR&^$g$~TLy(eUWOZ>(W$!|DOD%2_Rr7zzLncl^Cm5Qvo>KEL z#MQy}t8-G-6van}H<(H-VC|i$5mwG}OHtN9l>9gXx#^-v>%@v1PjXswFC?YnFbPlP zk)P@^!LAtvJQF4Og_GgvAMo^O+wTm;uK1H_|KVTB=c9IM z?5D=-DECqRh%6TdhZXQiWVhycrlO0|Ou@i*CYl-F96p3{efFHN_E(KTez=BDFLS6A zm!P9a2AYV*P!TpO$Ll$P>d%ydXovChcL#FhJ*RmQr2OdB%u<+`1#tS^5U6i3x9({c z14Bkzuf)*_hCnNNH#W^{Q2z5x-p=lS$|^1W10e6^+!vJ0ZG!iJOSi8Fge>7oO0c6y zMtergHQ|nx1i$fH>kuqgbO4o)D%0AK|98LDhIL2N=iDx1*0Pb-Er{?5WKib{Cu-(;x-)(i=U zg-HNpin!SMo?+hVrjFRAqB3lJ5xgRhN=R;$aaufD3o%gO>F=hHXsv0EPo8!OCo)u>qZ%M@KR=+Zp=0tUvSegzX#4VC&D$;wdRm=i7Us z{6V1&DjC7`r4(a(=4Iot9rKtff-P_@QilRZ5^~3+$%${{hYJ;yba?pN`<&-RL{Dvp zP>rc=w%>P z7FREH8a}SvozT|S0n}+vf-zPq&E*(30KxXpH&Kk$dF%~Cl=P{6!!&3{9hso;f;?Uk zPo{(%LYFR}?67Ns@9@-oMCh+GwelMboYz@$i6p%@Osv`*cd|@?y`PejUT|;pZe1@ag#U~%O`K`yUNKVH83hn ze6;j`Cg2f9HiTaq*luxRhPj;yP~6$-;|EhHhj;1ZhVS2to?zCVWIC_gxs@AtCASeE zWg5|HSZ}H`Cvo&N`hI=u%sSc&tZjlMMswP~Z$q;RPFROQUq?}6C)+)8)OhrDi0CMqVDdvms4ZQA6n<>UH<=0QJT{(3 z<~%X?{%ATwpIeaQemcRY>5cfF6nd)K$Rv@Ah(|xjh9IynGj;5@D}=BgV?w0M%`qD3 zKOlWF_ozZdvX2>0$`Pv~3ILOZf26&1LNcv?kHxwrlCM@(IFgeNG0gE;=VQs+J4j!* z;{Ug7xL^H(Rjr(=#s(P7k`{nI4@({(Su&ybgtc9MGL`Z`E(?`(087M_Hhoh%*VRGv z7y+^gRGm)v)lDys94hHt0L)YA6&qcoZvm)_AlfW|sQA)l6U}C6@B_926(P7Nt2oMP zIi#vE?wu{_e!8QI^;aZs;Ls{~aS))#0aTO~q9xRpuX$$gn_C!{fn5(Cr(6&(sl0e5 z+VV?7mei+Q>5qk9k$t6vB1Ml7599P1kC(a-@J@-3H?hSBQA4mbAcKR9sq>(A$F|z` VR8t*|CocV83plUG%5U4MxL!lhM&y0*m7DV__ zGB9Ky+5TFLU@7n?ai7XoOa&FSB?8AF-Lf4V442mFi^yuGtyiC9eJ&8g8v&zYwgHn8 z@EP#%ZyGM`_+ak#5h^-mDT`@rFU)Pt!AT?oBkiF2e`Vdg%d8%3bUJ zt|a|H2;R^|#6hQb>;S@3y8df*NvduCKk3&S@Ss9hkN?^JXb&YP+b z8q0b?mx^}v#Zz>NNYbv;Hw|S$lxk-if)0D2y=dLv(^bI+%!_yldi52<=9Rc^Hl3!I zo85Z2GNJDTtFTOlnQjZT&e1(Y5J8jBaz z*~$}U5=)7WGbWNtVI zR(oaMwQz85Ome7h#fK>@Pyn~1+lSh20>l|VKPGUTwsdZzIK>R;#mf zX@|~RG*`)|U3(#h@{?gJA0Ne<4LUw}!&t9Jk;dpcI+d*2muKS(NqFi?lF+BU6s;E< z8lM~$?ptl)?+InEB_mq*wd~Xd)dlNQMQ{vBer{!QvWVn(%xDuWw!1M5UcL^~4jZ6= z4012Q&;{nA+70X4euAjCgvyE75R!(?#QZ8&f?i9fOlYJFdoqCt3mk1LEm%l%hrfU> zY)2k}7HT66tklW66}7Y2TBGU#;%;LgTX(K1D|rK_2k2SFIVgB3B`q3w)Zthcj!?ifW?iO-uyU=f{4Kaqe^UspRz>% zHru1YqtnC%wU)DrTDbV$RnBPx)xq^VAhU_QnU2_8vKiBq55j)w`pM}8Bh-SI-Z774 zL%qhRUn(1DwgfxFV_0J(2fvhjf0EtY8pq{9t%RS(iVc3%!&!pp$xo+gW>+COqbfi8 ziFWW(0e#F^OoyIjuGU3|bWE~s{*hO?>@5g*frnafY*{-3RStKT@w;;%s&%x`HSNK5 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0034.sha1 b/tests/sha1-vectors/0034.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..b428d3eadc8277c8a926d0b6d41991e308c30c26 GIT binary patch literal 949 zcmV;m14{gsQ3lZirCa%7IEqYEH(jmI?dQKuKEO_};7J9F-(m1A^nqmf{hhYE_%hg+ zLmdA5ICgEq7v|NYl$fw!@1zz-BfzhSJ*`bgwZtxmw~vzi+j`h$obBv@HD>o>?;7K} z^X!&PbHYx=rfHE;oj~j6hb3Za^h_48miHkbvGflLs`S&RcbioSnXh>5ARzch9d^u3 zSixn&2bUKry(83Q=I6STP7^RuuML|k*2zAqlSHipw`^VfS1V3H11dYl!);k_DtaC)29vI2%g z0yOS%Zi6|q|CcA^8dF^zWNNA?VQ+W3J| zJ#)1gh1H2!54r{aV^mp}GwZ_%EG-7`3D|bulFmLSwLvNzY|cHygr6IQ`*lwfTvrNC zSn-q-=Lb5=hM$I0izs8PIyc0RGLil=np(nBE++CF=(m~#Wfh7`BPk*Yt}bo;r-Nr+ zVH99MtMXzvlvi94N0!-ViV>!1%=vLngWTCG2(PoEyyeG^s6EXCpYPt(pPmy_TU|0B zhK~aQ4MXF^B7asTS;8X;Lx( zG?+gvVu+)5&4>RYIFzhOC1Tt%Z z;^-pJQmF^SQ3j(gT-JwV=g0~?#zUEs{ctL8Y<*362>h(~;YXIj-Fk}d%cp=|w|OZv zu680jV~TmB|NgjP@)plg&PtrjpKcr|N2 zq&NhMfxEyj1-C!AZ-baR`r{tQFFVkhOMmXejA{cmY`&FKu09_E>y|!nEhC`X5lnSa zeMpzM`p@mY{W^$7WF)L3%CLK9Ythz|BM*IVELXv7!IRnRak*TTc=n&|0`TL;6Zz+z Xf_tGo?_D}R4%k^$>BRT>^<9GEVw2Vt literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0035.sha1 b/tests/sha1-vectors/0035.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..92b7b827bd7b4a57e84ee8561ccebd44f409e775 GIT binary patch literal 1251 zcmV<91RVPVdRU+JN1+=32e%DV_nvexu=9_U7`d^Jf<$=P+^5v5`=y+_*sGnCW<2zn z?ntro-Rwz2@BkUKW=0IMbT0liK9Pi|Cp@=0MR)a39{zsqRXSb}Z`Vz##h1nt2|Wf{X+AQ)Br7lIT%*XKgg=|Nt!<33`ONJy z`oLT-Yb0==HAS+xe6?zIxA;y1$yi^^_uL-bj|aDPg;DncXs0^x&0dgNUT6<`NoLme zn)N?h7X&EhGIc~^Odsdo059}~_SeH3r}(Kgc)yhu7)el860x4?gi^;IR80NTYm(4% zZ#(byLEi!OrXN;&H7ZJKM(g^GI46%-^!%L)^$o24X)ukFv@Zz z5-_V%Bq$~uQdZLtQ{%Uv2M}x(%68w<`{3(3Yp&)6AQO(n%FiqMZiwq^%_cT}``nwN z7rHsy>~^xAizVb<1qNwkepw<5*hHz|8-5j%u9a0~#r_5;@S!|^lo)CXqnOxQiRYRu z(yt(6g!&bYzPW;3mVeBg{Yd<!o~Xk)3qX{($Tur|Kb}p9`Y{xZAD87n*f0#V>y!Ncw|Z>_?ErW0l5d}Q z+YG|{Toia?B4R`<882!&mD}=HQ3@_W+JJe1P^nC&hGK^5NUWeVDq429y2uZ5l==VR z#CtUaK!`VJ{5Ulfzg4#dx_$SzdE$8UYx_?v=kF>jBr}>FJ56|>7bMO=OC?ip3X)I% zVRyYHLnt(oPv?Q>4iwkJ<`mi4?#LyWfwD~SErGGoFCx~INoSe;J{Hti&)ouH57obS zQ5K_{-L$?Gj`Xthv4fM!iU)u0+7(@!)>An|%!K#UK<&-Yti1YR#sKR*!~He(ey0_F z`c0WoN5Gi%pZkhmVX=7$x*y4~QhW!b6w3!9NU!z$^?(#6$F|7gId?DkM03UXJ zCk;7tI`cC@-jwi7wSFiSrps?sMGs0ebvBNBV#s8ZF!^L^BUw3k_89giG_$wEuQ1eE@dLbu&)Bvr%d_B>yvz1wO4FpLIv literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0037.sha1 b/tests/sha1-vectors/0037.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..bca27d85a826740be44be2b8d3d4c1c618d55d37 GIT binary patch literal 1032 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 OoSUjU@$tKkOGu^M?~yV9 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0043.sha1 b/tests/sha1-vectors/0043.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..ec5989d2cf1219deb146b43ff01c07a19305f8ed GIT binary patch literal 1142 zcmV-+1d019Ekov=u5bs9b-Mk$7jO-zJw4;h`s?Fgcfs)ZA$_I^31-21=A09cAvQa!ld)*|}dDi8Q6*B)gJn7JYv_0qTHw2!Z(p9K(9{7{qYh04xd!V(d~jXh;d zEAy}7kzFCmtVAVQf`ts9u$D2%qhVLCiP7mi1$(~IbWb9Xg$YrI%^n0Uupe-?O4hLU zMU$1g??t-rB%RJ$d|_*##>k!Q`od9%2`ZE(EE%3017oeEVksDWUOc>}O7hcQ7&(!; z$LY3<>_L{xjgh;1a7Li>;kss>Y6fXY;j@3)Lw1;6xp$6X zPdVS_HMvX^##AUI!IM>%ZYQ}r12GCv@KhKQVb9z&pY24^G=SR8QTuoAs9)H|w}SWW zGO+RLk$_Q zE*>%je1lUFHSd`&YQWBqnec`pri0J)ALWTNTX6kql4VOpP#tg(&%SD~Fqt_Ey@0C4 zoYG3Kpz&-onPC85UMX5YZ@NE`mJf(f7Vxo{aQliI zl+EsA?}v~zhZ-1r=XI<@g)ZVZ@dQF#^{!?;2efl?fqS(RUNMjsC=FEzm9%&x=5 z_4@u-o1%*o44#MKHGJyt^Xv6*H&>bqE8@L#lg%hW})QmfF5BERX I4mry1A-W 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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0046.sha1 b/tests/sha1-vectors/0046.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..5e98dbb243f24fda00b3f2c7009cdfc6a0b951a1 GIT binary patch literal 1178 zcmV;L1ZDfsF&KBI?n-bx9Qs_IAGyuG?@oX6R7u2SRvvl6mG*u_Ty&j$IDcy?{H?w)%y*ECoIESyzJtEUIr$2@`eqI90e#|t#}A{R=@hR! zB6(LVMD6o&ECF>Xe{&Hn*Q?3(8_)Cnvxz-j34&&H^TShXK`tF$|2kE2PBRX0 z`wUJT@V8%Wdur^<5?07Lcpus^)m(tRmA;MjoV3%q$HNVmHP|3%>Tc>NgmLuRtU`4e z;D&chft6p_WI=dt4j4s~rZj*0)Ke;(fsQNHyWAHT#m z*r&QErqO+*H$}&KeWIT1xRS|KbVP_Yx|@guwzXMhHD9|YQcj8WuE`CZ$V+GEXfh)7 z<)8}WvP^X}L^S_Eyv{B&%*mi%e`Im^XUeQcxu}_FkORY;i}T`VU^8OW5C2Cuz}^oG z)nrlc;8Uo;Jsbh6*Dzsj&TQ~jtkNDJt)UBzW%7%TVJx;phjEe+QBkT7s}H6zgdC|K z097*$Yy}dRg?QoP$exW7oWd^)~DM9ItDA0VZje(m^?t=fYfw%9O6G%t6~ z71Czm=Vyg})l9B4oM*kl9Tx4$`bZBB@Cr`q0C84V$fEc@P=@y0EF~>LCM)G!&($q{ z>E+GCkpSd;usj?TJvE1pxKlV|HY2b(zhKc%W6wN+)dp!qn8i+9{CEk( zt8yD0Ea>-mkSs~VOZI+Fp?cdbx7d?J-`Dq3>ly_3Ry#Hcw-m4H)?i&-Ym=q|dd(GM zA-9u%h(I*gzxdaeA2TR^KGJwrmQ)GW93w+2A!DQkLE4=(zZk$L{h$G@%IGg~QgfO; z%QN9GS0U=%&FDW6lZVRFlSkbej9BT4I`jxMTn-;qp)d`)NmeA=tVU&2g+l<_BBk48jAPuZO7(|Jx0O z)A~!{0g|Z$z3H|YiFN$Qs#cbA5LbF5OIllFoh;R~I;w<_Diy9(?|0`w-nwBux7|3upg*0@ucqdqFR#;FCZc;pw5)W_EHK4rp8| s#=~*XfL7l2Y2vAac8a7&2cbDWd%y%U??6Eh$LgEBnxP-#VCIo^7A%NM>Hq)$ literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0047.sha1 b/tests/sha1-vectors/0047.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..0a0f8b0f433c369a38af71a7a808a3fade618ad8 GIT binary patch literal 2133 zcmV-b2&(rOh!1({50qUdMDdoX0}yPER*rzYS$}lW#)2TX2ZpRq8%n*7t>?U;jB^D{ z&Vj{Gx;1$U_=QhHM!#SaIXamL%;EQdG#O!>A?<5JT*{Dm8o>}~$kJ0zX0qHws7;)t z;Eh^Pfo0Uv5~nO~rj}kco~VSp1P`OIqXuF6Ciwp7RIA`N8qlcjX!$B~ro5ft&Dm0{ zN%mZE6&cQ>JqMDEDW+i$IL~wa_pL7K*Dk)<#~6IQl3%m&X5{U}M8FjGP!bb?w#GAl zjCi^2JUMalNANhB&ErVw0g#oF$M!T4iIFlEa{(4s#^O zuW-!56T>QC`q~P1V+?yEwF}>7k*&wHBzo2=FU2a$)>;R7?xJvSv{-;#gD9o+5u&A6 z4yx}oqiUEerIFIL1@&k~#P$br)n;s7s-nP?|Koe?A$-F0zG!gs90#Bvacd8D5w1Zh z0!7P+n@+X2)H*TYZ{Mnn-0zoMHWk+mJQkHxJ9>c;z>SdBeU0CZi*_l%!CJSwou#R5 zX=e&m7g!h^We;Xmt>NL?B==Zl7j6`7_?Ze5j@OqK4OFg;xGrb$08018+NEO~uA2j| zot4chWjOK!)Dy$eRe!#Hgae0=TlZdcLM*;>r5H2{Zjwo9(7+nxc_HAw6C#;b>R4ol zfQ|HCoBvX}3}0bm=Z@sCd5a>>zMy}eH{MPAmYQW(1lvg^9?m!0$8dNJ-V`9K1B1&6c>BBkmRQbaww{M-fEzxg<^+C(+7xo%bE zDLDVTMCV2*b=oVKSGV_#DEo;jm};-qcJB11O)_py5epN zhd9fMt0#D_7nm02?zgs(BaAr=>Cf{>{yO;9;FY&iEcWZLbi-H};1h?{m|hZ=c#sTafY-#U|aWLG;!98?pgJHI;&ZM;Pek_Z*)| zVEsZ@7KIOOakz+x@nXQA78w)}iTFoDE|IF7rN-zkLcQYPDk#l5*GsL&_;S_tvhGJPnU@DCOJaG4{k-&SCZaF+D5H7jRh zb{dP&3UfGBL8C{4sw27GYGIyCnP9Y6b4bwprzNJma2u;PCZ=nW@W~r_u*B3^U+yj> z=^J`fY>%Zp#9bc)kbJE-PC6WEOGEY&Lh6WPB)W||AjZvoOw8c%SPbOYBp|y*Fnk=i z&Opl_QXgMMtx{aKg=-xhvjP2XdNk~3_wez~4bb%NC9X6U_vsjrjCpZw^~8Fri0zmE zx=2p4D{&Og{$dJ+9yv$FWRw!`T|ckLPGj7R!{QRZKgD z4(h7y5ukYBD8{*(F3>Ry5@SJ7mpY{JQ*PekYo{?9$nAYo;oQ zrD!yx(TV_pKy2KDL?ru{Uoq*oV5eCb9+r=j1l z9D!uby!1~!+$V9K(A1Q5IJ)|*_qeIw3C<9_vQmRonN`08imPnlDu?rGTDxY|>eMHV zG3$B6j-kVlmg+YSqom)w6#|KO_*85*&oDCDalo+5@0^^XDvA{;^RT`kT?4)+Xr2y4 zwJ}<>wZh-uNWUeRhMpnmRphRR8t?pwzBJIrFGj2kf!Sx-+VgsFu8%$9@4kOMQ$*f_ zd@_iRHWvSSXbM$btmA0V7s`~_$!rw>P%?_uCx=6w0S>kyi-E(*YnjU}@j@Vl&}MeK+2Q(N544l%!Ji@LiF})G z3SGQ?zb@zC2Nja;Eox8|0L5Fb5y)30NB>f**CmAM*;N`Y&UwH4hUcLa9kfBt`xi34 z$*DiW=)x-EOb$x85u{sV&>*WbisI8YOB_2OD9?YL^YwIFhAXkhcxm8R38nmWxvD8) zMw~cJV!FMwBLd#$-cCt-D%1Dt&~jyj%hn9yWWS| fymWrx!{+{`L2hmJ`KKp2Wu95g_Fv3HN>MsNW8|ZMpwui-U{OC#Z!EbG z+cYLw)HO~vE>Bk7B~yVS(8RUbV1_^Hs^1v%8Td-TxCL5rr`ZCc`j`pho5v8=4&AUF zZ99dr!|+tX1z{prDV6wDkX-1Wzx-ZQ$gkDZs>fJ=uA`^zMis;p!8$ePC&Uidgj5NW z7Dw!A&De*o1fCw^ue4V>7Bo@hf>@K1zM<7?ww8pEo@l_jd4>Y9uNbWe z=D>OR=i&T$>X#gpP@{iF)2f&mFnwl0V^W(XcuF!*@ z6=~U29N9L*@;YUF?V_Pzg!p9Q#N-4tGN|#gU@;ahxvTRU&kHD2p8Ge4UIaR+{~5&) zTRh*$R7_an@Jvwdo+eSALN+CD*KIJyL0k-h`l981$`&a)CEOiWa-fIfa|-sG#$ zn|}jz@8=0<&JPySpIFr0c)MReJ#sW$y`Xo_cM(} z@=W=E^Kg=-k-fn=5&z0k((naTOPMSWrRb=gk_nwYvl{vy0+$A_;4gFT0G@~M5ttZV zK8;Q}cIPQ{AsN<=X=G10O9QQsZ!~Asa4+AYvI%k``W#5N^cff&<4-_SdnOmH0Dj1u zNotBMO80o^I=?LoP_Zh8s{|6tI$j0ehHe6-2i!d$I1EQ{4(ZbYw&EZO~47o#;$CiwZ8(4Z|!yeY`(IPE?Oc_7` znEVF%k@gxHN}gO#rt|CNmt;MTz9R@8qqd89)EHvEdGAPyFMxy^l-ii+5>k#rR1T-#~n(FC6K(S30%3jq>Gt4qGEqf!> zIso64GO6aW6xL$ww7qYb>7-ISjrS+IOnBQj+0AxtJcqt*uhql&L{EP*5}KrIleHjt zhwG*((&q=nktC(#xWF;mk8;YlHm{F}(}*8nr3=J4p$P!Aen`hID$}LPQ5P8&^P|)^ zZ*a^Lo`jiHqQ8kcl? z8>zrh^JyHzkc<5h{xR2;^UhappF}J}YK_hJsGqbU9?{_e0CO%i&7E0G*Q|v%fA+Hs zyON(-I8 zm?5cB8fpI9ILOhFKphx jw_&=keGhx`ZgPmBW)S(qym&HXQ_PgW@{^$c)1B$bPEk-- literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0050.sha1 b/tests/sha1-vectors/0050.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..c3708a7c7563ecf33be8769546afe89e818253a4 GIT binary patch literal 2254 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 Twu03u1~f_68t4Wa@J#EG+z*#n literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0052.sha1 b/tests/sha1-vectors/0052.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..1474142e08787bd4d0aa5e9e5ac40fc4c7e8ea4c GIT binary patch literal 2373 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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0056.sha1 b/tests/sha1-vectors/0056.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..bbea7003036807e54191df7a6cad25149532497f GIT binary patch literal 416 zcmV;R0bl;@z53Mq{{*x)3sh^Ul=#lXByh6$WG3~JmgxgY(5{b3x#6%7`jv*&SX!V9 z$A~)Ke-@r?iE3s67Kk1c)BG+W>B1%e;X_b@bo46k3ybEMtf6Mp91 zVnXpQ5e->jFt`Afiw+e&5Q&a=`JQu;O5ae_G=z7oBn%`VZM#4ks%y{n@lY;sGn~(x z@0m}iW~n2)4fv)We9LF!pgA{#Wl*l|DiEkzE0C1YzTgz)aeOL+v(sPwKZK9qkZD)L zo1c4kOkV(SzFV4)ZYr)#xH}cU`Qnlz#GF2pRzvF|=sH$J*17Kus^=AL Kmkkn|9kb zO@Pj=~KJvv@h6982C{*i!aTMl((x6br$zDnfT2nHwsh5*z| z%V!CcYvpunh}4vzAeh4$RY|(y%20)RDzPSm7A`~5nuJIknwll$*m^^0^!;6 z5XSN(?Ai6jYrxUlKlev1Ql{Ek?U>SUW`7f2AauUT&X7|t>{|iFQ~88fKB9v0UnDDK z&$;B_-e0W|92gb0o2=H>KQTfr+z!E1Qv0jRK+pX9N=KI|TAA}4?3jg|ybG>9QxBB_ zH9*_6p~CFPm4UL3|q;AiHnW-dJT9sHc$arT`vxUxsNyoI_8`f%5nMbs3O zw|DUcDYQZ$2MZDfSfv3a@UZ~!#)H0k)w%&QNtL&&Y-%@Y1x&t8tovkVeWd{LAo=xy z=c$kciy~l0c9C1bsu~%#L|>_V&H_B!K1}@4^@WGYvvE7o$~mFu)I&&mab8l;YS_nD zMc5$Px=y1N%m4B4=}_NmU?NfnC5&WuQx7v!{B`2(Ep_!QT6(hKyuX0vTdu?FaJX{PKQEM84 zJPh`CWyZPc4|>epLU;E?*yQ$BoP#t@c+{Q6MxX!QhP4z-BXco&PvJsarERG~NO(^C zuiot%)Bb0)lkuzhZ0Mj|1mb|n`?5B8arIkiv>w?mprY$a3|fnkg~#<&4RnjThExRV zxU>4h--Wpf(bikwmNm3c419(m2LxnrOG;lw2`7;)vs3Kr`yC#QRmrccbYrjsVCQ9# z9Gi`|ipv5z1Q7nO7!aZ)uL7TbIL1d2-sKH@Pnclo8ShLpuQKeevTiPCh!HT6p$7TTRHVxmxcbvI4Sz=}GQmA=`geJoGJ*bM%&RYtE0HJ|P z7CtATAt`vJ@7aWsQFCiqo7^c?5-x}-Q#Vsdd9JXIX}IL5&%Z3kA{f$PKfQI-{+P@8 zq>wi5D=tw5tB_LF&Oe#zSeB!f30vRtpm_MUl72AuBbd{EuYUC>p6w+Zl_bk(zJRXj zMn>gLi>I}Ng0547*=k>obs^$Xa%F?%H-EM2sHMn+f^5%EH6tZ-Uv+-Z{!}SR5(`fYSy>Q+2P;guMA9F8uWrN1G-lQuR zK`6oZDj7M6bz)0>0UuNYh$Sd1FaXD`cPKm&VUi|~o_#sRnP%hbf47a5E1Z{hYCza? zHC;s6BmL;!2`W|K$c7{-3w8Z|6ISh$f@LQaHDxy~ei4h23R;mqwiN(x#;8k(?^#mc zTbLQgf_Pz=v{1}aDrEa1HWk&cZc&1Di%Z~Ur$&QjGJnX=y$3bmZym%T!e(>*D!B zT=U)jNnbcbEItyj7^g3-jsxQ*;q&4SbA2?>`FZd+PZkj;3?82k2|$NOL0Vkmw%Re6#@e5Lo+ z)ymm``Gh+d0F1CebQDz}z zPT6^6Y=f&HiL$L(3E!}7i}xLMVPr--y49$co5_+YeuyRLhWO~7;041YtuzZL6P&5M z=P6*S%Ym~&m5+<1^E*f^%9|*rUHbu8#JqbA%F&FP1e2sr+3ecMiv@J|lLDf0V#tbq z&hurP50BaNBOk>KvZM;DCM?pUdY&AL#)@Cq4;4$P-*4U%r8IqUH&SG3dFEf4XH*&u zsM8j9DM}y2il^1Z&8LWOxNlnpOaTkjGZ9)&C}6ME>1I4>=t2Q!IEXATN8K?P2*gI@ zg440luC+N@hP8{f=W~tAg#60Fw~~8Em9zQxA4>jYPtyAQKd3I!~e7RqQ5nFMiXKz;94*_?DAb zvIUoN3aEG?)uS38fuTLcT|MSjIb*i<1G-Xx8xj-5&Akb^2^zlv=Q7ZSj>bfkD)1`J z_8+^cZl~QcW=(sVv7LdJb5Rvxn!BHCk~=ZYJVp2|D6(MA8IeDs1^m7u2tvG{X-_-!l z$%VTZ`#?AP$Pl-%^FA2V_QRm*lV`BiR(2Sh+v2)GXs4uaogpag{VDz-s1vv4()d1G zt0ucjbSmGyv#R{POk~-r%}>}7TIagO@atKawpt*F^dDD2pkNr zY~yUmtuFV#we7h)Xpt9lXi0u{u*<7nEx92Z&--My?M}~8_3lr0)^s@i<*e1^w?F6Q zv-m}>(JcTC;?&COF5=$!sLG7Jg+D$kg=rNMibo?3a^P7UA$yHvOMJMI1EK10Oe2O7 z9OU2u<#A|9;p2z*?)!fI)WTF48k)J5A?mkX%=tb`gKh5V*qAp8J|eMp-Xh1%c>V`k zy=~RJmuofrOHk4t=(T@K;Kt*cckio!{tN+rWrgaxuKG09lOG5k#*-%{k9rM>j)AI_ zGE94Q`tU1y;QNpGDV;F#v3;TGq5!ivybet!4crQGcFa%Eo$z#U}Kkl^A zI*3W7w{tcC`c5FJVwcUdl9;Shp9wR#gj7oz$b*dE?k!W-c_(+7Gy%U2kqX7yV_xO0< z^6-p-0vyHWLMcBm1Hy^mtZv=JxV#o7S+q22QMPeZ(X^>okr23Em`E%M8&@>n^8i2fI(cExomvEe|n>u@iCy^ zS15Y&+eEa?U!))9&3c;$zzy3x5X0u@EGqN)r|dE8*O#B&;nOm2PmyQYFpiV;|NDRs7reMxKffSv5#@ zdUKK2=%Qs?WL+p3O&zk8l7U>WSdaY?f#l&tU59wOna=N}<<2x7U;yWWy(-Msn$f!} zCV>3FNu zrLsZB>ucE9TUCcPXzAehZg6SUAo|NOi^6i|T6xnlsA~dKcLf1F9`*;xD_rEMz67m| zldQBj4gPmeZEr#y*n0?@D({0PgWDad9-bpCm#BU#>klpD&$4C6f*FU7ivQ_#CW)ae z$Zw-@TBWhZXvwFQszad{EOF$^-gP@$SILZQussg3`|yv2JQ>hJJYBBWoLc*mQMUsy zDjUu}Ho2*a&cLXXQEp@hqdA!7k-H^JnY1B6YpV<=5Z~_U+YV6c1hdfXvW#yE>hfP^6ljGlN zD09z_cCtVrBEj-#P1U6fy%)3ug_cGybpH7z(L8Ycl3L?$C_Lk^eJg&|k02RLS1YhK z7P~sj;v#U!Q~vuA6jR$5ZAC7YQIE8d?ztHIH5MV|QC>HJ6}vaXHR9dw8D&uEqT7ZUn?W^@F#rhS zL?2`>Ayj`X^IA|GmzjCb;2`j({mS{1E^07isK#2@mB@Z^r48K?f-K8^u?eOMe$&yiw(<wn+O^kXX7qm#P3`r$hq+uT>oGAG zOc;l+HN!3KVBfLR%x2O)+W5jDn){5A!w2Azz($T%24GYB9yd9%Vk}!^kXY&-sTMXF zCeO-DFxQ^CJI*Yu!(^)}P?A?TOK4NA`yZfSQS`I~^dcwfaa^b#P@vB?gGwhDM7 zf+5X1|zH<#CIGztUzr_z_Qjk_>ads@#x|H?i=Y z9r;%vPmF65@c&{V9i0Oig&J4H2fmv2eowaHUKP*BeNpg$(gNJn5N6WWozFbBH(4z- zxw16>feaALsZ<@}b@l@4FxQO!0Ps~rY+iw078N1NYf*|Ql|gl_HWm&p>(JP@rp~#> zqYI>b?Lr`YyS3?qld`-MFtF4u920A~Kqcokb*rxgU)2x-Q?|%`L~>~qr>y}yLqU3A zBbyvm_je7H;*^NOKuq4NMih_I|B@YS@FoUms0bDZI4>agx|c1jcmWcuLioBJnl(w`pRD)N%YH6D}TBy!`G?%BIvTYuK*tK0;aM%gIa8~gdD@}26XVcxgK7~ z)4IwK+RDhu(S~h8;AV=-0gI^H+#i;A)-%zTI4SHAQa3xpdw;9W(y$=ecRk#4#|(>r zY|;keDDqV`-nOrWK<-WGqxi14QWD%eK@I%%3v&LMqPI)axDH3D33)q&rh+SCC0Tcl zdVu5G3h;@bnCOlL4~@0@v;sZAW}={c#c&*5ujJosx^4TR^ZE0G0R6=c{04aRqU1T4 z2fS?gG}a!Myayz82ebdB_HP1G@x~BK7^Lx&rM214Cji?QCvFSc} z=LiHch8@S&zF>g_Zz0aM*&Y>r$U_>O-;f7-#$WZOOqGb`QIJvcw$+*6dIG+Ic_4;b z9JRBR`M1EF#9;e2i;N866y{?)5Hb>+j*85MR63C}nIkqmX3(TipKsmRapywS+~DFH zfV@-WVyaS?q6jCoJq2<4dUId5VN7BZq8ryz2CyAVRLTNT3YzIIoG({q)Exz5#u>XW zA5EcRf^yfa|CG}cVVI|8%$jN_sI(M0Lf~oU!+CzmvMFVWP}R=7j)#86U=q~coPitr z)*S)!hxMPw+vb_nEKTwkrd?o(3-;~+Ajnp9pc=ov6+Hk~Dq{R-wo*y?x9x=@@3y|5 zz&FPoZdLAu(a6&D1#4{W7JC?Zz-V)9d)iQlri1UWmWAt^jkqHe72faigPVFU*<8ig z<#Sqi(D2pnpDS}+$91u_1bH{Gg*icbS;x^xr6 zJzhNf>ukau$ZpUFa{APvuYEvEvL45OAiHXl2tpK4L;qS5!w{j!Pf@<~YQ>x$Pp|As z*r9ld&VJSv1ZtEa>F-Zp@^|irDUXYr!Q!Ec@$hN6uUK7W7s7AN5H?5OSH)Mgv9$_; zlBHk8tor3Yrcp&ugz~ydhx&*BF&41v<6_0q7N{yg*E`21ohvSrDDWJm1wum8x!OLq zIB|wn)lF>cI5mjOZ21-K^zIzI(Jn3*aTnnCt7$rBiX+37c*v1aIx`y}ss-66n64XV hIAV)`j}Ursaf@4quSwKn`ITNX4MWt&@0$Ps literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0060.sha1 b/tests/sha1-vectors/0060.sha1 new file mode 100644 index 0000000..ebd9612 --- /dev/null +++ b/tests/sha1-vectors/0060.sha1 @@ -0,0 +1 @@ +[z�مf�֜x?٠4[gL�-[�J�h�#L� n�E�!r�c��K��l6HcO%�ZC�j ��TZ��f��0d����9�w�NV�lG��4o ����e�S�&]�����M�El�.Yv� \ No newline at end of file diff --git a/tests/sha1-vectors/0061.sha1 b/tests/sha1-vectors/0061.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..525e6c0b042058a481c684f20c691170fae770a0 GIT binary patch literal 872 zcmV-u1DE_H7a3WGBAQNxAg`tOrsCP`n)Z|2Y62nxTQLxZhB`MfM$2zTEJj z%KAn_ub}OT4^pAG6zq!ft3fMGW(G_6_O98;&>WYEsY%z}tM~xU>$deZ!!aXB61XyK z3Hc!ih+}~MH%B!+sKRnH7AsY+=Vs&S(0D?2)!y@1HY24d57o@-sPx8de+H7RY zXt#F2>%ZP~dodM`S5Ejy*0e{f4;^~s6CXRFqlCn`1>t}nB@xL?1uRTZyR_!<&KH_j z96{C6#gjTIG69{|b?)0x{bu{VzLp`F0|!Zhge}6Q8aj{m6S}k~-6^U7foJ%GS%L;# z|5(06j%b6n@iGnl45&idQh(P1E-~gKnA-M0(~rInqPBQ@^zU77?h%=q*;SP%q2=N5 z?OGX%3`?!Zyat)Gr(HEa1z+QZ7R5L>@tDKLexjrbo3p(&-Z2Ap?dIc-Uq5Ue#oq&# zB!pzbcbkz7wTTIK$U#?2L%8+z3K8 z^Lj)CBtO-${CCwe{a1rE@g1uIwDC4UKMz93c30ai_9CKFrzp)rsDiAGlcy6MAKi(HznB>Wh3asp9Jy8}O z$iBTSf!RpM-HzZL0{E~r|F^0Ji835iju2j|z`H!KwggDMt3G@(#~a;G6?=uGWK~5A z7gC9%3#vTsygrF@;&P9~!dlhmX{pV*?v|!?{p}4155MDJG}P{{M|*p5rgszqma{+3 zbd*~d9Kc0FbU9zv-ZTv3$kMfG-XR({EScn|lb3TyJv<@(x6viq17Ge_vww5=6ep64 zwO1&;lLSsxPVUA;=fGKFuAGWnUS`El|Y&8Xm+9 z)?7l7F{dz@tqTAK0z_8J@cEGN(6l-p(SnsFIl#n5k|7LY`?K*3DUxS^0T?0)cdnNJ literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0062.sha1 b/tests/sha1-vectors/0062.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..e5a4a53c87818261c4861abfbc07e5f823dd132b GIT binary patch literal 1512 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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0065.sha1 b/tests/sha1-vectors/0065.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..3cbe863f6e3e72ee183613ab3c8bec187a9aec21 GIT binary patch literal 2094 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 YOy)*=evES(t89%+{;h0p>>>?^zW2);p8x;= literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0066.sha1 b/tests/sha1-vectors/0066.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..e0f531086b2ab1823931501801ca6188916ddb0e GIT binary patch literal 1792 zcmV+b2mkmogAF@3(!w_xo@LJkjrWg=*fPAt`U5(T^(K&WPKLHFN4Q_lqq8+r@I0&J zqP8MX{r8Qm{3tjc915!3z=UtCfW6zZ#cgNHL>)*KL$PSPnrdXA*HPS(Oi4M0bXd)b zKxQ}JtpX0fiJ9xDT((7wjt2Y(wePbV=*_Oj)5u-~!rAvC!GlydAVXLiwnG9eO6Xnh z8T6)YdNv+VQ0Zd0i~#aZ?S|jI`lTh1noY*65ZnEkqZ}KHxC|&x1BBUh<;V72qE@lS zh5pIUqjq+pYl{+QaD;EHC+=qx@rL7kJ`QjuiIUZ?e!b9lWV>phNUP$^#{|)kKZ5P; zyh__^DBHwZZJL14GV<7^>TG!4v6T3Jz5$~GM%b>;Nuif?=yY$4z3a?Q2x35GA%QTd zT-NB4?xISel!tiWGxRpKZ0!{u&#fD3*SEkv6f_g)(^A4p7`ArTNo4vShvKQIBLaJz>vR8{x;J*ji5CTJUJPAd|tnyEb&HkR{gWh?8P$ljJ~gSt%m;joHx)Q6_p`77^zg? zhrGyAg+B+;US7+wMNh3ucEKk z5r@y)gkDekb+@)UoX8c7IuD1YSq1NO@bSV#vC-Aq zmED+dKD6?gt>vjcVu+VBC~W2k;nPC{*On7zty`4ty+uEGni8ED?8C9l)$-7ePf3wv zc26o}?Whwn9VfpHRhXv_y{kJc8Zo`uE5xn|$+n%(*yYsGbk4}+SKg3&P>{At4~hd+ zW~Yx2x;>W^3c2a&FGJaLfri;p&^=?P16Y=}T|Px`PqycPgVQXUxQm zzLe~&vqXkkt;q0#4#QcOPG*uqKqN(+MEA|juDR2VAyRo2{f##V%$oZ72W>Y~I`T&$z<=vgM3CCf)F7ZbM zD}MT;I&O-*LRQpXK%3AbNX&~iq){bAU7o_+UKRzitnO=WG%-ficTfd_BJ3%)5vvfI z?U}rmMk41O6i(sonndezE0#Q62fK4JEvs`d8;0aMjacAm`CFIm=f3mXd8|*Cy80&V z$kF8kE^Y6avOjTlopBaoDckts%IY!?u8~Qh(+u*VXZ;wUdziQ4&R}sHL4{|c-42bMo)eH-TJ+<8@ko&(iolO$Q3VBE(Zj)thmxjr!Ms5e=-F)` zJ(dOrTjd`F*wGd^2?XaNNu0D?O0NxF`~aRm?XT508zzfz7H+pTbfzaUp4rfxvj%)M zW`M{kis*8|70A0bcbu7JTvE*$oTYYYd-Vf%lLJ9+{G6Qgvy%b4;!RfU3SXZmM`*4R zDJth08pK`E>p$-M7s%Ln`QO1iI})l^!~AK{%T3v^GHyLt`9+>|in=Ol;U_Vw@GOY% z3!^QS#7rg-;D{ey2YFLPT{pZByB$skJY|r?f{!ICG%sO}JMb9#dlsR01!Xl1^+4^R iNO=sEOQG=a!waN>!racon1!&`JF=Lnz*=soowG0u`i!Ii literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0067.sha1 b/tests/sha1-vectors/0067.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..0721c29e752317403522514bfe76a0f33966e550 GIT binary patch literal 2487 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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0069.sha1 b/tests/sha1-vectors/0069.sha1 new file mode 100644 index 0000000..4eb5e8e --- /dev/null +++ b/tests/sha1-vectors/0069.sha1 @@ -0,0 +1 @@ + �vQV��:�] v \ No newline at end of file diff --git a/tests/sha1-vectors/0070.sha1 b/tests/sha1-vectors/0070.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..ef08d74c3e9d69b0688decbfb0ec0beaa21e9e09 GIT binary patch literal 2103 zcmV-72*~%V^awhSCGMk{U!sHw3F^!MK2;|Wc@(;A?#tL)Wmf@Ibq}okmP?z7q@@{{ zFeo(W1!M5B9*&brjLb=Ja92Qlb8MU-<%qh-NDh^8olaXf<)r=V(xgX}+Ck~WYY`J` z9OSdj4Z(NZ#pxOO&p&ruJ@ZOHER*(06|E@bfE=o!oQeFj%@9&R+48{mfQl!}j?yhk zyJJgfjm9J9JB`_PJFlHer3X+xpv>BFulW8|vWcxhKxG=>kyi`j)zns3*`?SQp#s_Q zYXMI+ZM7#Embq%}?K*wvE`mUqnJ~ACpN$$)2!Pym5jDR)6Bcm#c^?Ynfa8~;rlpE( zZ3$}eov(D*sYM=uQWkbg=9nzO05Np&pt+aX*bd+U+2T1&hm#F;)1g-h5FB>eU{?;= zpOsXV%9}*F8iKv{{LG=44$(<+j|P^Z<^JKT9p3{Um+!dXit@HLoVDOeR%v)Uf0KXn z3Z{>05Vkw3d1E4hQI#{j!zjk=Z->#|eqzN-H~YvpaXDvG`TLVCne#ExbPuM9ocW^U zo1TjdFBM>TbVlc*H)~<$pF;VF79)J$_w-P%qu$Krgndw4{oEi!fj4qQH=o}L{!%*>S67@V+xkbqCl>#p<-G#z zBiouIztNiJ-3r?Xm8I2lx;;Qi&6LmxsjU|*9^i@uvxSW%1MYea9TIT6XWYK}oi1Wm1MxXq zfQ=FB@LVU7y^mm}l0JK0B^IPm$H3y0Gicy89`MFrn*@_QQ`h&Ij=n|<@PT`}s#8W1 zVz%dK3S-?!7ZUt33@6s~bv}!nb7YAWgXrv(KTbx%El!j>dBF%`@X(bR`u#@svtV%@ z1uBWmzuvA})IPMDcu~J6D+PtL5kAI9w5H&XO3P+U>fT<>CPjZ3qVDQy3E9%d%6a3b z3>uFCn|boozo4gHQKvz|51z#_t^SS!K#vCX{2@yV1JQx64TP48c~gZx&|=hvx8zIY zFC8_8rt2uqwjykEy-H|VwSFl7*15kChzE{fp36d#kYiZPCJFJS#r_~lI-?aPK~f7f zPHvUn71o!cGY}wq#)K**^E&y#cms-J=$y-f3_#Y2O2%w!d}AQGgx7p>-E}}M&iF_ z%2TGTCSsblt&q7u5^St)$(n&`XY}{izQ)T@eK}1upm%Wu&LqqPlA@pbH&Uo0( z7WqPg%ia>jqFR~4fM&7&6L4+R(c|?un-I}=rOo5aCESsfGf{1Pm27>1Z9dE^eXlRG z$X?B!`65TkbV&6tPs)>qk!j>xo*$+g2@`dwyRhl^`Gnpy>YTOv#j-Hj>s_qh07H6P z->yl@WdVzzGlK>Cmr7{R#N~oCTo1Y%I#8@cFU4FiF9Q6RUn7kcKxHjd-!O@ds_3chb9x$eis?x6Kj`$^9#i zj#su$EB{aBK$ zZJV+=)tb!?b|AFXQxGi0%^yHTTmIYkcHn5q@>Dwi(AELMtVwx$oBwO=b#sl0b2X}J z&?lF^`Pc+f&di4HaG=-<+@2Kuk#d@bZ;)1w4~41P;qLrMxK`KuDa-wK(j=XH+@=B| za8vKWf*q{}`Ff1~;xV99L%sz}NA5Ealk2H!DUHd55ZkJ#{NBAVK+jD5S4yIlS~BSb zJ8|b91)LrB7Y+#yvKaddw-*V-N#9=g!ZrUFI>>vd1^E+*wmS|vYL@W5896PP@& z)*2=%hc&Aw{x0T;ESVg8q9@Q3S=&Q;zvdkwJuePXPAsf8>07Bsnt5AtOv<2UH|ybE z3(xPHDeMK3IHvSe!WtbWXY9^1PNG!uPpbt> z)-Z4!Ll~EUO{en8@AeEvl*-PnQQg5Pv+LTKW+M!K#)E5eotM4;yScEFCO_-pI<5*D z7xqCaNk(Wf&K09JxYtru=1<~H%L}5*;1?ZHtoZH$3l3)1YBK4l_{@2ZG+-=^H>VAY hla7j3KqmhPHV5zDC&N=d1eyQR%%BUfEBKjJ`_4qnE++s0 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0071.sha1 b/tests/sha1-vectors/0071.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..5d1fbb0afa2b3725539b81c278a5e83e56c4379c GIT binary patch literal 357 zcmV-r0h<0|Q}zGsN%ZO3E$#dW(lnbqb2w2pWg_4Ik8gxSs%zT!p4IqEj@%U}01XZf ze~tf)5ZOQv$P{I26B_i(<@JKc0BI;DRFZ3rEEEUC4P;xJzZ3P-*oKk`PDht8(vH@k zdmpKRkS%rBF&7~Xhj?9od~(nV?!h+|ZaGD)5^A)yZ5L!voOMc8=%!SnOxUp1 zIX~I@5c0X2HnVSq=g5-uG`Az)@xarx5RxknF^M3m&V1dpC3%m$^om*mC0@E)cz5Sl zi`io1DFg+th!aqw;pMR|-R`E$bfaviMup_{>*2crH^83wsG!WDS^yQ5RKb<`k{Zmj^e~I)yHXQVwqBWrgW!ivKCi+WQ-f5 zYOPuQ5^}72VgmQ7eFW1tV!b1JLA}o%WHL(_eL;B2k7TOlQ~n_p3}p(L(~IXHF(+Zn D23GZv!^6^aSvi29|=DvZcz6j2t< zRSEq`)?ZyhO{0Xo6DXwlK^zPPLx!n4;*6hS<)R?`yG0AFkh#KzMA1^vDxDvhvIS&0l7 zeqKXZE64x0QElDyi54BLXaR)p0M@7$y6=n0(@^OF7_PW1wQ6#hjLfym@bJINs%Wq*b4h#SYs(E~7^MVfNX=rLbrdzxu_Qc4@_xu?h1P6cg~pDk!8$>+L_ z>hm6fJGOPj$Xd51xZk+qj`wKN0HOnu_&{y;DX|9!f=))k&=@VUfwQhz8e;% zJyzW?gsMvf++J`UDY1q|mujj2W>R%FSb~o4FqaibJ$$*$BZe-4%om)boD3J1bi`2X zvEEF!r%%erT9}_S+0)ej*@Q^3x(AcmJCqJ#`!EEynbq|TY7o{ z_JnL6q=mrx3qTM30cg(21_CscARRiXKg4_fu2k0Hl z4{t~uUY%4UC?gqS1_3Kh#9paDpY9GjO$sJjiq_GldF!I}qwd66M}>WGI8-lO>f!>U zqp#4b`BcyIOFO3F#^bZ~x?O9akH!$aur3tnI%~{p4VIDyIrmK6&R_94ig3>jRQi7S zW@!@c+kG2!PopE#dnnS^l}dDsZG5~9u4aTAaCkUofaDutgBF^ykk*lIIVA_z(jL78 z&)sS6ZsLZI9tk-y#|fh`U~>$7WLJxX7vN<*PB8l73S4&p(Nk}@`mgW^T-ySTqa}qm zqkZ&^)_0{BwY?E56Nw8?+w|ojt3m;AEYZ!-rij-ka5tiKp0#l-`Hp$uBdc{?udCWG zu%~pQmZf8L`RmE5K@tujvV<+JBIoCg{VB7=V@=uqn zj-hI@6#KjBTqRZ(-?NBw%5TE$8<1d0G#2j&3ak9c zEhJ~@H0t$Of%lnndPT>e9VVEc+sSLTROS4pC@;sTKXr3{Cm(K%`NvO}A@F+pnGNIC zqAm&{Cy~T-PwmaJvrSW`@00S}P5}#8^XpGQPRo`C5OC@H!7aIr8;aD9pRed)7u<6( zh0=ao<$TCde%NqvgZx;)I1#rtA5TzR%VNWGGbqXg-3M9m*K#{K)xP?<{ z6!osAh4+|sHsVZBzJL=b9n)23MfidHZTd5U#0FYIepK=+vrU;fypT#P01ApIrdN%W z`aGjXSDMEnfZ+cAwWrRkbF=P}8>S0Q*QN_CyC$EpB%I_A?On?NB2oPAcbP63`}K{Y z8p{BiD)4&rNU=15@~qL>pgn7!W9!Bo+YZ{(h&$aQ&Q+Y z$0%85_ryV;X27w_h!Jo-iU}yX6(4m#w-UCbUh5w;=mkuFCyJS~>37=B7Lzd}vU^N6 zM9YyO{(J;klDXRHmxXM;q45~-{jVOYZ#2Ch9MhAJguQh+t+#y4�S��8K�Tq!K+��w�)�������A��JP5B��߷(M���9�u�N���c�U떶P�Ǔ�5������bW��S����Ē���[u�b� �g<%a n����|q�V^s���޽�ޕ�L0�.y��Yi�sRXzg�����Q,��c��/�^�q:0�5��R���/ӡn�������r +Z��� +����z4�:�� �.�摑�)�eEa�����Lھ�����*w�1A�(�YUM��\�{c�E;iQw^�kY�|3�0�A���S5Si�RL��O��WJ� �#� ��Pֱ.���+���t���a����T�u�x��Y�t��Mx{F���۱���K?�a~X)�d�" �eN���P�p���E"��Ŵ���-����PY|�-�H�:�X���4;=]����.�X��9�d.q X�!�ю�*�6|8��9J4J� ������6>�-�+�� \ No newline at end of file diff --git a/tests/sha1-vectors/0074.sha1 b/tests/sha1-vectors/0074.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..9328521188fe70b5d04a9b3e7b8302be099e78b8 GIT binary patch literal 2049 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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0075.sha1 b/tests/sha1-vectors/0075.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..019eefdb78c51248fd520753c8b5bf8d119d6a1a GIT binary patch literal 510 zcmVIzf*gAPAB)!mPih;zcBdK2AoBo+ zPR;rJzU<@H!}B#(gzzbCGr)Lm)7TTh;w_Es9Z=l>CWXu#TXC8WGa30shW#vzB9m{R zc8*S|gb9rdo%K9V-Ie(ygRmUN$%C8<=h~;I)W^B3n)*A+BU9Q+xSBb{Snu@?z?+WHA?ZBMTi7EIr!$Z=9!BxDimX^g3oHh87t@;lo)+G}UZw?6nWT@`Q2@EZ7$BY~G^ zU2a6H?RBwO9BXS+rAieL|F#)0=6@E${AAElt>^}4vdJqq_o;GXvUOqX%uqib1Vi}& zc*FZ0xforH(q|sPZZSagFkpWZ-KT7wWtEVJq1H!ka(qbp{NqPB@{z9J5OK#O6 z+;8n-eQn?4^Cl!+>OraX-(0$L@LPuGn&*KuO9qKE6>q&_6={TSm(RMOmap|r9PH2v zauJsupBCIzmFun?%M|hW=kLhHw}t!)s+S_~nAXWa*AcqSU%pUv8m$PUEMy7)zqH=| zs0%+Z0dNsenq3D{OJRo*9vAe>w46m0$_iL|R5Zf#a4{#buNI)>NEGP1{pw(0<4`&A z{Ucp#6|N*9`ihCfzfOoJ3-?6w@-YM-`SA=@_UMGyZmlh%GF1p}%k%a|MP?8v8dq`1 zW6>Or=KJTw9THT z$j3E(TF2pALjh|U5KMMOb0ovM*`(AsHx~Cgqpwza?o`(f3vj!uoW*j8D0}}{Ya1{S zcC4d`T6`cXX2B`_;0NokdSgy+2dglDV!r8ot8{GW>Q=E0Jze8D0x07h9KE4JQ`VNx zWxMX-fCWHHyN)(@R{RLm8a3K!u*!f7Y{7x^Um$4o(=L#-^Y<9*sjTi+>0+n^(Id8n zmy|u~U$OzYO=`dB_r_S=r$@{MBol;@Ug2vKRn2_PSaQm*%`=b05a;K1irE$2eJ^cdT4MFE0wSk-Bpo;zukp%Pd`MXYy*TWDh`N`>XW zX&SkKgCM&N>T4Ck_{r5;$duF+#RACE1+2N2b`}(l6^TgS>$&$57zt{kcA2Cn)d-qG zvohfk`}me=|4PLTYCi3=63E)?BAdZa)BC%Fc%)4_6}~GcSEAPo`=|TB z=~E~UvUiob9ItKn=pdlqiHIHx^aE_yt`o^kzM5Y$1l!IQBJE%HS4oNB}lCNl8sG3lc$?Lm-Ep)p>V+b_EV}3!Lm( zgV8_5-w7nu4yQ_aY+co4@G=GQ5~ycG~aQ$#>k@#UE*LCB0-; zP2FHtcx7=>I z6~GFU6C^K0)41hXnd4na>N&Y?zE4R7OV|lHJ7f4G>HaIE0%6eE5@a}2UfIA@ z@9w`Epc?+qA(GYAU&iHil6W8)XA|3``x8S4pyTQ1{tVZlwC}>k3a9#Fk?+)CYwX(D;&*Se!^|I)OL%WDE zz2zO5*#%5boIStoczt;=yRK~LvRC5eE*_WGj*x|e9~w{6Kv+P!jeV{lU`|JVb=CfD z7=H-qt~Zl~?MVgguJmzWV~`Q)%GZQ6AH0~+E5fZ0{6C!36G+iDt&Hp`xY z->t!m(I=sT*(3k`v;cnILR(w}fsUwCrHr@=Y$tYx{1w&tYN0MdO!n0hrd2Vz(lJ8< z^cy(;sD5qRk2%aPNkYcq{{D2GA#ak2Ec?}ti zrpn&B2k3WFEC6daY7XqAFjzRC_!Jp1dWH}4u`ejo4GGI281K-Ssq`}1}XMCU)y0ZpcL}$v`@O>%(_(i$0K_~)+nJf6#tSg`E&iWX{r#%z}VbSqXWR6aTcn?M6?gPk{99Kxc0|h3V@L#;~W8H*}r3Zgi z%=QCuUaxBj%snS=xmVMhkJIR^1G%er4n0^&h-u&FITkr=U7|EW(|(+G5(c1RnQaS~ z>o$gU-spsW7k?Kz!s&FAME}?Y_0p+;K@2Ex^S@2R+9v@MN#{ex&3`8TTGL{FMKP3GrsNWfpT!^i*6ZYq~nGTqE%l&`Q1#S7Fm#mB` j literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0077.sha1 b/tests/sha1-vectors/0077.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..a68f716efd5252ce03fffd73d0c4b3d529936c3f GIT binary patch literal 779 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 B%v}Hg literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0079.sha1 b/tests/sha1-vectors/0079.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..1df6fab4e21c4adb41e6b5b9cad0bac320dd59e9 GIT binary patch literal 413 zcmV;O0b>5u1rPbvu3Z?#1A|-qHlvvK5Q#vO3orldpw=8n2G%X$2nRnrB;j<#f_g{D za<0&Vc}UWQPZKM++S*=OS$Tl62CWCFZiV-FhcW>$0RR?|Uws%V&Nx)P|$EYOc)Naz{Fwjlap(7+UK>8?CNQUo@ip;}O4YkNB z$niZo1KDcd#bTo?yp%ual8bhlXyD??sYXdXhU#~Kq9Xy2lYGh+zZsv~or6!xS*zb% z)9|&bI|+joVu6m%KY+hnKT7^dTHCDj#S~+dwd_1D6nHaiR|M`!r-5ndy|PnQUy@_R z%6EfNS!S~8qWM1)TPt3x7{_w2YSn}$vq_^#=cB=Y! z?`)PzoU}xXEz2Bd*V)oI%zYVyK8_AKMTpy(OI+!}P`BGk@NM6cJnBHtO2h&cjtS`;iN) HKOzZ&!OY0m literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0080.sha1 b/tests/sha1-vectors/0080.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..2c15e3b74ed9f9b07f31af38eda09b3325e67a85 GIT binary patch literal 1365 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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0082.sha1 b/tests/sha1-vectors/0082.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..d4a1227a0f0ea2de21444888d8507e74eb7a396d GIT binary patch literal 2229 zcmV;m2uk;Keh@~PAc_YSH-r)w#PAvak1r=Let#y+0H8KgxsU$#zb%KpETL;TKb24K;Iac~yl7UybKz zP#z#8Uj;}wHya(@6W?PUe5oi3ZDe&Gqj!q3|{9?VJ5^MsV%(|d9RZv zpRea^p*QzZcB*D6aqzQZ^KTAt7O@s7?R|DFsq0A5;txKuhGlX5O7n%i+A*&_#3~f` z*ddp~_Lxf-D(YQ_MfUY=Ni0G@hF;u6(!;;}=XIbOlzXi|U1xS~v16z&650%AK!B-P z^#ZZuqz9-fJ`B5IgNb_h;~Hw9Bqty%XvjX^Nf6LiN4*+&lkGbDY!5i19VM@dzL8~g zGLon!tA(D}J!D1m6`ixjP-<9CX+6G|iNhxn9KNIvh`O@(ZJ9tY>)!d{VWQv;1T+S9omWbtd%lxGH>5l%f>d(q~Co!(4KmEK77Le98 zS18j54%DMF%zdfB9tlMb5uWnTCK;e0nFy8K9YmdicHeEv8+pbg2NU~UKk41!{7 zQ-~K1uvybSjT@@X@d>KI*(=!WNyLjGLTd)GFnLMz?Mk<#?bn_pC@`LY4g~WoyE0f# z2ADJ#nuxB)JC{sE_oUIXb-(T<_@gPKAlL_Hid9nQ(ghkA)ZR#z%AOs>+IZ0PZ!eZFNe*0yHFvp-K%8;WKx zeWotZ%jrNIGkOY?Jt)7GDmcu&czk4*6??BwxFGa9? zB7xm@COz}@W>)PJB0ANY5Y%{S*fM_-zcwW&ipqxN+hjjlToS~QK3{p-(wG4^cajaS zVviEA^%%!$P07 zs83K^00K3Sx!qRfyoqBqPA7%~ww~-)y{s3?UaMqr(bQ|kQ{P7MR)K$FYXt^<5K^^*eL`Me0;aAbj9vXdEwJd^4@j@Vik^A?z~t00Kg_pLRVI;}bw zJssAn4Btk#15c}uWLB>w!@zVi&DSywl5HeP3hvPiCVIQ74m|@m9ACYo&Hn`_2Aoy2P*2E1IBBVtY|gtu@6x8`0teoANbW#EV~PXd*# zsF^MKZ{ChNACQvhDj*(HBda;Gq$F-ot$$goK<6U)SOD4f7$=WJpfd*s{SzEdHdW=& zFIq9SR z#ReMpO&c_CcQ%wfrR*4D#5>xC#>Hm%)8MkMGq-TN-h2{I8`PdV4UW=FjNK9tafA3E z=Jy#b&BeY;f6E-KVH)og?=OBX;$qcwJSb|YE6IHJXyHWb+h-GOe{f{LlowhCdCM z*JcRKz3)6_&Jy1}hatHuS-VX|LTN|}*Y?}$oi0_^DcmQB;O~vzsg*3b0I7|`g&iv& ztd$N=c>BA!7>Bn;HHF=o-Sm!t0}22}a_^MOSg7685CFvQk1W$M6@6TZAkda6u}Ox$ z$5sL%emA~8=4b7>*k<(e0H<1Vo^-uys$Gzj9r0;$8gXyK_EmmvWii1-bhc@jpH-PU zW&~Blg-rPpdK=MBe!uSn$@R*)k}Y>VAWIcjS{GI6-=6^{l=MoMph0JL5{VFG#?Go4 zwj1q`{j D&>2I; literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0083.sha1 b/tests/sha1-vectors/0083.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..dea7927815d482666b2718a0d829f22f99bd2bac GIT binary patch literal 2086 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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0085.sha1 b/tests/sha1-vectors/0085.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..a155d5776995b6e4e11baa66e4f755ddb661870e GIT binary patch literal 1326 zcmV+}1=0G0K4rD>GVrVZPCo&`V)CMv7@F~WgfYr$eFQDm&iE})AlS`Pf=z_v^J)a6 zXb&A8tjrc0OM}80Su%e6;8q1k3l(VjOC_2QcpacESy4!ZkDMcPR)JNzWqHdudo;B7 zzdnq)EirH{!lN~B-3R#`ozOIr=+7DPhFH&4ech3e<)6E5FV29fI?MfHkkP)Ze-rdN zmI*S^HgggVIFYlSRZopBs#g$?LX}(B%+`neA)C(m^dWWNV)}{)N7!&rX1Yzlj?Kk~ zkgQ9M!$|*y8#w5qGaN1iVt2crh$(gn&^t1n@B&pa(Dj&!(1K}bF&{9jQsYp-!1648Xs5XZ zCv-`xu#&le^pM(o0!4g$@vCZ#_0A@EIwDxg7$09tj;k@B|~JGnhQ z4zgA{2RXBOlD!`=*cn~)B@ElElf^Mlp}kou6~Z3dq(isf2}76pZ-w!8S8rILy;J5k z!(dPh9Tl}k(t428TWaZ?tW}9QY9++ zsJ=pW2ZO38IWDrs*h&6ASJ@-9UM- zK~2i1c%$-cJV{%PhbKgWmje_4>s7S4GFoi41y)DrEfLfWNP_32;(~rKqB)d3J)hW_ zn;(0HmMtL~`dta?DgUq~&bp?8#Q}a=7~)_81gm!&>FjJdJ|JuU??Y;WF4wAnNs6zi z+SV~6&BLRzYE%`B;RXd2sODw&n7p|kCQo>!uviX$!z_!Dq3O<&?dS3!aX<6$=OvAT z=dHmoD$>dd!|d_c2&Qk->we3j z7#tsfV!9vlBOx5*TPFg+^ZaHvB>54+v7$NU#$6nNAl2W{^k`lQss5O~=bnwl)hP_w z-WR-4Nh=P7w(=zI4TT>Gj#qpoTcjLmyWDU{=`5&*%FlR>E+kHhbK3Ej8+}iHx*D7? zOotKc+j|3ajJs{m_KF4%N;(|N$4Wa6v*+hWLx6qnK4rk!0S)A8Y+pVfH)3PKpjM~owD`^p;X&Jq0gG33QeHF%0IV4%wE4B%e!oz`O;A%Kp0F>8MCffQW_$tg!zukXc zYUd4Rx1*eFBVFE>t!h*Ik8SyA5AcuFlVsd#6q1W|Cwn`Mqu!A!OOnf~JHYAEBP7}$ zDde<@ddlNrlTxaAr94s*tX~YIE^R|F$J>$ZrADx9u9&3DTd{SttQ4?+ML@g`Od14q z`a@y#J1VPL)b5MC*Y`LOF(YoE%V5RR8w1U3V{XSIW(U9G6xiC??+@wzjG&!6vT^)h zL#Jl$F8jvfQ_H-+(U&hMiOBDx5M`{Q^x5xoA^m_b UXapiAWyo#Ceya$iJ) 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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0089.sha1 b/tests/sha1-vectors/0089.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..9ca1e5fa11258e56c1730da3f6a3dedceb7c81f0 GIT binary patch literal 823 zcmV-71IYaSdLWcN0Ut&&Jmn5Zao6zyZ*5cp^tJjWXi~uKPc)ehaz$3slM`p;H$x}@ z5W7JFX7{7_lCv(#&67G{EjRf6Akk;VF zvysE$cm%$w>e6d1puNVNVR=qcXA{l62o~GKn0q(Gs|X&sO2~9i*7%zfOpcU3dV!f< z_9j=v(5K(j{62-@$3r!gS~}uDIC3o zLRD)u&wWHV=a~i&%6Q{9kyZaf_RcX1{&EL}6MV1m;_F&9-r)QoFxatmiQ*TP(H7x*P8|mc(hl3IQ;=Yi||(2H)@Brx_M%Tg8M8-D(zb69W6MT z05M8s_aE~>*i858`6E1SUCdx0JGvs@?Wd9Bw&^N$2F0-V4&kHxr@Cthz+>qp+W?p@^iD&oP9#$afPsO zwZnd?SWO&{GYknF$D4HG;jILNhP|46GEk{5oPRk6;P6-LgzfE>=}plMmZq9typnSf zHo&&{bS8c1M&+%ZZOV;!HkMbKtX{x(yUrAOH)3nAAmUoJ1c~G-5a51Z@Y5}G-%pC7 zgLVWJ^DQK@JeDqxi9>-c4u-d++Q3Z z#Kd=)1q%JQCCSCJfu@$p#RKEC4sn#F=p9HULd6vKR4xU zMcmGmeXtnq>wHuO@=s|Cl1_rm8#@;{-n{Ics2KO-Nc|-XCQ6+a69rAve0n`QFA)eh BmdyYF literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0090.sha1 b/tests/sha1-vectors/0090.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..89ca0fc47e0ea36b2dee7de59bfaeeaaeedebf7f GIT binary patch literal 2260 zcmV;_2rKs|u&~+Em^2;Kq`b1x^Va;w32!>hD1u4XC;pMi9Hno;NC$hiJ91#~ zXYR3>Bu?MGh2cNQ!QRxHgha%2*7<5G(^!SB9U0l$-NPlU+jm$u-G5qYQY6HkEB57KjVagZKMowP+Ko3! zqkGwO)l_WJ=*jE}H_S{+=+1;!Y(s}jpqXgk6aB8h(X(qpy@PXuf2b6B+afN9e0~dC zLw6nzYz|8-%+UM7J3blj;dKT*d3PKOMsq}~(ZR_SV#irH7QNT5F{C^bUiH@!MWhWDlon4es~Hg)o0cCgPnhRjDdC_zO}JP}kQ?t7Do9FW|AHdFM##TpWzF z%A(H_0K_EPtE}pX9EN8i2H8j}5(Fjs+YpWAzs$1`xy>R!c3QN=(oCx5l#efC&m$9e z6NxZ8Al?E+EfqNX0pB_Q#NbG>j~hW7Rr}}wKz2?<*H63`$W*E+pi7zyrs$o?M6XC;YSl^pIkWfZfb;=E{oJiYF}T6D&EJ_LLc8w zgkLmn^FtXSm{X%2_pEf~Sf?siurrCw%p_XlTe2~CPp4aryx4xYFn0F+i|YZHM4%{< zO(f0>#u_PfWa*^LWm=w(H}DB3G*F-Z$Bo~76}fZuqnHlU>(G-6M@2L`(?sOen&q#* zw3h3|_te;>b(878XhQHb>ZSFtE^ng=dzj(;COkw`0NQy>*haHYs|4bfCm$8?X~5gF zzMmy4?bF__f^uFU6DjRj|0Jew62*isc796tS?;TIuS&o2xX)DOjLc0h;u)Ps4;kbM zutJm1g7Knsr2f6BSDkxy1}wd<78S;H34j@*MSrpl8iI13)xj)i+-gu9=#Hh->Gc%E<@ROH4T3tfz6Jh zSTZ~2u;9o=xz|z6E4aU>|H?Td^_PT<(HR%yY(%%UZPOwuWrYuGI;*Mguy-f@%8QHd zg5c9x^CYY@sD}zman8j=-Xc>m40qbP7J|D=PNpEKj-4STPMR7FrU;<{cvY6McO09( zReh`iFJI?JFQ4kw3@J$KY21~g-=~k6&6g+!4DhEBJmRO|q;h1qvNPK(d}3w{HL9Y- zR!z{1S3ze%jY8bDXHi_rdl$(i2^3a6+({OO%r;L0P474b=ZV8nqhSi&u{Gu#r7e+A z3%%=%&AcpepMVI|Qh{L?RHWzdPIZH|~!(ly%Z_~7@ENwVv0n7e6w}p5DMjw+x%{2+A z^+1!N-%K^!j&1;Li{7g)%16IJFZpioTFnTKKFwTF@~4^z(n<4kty^*~ z9bR<4KZ(m7^Ap>Ci(u&e*m$Nb%DJ%gMx_S7Ro45;n8&O1uFV68+$)YyMtuGZYotno z-Fx%a6Pd}1XH9EiB88E1-+DE%TurNCnv7{KMp^rI+=_I0Al6W&mD6An0kY`m;`@se z&s0t*uCD7CsRBj2Qrq~jX3eUw6tsC77-BSgv35DEFz`|U z^ei=1w!VkKRF=Fbt2A$*^BBx84DlleP+Tu`SCn26GF1CexMn`*C_k30VZV&la>bbp z;BhxEU_CLY3lRA4S%z0ipJ1*ciI5SxcE@p#2Ibh4|Gqa(2xBP4%h~aL$K$R7N@S~` zSCE(L#(S!{wx}tDND9))iIX5%Ft17sEe literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0091.sha1 b/tests/sha1-vectors/0091.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..9abe547f7e5b619fa8fb39e36f69c72e47e7ed29 GIT binary patch literal 2461 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 I)gonpRHG+ilK=n! literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0093.sha1 b/tests/sha1-vectors/0093.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..8da35ece9862ce1a48155afa0f5b63675d3c6a0d GIT binary patch literal 2345 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 P6AuwP&}A*oBQ22gJ9><~ literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0094.sha1 b/tests/sha1-vectors/0094.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..7830d5d911b83801c2b9ec770ea313da10b42f5b GIT binary patch literal 1096 zcmV-O1h@ON3yQt|#GrsHOSmBA=c^7G^jj0EthM3)2LOSgNa007(nq$K(t%*pZ`#(v z=CSLWLyyM=PhIm~?uJ0({tQKMh{v+{2_x9RiWC%~rGU8T9z@{ZQyp+8js&XOwdT{N zoM64?g7xa@!ackFm)m@!R0`8Uj$VO=9`-rjZqFKPXAj9I#)}>Hj3WUTA@gO}rd9Ph|3P>9FIjmtN0J0AM@a9{-7J!gQ zIi0qEZN(b@=SCf~;!JsQ$j`Q%BqDwBeFVIeU9%@-ZAR77kuPPIeKl~E__(hK_m_O# zA6twLE1LbEBaPppufQtfG{6%NZo>X|aCHUE`ih`KalhRL|E`R2WQyu5L8dR6u;47^ z-Q$+Hsyy9Ia-jM%SGY5vo)NQ(f0B+&AMKyiZRAl7ndz+QgvFm!_V4t^{Z16X$=_^P zP^_hIYVJRGInDF(21%`}(p6R)&F88(9MFA;V5vPT>Zx~_i^HDU%c9rRPXP?q*yhK- zF8$2%gNXiZ0Utn%H1EpRY!^(ll-uQXLoJ=e7emB#o_}`(n*1Hs51>>z#z!mbb?nAY zixQ6}w|a^906Q?K4Y-xuWL(8a5F#i$|(H^Qtn#I=2-|W) z-Iz!NTyn;8kS2 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0095.sha1 b/tests/sha1-vectors/0095.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..08daa296e9eafa0138ab6b8b01a47b64ebafac75 GIT binary patch literal 1347 zcmV-J1-$y}fthUB2m|SFukm*;Z~X=rYt#7S2nisjtIKqJ9>M-ueV%&Fs&?%$QEBZ6 z4at;9lhEui&jF`78$~$HOw~M?8kh|h{9UpQs#y)CYreujZSVCMJJ2-3xjhEYo)bl~ zbH5-1S+wXn2@z9uh_f)NKeT+m-zh)^4)ae!kbDMlyDGX-x^8<&piAH4b-;815Qw`Z zS~eMr_{W+l(r~t$?|#gtq6#=EM%gsAD+V;1`V>PnK%EmNO?fAf{(v^ z>EdQ)?8+@7KfDnLL3!6luisSqeSP_NDZz|a=8q4o|5f`I2M`8|*qDik$p)W?;5Q~V zI07&bKO%c#sbHxm-|D0}2%w~~-svsY|8KSlLEXrgNu-F7n5V32Ic(W*jGro9b^%CQiynC0pcx@sHgE_Kmmz4e491$%< z>VEwF@dos=2H_qr#DG#i#RUiWPY`rOd2XaSItW)&n)I7lC^2y$9Ma^OSSVl4ED^NW zt`;1M4#z^jfPYxg<()K+-q>CAe+#bA)!<8A&NVuTU?Of{kKCzYW$h>x`@G~rF7!PJ z4SsTmPZW1I(>JHV@>ER&lYObadp;Y$%YVjMQ+g0w5uSTWQ6pns%Yh$wBRR{nXD0W%gu-bn_h_)<8KMJpjM7+xnaY;yTRp&wf_sM_p6x26G?E1q6@K% z*0rCY3BI@;s%$Mu*~#*!k!_f0qlfNV{ZpZsHNLs{fUAdgHt9!-i9`dXamY-Weve0%MJy;jK@h+He@N5G-t9sEpqA$tZSkp-0> zq*)%b<6lBr8WE7xVjYs+IJ-)CuElgo_T9e8x04dSFHRPd8d8+^doLag{Z&hgA6|{G zSa_!Bc2#*mQO*9PAjSST|CUDGVHKQ2D`JKWhv3$h>C^LsHZ+AFGuF_?ukJ7fB3?{8 zH`epp)>7^xDY$En%>ELnE$f5K+{x|4mh|~f#JEB!cYUeI1%Bd5fI8xzg#+?aUB5w@1deEJZE`!prSJhD;xjP_WoEU20Rj6)EhCFd zy=#)=sVrq`F@j-%7nX?b`$f`!2|_@E;n0mH{HSN_6v*+h*W7$TC}s` FL8dKJqSF8X literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0096.sha1 b/tests/sha1-vectors/0096.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..af2c1823014906b67f04c5a51987ce66390b061e GIT binary patch literal 1926 zcmV;12YL9EBN)4tf#i0cjyIoCo9BdZ?~4dGmf*iF(RY+>En;Zq(v_DNje{{OS)_L+CftcpW8}}{|qhkNPu`1#E)H*+C*?K(m8h%r{ zR4CUkIeb3WC$C3~E}K!bsQ*_WS+}ptlw+l0FU>1+y+k^(?^-2gbXwl^SpXG&w57tT1d)7v@T|vJQc95 zbRP?NUI?`p6?l%DW!)pS`x7IWqxY(<73A46&58&~_%`nKT;6d_ln+2%eNa%)C+hf| z027o=a*5tuEOJiV#`vX3*j+f9Vto_aqW>@(j$OT79<--|92#U$% z?DiPnlt?3e7(1&zk8nmBf%t?;A@5$9s0DoBco7P@q`;r>`;Fnbyv(FGAlZTN4a%iJ zk;5fkM69(^-lFTHImBflZrpO;V>d9$QHH2UEUThwk-`GBIR7Qn^M18#`(guCtH9vU zaDXYKzyTpH*&Z|esyfNZBTGISaE@(;uCg5d)n(LC^9Ie{ zK(nztcMNi86>l3a_XjC?GRpA^uY-D=cyFygPhAw5r^3||^ru)u>_=jvLcc=EKjpKy zB}+~2W+&(2uDv#u)1nSg6X63>Z5_22r4gvNtp%S%Wq9(5*mLo|sg82(!RxkqA!t?? z87t{>cjio;%BM>KyvFBnwr%fpI7PH3RbvQ9h(pw0VF@X}Eq?%A!y@ zMFAtQQ?4>GOIPd(eynw|6DLl9*T8^9n;a#MX(7SKmtybZdyrlxF8*>f1M?|Jx3CKU zwsC+WgFk{(*fe9K;HqY?rsU3~`3u1vh=faik3Jp`rH&?}K&$cqA!7q@c`I(i*nZnK zvGAhaZ(!7QQvi7y&l2f&y}@caM6gm=y3Tr_d*F6BgxBVmA?Uhv$-=S;?zv9w*h88` zr1VXbH1|!P&iYE?CAFJ$cx|*xE?v*|4!0AIo~X4;VriVQ+34@_gGF#=dhDk3fdeN- z<{T0NQc`zX@x7QB$Yjh)Ia@lQF>!dcV8AYKx$QXX%CY#W`b((H3;(2m#Ja$S^grnM zVs)M+I{>z31cQot?CjTeZ1JNIZG4kw*=5(#@;?lN%66qbofrY_`%c~2>Cj(6>y!`5 zJXLHPVwqa1+_6^EV^j4PxftH5nKtxH+1@Ngcw1*=GrX*_%7xx{GU zjup5*x%U~~-8jA|bc>4i!mvoacs?{Hk?-AsONFZhHK9%gwHt`H7v@!D9ghL-x#PtA zd=cf*WFGdMLHW-4jrjYTF1$)l>3D$1=%Fb4iVnTdD7f)@6f!*Mcvp+Hw;FEWSj1Lq zMaFibQVe@cfe0);LHVj&sM4H7FzpcUrFg=)@2#t9Um5giClqkiIFP$_98wFxs9phr zbme);aBRcE0qCSp@IU4jlew3v{H%;9Uc)7C_8V;qGu{>kz~#R4S? z;WMQZ<1N&m2XXL3keXtK_-9@adK%sl*r8@eM$U&3c3YwT17#f)V3quO5I2US!N%~* z+7VOP{J{)kML4(&KkzFhmKlPQuXKC_LmC;gH5lizHrOEl>%bj@RCJrd`$-1eCxorQ=V?=@kiBd0FOx_l z1Y>ZU=_iLBfNWH0KPN*e)%CwA96ts$JgB%b0-4}Ad3 M;3z79NKuD(Z1|)vqp45#z zsosYdT;4cO;3$(EZ?{ef*#WfVfRXAU=78?E+S#K54Vbgb(H~-h+H@xYzS@1Sk2>4w zU`=1;Pw(K8@#z2qhD1Gy6LU4Olvn~`##H+xH5##9=$g$kDyvmwenF;L_$;3>w?QvK z@J}E_irjw~vM=X$gDk#mMrX9<<%%8zynBKq2u#wCT55T6%acwy5O2o|=y zC^hjQgh0u7f*kP8*Q-m&9&OcPv7wF>l;i(RB<9V~2Yg#>#;K=?{Aw+zG4jswnf}Tl zzbVuYHw{L}xHq-yYhK5;H7>cmt0V|Pjh2>)8 znW{Eb6PV$n6Y40xKR`cF(kQVI;240h1<6HG2{HOlNgQ`!*P&w{Lq>d`k7P=FsFIC0 zX0pbarOvwYTx%UR1Ala^#~}KM z_5Oe5(-!-PZJh6!I5hOKT47r&D_e0$r~QUZ|CSN)F2^~ZlsU!5Bg&ww9Z&+)_(2=K z44>e~@K+k)#mf0MDk_hH%py&JDG z9J41l6UO;;F`&Oq)J|YpdOo7XB+Upt@<*j9LJ!1xKI5$JQ84#z*Ql8bmG-JM#e8TF zK|+>|cXb97gsjmiem;jmv3BThloE3`3X-&gFey@k^TdR5rXI{!Lldxg^a!RLrky(! z9&tV@ktwPLS1#*VBg8@?eYK-ME&O5f)}f-9vUFCyL@9s-7Gx|}*5`B-Oa&d;mM>7MHkKsABJ<%8<`TYXk8k2(p@T`KnXFFvmA_#f7E8dU zoF_>5`R`7R8;MVjj6!ZxL(Wh%Vo1N~yHW@^XK|Z&B#%kZW7({wws&(k^?Z~*Pmo`o zK>LZC{FD6gs2zT`Z3JkM+@7QDgvH_bCqXfY5!HhOkBX2`bOy79-+P*caFRlG1$Y50 zH*76^ik8Fr1oaCXEl}&uY8e>h-m%;Tg%1f1Mw?f(@4VCQxf+xpKQ~bj zNl>lzC3d4#Ryd(9OE=9@xMzPbb0^Bgbi6shLnkp3ZT5JvI=FfNBh3;|zPE@;FlLZg z1FoURYW^>W8pI>Q8ls}RdY99$z=lu^$27{Qa$ce}{m5AUP|$XOyiQ{XEFhSpZaYkj z0p*WhAf<5m1LxjelY89UO0x}BevYk%)nf*f=(;scL^e;Q{YGJasI}Hq?M{=Vv7sE? z=>aVJx&&A}~^14RAIvn4jd>#VF3svY2Fe}T_{iQyAy8Qd{tT}L*UjH5)i z5tmhjC@Fw4#jT#uIKeUJ4h{<3l(7zNbd}!&14SY} zDbGLMWf`6xhWF&p*}P_(C|LqI=EtU?GO4QsUng$kuFW`e literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0099.sha1 b/tests/sha1-vectors/0099.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..eca7aa405db8eda3bd78c99961189869f48cf8a5 GIT binary patch literal 1148 zcmV-?1cUo9ZC*OKit3zr{xhj(Be3dey{e^-6g>!fu&!WHQL65dw;6m&)N{aI){nMI zhVBF~b3W_1^6P3*HUlnj{tUDNcIas)`?$T8?3Wph8qUE=dRp_~b0wH;VhOsE-Q*&# z&vC;qQVF11v%&)}%6(-KpZGfj{)w{DO=V81oZYdA^aRdHAlc<_Vp z2ka2xOyQIS`7{3|D$gHe|CfU=T!N;yL88Xj@&Vmr1kIV zz1`u@-A0l4v}d*?v)}RB9SG~@pj86PsiiVxWjlwOj)axlx(^9Eid6c-Q615IbJ z;*&n@9d-o}rn!U*ah%x=x!qQ6M9smpq&Z|AxsDC&odUe%WslMJK>?Zds0zz#PH}8$ zRqfMB>N)x$o!zz6U!=Ro-$G`eI{x{GlHZ_eEUwXC$-NuEG6m(P#6|vn2NdHRCK!+k z^0BJ3Q*@kj?Xde9zrj67si^PV4)B?QES*B5dozd~R#MiJhsh3DtY+n4rv2(vxA1ll4mf_1& z6(m2p0IFJ;vno)!^1%q67bz5HUW65JltQakGp_53CPYS~T}(a%?gabCH$JzD=+GKO zO;oh(tw?ftvKU{&yO&Z$!SZkd_Ry}Z=|f%P9o%!CR#hdA3Bmy1=XL;d5 zZU6qY*#y3vl(Z8nZJRO}soNVIPPXNcm^*9s3RkQKPhiyWVgER&wl7zg;o80QI`CB2 zT~V#GM|ka_AF^VcQ6E`Ub&4Lj>JjFxkAo!w zP9KqW@EE$65h7w$J`iA<58+d17BG{wO~yW4nL#>0t(?K>f zU*8=Mc&`c_d~AacTJ+8=qMl6pz%Go+KDV`@?=}R>GOt6tfd<4ucR(YzuTFQj6Ds8B z>JQdnJYKNS!>X`5P?|0%(uy2}KG?nqN~djZD>0V#H*-(=jEoKU7h zPL}*UlY+QitmP3;{|&f{?5bZ=>H_Qa@!yX8qW-ufQ7W#h8#+Bq+!1u>eQ_;kX6_`3 Oay(d${6_PAR*bm#Cpn-1 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0100.sha1 b/tests/sha1-vectors/0100.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..39b4d601a552f130c14c7b1fad56f460328f96b0 GIT binary patch literal 372 zcmV-)0gL`E57vj19&q5L#AmluK87>2Z`WZajdC+Yx)gBH{@O7eOYjLAvp=FV<+tmQ zKJ(%xKa;T>_GERglEdL`FRN9CCEot=!_k}K%!*mnfIN-{FCp#!dPm9&{3+v{CD$9wRIoit>)08$ zz-%l*(X!QMj6^!o4k{I`J0QOGE@#9o73L3Exf=53L5x`67?Q?ih(D5__P0|~>#kr3 z?K=rxB92acTV*R^y>|hO`u}qkf#%?esgFb9sE=Sd6lfxaQiZz8lvP!s_s1qhfiqTR zg_U{h@_ZMeP!bTGUGmvVKN1v#ZvJ^CG`vMI#8WBkRmr&{ISt1M_a#P9xGqn^pIM-8 zDmnleF18_DQF=FbyQa$nFBBU{81vG)Lc_CR6(^ful#^alWHOJJrXmqRuv77HBHyaT Ss~2*r288wpoO5nnAb*o6q_b!M literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0101.sha1 b/tests/sha1-vectors/0101.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..d7fe7c8054f88ee86e45c7e556e08c81ee9f75c7 GIT binary patch literal 1422 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 OD1{oR;#wChcI08HyoN{s literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0105.sha1 b/tests/sha1-vectors/0105.sha1 new file mode 100644 index 0000000..fb7ac74 --- /dev/null +++ b/tests/sha1-vectors/0105.sha1 @@ -0,0 +1 @@ +�L��7� V���G����O21��I���8�Fd�jh7r�:#�}�}�;��S@�K�⫫']D5�ƕ� ������?Ã�J{W�ŏsa��j���C:��q��g(@����I{�Xq���ܰo��c�-�o�dv����ǚ�Iw��e��=`v�@�i\���]����X;���?X�~�Ԁ}bt�bfA���xL9/u���U�]0�m�Ӥt^�6:~�`��Q@�fX����P�˩z��<�n�m j�^�_��c�Ud� IpPi�>Qd� �xNt ��/�ع��� C�~�]�mN�<���_Wd2]>RX�kxTIG&�n��EG��}�ig�>�7 \ No newline at end of file diff --git a/tests/sha1-vectors/0106.sha1 b/tests/sha1-vectors/0106.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..0b8797509195cc818ab41a7939193bfccc12e5b5 GIT binary patch literal 358 zcmV-s0h#`l;)N`&8d9(xb6~@FHFrhO4xBnS#IZY{ZJ^($lQoqiqX0xr7B(jBhISS& z{yuWudNP`z2Vj$>J3i%?x)Z@?d<4Y(;~;hBlG*q)GJOgw^5Yu=LofmKkBs4mEEk3v z9$@Rz7QcILdo3>9Vd#=2v4%?P)tlYdx9Ofq_NG5zfKoNyL=?H3YWUZ}!@jx8p9)OL zVGi{V!=6Z=VGFkuLrCh8o#b?(Q%VWsI*`IQIViM4frW9&GmjPu>LoLcX8EPu{O@Z! z4es>0h+;&%EST45tFcmbR`6CmJNe%;2y(o;3zQflG3k?!pL=5Gq^+aC#PM?SZiz9zkuPNcLVTV(s=zStt1ay7dt{eN`+V;$$Eq{12KgR?o;+A#;l!kTp;?JSJ`K^WZ= z8eh;l)-I*Rq*ZMln;0**Ac0UTPFPvBlE8%pgCXWt79oOUGLVmJQ`)HvseH$*^B&dh z$-S{xj&VdQeo8X$U@2pe*F+4GAVmN`iF!!EY_!nLD#y7*N4u`qIT`@CC9lBjn{Pe~ zoC5KsfcBrTGvOIhpu?C|~@YP}3 zzM$5 ztZo;o&T6d8o*Opr`V74#bs;R1qa|uf6R=a!WL9%wFdg~fNYQ^m<}mE;Wj-Tv`>Q}^9LBP=fc@|`9yA>K=MdC z@8TTcz6A4=*(D`;y5#`JiuZIY`Qf#=xZv>IBE)uuND`7?0DDO})k`lgD3*XN1UCmE zA+7NMaWeYe4Q(7NPc_n=`Kd5m)v3!ee)Qceb?7n44~P(KV5=wHSnk1cOgjxc-i_L) zoX%yf#GB5kP4%#R0}9(=X_TtH(31|Ig4evD!4)F^(TKpj1*VW@^T|uecBoEt;K2>z zF5PT-TsT~}5l#u}OyqZxR~Gk>2rLJYkRN4kH9+zz0>ynt;5hB}(a%IbbZ5MAQ` zLe`!V#Uw1Br z$W9hx@a=d5U0UAsf__C<%1pSm#BldYl}3IXFD*vX?(y4d2oFTXyGQKmf{uL!sP<05 zPf)v1pl2q@Z}TZrX59%X4>=)!o_JCM-6HOK{&QFV0jT!a=aZnXO?8x6ei1v{3-1rv literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0108.sha1 b/tests/sha1-vectors/0108.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..4dc8fe52bbc90c7a082f02a5b8ccfd20f54aaa5b GIT binary patch literal 1107 zcmV-Z1g!f&9nLSX-SY+udmh7S6%pY6pmw|Ts1XhWA>9z!g~!@oHg(HzLO3xMHoq!? z%T-^&in@dpnEu9ossx5@Oz8h{bnSv148q)|3RMZM(Z2t`Q-3>&HHgom+-Y?U*wTD#&eQinJ!OBXHB?YN3Mmr@+g|9T}F(l*?rdmvz zXS(<<=xLe~d1aqaD3>t|4jWe8z6xK3;+OS`{lcSA3}1w(Uuk zw?B3pq@~--XY(_ca(;Vh$9MUtvnB z$>RY(v1%9J^rp34N-AL>(QPLo8qyq8#k^{m^KQX18@*mca#VtVU z7)b1D9ylAFmQiR{S5eqIzr*uq;g?9#3qvmo>iBwDHWJkzsn=vm{7duG851c@4g5dP zx}yq7)CtFhq(z>)o~1o_MXsEYT#%NbrdOIuA9c$4QhInVIqUPhICCEe$hf$l?uR{x zpOp9N+o`%<;r_;Hjl3x8N3N4kmsRg{HF0RDH&q;Ajz4{Zv{;lHPb<_WbWm=}s# zAErTods#7;zU#KH66y0;V)0e|51PX(St*4Rnt7hCeh|m;j&{}R4Z+-prRWvL6K&Ci z5;VNS3(~nh1z^_bqNg+psP1Z8pqnH0gw7Q9|HO;lSFq)cGZF%%I#TrhNu4*Hc}h(# zI+UiieBS!5WCU_|vX8^2vc%JqW8FW;cinzHCaBl|TAZSqbhH*RoSAi1Ta^VH5efHU z*6N3vU3W;Poz^7P>RGD0wR{Wq;NQ_Cf?{k4n#-ipYRS&STVb;1=y@`nNM=*0>)YXW z4}*cjj%od%8(+vfR%7{iA_Qax+*^O)6V8fC+^trscZg+%xp89(3pu%~MJ0MgSMMR=(@6A!Wx&M_ zDZa?pKLKyy8NveqL^xZ!$n03GeDt6ZH;xDrhSJ5k&~d-l8PPK#6l|B>%GGOrbdxg3rLY z3?lcmd>5%vIAUP5?IMm ZVXfpF9apEIv`5m^28&|kgGaKx;CoN+Fu?!- literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0109.sha1 b/tests/sha1-vectors/0109.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..50a82d61ecf090afbb3dada0c81a44daa5313503 GIT binary patch literal 52 zcmV-40L%Y>5-^cH71k?T4t)ESeS4L>*XBW$8Lraluk1boZ!lp*PQRu~=t literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0110.sha1 b/tests/sha1-vectors/0110.sha1 new file mode 100644 index 0000000..679739a --- /dev/null +++ b/tests/sha1-vectors/0110.sha1 @@ -0,0 +1 @@ +7_e� ;�⥷թ����]!II���9&�e��n�}.0gwz9#����ފ䐲�=\�NWδ�?~~�T�m��u��T]��B �e(�5��؏��ex����d�*4����gi��z��F��w��� ��Ez��#ZQ}�M�8S�n`��*������*$Nք��I7t`,{=�?��l�ت4��L�,.-�u���fg�M}�F�֢ےm�(���ј�9��g}�ʗ��!qL��!ΦR�� \ No newline at end of file diff --git a/tests/sha1-vectors/0111.sha1 b/tests/sha1-vectors/0111.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..a1a951d9f28055655a41500d2a63f80c60ac7d03 GIT binary patch literal 1790 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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0115.sha1 b/tests/sha1-vectors/0115.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..9ee5ffe4a89397167022b76dd5540042832509b5 GIT binary patch literal 2320 zcmV+r3GeoEZx6w%l`u>X)`JKZThoYU<(lB30NPVrU`*g_Q`snFuDZ1CvCg$-vtTVDGkEf70G(;ihCZ9j zGCt$`qHB~BY=@_QJ8Vb@;->44Ua)|h=SVYcjp1+VkE-abU16&MnHB1WUEB*U(9PFS zdQfsc0kx|}#@WNh8O>qG$h{bW!`hKz(|a4$EUfY+&>Q$bEz(A`%Jltdt9O%OgpsNc z+P9Ikg=?yZdS5fQ$^215mPPN{!l&t^y`z)oQcon4dlu=}PD4g@kHr}xq;h6@GQ4dt zXe1V9=gVRf2^s^jQllN)X)T(*nOu5zP6&(mtELya5;AcW=?hz9%z6@;3hl#zz zX-g_w+i|+okz_R^soG9dLp7g?#ujyfrwMq5{N$F>bZC~e3QJc$m}L1%*~_=i%(OpV zZ+`?0Da+1<(YTNI5w4iFI(|tilLKmaNMR%rNU1$J@z^Db`TZ*>jk*F#@+2@HP@KD= z3E7}_kz%vT#i5{w#-F!?rkzSF%MvE|!QbaES(_gq=FHp;_lF!3?t54|`tNg>yn7IO zbpI>!PXDN((-)zhR3`cS@?XcZSetDcU}A;Vfd4MJG)@N>nQ1vXHeg?$*8rRM-}8$7 zj!p>%Q@hCY%qWzWgZI(FX0KQ)U-#A3{FW&N8TJ@vzas$JQE8MqH+3hM0IE;`CdBZ* zhd%l&=YF@Hyj`Iya-EmDCKAf>86slU49sy!N{?X~>P+;dr`m^AASbJaWi2B160ri{ z$Y|oP^UtatgNv`&WpV{V$0pB=8}Ap$>GVrkRV60hUAv}*Jn^x$C;@zd5~a}UJ&?6Q zvT?b$k6NY>6Z^<>%UwScaYjG%)lr~8$#_@-I|JKJ0kFw3iwr&Pr@w-1fbW>eUnO>{ z2yB+N0pH?`M4IsbIafmg4KDX2@u|60+$?V|EvcT-foXFG<1~E2zO!{N$VwQrHG?OO z>Y)5w?YX1{V}tKz2k1+{LUD&}`0S0`V&UiOsAv6l{?TZV=;dPH=fXf=cRqA2^s{Uw z`wi`%TX=e77aGV@T@dCyrsh7j)ev$zbgAvT%pNV%=dGo&^llkg~hTE$7NX%N8EDUQk<-748EK1bJG&oS$h`k6XhodU{jE zSQ#(X-V}*SmhfK?p!#&vs<){TKXxv$hyEK&2jZsM%9uWscbmm=df=01N06@8Fiu&T z91`SymaE;qjRCLL6FIGaONEtV|o0k#dl zLg~r4dBH&nZyi!1%H7z%06faaJP2sh*7YzJu((~-JgO7CQ`;!sF*b)X8#9LIr3I&_ z^%G+n?*C9*xU1(vsvKXj4c?u09Tj+>fH4o@=m&xB=eHd5$J@O#P_f28GB0}_t#G}+ zr{&^d96S_8uiVJ$?V?PnsNPPY=1Y%qkqsfzKqN2Dt62hI`-l(X*55Edgh2zC{Y zMLdphY&2N2g>WAaOlke)1kCIA&Yla%uA~0hgMNfEGIw1 zcZVtaXqG@+B-MA*iUA2j-F1<2!WB1$be#2@p=oFjNdvrZ0*sGvz7`{3YbEf?5=7}o zq!jZ9rHZn>3t*!+qd1n}4=MZU^@wIKlKCj~U!6264*aU7_>RHA5^^fDn{0UDFZPR1 zogb8khRUu?f%DX#KyxuK39+4V)rfrPS|lzarj8la*`;xt*4&;}M|?S*#gGdeo#Mv> zPJiyi#~(ELqYkHsq{cig#vx^+Mbub=MSal&c5T$uCV2y3rB1*gk-yb1gt-m&5;6Kr^5!)1c!w9_wf%<{uU~^Ns$9R5=a#?&%2jE0TEqii6s5^i@FJ==S zwZTw|(2$%l35n_A^lA)XjA_9d4W3GeI2XxwDlF{$`iI+d?eg30XE+ppoEY#xq<%vTO7i-<^?g+$8=A%}eq%$$X<*^ee8=pVJW;bzR7UxLOF$2Xwj5w qx>MqNPRCOrixuKh+G>mfM#H$5lPEEaLjIjlZy@6`a&4~~bU_z<+E|A z>xM8FX1*-ymX=#JBQ0?O7bnUgD>uMCF$6t%bNhRS7cLB!iT}@Kh$O1rRcVTEJS~3< z{)pXVT1#Bag#YsXa}}Jr23)+`n%5(rm<9*CK}MZYTzG{tQE_a;ZB#9?&CqB+BuYd7 zG)GsR-D}et2&~Wxuh?21{|?vNkr<}61Y;9hXCjqw;wVSWGNLmmu4jYHFlE(0g!U(9 z`|F^3e5kg}JY-h|TE5EB_R1}VqJ;ijgf?z;&YiDS^21ZJ>jZ`NB3WlVn`MTl#;2iq zGjdYd7D)g>KpqEjt#!j~JpP+T)AQnHLk#N8ClTW?sQP{N_xB3kfLp0@*xbOT*kOUA z?znF|Gpo^ZP<9D=@QoOif_sUg21mIe(lWirv3JnglLei2m5Tkm(b)iz-j%TdaeruR z|5CGqSK@9Sy>w|<$gDL%xf6e|AFN=>5E3yN$Gk+--&=Q5_!k?e(xdvuQ;W$dkZfqv zLzk56%_!#)NKhak7sI`O6Co>6udX+nN4f@4<)I=u!p`-7r7~W$TY;)7AALl9o`{}X zWgXD&I`s$C{faMW8VEyYe{E+y`XDh^cEr`D@ufnDDho}$N_v$|;LreGd5w=l?WXHa zkBin{sDqrl0gq-EO(MA{hXd&+z25AYZUR3y-qTNOE#*VS4cCRA?#Ls#If3C%^;{&> zoVp?hdP?;D_j~5AXwp9Sr;tYd~|TFUy`cA zgxAP^FFQOSrM$5VV>aM4+@VAz!khM{Z}Wah@t__G75q(Fw~bdemr^CRsREC(q{*1V zg`|Yg$7O$VloAF^5t;)G1#pTc6gJ!`<`em|RR#PxQewGdYEh!It`!6WZB5mTuKau`&W*Es<1`sV;(@UffNUYW#@C*%$*Q!uk}sZZAh4NRv67jSl2(AengMTS zW&Y*<;n!YaT_5tUmJe~1#4GZ{0d7%=ctXyP53%DEnmwbLx#>>cExlVFM0kR1pz{RcDSKi`pM#4GBo<|Su( zI0EyR3&N`CD8NvLjNBvUN{R48*OZt|^48lBidBy8U-5OWTjies2*``nqH|pt%c?x3 z2|=ZNXc$_luwwmF$iXb|l=FkLB@4HWNG@uZu&jj#s~-I7_oCh!?UQsEFn!7}94A)(Lcr5p0`mdtyJUE5=gz$I9l8+d>B6}XN~LuUDH z8FxDWayvQuh8vs~J$iSaBh53;WcPM=xhwk~>ERl(eGCdQ{K4Ey0$?{6=$8m zLl_^&x$#_tXq?pXYNa6wv_JF%>Zt`638Z>m3$#x)Mh;>nHsP7~(-!{xw}#qOL{4r` z!C-P;jB=L5OBZD}I0p|ww0b&e+%~gOxEQU-FGvLmF3sF_$#;+h5XPSBTgVCt8O=gg zh*$$Dh2|Rp_#~cTvJSarbMY>BG(>n}ZpZLE2ve0f6D`J>7ajG?EU@zYobI1UwyV?Z zI4tki*w_r}60SxeK{o1*x$|V~wUornW_Wz)Ch)XAV|Qb!)-`veuy#NjjON%UK9>EJ zA25t#mtCE$;wkaQzJN+rPShclG`RXV^voZqPs~=G;;%$gR zkU`cT&JxS)hFcai#Po_m5w5HWSCY)E9+?!W16tk-6uBM!kVzN`3SUI#sM1}0O`VJw z!`r4!6uD-a!9}2Jzg&gmBIhaJDX@KmG0@U7kgZOMG4d@~l*TfQ!jt)a?M6v!&yoc5 zp|&S3@fmsxd+#884jlIqj{j=Nr;e0whLSBu_$Z8%6mKYmGqA#N-O56C%M>VoL13MQ zqyJkhTbm+fh=xnuxI7kxv^P9KU_mYl6S*%66nH*y3g1>dA7Q*PFlA9)C%o@{L~fps zf3vpKkSEY3Eh0+uo7|<558HMUCe!;1sK7)1z2txL-XJrPs)b>g4#y+=LS^G&*#Jd- ze&%}iS}FuycG@4$?w#OSVH&O75MFtM{TC5ZH5P6ox4nYEe;`!xt{6;ZPrO4XVokq0 zG0Xw&CMp(UMpKGS-e8^i?^gofH(qGV-dN-X4gXRj%QCe`N1L$()NgHQwg?uHTR0Db z(8~neW6o~#k`O>yJ6W9nmo#PH0#+Mgy*vE+wdz8(@Vo<-)$HL=oaw^uNL}p)%8&xP z?@3Mz5~YEIBu;4UBl%>LPXFByR=e;Olpxrbf&$V^96QSlDXD7nvcKpEWIJgtoj)Mf zf}LI29+jv#s%DvRpR+y9w>>#0T8Vc`<)RsbC>J;h^Lhtnp5kHq$HD}?fKrCd>2SbI zgXd$Wfup1T4IZK5)VM^iFsMUPx0$^?rFzOsVRa=jV2kO$(5j636!-#*C2bzqtJS;m zl_gG7yyO75cb-pVOfc&=|Mc)bylSdxU-+-!61~qRM3@2pHSAzRnk4mlDy2ko>)64F zlR^$!Hb{ghZ?Tb>0nPcKntkE`Zd%kU!+=$~I4po|o(&I*I^NEVKV@LBwa3!NU!(B7 zwsxcnx;_ueS>~x4AyKokZ7>AVO hz%@l)e18IUT$#ufBZh0VDUN#GbvQ%wK> literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0118.sha1 b/tests/sha1-vectors/0118.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..91ec3499c9297be32815261b69815757599df963 GIT binary patch literal 2492 zcmV;t2}Abi3Jjuh2zUHJaHzd4oqTCzKPs`tnv?ky$e7q+UkG(brF$mfgL^zJd)IRG+|U798;S&SLeuEcO{`mp7ZEi4m4&ckA(& zBFiR}-L)(^Dv?1dcuo=>LoDg`2(5yjyPyk^V1k3*Z>&HHStuAN+_ga^FAUv$aYhv*g$$jiGJ4Wuxf@i32_Zh~N!k{4l)4v0 zddfxb?W%LlA$>wUO zp)cx+5ubS(#$cW{DF*xUZ<9_6`hTWZ${K$+mh*vq9w^sE%I<8b~Uix>fWbmj=Jjt=btb zT`~~e5(u~ul=iAjxSfrFP9>5yXns#iFp=EV81iP=;+N<;1sM*IjcwF0WA|}fG)O?5 z-fi`b!v0w^U@t@4r&#vKD55gOePpeR(2HhShvt~7Sx;7NAhhliZVARri@{Xr)m<2H;#5<0 zTZ+uSk@MM`-o5b=cMUlk#f#aa^~_L^6(DHS40M^Y)v()Enpw4390-w5il#_iv%0M;UGV>xFA)HUw z4!oaRB=F;Bo%9T^4~aF$5SY=kPzFQ5J4#0gTxNzYiR?T2INb-Y{!;n(2N z&MKnC<(cgk<(SgurGcw0WBaF9ekxEL19MRL1Z^%|fJoZ2s>Z)K|EqyFJv;$y5BM_^ zt3M4`equ-WR_Tz7AWU^^g|PmW1kG-J&5Yr-$49{%lnB+N;fOeb$0U3lE@PCkS)R=& zeY{RMIb7_^xBsmn0D-iwT~InYXv;#S&bZ9MbOe&6UOQaD>8WC$+4()%f8;@cj6+!1 zXqwz`0k_QT;a+C_^$q|{tmy|Muwa#09I=^349aC(keS`H+JTmn9Ej#)eIBObimJTi zxG80GDt@-Fq8vkEzHkDlU?jSSB}}7>dX_?`t$_k*HI3xRu_eaB_CTl-ZCQmg*gahici*&-A{^K5@`UwI{{ zD-N^eR$>Ty6&@9h=Dc(0QA{}Of@N$2^`6W_z5f=N63Dgb1H%Osicdciw!6ZXIib>+ zdY^MR0#irbl$+lcBZD@Ec`4!`vC>V?1qg9u?pP0QvysaV5wh%zmXDsd`DurpSA`99 z7QyU)SVSeoT0&ikfn0+x$=ueD_Wjt?aQ2OiDUT7)p`(|%(#r-1YSR{>Rp#;a4xf*j zEL&Rr!QFJ;zZWP`aBy;bDKm)&e{=cT<3Ex58Nu^`><^>-OOca5i}OHd@1#+KdGsj! zBj3moV`AVj4*WIh1z@}z;4!8J;WQ0D%dV4G#zt9$=|?)rP!H8UciwKSXC0&sgBSZV zzMKmvozH`;z6fzP7LfD~YZ3{uDDH@Z%pMWy?%UsxBjQq2OGACi{aIjuc^PNi2uT@B zY9SwZFV+1uTm*I}1XgVcwXb6Lx0OCY5 z=m}2eNfQHU{N(5#hQ~&|3p7bSk=5)ZswMHGT{gV$@W)I6RU1=Owk8ZNfW|5P!ne|Y4itICa&1Nks!Lq0?(qh-ggeqdZvZ&;9i_{(?{qC`*%w z3>y znF<+*WnrRV#QS1?)~&*1zc!Je@=vL+!yg@S*)|_w5 z;X5dQzWi_!T!7M6QYbAmp0;C$f?nsjj272MXo?JxE;C%rf|t9H!f%r}Fk~PoRNh%7 zcwd0s7$$0QdNDXW=8?E`kmECAi*$Uah{b)1);*E0ZHWSvA+?ut0ik0@LL;N@>gYIY z)7f^@;COT=Zl*_+7Z>ZGKg1G1)!$Pg9!vCN8R#`HD3Iot?6&C(bH9dO#R7Z{VOUy= zr53|08dOG#b!`0fv4;i6t%>_^9y0|2f-i4pq(8kn$)3g~p{{L0o#d$07A9PULPufg z4F&7)8J+hT8S|P?-hb_ZnzlhdB-en@U~IWsWRnTO0IK-`w-t5w_kqrC1X*Ug) G?)Y4Zzs$q{ literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0119.sha1 b/tests/sha1-vectors/0119.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..3aa01b3c38600986104c5abdf0b00b5924dc1cce GIT binary patch literal 647 zcmV;20(kv-1bA^)UbYgJ_Mso3j=ppTB~H6gow;GU?E+5u;Q9#FKnfjkg zvJdcFXpUrae5}HmW;B__HP%RYS=4=m&Q>fk*;L9FIyKmHMan2ZOb;s1#q-iHqZ=v1hS~+g}k-%hc`V7 zYxB6Zs`+{LI_&Ijb<};C78>pFzmxZKr8gWqzly9N(GQB^Nk}|Da2Z&#D8fT`F7(^Z zLT4xWRYQ*uIWZ)tVrvd?nP?!Am#Ts4BeL?j=-vfKGx{r!#D{LmwBXTA} zRaWF>1qobguP9$@^_YT|3n&ABeL>+uCAhfI$t|KV?d6SrZ|(yQc84p~9#_tF6eL-R zfqo$87bdmXYPXaXXHB@Ha#u;b|A66SJxzCa1&-Z<>HMB>ny=gho}MG{p-02rnVI}8 z&;W@JMM>)>d{M5JZvX*OF2Z!{$gKBD8oK!c1H}7VtXn?oVqT+kjZ$6Uyq|?uOHPZq z5bUYN|D!O-)cQw49`5QK%tw$dCp}I}yeFTWgeW@9&KAHPlX`I6^X-JR&6{>ajz~pH z&M^cXtid&n5RraCTwe~r+~wf7Od(uLVx>-}UH}_;#s~HX+54s@vCinB1r=Ya2!Fd_ hL0zIktr(oV2H-i$O}l1Z>i#<6ndv_%X`Ek-?F3~`J?a1e literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0120.sha1 b/tests/sha1-vectors/0120.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..66ac016531aecf00602829f61462617bdc7cd2e9 GIT binary patch literal 738 zcmV<80v-MPhOH)aNZ4@AM*bxD!3I<5C5l^bo4>U*N;)?zcWS?ZR>1t|Z9Z~$WwXgR zcI^J`1;TElZK;ojI9iMbW}4zxF3$cT*Ifc1p?iwd^MVwSDDb1izP9DG6nBOCRDu?N zb_+M(0%kQpn%GiYvxM>gg|cLk`}6{i9Th$H2t{{~cA{L%7zs_z88X;Ub~|f%V6?sq z##Z+*lfzwMl*#Bk)wo6qDH-8q%M(~fhBN~An$ci1a)7S|IS{uF0#@!;4#y!<8Uin9 ziforl=t}|7w1q*}zlz@fej{4VPUs*0m#L}v0+7J~BCJ1H0lV39C|6%#T{v*JB@N2o zSRD4m6ty1W|H5c5< z&o5=jY$3NawtdY!TkgSy(xvRbJP5d|TTm!<8%p+N*Z>xaVyMZI;~@oVB9Y~N3?Uv} zo4lj?jbR!1;6MGKq%i4Ntk{1?IlD~wHMxq5$%oQ5GcJ0!?>AQ?%I~PR02c5DlTW zCs%16FI7?|hM`VJ#jZXvGEU*malzIl7G3MkAF*UgQkE)!2Dgvkyt4kf)C9A<-eKbs zE>E@Mzsx}waA-HwwMc=F3yPe zEF*WF@?iI5WB$~NO_|PVM?iS&VTj3ZH-grh(W24dnwu`{90;&_m5=Wu95@q@L-q&> UiIrQPVlkOm#+!qINO>x;Sov6NNdN!< literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0121.sha1 b/tests/sha1-vectors/0121.sha1 new file mode 100644 index 0000000..9b2369e --- /dev/null +++ b/tests/sha1-vectors/0121.sha1 @@ -0,0 +1 @@ +�=�ZR���K[d��+&1���ʟǟ���R� \ No newline at end of file diff --git a/tests/sha1-vectors/0122.sha1 b/tests/sha1-vectors/0122.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..8881abe6ed557dbe85ae9e1e13f5d1cf8cb3b8db GIT binary patch literal 2372 zcmV-K3A^^o7oDyBe)e2|oGBcTVXZ(>DT{vrVvQjl10nYZc=WCB6#~sYi?BGheyvq+ zo`N^m<4g1|zsaz+DzT6!zNMD55}VR%OeBWEs2F2GTp-8+xnv#%GTF^;5kabGOn1nG z8#g-8Xk+}HQGYKyn1WcEG5Cidy#)m18@KH_>mh#+Kgk~iqHYHgz66}8BS~Am>PRh$ zYR~#NdON59v@t8Dx4(mBo!uUdc29iEq{s65hZN(=GGdh1btIn*FYKuxx-18Xy%;{R zjSKRa_UL~Ok{CQG8TC&zu@N@Kl2)|XrnV*}10Zc8)!9tu$8$;Qdex*l-go*I0Da+ruXk7U z@g(uF>%@TFy_+LaF%rEwx$l8fr;P{g_<0{r(;=Sx9Wgg~xtp(LyM=PBIBFiM8NiC6 zMS5r>kKKe|m%vM-0Y;?GfhG!=&2~4-w&zDSWFCt6$ia_nwm#ie9Wor+>n#Y@+I$=; zMEHaTs-fsl;{AXG84QC%43mbVkPtgb+c9YR3BqOB?*oo*2nukfK&CXVs~!z&ec+LT zO1E_K%NUT>S|$yUX&@Q9>aX*3uW3Eb3a0oRm4+}MCyUksrY!PQ=MrF}whN_`S>fPM z>QuE)CGaXx^=}`*oXAKbBAKNRk0p_>=(5vZ7MH|O{5+k7pW?YWuN|oJb(=9TShoG3 zW+qaU=n~y2g;uHd;yZ08y9|EF-g8yh+INd4a{Mh?D@x-T_4(*&iYl`g+v%32z-HJY zZ8NTOJLOv)sldr6)1esF=A`{xwx8QN3qW>;9GsCl0T2R^HXJ2&;p)`lYTNA|%dVG6 z${9qx%TrkV@qV*-`_buFv%VW@>blwBi3Df#P67IcXiwg)n@xckU>bX!@L!S^jPJ$! zQrYd%XtEW+*s<3+fAQdJC8hXAhW3D0NO`79r?e4y;AoI78$D&QkKjfrmc=LfAnpKK z#@2?XBH&Wu+MV{Ok(rdVY`0jL6izMq4h$bVk${SKnJ;M*WGdtCT;vO5M6m_E^bmO5 zp1$Grn_uzF4`Unjp|@0?Upzh65^hwg0~8a~wfi+wO5e`7V^+D98?}TX#FIU-ua->$ z?{9J#GZ{<&XL|>%UFN1euqMyhN^4 zbV=GffrC@b{Y-wQ{gD&j+W{A?fY9=tZIB#Ih<4JTyF5Hm?mM(;iH0@$M--0AvTJOD z$28$&Q9S_J;^c?DgBCndTq!RJ?Mllxx&M4^3T*)e+}vFN4V@ee2g_` z+^aoCijM#D51M`M`4|>@iHL9Hs#QG-^XD?qD&%P1zuMoZE=vkT&=y1Gf-(ZO zJSC<|eHJF^mwDL31~O3A0^-!p-!1YUkVmt|p_KU@PoAUbi2HUM0X{cH7(zd;nqH&s0CMBF#-h?&Wmv0F8(v;AvlLqx0G_|18eM$Tl)J-_%lpeS z#-DftX7`L&4P@L@%D_7S>f~~?aodbqt$4M-b6I}`urCEU^k7qa{+-EvUVJ9{XI3RB z_}9kwR%ix#9g-kqb^7HsB<{>|9NqTBRi6^h`9QR@loV3xRAH>Ws3m4AQPx7wYt*UBapR{CA1NZVVkd zp5nNnES)$8e?D~{jWDkZtq!r|U1ci^mvVXu%1A*L!fi@3WVNFGkyBvec^Vs+Aw4;a}aT{1cnQzzUTvqhdApw>EvoK~*fC?5p zqe%yaBn#6hZSH>=VAH5u;vavKWO*kwEd-5uZl2p?FDXI3$N?T2lHYc;Lh%XT6R`rt z?o+cP(Q(c2@_ks6gtBR~QZ1>#x%3UOYtsKyz;$b5qS5U<$REu09h_Jl;S5i`qP=Bc zUL+_yR8T%tt!P0+Q~E0{frZq9QEi2o=+(bCsm1tb^ZbogA?)z;rtgn9oV!KcY|CY{ zfc-65O@1EMVByX}IvDYBzbSX`LlT;ze^Pl1W7@{|38yGZDOyj7Y{_)9;$)hfm4yC9 zKSQf1`YDei9;V0AR=b)qf->0!5s@G$*K#hHRTuWrB8`}G`(o#rz_o3a9W_c;k$za7 za!pPlxta=qBu$eW%y16Juo;vyipcp}(TDdVxNe9o;wqru4wUM~W$x>_W3f%F%b{J~a`q}3&Ad)mKa1^G)aS=RN7rz=_KTMPli;f(A&5$&t>C+2g#*gz?pV7Gql#m{ANGD?7R8jFX$@m zp)k7n?G)7dAXI!mET|L)CxO~rhH&_cB1FY3Sm=7!89s^IcJ@oiFySZE_DPNKM~iUX qphR4fid0(vc%|HT=?as_66ersqEu9mOf=EN{O}p8Ee2Qx#Fqqy7M`&H literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0123.sha1 b/tests/sha1-vectors/0123.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..c380e54fff8bd3ab6e03718b0b76636514c08616 GIT binary patch literal 367 zcmV-#0g(PkYo8;rmsLNWg`B0_6DZ`Z3-Xr*mgouiy4236Xq8sQ-s3aZ*U^Tn`wvc* zR{-JLqglgeV90?x7f@vs&E2{jFdJoazPIZRtSa8P#YyANvdM4WhmrjN>_<{5<|t7`zH#L zFh!f-_-|dw?aP)W-`GG^U61+=`c+ek#4u_KS?mt3?fCFI4{@0-W}bVPPZlYcz<#Xl zPvSpvkc*2br2N;*VMJtX4k?m3JWA2*Q&0g&W`%@z=79>?iPF@3b+CjSH!swXfmCPO z&MTOVIrb#HvIbvx$*Tiz&q%S;oNhx%cj=j$YeztYrdktG^ge}6xU>4U2R>M20Y&Ef NjSl3}AOK$U2*xc#wpaiF literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0124.sha1 b/tests/sha1-vectors/0124.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..c82fd29b58afb8d79da1514f2ed5db87b7de6a1b GIT binary patch literal 2180 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 GgLJ}#w^m~S literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0125.sha1 b/tests/sha1-vectors/0125.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..9d6035ace7bae7b00279ac919205f0b985c49012 GIT binary patch literal 1842 zcmV-22hI4T_qILMYJskTD3VaKXXM1j2yTHkRX+T4XvuB|imJ;%jZDwynS2M}=pe4= zK1~yt%hucS!Kta>3a-;7ER)|6l#K!9-r^iR&X^|jL5sfo6(CP?2A5z}Lmw3AuDO*b zgS&g--YbVKambY2xfVq;_su~@aqu42V1LtBt@OMi3D7)}a`*s{$1ijl3;pe66pPwr z&nCTe=WHk#svLB^RY+N_qnPI_87$LlveJfO{C6{C@GB1cvF`uBpN6h}@+31_#lKsB z5|rvvy%+x~_Wea7kj%z@b9k5Gol1sAscl%;IH;Lb0T~Hd&DodBI&`En7xo;GsVy&t z^~tYoww$2KCQEkO?3z(D-1Z;--BXYT$#eEHh`$bUG5dl@AJ?f{`WtI;d!XxMO@Key zujx~=G;S)WLBKS=yW_FUE_pd+`RwM&CZ4V_ivqUQu#1t^*M5%_gC)tFasw0J*zpg3 z6ccr=HmWv8HP8Dp6RsD%W#$D~8+0G%=f_Uz_;y$Cqn$G;xpvdf_yP)Q;kWF{d7;@% z%<`$crD{3+0e>;<5`*-4sNf_13QX8^@|F?TO^5)PKiW^pM0OP8QzS1Gqpyiw@g?M) zkGgSMcx9oQC74Y7aw&;x!7^g8HYo|1y=U{| zhau8H6YAh4=rj5{HymnU(bF*9(fq26E_7i@2IlyQu2x{J2GGDdb`JpJ7J_8*$uAHW z{8cQ8plytmgNAWvL@y7cz>kB{ z@JTkP-0<1nVB!Y`JA=KThV0Pm4ngI^-N4IRkW9)1@kO#x+~G!d=eeW^bn?e3)kvc3 z;fu*Z*C8HQ;EDFb*3mxJ;7x*&yw{FSkeyvDkDaCGc`C-^pAk4*>RQ|rP4?yr0>?F3 zoys-4xh}ge=z76gTC1w}jeE+b5`xHu6(<7g^rV+fzmjAN#oYFIz~5fA^c(8^RvOUY zF^M=5)gE;&nXi*_V~-#9oprO&0R5@|lA?eO5rmO;0-iNyrHZK4KJk2u)RR$}*4)+hw%q<0QEZ}e z2-wljn~IJrF_$x%ndJBzm+Q!S;r^Q@Ui$-ZT+;AqYm}Mq6^T6}&zf2@V#-<6Hn}tW zOA}KWFLSM*7)HO6XMnrH7M((qX71pDej~SQ0RE$6vrR_64Ki>y^H~CRrVdIs&fJwR zgehP?A2HMNIWcNeo>cK{SV!XPgZ|Y2fLZo*^*-MrY@ zbDbh4>OeTkDbtmGNexR^<)XZq~xUO6pV z+;}gvw1Cj8+Z`cxu6!G&MGI(<2P6q5j zQCH9z*{+8FtMMP-qO&|ano)}gQRf4796=YvUJ(>*d80T7e@kO#BBKTmq-N$7)i`35 zt30o{XunMZLdCc6C%+gFT9ao&F?@nY3@*s(LO}}v)asI%Q#>UGN2UU*7p-pAj6xL1CM8w_5_X`{G8zb?W2tmAV&WUY z=tm@7HJdL(KnaAieal{lVxoKCHFh$8XfW^GhG+UmT9d{toDzhbsK9|E`GqR>wwe-~ zZ&C&Kkov3RWAVdeX5(r!f`gAhP3ixSj$KpIsei`y>*e3}QlT`WdBtu?`;F0b(6i|Y zHFSGYXxgO=27#!YFm3^C1z6aSgy>3&+ROS@or?9%YHC1?73ogI*mJy~g-lYe++rkj zb{^5|(okUlWw*Exk@iw>V&1?}T(4CYSe<%$k!JpLGBycq^(`DAlPm`+jN5}DN&>bO zv2%N2#SnjwA9w0!cGSW$Oi+fxNw`q)>4VopbKjZ1#Uh2Ioci3?x;)R!jWjhJ z+!h=o06ji1?`KO5cG_x&Te*1l@VKL6H$9#JkP7Q|(@y{UZqO+~+8b=aIFuJGDyO{) zB$lhNs@DaJt0#KtKYJ7c|shFszS{flYN0uZ%)jv!<5LrP&W3FK?4C4RkMJr z@)%LAsjKa*RDGO!(^06b@0wc9fngGl-8d*kXY&k4ByB#7?lJ1EA;7mU{_f8p^E96t ga+;a9Ztl0O!xU4W{%Hx?PNS0XLa zsGZYtB$6pU^Af#iR6U5X-I{*rSv>y{`0t!8PV8XEyYA3nl`UVr}sBS&d+$#f-t zqJ%PX5KXygWIAqs32L)H&Lmv;>-$D@-3l+m8GHQr=3zAI%G!`1XEl@m1;#0mT{&uC H+Ve)uPT*#V literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0127.sha1 b/tests/sha1-vectors/0127.sha1 new file mode 100644 index 0000000..1b1aaed --- /dev/null +++ b/tests/sha1-vectors/0127.sha1 @@ -0,0 +1 @@ +�wU/�0�*޹�.���~(_{�|>�&GW4�ؑ}�P x1��d��^9�(�<1����� \ No newline at end of file diff --git a/tests/sha1-vectors/0128.sha1 b/tests/sha1-vectors/0128.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..bbde2fed8ec1f5067696872a15fedabb6db14b45 GIT binary patch literal 807 zcmV+?1K9k?dYAc(Sp+`-2GbND*B)$(bZA#sQQ2{zIp;T7Uh^ImjHZB%bsCm=oY+Q zHmw-kdsf*ZK+gnm?2s+nK59@#efZ&7Yv+(iNB3@fKX*++0M!Z|{Z#H1W}LqO37NxDk-|fjkDUMw zVBSa)!k&u{4tB6TrEU*L1fgDzEU3w)V>}!sGvKOOBYj_r1o+XVO}pGc1V5g%M$CJB5a*_3YA} zPyN_HKcm9Q@CR0>^7Hm7gNkIM7O(vgU|RYJpb0Zgf_?_O!Gclt@EtIR0 zI$M|!fHKnGaz=N1;n2IIz*E zswb2~)!*dEU^Hf-IhHG=zRy)-Gh39vv!R^4)s~>;`%>G>tqEb4MgsLKH;J8@L?#V-*1612db*`)L}kpv$0(=bddAD%yyHfZ@(f=dS5nseQIiDY8+~f(8};MU?dnLJIApX!%5^-o zrr$KC;yd6;51Y`K0*U`+*upF1=&I+Cn#M*Hm4nKl>=keNYLWJLDOIPg4HAvZGb|Un zl((;bf)IGW_tSOeY%RU6oE}_z333WS0tW#?C@rCF4p){ffV$6-87X>eI#a06d|^@_ z(QhzNF<;K!XFf;~G_GEs`6EB1z!UT9fwm7>j|E^3pJHzB%&2!rZc}Bnjc>1(IiA@^ zPTkz!?IG1(8sG4wfF+=YM9(9p5O|t0NP;l{-Eao+gq;m}ue`kTPTI=I?YN3iSx8mx zi&w3sx~kGUqW#l&*af-yqs7K-{0uB{lAMp|h|b>u{U$)etvkRT@Kt9vWwT7MXoL6x ze`Uz^6kn#nhON(nzsfM_f; z*x1TYIrBEhQ+*+Cg)G9-MYrcRWugu|DiqdkfqB2BAi*)qnZXfjMCF07??&m7|7ZpAXJO?3X``ySxJ5JO6O7PqmT<%0+&|~C z3m9-(X8f(>=tbH#mcf7^Bg$#0&oNI*_>a{GdSMFQeOzp7>ICcyuZ*FldS*8Pqta9? zW%D3hj2deQdrvEZl4g%X%K@w_O6snO2iiMYXFO z$Y3gj?!G!zmD<*5T;2D@xfAM9c^CMvfQUh(kTN|9B%X^tKNi2WHO+GZyQ;$2EvkL; zUpV-8HW0o3ovm}jc?OGYRC&eEb9Qx^gkJ@Z`h)A6D!b8UansDrAIC0v3N1)opA}m? zij8I6I^@hsXGk`?R@d#!F0U&VtKV`W4MkY`O!*Qvu1*H|tQz~Q>R?#_)TpavTAFw>s1({L@pJD9 zZ9>^PY^Mg6#TD?1lzh9&`>+l!K5f&Dagi(C1-w%x)-4qwrPUW0 z479BKIJD5aU$$)yf#F9m2#%cT3CoDluZ6PGwV)wrb|k7K9a%T3D_m~e)bBHd_MVg& zwRn>R>t5CJJgOkS>_+$71WUb`LpP9{TJ*fy={(Z+{N@QwB-%;BEQ;iYmps2#a&XqQ z+~`LS-fN$$#`9_83N!xcO*pR)XY*2&C%Lfd)UMETB+a3>;ps;(4624?5Hk`HXb5`i z&;(a76=CGyy{s(TNuuRQ)`yjFTqT6^j8B2M?D{_c`$E1yce%=?Fg@ow?-6S%2DdLP literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0130.sha1 b/tests/sha1-vectors/0130.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..94994d400e6022763b5f46d3dd30e0caa3e9a6fd GIT binary patch literal 2111 zcmV-F2*CGcI`F=eUwR6otj)7P#kp*!*N6qK25HG0P@hSYQ)pqD_rBozh@TV!IVIUvJ{rFNRWgY zG19bV(Azk?Q@mXBXb!@atJ76KL0{u%#Mh4!MC~9@Dxto6@98z#wel(`jzZ}&BN(Qk zE5hv+(cAiQ;IYB-H@Ne@L;noD!qr6Xf0VMm3F^=atOB76V}&!$Uj2iU_g=E%Uj%{B zz}R5kZp02vL`U>OKMgoP^3rlqVghAKn9tIM3yM3SA-(6R(w8E0d=3lA6s?1UX=iD1~gQ{VNbn;Z!B@vf^ zj$U*Poml35v1dyioPm-*AW@)Ojr2_t7h+-ziioYr1sWg9N{v%2Gg$?pdhXwgy*;I{ zNbhHz;5y(({_cxDh?{iSN_Iuhz|NBT+az{bxj6lZDLU1a70_#dA{27Z*KkzA%Jr0}$?sk)ST;Kyi3V@nM79Wi!VgN@TbTE|;UzPP0b`_dTq8( z862sI`L4W>3!dL3bDxtIn73MAW40Ar5)ki1n~2&^QMlczL6Nn5;0j_m@5J^8bWJ2_ zgx79o`bp(Yb1f*ka@ulv?Ixv@<~4kaNo^32aOz2$uDrj4rKYC3Rsjvr2xHh7`;OX|EO9u&-0X_OzEn~4lIBK%HcNfHnC^_h2h!Vr|@^tUv(Z#n}?i&VF;S(o1W zU_|qGF0Ialm}dWvFX}?vyx4?y9W8 zR4#ku}5d#lEvUn_bs zfaQ)jp~74+k^6_iA^*mX(aw?e2btbZ0UnGHEOnHvflE zL_{ zaDVlCRCL+TJM2_=D|L+u$lPW?Yf#@_0I7iGMo9oX)bsm-)EsXF=QMgbCZEb@vir|X zX=xbnHzqTt;yM}825wSI5N;4*efL?@%k)JV%!F4m!kE{6`zy8o}C4tGKa8oXf*qfjb%>-)BwnzptCZ4)3$T%owxWg`BshRSPygs`_%Ao38$BhNTEGaqhB3#6 p`C}S$LTG1|nc7eb@?Yzd4a-%bdz$F-5>C<|X4}yVQJ+gGg*jy>E1UoT literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0131.sha1 b/tests/sha1-vectors/0131.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..c550351e1e49f965bab002fbf1408ae72e1fbaae GIT binary patch literal 2447 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 N8;T|L6=#+%py204%vPaj}!oI(=y1~qu^ zXe|z-`}xwrd&Q?gfU;FOOTX2G0_V@sDM z7P)YZ4}UgYN)|_0DV5-r%gKv)%PU&lSFF(pCc@vaI#cO}k}Xf6SVSK%ql+bTv;3hDhxd-ww`xMd~ zh^rNg>ah*mB4n-8(Y~K1@7Fl`@D$cnrj4h3X8t}d@P)c?g8dyl@1G!2wwl` zjRj{)p^v537)JUx2Xr1svFSaSivt78&m=hFJ)%T8irDb~lB_F8tWLZzyg&103k@yTEBZ{&dQFj6RU$!;(~j_D5OAE0B35F7HzkYq?J*4V|*e zi6B%9qS+gbL!?R+OMdPKv>~YqBhj~B<5Acy_aqf(UHra^vPUmkW?0ItOv~DLMp>zN z{-MIgI$<~!G!YB=(orkelbux!LY1xOt^inm(xONJ4SUpJQygE$SRwmjW`+VmhXOtTK=<7e zdta(_=6{#WJX+R+7`?T5iNv|M?6k5z2OI`FbB9UnOQi1CH^6b6Hq;dAlStb|va?O^ zT+&0NLix1wAgLk zoSDW7iH@WedDa9Zfay4bGZw?5G)&R@#)$rW^t7-gzpeb9Q4zlm(}Nr{>*25FpM8yC z28Z-CNE<-WY3GKW3#esXMcMQh;FIuU^Ps2oY`o;g)*viXn;+1K^Zf2LTN$E24+TaBezX zgNkHC?{Q}{Lf$-(!9)PgK{ogGn@G`V&Nr=>+9kGw$=H%RXi46%k&*7wA ziEAl9qOBJoP-rOeHJ4~eutib9=Xn^E#}jMC0@~;HMZc8h>ddAPJlI0o1<~G}1k!{U zmj8syiI18?!Ds%EJk!9fzm=U}goJ=`oF^@pcVypyDirMdnNA!NExyz`jfMHQX}1sw z{3T@Ey#Miv))%q=SOt_qAc}VtCPuejYsx&c=H+HZ?hATKOE+7b12XhQ$Kjc{t=xsE z@QApUe94ML0I0-mI@)cu(E$zEuUP;{w2A&A*k8rQBv`67i3AshJm&eM_zq0fsXWK`|PI^8+e2}?oh(%R`D7HSIsfY>%rrD-!sN2^F*}7Fl7HsqgRvFCEe%3C zzudq;F0YKvm)>TAxI~yGNg*0j8AagcvszLU4J9K~i|n&0pa`C!kye}zK|VuDp5Nmi28Ru2EQdn49m2MUZ)VNGf>0N~C#MqfVbHp0 zu(!D408!tt5&AnQJux;A@5}7ZJl`>v|3aIIc13FmQ(<-}s1@E&JbhV-vl6w^fU!IL zJr}~}dgBa!W9KlVut^N>$XuKb^9KT`Z1s6EG)GLn+Vq^>k1mvx?(rKgz@CP3@RAGz zo`O2T}5q@O(GQ?4IW%_ia#`m9ViaLlN*`Q4Oo+HyGOTn+YWHeT^F-O EmH85YD*ylh literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0133.sha1 b/tests/sha1-vectors/0133.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..0e6857e018293f4e2a161ae51fe727ec06ea6967 GIT binary patch literal 637 zcmV-@0)qXXO?e9NPOe$@`EX_i5qBO#==b(2IZw;xp#d;gq$7AlSD5|(`3QjY&-pS= zSyhe!FgD(2x^rWm&s#-{Nsfp{Sw+2m$qb^;<~s*+SuAuB{#+NUJpIkGjE^z3Yc|L# z*(hwRy?n{d-4w!}%j0Tv#Hyh{W4>7RYdRSfaL%zqT_L-w3pB9Zv zAds9im4}1JmYHCr@qVcDD(Vguf+r+=Yasr)&cS!5!*@uX%zzfA#;1V8Mk)Lw36|!N z8;dMlfhi?@B_Q-xVQ4l&m4#0RUB#e^fTa=G9KW^K&L_Sz-6bQ6R$hxAz0+ XfgeKc+lBOlLV} literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0134.sha1 b/tests/sha1-vectors/0134.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..ec0f49f9173107f30c1a966d873aba99f0f7ee05 GIT binary patch literal 382 zcmV-^0fGL42a46T_QFc(=Ol;pNQ!iTR0zvS!M7g>RTU2fO*yrW$5MWfEw-jWJIb4sgpzMQ%*tjy>^; zQhmeRiW*maVnFx92Aj8H?k>Hq)$ literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0135.sha1 b/tests/sha1-vectors/0135.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..7ae1bda5c237fe1b101fa203f98b1a5380198985 GIT binary patch literal 2073 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 D;yxa9 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0136.sha1 b/tests/sha1-vectors/0136.sha1 new file mode 100644 index 0000000..4fb8be4 --- /dev/null +++ b/tests/sha1-vectors/0136.sha1 @@ -0,0 +1,3 @@ +� +C�fTED�����<����'�j>[m0�Q�eY(���b��xa�薸fs�9^�*3c'b�l1��(߭p^ܲ������G/aF�y�p�B �C���Am���=5�]�ů�z����jd8�D���o� �$���4��IR=w��R����o܂��e��&WX@k/L��@ˮ � +�����jy�s�� ia \ No newline at end of file diff --git a/tests/sha1-vectors/0137.sha1 b/tests/sha1-vectors/0137.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..0936f4c85eae231de4104c2b22dfcb89baa79d07 GIT binary patch literal 201 zcmV;)05<>XsmG@=pa8HD5dW~$1(L?43ABWB(;b*d-VEZ-&-XUUAgAd_ z;=x~MalF5E34^i~adI$FcP;(_bypO!R7pX3pMV9rs zpUNG7WFUIfVImv%S-_9AZ@?V8lHDk&YV?OsDJm!Kc@GoTksIB@0dys;%^*f?3J6mZv65_R*VaCX`k6W z;S6t?O&{n^NWRJJ?#Cerw6JkdT{c3Zc@qXpmIK)m&4~I%``($obID0U@StzB{bNzi>+@)d z%v)9;S11HbeXN7hkRu;aL)CQ$rJTF1|H8Nkbi*9$Y_O=o{QNfMPoR4b;IJ~3S5_`>$;2MaAVVfes+I++Tk+5%m1j?dQY zb&v7L5HBlje%a8uO?=$PHuyZSHT2p>R-zqPAtdnKjmPENHlt_N{r4_^oVB@qYe zyj!SEZ(ZbzL_ZO>87+BMQ$?5q{NF&O)?OYZuUKFS3uFEZg>YO{EC4L z6RV_*I`#qBg{^>lQWb3KgWAhWYQG>4BkAm+~g zc|HW3P2!iqsE1cPB>w1vRT@W5S8Km#Er+Q*^$~2*lovB2|IbbpR8m3p;lr71{7`AN zSek;q1I4lb@YSHJB3u)(rO1{sBg;trY1zs~2jB}z5Eud{bw)7A1E;=`S!{~Q{6JcF z6PdfaYluz2H*E!204^`h9OvhjNMAoC7eGusXre?GSPCxAsN(c*43pI0PYvMSp6H^6 zHFr9L9o$Xj7+711sO4HN?xmz>=z~;@6U*4kw$8ucw3OX}^-LCW#t>@!W zh=()b04X{hA2)D?6!K&0nowYpqNR)KkaK)N!NB%jYYeV&g|~zlMv% zv9@Dth#^*=KLeo8s$+;%=`<>ehuNne171wjE zD%53FZpS3f@eqNTB>0VQ{&?+hW47YE!L*Lo57%oIJ`-Dt{=hfxqH`TN{V6J+xHXZN zG|@_csOcTa0FEd5Gqu3e44G5tL#p~R7(223r2ZzWQs=020Kgn8>|qdh`k>wdvuNM$ zfbn5%xIch~R*S$<%J37aaU==43*xvRPgbmJ_I1|6|9DV1c8W-H_<>a5cA9ZJsO2Tj zq}K1z4k=xcjbNwlqPzUJW{S+wZHxn|Q`#yBJLMI*y^L8>U*mve&|pfSt;jNClFE^` zU&&tnS~d@AnFN;}2Xg@+{9!)h!dl+I@F0g%C-;U-ity%rIlWnF@`EYW2($4%kJn27 zA^nTY>XMC>lPJV2_8H98d3OnUv}QlBeq(Minj;=bbCHelM~r+MgLZoDn*(sEeTKRO z6hSlwr|zXosSKhF^ib|uA-HD-hB-6i`);ol9xno@c8UxuZ+dBa7YSuSeEsbRg92va GwTaaJBFAw6 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0139.sha1 b/tests/sha1-vectors/0139.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..8c14ca7cba018c17d5e6648e36af573e3e948c93 GIT binary patch literal 1580 zcmV+{2GjYh@!2yGF*XZWtTmQ?2JHF6G4B|V7(!J4dp6uM z6Q^9IAb4EU+Whk`3Rkw5kh&}i>XT#mHQ%jYgV=4Q@8a@g!ju%EUwx6YapBi3v^;8bVXd zQ!nB39g@X4ck65FO7zt*nr|S~{inj?%trHRQw93JJ=v zd982)s%jmoO}$hCRUqPi`js*XcTBk1R+iP}M3BrvC;XZ~sdBKmj5kNdsswuWpb8~) z9AA{w`gbnnIJHB6K@U*p%St?#EHh5fK;p{YhBRq~TsM{BE-x!i{hp`+vhFN;%qZh% z&1TC@)?Z}3qaMN%zZ8@0Q=q4|LiVlHp(3Y%x_->X#pI$;^mod5nyzgq5ni+L=&qnj zVuJabt@q>1dB`5^(oT|vu;2U1qMFLdMKTs7Snw!tkCYWJ`xpVP$tA&_b zDrBijcW+&Pp?w>L57x+VwgYLv{wgSlQuMN<)F+7-t>hW6(Y! z?`o@YPGK=3e|4^#f+Myb4<@8@bbv`!tRulpYf+zDE!YKNonNsb9q-sq1Jgn{uV z&7MW7loF@PmGxtkFYYIys&L0NBXgIv-Rm z!z`j^Pj@9dl`%J>1KyhUKowv!M`TC&Kk4syCHmVg0h+5*+jryDqEsC;&v^6JS17Mt z-5`LUcxBFAjc4Cc;IOARqvdyY521{25-4>Kd99@A!q?iVX&3bsBZ2DZVET@(Wh<&w zhM1*aVadY8S^c%8)xv&ngKIEV!}Fo&0^R}xDbn#G#6*!CZWG0dh0cAxQo@uO8F5c~ zBqz$&6VqMTUU`JPcnQmZ;GZ&tNQJs~@6(vy3&w(U_z;sF5JGZ41t2e3$O#uzbr(Ff zUg!A9Z2e~)OnSSd?T(Y}sIRY6Wz&R?u8N-;&RUnIRWdm(IK5Ps%d^XTH9zwRi*m(z zl2(%Qg3of3w!<7bY@{Us9@wSl(ZsKY9{NeESgA~P%-$fm6$VwX)^t0ZbM=0_TzIb= z>S;Ev4aJImA|O6Z{S8ba_k?Ae#KlsD!#r|Gpc`=c4v+51IDbI^rnrJEu`~{fV_g14 zR0Gk0B|OhxlP|pgAhm@5G>?vEET21^LBCthQ8!7ZyPuMWp572)_@jm`eAIsEb``ugRF*8)L;f{gX5FXmy=usd)$XusJ0NeL e0s*MV2Pjhg*v~+_F)_8g#~Nxt{6BIffn!F)_)lUsZkef>kJVPV+BknHUpjKU?mlk~L9l*Nn)*IbrzQlk!!-MG?oU;0 zrB?u?0;32HQNP~V3SWSUr7Ba_ZDXt+H+viaCvt8E=WxO~VC>qzVN`uHj9LSVWJvih zvn(Q@C@#r9neaj`NJ;~2v$m|uFGOOFJO=0ZOnYw2*o(7D4 zab7EGwTDk>lRG%>iv+F5($z-q zbapwH&weAwv*D>2i*N5@Db!{+mH7T~lo5|0)=S)vKZE%V`#>X`Cm6ufVlAuDJHLV+?h!|&{ebHeRsX}a4-)Q*4Y36 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0142.sha1 b/tests/sha1-vectors/0142.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..b0cc031d52934c33d6aa1add188aeee6cae16826 GIT binary patch literal 567 zcmV-70?7Sb&fa(4+rq02WK%@D1HNnbA$JRc)xlH0TP()WUalmvK#+a}2>;`!zyLI* ze(6{%HGk>NKp=$NeIDT8Hb19Pn7|QAhihP_#?xasYIQUX)T0 z@3LaAc^*9T0?OHpDA?oD=EWH|IRZU~ z9LG_yGrVB_@o_%VxH#j4l~ZGh-T4im^+kL$d4WW;l0XVJB3o z;~|IJ-$xuC)eb~DYWu{-kn7Q-@86KLj58ix!rU^Fg_A$0+x*~jtepOT<7ph$r+p_^ zcsGBw5@0F>!rvt`O_+38PB)**Aao3acX^b=J7Og?f4-qr!C!Bb^%c~zdm!&zidf~1 z?US)-^_((HU$ZY79CE?NWv-rTW8TIrY$G5`p4~+6*?wm0>rwUr+EJS{ zYmh-LK~Q{2QWm)|xx`^$A+J+~B|gqCwrFDt$BCmOX0wdt^H@HlOqK6+8NnBH6Ag3~ zH=bOv{OW${4a2oT+4RN)09i zbos>`-1C!AG|q6bvPnQ7G~%K|BZ~6ooG}@|iFAO@?X+=zlDTE`HIe!D zUo4*uGrm_PFj@Ra#VdxIgg~gq&CjX3efRTFWhV0I02%5T#j2 z3Xc%#xT3*ve8&UYX|dPs@_~pTXwT3libP}aU>0}$71B)s%??IUlV%PE5-&gT-B9&3 zc!11UI-@#vgV{n~Qp&;O-uMwDq&NpCq-!7CbSxo$wvG^#(g9P!0>_lu=3>ty96Y7@ z?c&A->~KHGMyq8aHr_h*3K^#hha@1vByYtorWf&&ql2R`-P>l!kdW!}(ZqW3yys2c z%w}iZt`<2X(thYgFkNBu)qc(_rj~eL_6_oSILllFo<@X62Y@o~MnC98u2+Ruz10xE z<$TSo(Orb8MxJ2Y!tcsT=5eS_*A^+7Z9>yodUwT6K!xosg&|8z#%p+FoWNA-h446_ zP9oM$s(hrEIfjll(5#5Ua-GXrRTPoX)l@b;e;jZj1qA&j3c>}gULs|<1funK2{QQ# z|3$Q(AC3(0WApT+y|F{-)F($%+2pdqZziQbk_B_hk1LrC8IKv4$+O1*LM1*!1s|}_ zofm$*v6_Gh--K^Db5*yU25Q$qyzozNOmYeVSCcVe61RkAW9#fPj*8EuS`7>p7UY;}cS%z*U#z7G7K&<+m18$1sF=cm!pjEv^t=Me$}LZzU2tqkyXJ9V(BX zCM(SZunUluq^r8O1cCyG(T~jKIUS0n#*;N>~ zWh=V?19>ya8)V_RYv+>7;VD0$8}{D3?!vJK6+j>^*wY6!A@U`H7&GZ}VJ9f6SX!DR zDXU6H2kt(V@)5!pse!_hg)Z!C>!1^VOrN8769iZesfXj80mV1fYM?a(FoZ`rkS-pPzJebJ)pP<~v{`M8 zeD`(4<}TC@QE5MZSKZ)gQ!eKp7|GH$?DP@>l6>#_FU5$BPA0DPd0ZD54RL@@DSm+{ zPKo4Z6QPgNQ4jVBTgO>)&APscF^+!5_6HUN4GK42BN?7=A*zW=B3_h-bKT+{q)X_b zFZ$xzOhh1yz{0)lK;RRi(4=cm#f9*PJQ4N@PYm}UG<3Y-B6wMG_g&SQWVo%MJ1FPI z znr05!);}5TOf%%%52E2!FRPjVd{it{d0y3zuMrj^;4Z?EsKW>pPY8U?rUAV>pq@o0!yShis3e{kdwbn-`L z4xovo;u=mD(G!5!>=)duurVY=?-`e7$lv9Dzfht$ZS4COVm|X`Cb#2AqbmD{9TunX z?cY8JS{&+43$EKFFRj$IwC?+XV0wxn1U r<1u$juFJTtd=h{roM6MSs0oR~Q*C`{SGrFU(gp&FK@6zb=r&HYi9^p zS;!m3uz%aV*}47xyZ$l#Z1Ov!PO_9wy5XLF$j9VZh1L5$c_H2ssmx zqx*;X(g%+9^=hf6@t8)WX?e4notczp4;6%zX%q`MoiV9Cv^Jo7HYs6@)6#uC{V2|? z^lR)M@Y3&%YZ8Np?$8A3dfRO-7$vjc^PeT&B-moc5VYErWRNS19@y>ZFOL0h*8vhN zhrf!D9roB*8SuqP3cVq@fs?OsA%0LRb@0$(qGzi|JqGWumED1yH=(5-*DQmggIR%P zBmn2S98weqkvs(gOVFe8ienI~m#5IG)XdJx2tnG_f$?tcPX}k!bXvo284Wdh*!pr|&!Kcrm=?JY%*EQ^d)veUKKb^_b%*0W)#Cj%Y`vk(fr#$4n-*bmICts18 z@dLeCwkzKeRx2P^)nNKMx07&kS@BMtuE=TxjEZ+Qs|W77Xbx(qF?uZ2EqB6xU)g{< z#D+K-ifv|`T>55NkejU6mf*}E`56(!S-GoLG@USPo6Y2Q4xX=dvG_1V1t9z&4YQIx zhQ>9|&WZM+n7AZDOZc0{v0ZeK{q3pcGA*5+16qmIKH)2~^K7?OC!8|^cSe87?XhK`7(NiJ7E16kS?K7(?x2=se&cuL@1+py zw3!h!Cwmxz+;PjO0Tmt9Zqx#A#4RMN2$zrUm{zK`>!m>MCEXfv;6Pm|&QQ&tZ}~JJ z;{D1zhK;{=P)VKV_w0RxCA>gL*2{KsZvc-Z_Ph}-%_KM$U8gq-w66rX|Ka5_Mal9# zoC}>8(s&PA9D^fO&Y7YOQ*77+`Lh5CvW>j@M_r#yx4G3D^eC!f@VU`WV7adpO*25< z6;uP+znA!Jz_7?18GjR2ZX%P}$qRG9R7vWBktYA`THAw#+!L!H3urCJfrNC(Ky{XF zb(XJ``O@t4V!3;&4Gbh}YJjjf+207SIHhhf;GP-wHiQ0sS$o|Op!v>U;!wU`v~Xb% z>Kzvm0BoU`7^EIJ`hRMd-d!8m7k1v_ah$wo&Vv�wyl>��B�*�*�<�Ph'��&�davEtj�ޝ���>�5R��J@ƄW>#oL�m +���� +�D��"��J�~�Vr)�H��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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0155.sha1 b/tests/sha1-vectors/0155.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..3fb847dea60bc5316b8e94260f60348f671a5185 GIT binary patch literal 1444 zcmV;V1zY;x+P;KFV=nxGir#IM>)#Q^cDU3ABF!6ucAbHZTNA0k8HZdHjGOd3zUf{()AtJ^;(Rl4=ZBO%Y9FP-_Z~hg6 z7Ois<(*=cHu^^WC6s#%i;Esg<-JmMn@T-@}5s7ExE9{`=mMD%}&G;-gGzBI9qSJ&Z z90Y2un(AaXG_VOLKJ-=xc<1C;5CWOSz^@50@EMBv=e8HG*QtrZsn`zCt=>x&u zuB~056=-uuF258NU1H3y(#n?;oavzg-0_WURpuLJe*rUq5Dji6fx7sGG0?VpobOkY zsxO^{T*JI&tUeCPoET=muP!0&z~?y9_wA>91!!p~^ly1L1E<(&OP# zwvLdozZE+j%>SP0^7pqb3@s!i*@`V$TeefQ^UE#%m8V`mZit^K0_u&xT+KuXwyS{j zgWcj$k#1X}FQy6FL2gcltSASKDq5VCX6vcFAry<7JObIOCyHUBvi$q-aVlltuf2-= zjt~Q!vlE%jG`7L}(=pUI6cQD46LbEiUANJYds7sd0%Y$1=ZZa4mICbTY-;#c$u&-lbz4rt^Pt4AQLJZ&yFBemvzY2AV8xeT6* zy}#C-W)=${|HqG~xs-$~S6kcX)N3_m@}0fN*&57v@UUYP^{};e8V-rU8=_L&3(IBS ziW$ZsMBTcXQ{SkhFWk_y)w!B=HwT?l@E4fVPx66$`T&)z=}PXc4YI^bHJZzLd6IEr>r|JOA7~pKw)fx)V--t6nNM%374It8a&|aiOus7Qee1(X2Dw?@Q5>_Q- zdEzThd(NC5e3(T|Km(dIITYUP$MTb0;;BK=NK{nKJE;_It>7u0BGM2JZj5ufnImlk zwYcN?1mW?^DqX6Oe*T2dH$E8h)yM%6V+fA=vj)J-cD0nD+}u+>7ak06sQnH1?S1wZ zoY=r~Wrpj0?^-_t(PbXda)(M7|KZ0I1o-vF)&!2RR-tl-_o()ILakten3U?E;q-d0 zxb96XYk>0IlcoRxLI$iQ8DyNqL&btj2e@fW7=fjqpVA&!~Mcvx-4zzXq1UBO_T(Ny*iVC{b1r)v4F1_2{o4X48M z2OCnc6mOYAb;=AQIo%ed3yd-pyvB~BsQqW;hvux#fEjHM*lFsO67LXmv~Os0jyo1C z@56f=Lo9ag;(2{Lj9c5C&Mykl_z>2HY7or-V>&nt-xF#E4J4-LyoFoFr39pVQP2@I zXK#C$Qls2m)WTS3efS}*u=Vc3dzy2}hJ^?&fW@&zQB`dHh7<)X;M1LjFP|nkNLYy_ y7Jq=Qt9>MF25$i{BE8=)9Ns)_AFKImOyV?o5W*n6*F~h_XkRUg9>yZ&$D=0lcGhwL literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0156.sha1 b/tests/sha1-vectors/0156.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..280ed937982d9675a89aeaa9ddfd7b16010d0a9a GIT binary patch literal 2183 zcmV;22zd8$r!6=`M^x{bR9VK)ErmE!fPJN zDfu$~{me7UyXnc=oWzT}bI&hhl-d6&hzMj`S5&hBwm)E)S{v=z{tv~#$Na#I8n2h+<8*lt(i$M`U%Ma0#87N{B1vbOo- zQQFp%oEtcgqH<}!HSBEK%AewsiveAi5^%75g?Cq(UjYYC_meN|oIax=4>z7XiX`Q4 z=YO&JjFiq(o0b2Y;2v)sI;Gp;m>9{@X*An=MUI5~WUQtge-nAkZ3)SY+MvFuS<-rR zs38R{ObMKZeG`0>TB$3zD<|B=oPg{Z+nWKwutt5tgn6- z<#Lo5st?>qv#m9?E{8xF=>2EC1}lXo-ud!<2lv4UxJ1xOJ% z#oO?z*e}_e>>YPbzq406HY?x~LZ1YO*lni z`;sc_Q9_a=K=dvPENj^nrarO~G8JZrAo3^U0%6D2wNp>H|;dWwK2%7UD6M8TMqNyVMOwWgm2s-0kA{Dg{L0t=VD_ zP(0IcU>H~~ve%D|<(LmW6lW8jbdE*7pMnvFkR4E$&xX@_k8coT{}uq_Ug3NKUBqXT zkb=sy4F6ZKcT5Q7A|la+BCwba{ZxeVPmut!c~q}+T|&1yEIX&{b}13WMDX;A4m@t@ zX7|lQnqV;+Rxcv*)0)X&!0~~Etr1XZGah-)v{VMre6=xrdS$2W)?J>oAwwA|6CU{2IU}t1Q7q8Yaf06J`<-3I?tevXqdQZ5E?`++d!^v&k z0)Wir(NC##Zv=f~51u!)LkB$U;kVT~AK0YP-1Ov!^Uz8M$X1e@VCw!-FcXZOpW|lD zYXv70A(941bZhPv*vQ_Wh!59reYT+spk=y9wDU|L*=c8x!IKk*PQycGbHMHy`c8+T z5P}n0xcH=>p&wte?t;HxsvAVcMAF`PUPpFMbEBU#vaW5|-2fmPw`SwnpSCW!N|mMx z<>=^YnDOG?%XW|rk17*G`9>GU12Re0MQUc3h^h7k`P!>R?DF$235mBNY#hVcZk*O}Sn)*;L+S@+n+hrg`c(n8h~N*T9<ZY0BAE%ep(=FI=pVdXFWv<5e)>6!ocD#Gzd?^!(H0}7(riFu zR6V5(`(qXwn)KOA9l-c)0(UyyYqFap&nhS6<84!n_^QZ8_Yw!T`FtUTF?x^k#zZiC zPjLr3b}8^jv~=}S=vy7SZ(ABGavYXxH6vbnKZCY5%G7f0QqS+lcs|@<^lSG&K`kp`YpSmB$rFmQ5y;d8**{u6cXxwCFS)qXQ4f`9bQ(!dvlq1fvZ-r${tsa?9XGMJB-X$9+{d>h* zdc%MC3k?|9fhMQKd0(4=gVxLZZCio&9Ly>O>fYRrJ+$vJo>D<3MK2WSonZYyZ)^dz Jj=K4vD*4(EMSlPQ literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0157.sha1 b/tests/sha1-vectors/0157.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..eb533cacb20e3c5bb5d2966f5cf16d7795341614 GIT binary patch literal 461 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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0160.sha1 b/tests/sha1-vectors/0160.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..c74f7aca16171e4ed3cdf345a7a69785cf444d89 GIT binary patch literal 2299 zcmVG&)r@KH9UsDUzw(AnN(na`j*9zrcnujVXH3AMM z4&AN4mSk<#>FJ@v2lEBa69?{S(p*C1Z}v|Y7eB)0JODh6N${f7ci%rK4Q!1rhvrt@)6Vn5 zAlB3!rE(V-HA{yxOgdY=!&$-{Ua=#Vk^@r*t7uIpSu|{%!3;gbSM7c~)EaTK$fabY z&(t|g9gPht&@VEG=PTct@&ypEH?CMsVQ?6>uBMGau>xI^{@^BQWP>vR%|4K7*5P)v z?35%TSyB6wWqC&}@O(@&4HZ{vrkkb$dk5G(glf4zG&TC{ri%_MAR6`r9C`1c@!t9nk`DdmF)>7=Rr@WLJecgB?#0z*j~kE3?wEC|(MiNG}R zZO8MFJ?Lh6HpQ@qcPE-Ll3V`DV332N3+1eRLLN2Yq^f~K#*KnN!~S7#6J{wj5b>2M zIjfUhKwjL+nFQN&mR8ZP)0WH%-aEfZLmr`J$)pj#dv}0Ux)!E16#@xu30EW3b><-57F*{% zl>$i-yZsm~A$ISfxrVz6=V)k8Xz9{*CXhpEQU)ss?9n602r!z}Yw+YbVR2#9o z`A6qc?wLzDVAO?+u(S`og%z{Tog+%)Bk!-b^P7BzMMW-{ueB+LqegOMIWDZ`E8abL zEI9x43fPP*b)IRZ*9Qul389+TeVMl9{o$VOKOZt5RVT;A?QyWs71?L{=9kFb~%q_;pqTdJ zbxF58)FE%lW_afTSVYY5nFBv?i^T8RXN`!4ixdr!Ai z#$E#vf+@b40>-v)Y^=hsifTmneAI`I!#j}oALK9GH@T~`hUF``{Qp7!N%Q1ZLELaL zWX3V~hm%G>$82MD)2UVZG&KcJSaivi9K+xPqUPzA+a$i@cj9$YD5gvSd2pWm6bW9kCy<=2j2wfg!aOOsW2CFp_3kmIs;OM;_r491a zQPWq}&A>7hNyIzAWE7Mk4#9CBllsrXX__Z%bH~BAS1B!73ghG$W?t9-WYjJiJjwsZ zel^>ivVTlAI|Z{@lGQ<})C&+f0N&B5B>2)jA5zqhFEGvGdnO4%MvL;Ml{XR-^x5Ee z@_l8sffQ4OQo;aY6PuJ?Ts|q*3;<93u}3*S4zDoOy7DQuATI`C5kdi(r)o7~` zrg|UUSooKc0s{7FJ)R0^6)*-)PmcJ;Hea(U(iU3gDPWLP`4QO^E{luzj%8h6Wb+$t z$j$|>Pco6e*Cwo#Og6oPigaYvj?gi_7vL}D8$ZtJ_2GdkhiOiaI~a_JFJC28xOMF! ztK*UyTSkyEuT4;~myqm+nn9EiM>3jq9B<)p1MRq~Qj~fI?pyqV?tPc&`YWhiVsl-N zs9apkFh{V?`Mf^z9xlU6eb;_3DCNPqIHW*|dzXTde)01Eze0hV*;N-Jwtz>PRs}c)Lpx6)=$% z8rnOp=&Ew7MtF;d$Ce%CIX#**n1?rriQYt(rs4680fPOpvfL0xa6I*v8R&e1_d7R0 zXz#@sslmG)YzDHCLq2eJ&i8?sAKpJ2IOf?c7}V z)$_+MAmNat#9z9aarb6E^HfAO2XO@6b&atv(MygeOzg99x_)M58N(qCR-$H;ct2~j z9d@5XP%Dt)@N)DMhcej(DEX)+%uEn?P5Av0!kE>IFLtnwVo3<&HquL@Is|0})Xz?I zWP7X0B(p&V`@MY-e$!9NK6baE`^gC^OU0oNYw$A~2+x@*%xO2lM#l8lutiO*ziWO0 zdg2?D;LPIr=AUOK2`S-8`Fk^bzGBJLDSPyNw6ynk19#ti>c)(Ql<&b1S%;SRU>Ci! zuGaOKoWzlxF+vr5*T2hdO(rx=+YipFJ*ir-;@H;6)e=bl2qck`9XUlqJ8uN)By VJIkcSLtbNY!pM@r^4wYU>{C11c|8CC literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0161.sha1 b/tests/sha1-vectors/0161.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..d62c62a619421f306dffd71dcf178970054d237b GIT binary patch literal 667 zcmV;M0%ZNYCF6z{?o+T51l#tux?d9g6LTg??amn)Pm_dsj#Vwc(*J z2>SuUo*nd+OakvRw;9|a={mBDTL{5ZI_QF@8n zVmiimTvMkz7+)u}8uG6Hoty~1o^Dbrs81?=DbmQ=Zvp>jv-)b-nH^g&9S5OI-K(g< z65Yy+gEvmo5cReD&b-t$Gd!ZMcuV0BjW%p&Py~q2h3BCtYIG2oZxDlfWM*OZGl43tzqwo8`OQ9nnQ9rJf)cvX zd*}e%ayAjr_4Etkcq=mW}JeTsqUAa6L=})d|!KEg^UrtN5?y=C4NU_BFvc zU~bMhrERuHFg3WnSApL3Wi=M#G6T48pm_tbUYP%y;;weo6f#<`e!Q5mr7JE6`*$NY zpkjP7ljdrhCbr)P93jT3I|WsN+JU7VIbf#vek!Z!Nk*j-IGWD?J)cw@gA>MdPPI>|lg zy!(42f3V%6dMLv%+BQ6*mCAX^!y@5)wYbFIzh%qEMcwyCN3N;Hj?d$IHPSY&Tt z{2mC1``PjJPsXkl4ihEm%mBx}?()@`vZ}Rd`h<=vgDtY&lJRS>^C8ESk}&lkH*ZgL BR1E+C literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0162.sha1 b/tests/sha1-vectors/0162.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..bfca498b92136ccbcb9d1c864e0752ce0c1bc556 GIT binary patch literal 827 zcmV-B1H}B#`Z|DKdQ)}_RiOGbxlyH#)HY+%S`LRxwv*UB>|s+}4^|vDnYYQ_#90)UsO$*eIJw0KxXfwB__1v>Qj9;K#PWr8L&=tqA1EIpsYKH9RY7(}$q9 zSICJb`OK>+(DM2eq(9+CHgPzpWO*#g#s}X#Z;ml-RkW1`F+){22NDEI-B!LU=3x5N z*U4< z2QlLFLs05dJrS(={nJX*V-0q@L^7dQyc@Qe)f*~nRG#%^VyGva-y2ASa2H(z+A`FKLP``rkZGa?fLPgQbI zP!QoOlrDvy*S~Oddl`Sk^(r;$2pO|diegj$6Erf&cM literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0163.sha1 b/tests/sha1-vectors/0163.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..539143c70f1624a274f720ed489b0b39c6fc55e9 GIT binary patch literal 1716 zcmV;l221%8k})gM%%bfXdKX?bD1?!w>hbG z24swVUXYZ+h{)11!|R&5W|^y?I!n%Moxn74F7KuvR!)6U;NSc9<xHID!nQ=|B1JXcN zhel?_T8Z$BB_BB`i??;vlwT>fivc&_4ON#=u<@y|$SJR$gl!+tnGXN3i zELgay(pXpt!9$j%(jqgjXmeyB0hL=f{uwVJsHvdDZjY)k<(&xowG#gMR(|2^I%I~qPn?b#=ylvV6SFq(?4UpSAib*adOF0|a(4?ECPfmSZHs5^ z^A=z}Y`aLeCHHGw(bWGB+vabya(e(`&KQdCyO@ACr|DL=wn$P*_pG+w`i|+}t)=d0 z=gacR#a1Nk3NAf+DwE}12#nCq(pe(91~G!5r3weg%>Bw`+;g{5Xr^tQ!^fQ6>0dGna7FB`~$@ zoOdValM}lFMFKu-0Nf=vcuGhniK$oXSBQ2%&Ow~UK$9v2@mJQ5cZw1h0-9!OQ?I+4 zNAO4*`&zSn_>nb`czC01k6WR3B0TiaGBw3pEggo%gXpTcf3mxECD;G~MGOowE%>MN z_Ogoyg_=qgHQm%k*mYs+W~z&@f3fb8>Im7i$OKaq>)pK8Xk!DN$=armESd#V6HZ*_ z_at959@oURjJG&k;TxjYN3nzXjLNMy(AKy9g`Bcl6W_R9(XJ{NEhD{0f3EsI1xN@1 z9UoH=cDA(H`wS%iqOQ9Q>AxoWoMw6j?40BtVgamRI|6^n7pk^!QjQ8E?3S1@p#Ig` zRCDdA14!z867-~RBin(;B9w27x?IYCPayy=*zq^te|b>LkxHgUQ8*7a7g^R(-k<+H z=s(LUCK~n&QXeEUW+^Jh@UFeokXb;wlhLNw*<$EL%Ape`Qts`TC)@-Bw)@ z0^QGq(P1JYCRx4dZs_(2Ivk!Lqg;}2+pOOh!<46x0M$c~WjUL=%|T~kW!=4ZpAej3 z+<4VW4j#`7=?=vUq1KqP@u2Z@I(R#v=P^o?F;9xaahl(cnp&4!QAjVafkq3#Wj;gn z|CP_pm^6$;&}PVC=z#d_{h0ObLh#N)3<3RVf3g=qHMvNliloOZCEv##fK@tM2~d-x zQ}=enYZUF&8H-ammlBe5t-H4FC9(WAF;m`WTts?>$>P;&!SUMgKo+Y|4Rhwsku zp!(^uB{+;fk5iP~K=8X|Yvuc+`OXjSc5%EFIORwXP-|vZ&mD)-CGmG1pOvUo;fF>R z>YhU{iPWa`L-vEjYs7+*nJj=?Js*08xX+cRLTr)GZCyD9xDhQc8R;H_do_6yj=- z+&vk>T@x!ssTAD3Rd$Q}4T~ZwxD#s@2ARIR6g60S325hK-n1I8E4>fa#5nl-K->UH K(o{z)W0oJF`cMD> literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0164.sha1 b/tests/sha1-vectors/0164.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..8b1af16bffef60589a87f9d93cd87e832fc08f1c GIT binary patch literal 131 zcmV-}0DS+$ce*k79=J@Mx;6oJ3##Da61P;)ywOhB>%xRRiYD3s$=K;Yk}@RA`}9B^ zIj0v1wEb-EEaeBAJbOb`QIXW`e<+RYS-cVoPKx;=IJ<#jzB+Q0CiE%{htov8j2y$O lhHLvJ{IPSci-ZxE*&5XZA~rzIx^p<5!CFd3OjEjzNcl0-K|=rl literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0165.sha1 b/tests/sha1-vectors/0165.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..d6ea36c1b9f3e30c2169acfc7fba93f3f1b6f4cf GIT binary patch literal 2026 zcmVF#VL7LJ{6ZW!L1zuo3AlavG+olsi<-~Rij)XS+4}=zVm2L z0I)Wa^xO|*uOtGb`98*4C8usW5lsS~(OQ5WK1CYs~+*NCHN&x+)1yG`m$cgiJ9?j{m=z8H_K%ctCdBO<`yq!=CW0f}ur=2^>eFODP5?jvxm--M zu3C58fEOaB?78__qZp>3Wx{v{^7_TML%3q9iGh@IQcBX`m`lpKav;DP6dGSY?LO(R z=0r-!iT#;F>WOAGunvpHziF>>e;|i=AzmPx?!#M`igCB`3-vBoa2ili%@hJDk&Jww zVok#0+snu$0L?L857njiJHp6MHrDEFG=R3qn1@-H$2-TE3Rj6^ifj%bLzJKCn(oS!u0*Zo^uo)B!tC?NyENb@_vH}KB~@rnP*iKL2A z8>{XlpeB($x*)`Jn>-!o$*7%#7a_P~rNo})7I-}h2yKgxinNa$uwCTib5Gsq zWH>!&ilE`3cZO3?u{g7IFGso1-L-~pd3ZIpC4T%rmXGWB!sqkFm00@Qhh%Ir`!e*u z4UjKjZ;p@FZuEdKViBztv9Y5?anx@Nct{gvcUFm)KF~=FMj(9yKMrz_d8Q4f5K=yg zGJ7?3{W=El^mDGEK*V6Es|!DPAfp;Ji$1>G40?`7Vd;XeH2&cgRR-0<#4t3WmVj^s zubO3WdU~xOTIf9gj$lO1*@3}036{AuIBo%H7fV&4*g2Xg@Pa+|9=|tzN*6WZ>F#PR zX6uW~d7;@4cIi`zuPFMQ1(qA;xf zJ}y~w8jdD_i{1mU&8N!QCqlqRtMI?$QLfxIfYDy&gu^=X&|z$31C~bUu2vu7$+7pY zaufIaM(zmp;mQw&=l(`+t*Cttu2h(TxGRrDJhWA5RHw3;JlcAgr!eFVDX_}Q8q&Z{ zF@5TClUU6lps|sSFwg~-oWccp?B1REW%mJq5=j8qHDIpLE?br{K?0OgapYEjOfVP| zkyFw(^v9&+0#|>GmlbIktQ#HW#gNsZGy8Z*p6Z(%4R5GTOHXpGF%W8^k=70Bu^kat z6m((A2cB_y+ek_Yt!8ZpTS5KnRG{$UrFJqG`L6H%(}Vqef^WS6c8cUC3&9%vEhB&1 ze-@LU)aAphXYWy^AOpoZ$=t0k!_!t2;qeWyZ4HhgKUb^S|0CLLB67T+L+d$u)*rta znR`^Gd?wp%l~`Q*yY@BmLI&YtBsaOrnw0n;a*9t=92+ufU9XIS@V?8U7375v?3qro z36pt84?p6JdU(rv67HBVLM*QdPJ05(7h&?-=VJ35uil-78?bqsZ?76WcyNn}gES`Z zHMJv>9E>`Ym#Gee{%zfD{Lx24pMY$|r zkNq~yv!_uz8+&8Gp0vC#lZwQ`?Sx6Un-L^jIqnEg)_$}Seoj?rQ4Y_jjwiKB1lZob z#KHJAXs0Kg8%7*UH3I#$8)IbskM){3^_4JaL0R=(pcgbfIdSZI3g#!{H_>TqUQ$VW z^ga+?#r<8WX)bx=g|Q~&x+b#>ST{!<*U6TDx_P~WR7_p>)h#3(`#utIPMpf=m2iDM It(B{Z13T&Ag#Z8m literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0166.sha1 b/tests/sha1-vectors/0166.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..f67f6a1e779d43f42c0cae3fd18e34cf78a782a6 GIT binary patch literal 1193 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 TU@GyIU8z~t`bBJV8FL`e+QPr} literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0170.sha1 b/tests/sha1-vectors/0170.sha1 new file mode 100644 index 0000000..9385782 --- /dev/null +++ b/tests/sha1-vectors/0170.sha1 @@ -0,0 +1 @@ +]g�y����h\�����W��qݾ��LK/�q<�QW�e��e�s]�6n�k�N�L&U+�l���c�X��$�ь��� ��#*�ܒ \ No newline at end of file diff --git a/tests/sha1-vectors/0171.sha1 b/tests/sha1-vectors/0171.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..ba41829d2a167fe15156f32f1f3ba5205a8810fd GIT binary patch literal 1610 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 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0176.sha1 b/tests/sha1-vectors/0176.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..30deea7d2bfbbb713cbe6777988a2ef63da319a3 GIT binary patch literal 1189 zcmV;W1X}yI_zsXLLTBozl>8F*wELjcC$DZ&Z=uyW;H83Q=G?^YT()=?$4Saa0FMd> zHQ9C$@5%R^4jb0el{s3TNo@4X>yQz3KI~?SGERB(*srzi*AoTf7}0Yr#*xDwmL6sjAf~`MtmfqzCUP4&jxhoAG(ULLC(195@s#- zi;dWlw%8|!X`aeJ`)^>hoo;m?NV&vM>MNo$jsno6zq8zK@LN$|K&j35bQKyT;{mjx z_QW2v;_Wl#t3ielG^$z%W8E@28jA>HyC8h~+bN~u{ncYQ4~duPczX+k(gcm4nApYy z41g+m{HIW_=c>&Q@XRU8h*jF}&fxNQVcd#U_M)i5y1OPG#Z>+~;pW29GZ_uxoCwMS zECzNHKG)bxJ2eKw%*kWq;o7C};@H?G#9-`&Vz;LNN1m;YR1A_w^BIbgXd=7dh`jdz zJIGMaTB(W2yrqZD*S@uP!lUq8O(Py?C}2vpi$RrJ==ENF_9Q3+3aLz48OP?l;FL00 zk!@8L3H`BFvFnCuY7qr6<`Qy27d#*5_`fSY1>SjQc%uj)%19k$TXSzLv|_|=uyp5S zl6VLWgPdt^H`}&_p-DJ27E<2~mhzAJo~=T^t_)$Xj~l}U#Rlqz=1r$eEpmL_&N=;a zxFvR`6HpSL_5>hI3SJ(q-hLO62tvH#ngzJZ5HsbIll`^ap)@X#0LbG?-uE1^wmIjC z+GKLz82gcoC&{TP#PpF^!$h5(>*LS8ep35iI?36l_t+pnivkYLP2@z_KfT#BtlIZ8 zuKulJhb7-wNxPU>^@27dy+ZVBSo#G?xLK7XXZXnRXN}UE;)j!n8h*w9g}4TXQ=H7t zkQ;}E{(=#00o}gN#7<#t&XA162SyPYAGP9L^cUFsBTX7 z_&9a^J1TepT#Ffli~rQJDjgIab_$rQOn;$<_WWB6(P?tSmxiZ#7vv!;{$B1PCXlL5Eax^d#4J!P@h^HY&RJa30{ D-hNF2 literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0177.sha1 b/tests/sha1-vectors/0177.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..9e4d487b94ddc0018de3e01f7d69a753a25aca02 GIT binary patch literal 361 zcmV-v0ha#jHEdY8c@FIWxx$EOykBjWdngrdfGM1fYHky?Hrwax#-WMba?a;v%BVjL zMHyET&)0&a7B-#y|0?WN1hP;u<4=NJ&7mgB zy<801LmRETw}>s(2E^Gntn{C;H@MeQ_o$=74Pr%E=dQ$|HrfEiw4(eMGtlIn>K_*# z&7Gi{LaN9~MI3+rmG3GJ?16aP5EMk6oI30B%j2`e`M8%xDM(SF<(7q9YEMmY2_o}V z5HdU9AAkYVtB*V@B_pKntvYF&kP@b)FAGvDGOtRaMn}+y6{yHePnm{vm#-ji0)uj?2$ad`<^nuIp0j&MK>_RT1#@ HKl#ais8YNi literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0178.sha1 b/tests/sha1-vectors/0178.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..211e91361a92c2fc47add857e035c0a8cd44c3ad GIT binary patch literal 1853 zcmV-D2g3M5y(k4(HN}S>&0di-J@xg|MD{|{v&{_E5#L;}X!uG3xCxIe( zavUcr7LE8}YSfA$s>y4c3GMFWU^9Be9H7%nw3d$Xpb0ug<|UiZlKGuNv~q22;1c=JwAX}=G{69Xdbk1( z{Yxhr+~I3#c=dflq2~{5TB=LxT~!&X=~buCD6lTSa@Cd_r^n7HuB^7)0S$81gNq@R zf&76j_-s!R&_)5sdfctn1o4+#3=%X@$J<8&(1Z;3a9!OadF9K~en#+1eX(yfjr;n} zK-e@q0G#`E2_BG>fgMW~!kG@POGE8ohR;jCZvnQEZ|nzPC^(XizRlPh{#ChKWj>n0 z4YDA-1+E=guXe1S7tv5$BN+Fhjs>MU(Xc$>jI8a?M>1${G+lg4FT<>t5J>*StUC@B z54WmD4yx&Gj=`9?d6xWJB(c}jHh9f6s1KLPMK0^8ERSRquwISz8o*!O)XO{{$4ovz znAqr3HbC`qqJEBL+(2d@RY;VSYV3m@b^}@aDml^lZzgd57t!W=8m6H{sOh8iZyj%z z7TS*{^2Sk`#LW5K`su@Rpkp=ja1Mwt(04c?PmJaxPHfFpVoS!IISWDS;${~45ix!7 z9{!JhXS~sYMK#x(tlNIF7#AKn&U|&WzSOOy|2I{38#jTwXN^$S$v+5M*1|ka#^WQ))yJGJRZ6=|mwTl-r+5O@=l_u<}Lwlg)R9|E};g94Vo7&Im>*dTt2E%zGz+TizMMKIH>^Uvvk<+;T;H(CwPdZUgk)#Vq*j z^Cd>A&8wZ7Q2_^61ZaNpQs7p0rEs>dg1f0vTes`E0xEs0On52 z_?K_L*1*p&Lm3A~{Qk0PhlnI%;|F^-Ou94)g?{75)q99bF8IB-_iw>EM>g0Yf}1iBVOhdD2w8~@usdm-Yb^; z9kzCuaAf>(Caqps6lL7fs(QNGy?KDNJ-pKAj!I>MfA{C$XWfq_veVY_U(HeCrbB5Q z*lw+I`)cT``BK`EcSQc`&pe)V@G2P>!0QqB>M!|osZg}$L=<;}Vc>0tN08Y;+3=hY z(V6n6=j^*JAh>qa!@nb(FxLI(yjoU-Rc&ADXmMTAGuE;QbtP7W4Uo8fNld179El8Z z0xGmOu`9#j$(LH0!;8T17V+Kz4o_QPfKf3Q$l$EAnTbSK3ww}Z=%^HbCs$z}WH zS=`h)mYGtQS<=bkaV+|0g|9R=V0h}-ng7Au%64M9Z8;>KO0T_Wr1LgU8B-(keg~oa zQs#Jh_>oLyi}IElOK$@+a^@MJL`Egg)99Ei6%TRoL)d7*n`8e0S3iVHw~s4kyM<;3 zG4$TA%Ei8LG_tamG6!679-!2mi?$J2hMk5PV#xm?qQ}y^^la%0dEZ52bcKtMu7wgT z`9OuvRZ%3Z^nZIS2pJo$?mjy>RC*MsgecYhgrH{TDXlFOP77>xVpov!>4LWPyE|p} z-5Wt5p*6o9iq&VI)-T>mdL67TS(s7I!V=sEP_j&Sh!=usRB)AH3h1qtWE936t0)Cp r;JE3FWJEjeA>-dL=2B6o>IS+ALWW8g>@`$@6R;sQ?QK~LeLqYJGV!CE literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0179.sha1 b/tests/sha1-vectors/0179.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..fade86f92cacbe3c3a60776118c41a3af0f2c218 GIT binary patch literal 127 zcmV-_0D%AO!4qC;Q?w*3_jS{V2h&m@*u?EVj+am8@i}GW21eE3l&&whR~Y})@}8&E zaj50!{Xk#Yo{dP#ahBh{Dv>H*VFL2cu#UHCxjDjnfFER0@ejVHIp1jBAV7F&I5 zK!JC#Zg*!=Xks^S{Z4l&fk&J>z5>IF6{l!9f#enM{7f$E&ppcmu?ia~7CM>1?;U=# zenB*FR>06pSGio5ISd+q_U+l32 zeupx>zoKAaM^hdvFPix`n}}e%?*||pAM#CQc=xk2m#i=}ZU__J)Oi2^7VZWNQKJ}# zNnw*AN zyj~i-UFB~G1MbZ76OkB50wwCxlwNp z^ifdKRd$dZDDi3;7aCo@?y)U^j&AT)lxpu*{4Ck4qITquMQ{TW#C?MB2RJxp0J*le zQrl1J^-ceR>TB6Z>-0`cq3iu)Bb%CIOx_eST|9P|SE5c6y!^2?#S73!t|@rsVE_I~ zIl?wS7{TMLvgfSGWxS7265YTc;?T(nbXR&td>)cr(dAWAw*j-eLED;gB;~eHUw*rP zj7UvVP>MzS3j5R)kofSgBh+4T&uz7cM@%bt_C<-iGZHD#+(=uUEsDLUdHg`5QmA;Q z@FPb4(U9q$k4E_cNm@8(lSY6bYSY8*wy`wIqIM61olg;WGwu%;ra6auy`G-1$ zxPE|KzrtJEo!xB{y+N~?=uPwPM8<;xw0hOc*-CA|1BZ7K*i7Gbq`tQxN+M;urGK^6 zU&q+#9}9UjGZJBgzy}sRct4oILUJzS`=_Xi@Ud;@$!lR!F7Gt6o1^#tBF#6 ztSnL}G<}b%8T}scX4iVL6j_6lXl-Z{HQ5%h*kAo#GSrX)oFX?9%8zmAU zN$ocjV&XPPmN|-QTJ=p%JZXwBX;jd1QLy~b`?-XSq9+~eM%TnOL;$|7$7NE*SYz<^ zJB9Ji68;k}P>ZUJkOg)CWvTuW-N^{iiK>x-kD#V)Kj;&N0k0emLey(rp z{~mm}HI%k?fpr!&jQv-ro{xh7c5_EO92(3{JUdV@AJAJ*oAciv zLVz$|+88K^bDk(+m`7?7Om}jo$kT9ACLrntT5*pb(P>pQPQdmLU74o^C`sjplmAVQDu{gQZ?1U1Njb z%~~$|X{nxV?#6HWlJXA9l&e+JLt@aKN*H48+>haZ<|0|X&)>S59ZCsOgnF3!iSB{Ed|9@|XwlIX4?`)qI>mgwEt$f@z? z;Nga-C#`T(T-(sSgf+HiU#zQ|l^2Ul+NpWVkI8=OrHT4PUJ zk)e;o$JhbaIg&v++&xQ)2pR+rYQPjJo7OZgZ7%!RdJo{y!L<$3q^<9GUS YAduc`B>nFa`?GI*eE9mXP4x=PtI}c_4gdfE literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0182.sha1 b/tests/sha1-vectors/0182.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..54271e93871cbbf597fb9b16268407c511939ac3 GIT binary patch literal 1212 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 Q14T8(*e;95Y^B09n}W;zmjD0& literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0184.sha1 b/tests/sha1-vectors/0184.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..423eec391e46b00843ba76f9dc5d86129a302875 GIT binary patch literal 2111 zcmV-F2*CGs{usmWgdw6ESXJ0T$f*E1lDmnZ!~S=jI8~(cUI5<#{P$9?+(iOjJA%p; zV~tZl5X-+{t)`eZk0iJLgkq7!^tx|Bh4S}AVk`RhJD^+Yi)h&w0w%_M`iLd4%*dJB zHqICclk=M}jk-1Fq-(~HJ;axA*d?algT}hF>U4qEC6SPaaT&N9WdDtqV}Ooq(q|2W zB?BP3sM#?r*5$4a{ZY1CVOoJT7v=VQj?~!F9F*_0%K}v0Npz{Gt1bi{dolh#dZ4?h z61*{`NY3Jvj=3Yam~$D5{j^hr_d`X0Fj|lxuj<-vXu0 z)~BjW0<0z*z+UOIIT-3NYlGUNJp#2RkHU~YGAKX9gE6t9rN*{}971(_9Am{k4jr$r zR>i0-RH;DU9X+Y*(zP#LJI6pgjs?l(2rY!9P)<6D?q6iuu{dHySivaf zY%sT$NDry@dNTeliQAMrnDNFJQn1&#oSWg^E15GWFn?&2V}$4LaK(Hcl$Z69M?T%&V|a?P?oB(2kb>fZ37E5hNMr^ zTfw#usJTuM4Hj^LrZi!Kx#2K#T_g2!Z&e8&g-lBMrbpO>wP(@Hs-3+H{VkV%~* z6apVSmZ-fEtc;$H6J3~dPKy$(P3KOtDOA?)NPkyGBlv$X2UoJvN{_A!>RGr*?uW zpfloUp3Q0_i{jo0a<;k|HS_yfL6V@eYVJQd0FtF>S+7*nY6@i-$rY;Umw6ZmqhyZG z^w^?HmHFn91iP0zC15L{zY3FdecNnnWzTC+OoLC8oq;=m-{{K=SeyMzJUkRwdj)kYaDryp1DEQK`oFL+?{ATv$o1Lb z93<#tFcB&bgmtwRj%YxpI2aM#24uxtK%V8`c)p0%b3BUtOdUJpMi9ni)^s=Z;Go`o zon_jv^<$=F#XoTpey|Jz+}waP6=wF|;E}i;BU9K;Ev4Um@r6QY>0XnN#y~LtIC8fc zUiPy4N}1_&{X%=FRO@Co$YQwb9VJb)c}Ko>v?G=Vx(ADsN^y{1G8S8(`H%HZFPpWJ zKqEA&dE`!wf4qNq z$5&3-WtwKI-k3BMx?S%BkpUKy*X-!yUG`!nN)zTx_qU~STSE@7>$eF(8~rQx@fSOy z7-bDkJikZ5;fWs56q@sz(`vXM5>e8w#b?Ba^7EIv$6xf2MQ4jpe=G1Q{<4hi({{H5 zg{H>>cc42DYRRu*P=O1_3vNzSDry)$zpUrv|5tz2WUk|r2h}o-JKYQN4vZboVCuST zmr+7?6wH463H&5d)*t*?NP!|LA_meJv20m5K(eV!Al;+s8 zrhl@BYI5c=$HLrWvyxC24ED9o2S}bk*r}7nx#2knS5Rs%(aEMy$;AIH9Xnq{>duya zsAqm(uNN{<2-I{Jv!saVuX`#U4d^~Oa0#^o?(ku--#kjIjDiXp^2E#YfOOLcdVMR( zSnn4kxm?}u({S_1@>JmJN}^&O5bD8_W1Q)Sok|)S{zlq3CbB8c+h%HC5`WrwmjithGxaxS>e83`$-h{ zKIX}LLRnw_ui>2`1RG%%%2+`CsfzJHa>&MMxLk3{keEo@57w4I-3aqW>X(98E{lr^ zQ-84xN){>b7$h?glmt`0wya*OZ7;!UPp$miOJDFgZ)m7A&k`aMYs`y^!af%E)~?o^ z-04OsRC~w=oq(nL{t0G^r`f^W3QP!ICj2{HIq;}sj~!k0e8-c^EvEp9IA>=)PTD3G p6b1r=!Ky5~Q;?1+UVU+QGC34CJO?p_qoI6|h(y$^s9|)f`hW+(9ohf@ literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0185.sha1 b/tests/sha1-vectors/0185.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..41ce802217cb571fbed4b9ad4c3bcc53127be926 GIT binary patch literal 647 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 Q{8Tj3>T4CS#b?&TpHZOBf&c&j literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0188.sha1 b/tests/sha1-vectors/0188.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..2a67194874721f6845d7b08ba8dc4b99e584232b GIT binary patch literal 1724 zcmV;t21EI^yOM^FVFkO)u!AO=>VR#@fl!H1s9<+D4QEnbKY#4r3{ugxaLv(dD#xyh zTZ;n=v`~NkvQIHC_bOs&wr5&w9L`A}IM=sMgnnoVZsZ8D6^s9zP(1FoxoED-$3^g_L71l?`P-VjvZ%X5+|9)$iqQSuIT^G^Zl!Tuj(0(ejw%zD?N>0jOfjH?VRY`ubpuNvrw>T0)I+ z0%ST0lG)<-o~ZN3&K#G-=MIR9rt(=VD zp+f@dV%k+Q*kC_jpVMz0sW(G}4FHAw32v4DzlGLKTp9`lIcY)IIP=xGwZTen=rp7> zRrF5NVQP~wXr77P)5BO5My|W*v73{6kN-3gs5N}I?Q#LmFvVpbguCOd2^e8q+5x-_ z`t@FelB?0vWnQ&@^(!hZ=Y7MvYM!vy#zkINv{1*f2fknQU zPU1dBJ>hG=(-et~ZTD1UMds*I2wzDTUi(ywK8PxNeu+YO<2qm<_J`E6`lb^Txe6&s zG=Ud7Q3*5y^G5?r)|N^Z3tnBPXsH!*{oYpZpJ6 z^BWTyi2|^sT4|z4@72j6fXiP7kPN+YFzU@3&qjbPLGm1jhY}JQmgdi6;{$ zy`mwCl8VY!yF^HZJG9l#|Nv{>f90+F9&P+wK>`)-y6l&*~1D`4E|hicJIKu6avTGkdPwQ1B$A zZlXciaDdVgZqVm_WWes4INrT0O8^(I`q_a5o3fs=>q&9ENhXUN)WZbLp$ull5)~mJ zW&?>q8W?gOM;R#HbSchm;H7}J9T={V)ogPM@#5$ULq*8@3iy)bKqew11fGf7+7n#e zKi@X;E;TzKJO6!S)1^OTc*U{1FbP!U3C#>1pZ+uSh}s;FvcsTK0-;4L47To2b%&Ur zA*aVupKI90`(fCLRsIxsqVB>Kw~gUnf${}6Tl@Jw*fN{KZaFkebZ^qeQv@F=N= zz3;O_1E)jc{SdxMQlQ}~(!XC*X_4fwh71lGwjbC@xk7NMFOqg*Uph~pBIoqsC}p|9 zqe)ReamRHKZ8(ag-K=Z(ZV4ea$sGU?dui(S1qsCuy+nZp;5y&!-wA=J*bQ_PZEGje z?4yW8-!OGvQzjB7kYp&3$TahaM!vfq$`x{>3?chCsG>+kX6|m8fA76 z5lr3ljZUf0qo5SqIC>CQS#!(7a)L$||CQq2ESj2>P@ORv{ECeuMRk?CeDaxMWAFc6 zWOd=*SQ|CzJ3W8JsJR<)jm<@hl8KnTdjcK{%dnCS6YxEzzMIR-Sk$pE5swDsV#5?@ zt@{c|`cE@w|MWgEm+!OK4X>7@jca$=Q^Pk(D=ptlr4Rn$$??w4`^VYOb)ci&jG^oB zdKTP;=d=QT;3mq`LK;Cbl1j*dBEqTze1Ir`R~Mn`@yDJBYNL*T;Ex#gI`qu literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0189.sha1 b/tests/sha1-vectors/0189.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..b78aa1114d527c864edfb998f7286838d6cb5f87 GIT binary patch literal 934 zcmV;X16lmGOwXLqJ=GK8*`Q>Dy`7Zr4oZJKN(}ItAYp#^*tJ3C1r_0345_cVqxsQ#PQM0e3zjL z5IFbMbf=YMoS!=pNmw2@l|yX~AB9{h5rMlaQK)vY~^W zkpW6!u@VRp9IKeTcUJwgDL=~c16XgK5t#ep1L+A}%cFZ3DbzUOb1pE~ zk$@ZaCYy|M7j5uN2jdgED{}ilS|0fosGFvK5p~KG?WAko;E1zjTHt=;98B(Epi==ke3*2M!Ic?h(|aXk4{tnaG7|T2bDC zhQN0=5?Iz(y!onAqrLJL*ki8lQ0o9>C{4E|`YX5)k-`0h&X#lk;fQJPVtbXOnz;Mjs;qg$H+ zHR(%Qji@C%&lf-uj?sodYg??t!`7~11<7J~9kW+_MoKIhvtDAR1`f>wod0e=<32f; z9>F#nm&1&7`iO<;treh^tmZ0I&2q@*c#@c|L7r%Ch*+W6+<*r{$fu!KNT3Ea0~+o? zp?fI(&+83Jyi5<=&i-=tNEoGynEyD4rbmL50t(=pMWIS}Ubu|Ha|yv+wqWv>Q`^-? IL0w*+mul+T&;S4c literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0190.sha1 b/tests/sha1-vectors/0190.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..8fef89f374fb0c2ba384511d865a39433f960754 GIT binary patch literal 591 zcmV-V0rlQ<=xeP783WyvTodz_5p)$Ou0-%y~8-IJ7IMEUFSTi;n-tt;&52=XD zBFGA4ub)w$jY(?K%}T3&`O=I<%^J7_Yu#4;jcH|=?jxJd2>$0F^XA)8p(WKOfl*%) zUW&lKNL9H!3^kt0+b2=ab$W)fk!-8Q51bKcUd4p- zJo(B35{Mq!{?uoa-5N~wITGiFdA^kQ4w;`Ay{LHb5%W6(>SaZaiLv>Gf%j6-8t5)2 z3d3vJLqka%>6+ZSoO-Ndr&TZH@;=(Ix1 zA5l^eU@)yNf5Dp|;Mtx@Xy6Ue5zm1M73xqpI$Izs)I--AZivS)w1!8FCq z&<&G@;Vua;=x2Qog0`!$RPoPd#BQF-Y*SN2()Wi%=!BbT^(3`W?xh++vEZy zEFmEjgJUlm{w%#%Gp@ziNMq@Tflll`w7Ei`Re!#TGO4t{S3yf##v=e|9{;R)OtO!} zFcV_hgfuxRJ_PDE2y1p_;&A{=c^nb70-(X$ek#NFv2zuuBm%z(l3QUZr87Xw{-6NEWU}kS&hxN27u_%rB#AQW&Ur zw+Sh62#t6Z9q5UPhTHhgv+LA9Hez$BjU$s5=w`O2RD62Yk!Z+iQg5Lc&+ZeZX&tvq z&(j6HGJJd!(i|SCvvhM~;>f>eFlu%buFjCXjm#!^;r$1|Nr5oWS%zQGJ(YGu@x<0^ zgNc?uQCaj=iK%W!SAvzdW;!qGMg5Q6148_HD>?|HZ+Fe@j{)?yX)NVr*#Y>`(L@}B z9UWU|Bli)7c1R=K&%R3bRKA)@tg_s;GPY4&nmN*|^j@G2USY{;XL#~JbIH7|@4oy8 zF`K=s?+emYm44^Is=O0{ve;ts4*1&S`^4K3AJK=N?3qeSLYW~3V*@7&1qe>G`3iD- zV=-DF_xHBdp&n#5Yb%H?+pr8A9Ju4EnEr!WOuwM$?XA`ZqbwQhX)1aDt}%;XnyRvv z9aB$=Od36X^KJgZMcEzWRbhFI`t`nxEg-1EQt%1rjQwj*KAugt88tQKuqyR-*;iLO z%OvhYDr;9NCMW7$no`U@UlnetpWc+2bKvRj5B)`ywC@GP*GKD4JZAVSri?e5Gue(} zMHj_Jhu7VAZclp;#otmaO&XiTYv&z=k#Rx|XltR5T3;}lH7wwu=wz`s*-8f)qOh5> z09^-K3qV%_#5n(IKS^1qeGCSVDMsW)>$sGWE3~cas;+OK!79XLOUm_ts~yxd>J##x zDQ1`SI?a8yb#7~KjUeBU5f!LE3L&DQJO8fY(rFie`%Vo#?AJKyI}-vI3Tl(hbB!#T zu95J^AiDFI!WY*}$<=G0*I?G7RbYpuEPk&B2{OwPIxvt=NS?koG4l9IzROl?-=;C$Kxp02b>N{VT*0wVSgbN`IbR@iv+*@9{1?^TQhI7f!%EV3kqGA_gSW$#-g zaH|XAjz(XfuFpLK;23;IxL#;;!fy^c%lhpq6ThWo%M%s>>a3XpXsBr5Vq%20M8;(4d3(F(q$VeOfbcfg|wPrYHa_3Ez#8W zT>y;tEG&VV`4(Oqhxe`kVdcMAx|%|5Pf(pA83^`B$O9XzK6aQU^Z`rR?Vtd8mkDx0 zwkj|v@;BE876FaGV~yRsgtPvwN}ZBcL|KH{Bs^U>op>Od@*&RQ|U7~d2r&dL6}djBh%$HQOY z<0hqww8rvne99xG_w&fh_Rkvl5|eC`F0g)ZDSU!{6}QO%@_8$E?iX+hNpz4#Hk@Iy literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0192.sha1 b/tests/sha1-vectors/0192.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..367d1a3ca106463d3973249d1c760e027203d11e GIT binary patch literal 397 zcmV;80doG{f6speG1^u%>r)p>L~6)U@}pX0ejRUX z?LE=F(!oDC_bQ?*iYq`$SAA)+*Nruo{-232Mw?HGUO~~sfDM4R+7KRBdZHTSBy<@v z??0PvXw2DYy*D2D_#D=F9`69JbAh$Zzh&Uw*qv}3(2(Mhk?*jro0>?zhoh%*H<`Xg zdVe>i*8#C0_AhiZ?dOrO!d?bs|JqJuB?P>4ODdJU%@}EoQv_YRdboBVpwHS$@1_6M rBU_~ar_>-jsdC2s1ou4PD1&�� \ No newline at end of file diff --git a/tests/sha1-vectors/0194.sha1 b/tests/sha1-vectors/0194.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..c5becb94c3283a8607c20f6554457308c1d0f333 GIT binary patch literal 1020 zcmV^Pn9nC4X$f>{fP{ z(Cot+F4uB8L4uDYY!4%(6T$*dqW>SE$< z6mc?v#-h=FFPA|%S5!NthYEIfjK-!^_VrWe0I-_Z)_EY}2N zk0nVS@&>8ziajQ zg~H!%gG(;7$Z$y%ej!_@*;OM$@Lb>a^mjJp!Vvx0YiMM~3_9=cuQ!PXfSz=z?WFK3vc? zIAUd^uvv~MICPQHsK;R2#_1g9Crj>}ZZZ1qYzdvKKjD(wu##ul z(vfQ^vQCW>o+SfUSGpQ9>+u6yzDf8oY$*jN*3SlP|Na!LI$H;bG{U&j2qw`6x$W9O zh9GlsSa|lyb0xT=1F1z0wlkEOZFULL$~jr4D`0{F5!IWJ4>xG)IXHs)4Q^m{&~t#- z+>XkovZp)$ox@`<>1qh@tpIDP{^8flPS)2MtEif0=aBsTqA#%DS_X&!W9of5NHB8y(R2Wd=1I7wCfH*poSPIQVJm z>1=WBk`?f#o|ZlklqrNP+Sa1NuK|=xfqy6Yu-0l$k@SlI literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0195.sha1 b/tests/sha1-vectors/0195.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..5a07b38c3efb33ec4ce1119650144ab7cbbfa8b1 GIT binary patch literal 731 zcmV<10wn!Rg;@#M$r+R?>_2WK+=c8izpZgwz!JKa+ORE32fo%PIJRzL&l|}aw_xSr zjV>Q)ySs%9A{x^IQLh0XusuHS*Kx~2lYU*!26M1T8FoC)iKol9|HEd)9r;RXM<^K} zvX>ZlAJEPdjul^sC(?tMS(C5e@E0cRXZ7?qYpR)REA%h5m;J=18j zt`)=cM|O8H!>mQrs&n~#`t71oZqyO35u2UR)DBm5ON1j=qd-_&{_S3dJ78q0 zvYUR3HFmdtP9{kfHe_60^q)!JDT%~o0sD^NF~$>`@D`_XLlKLKut6}~Q(Ciu!icXc zoS{}eICveHk8N^x&M@m1IXQ?1omcP1dLH#~W-$x-x3yAA7$;?RU8m^={Qo#GyCRe! zzeG?z$7Pn!mW~h6uw{&<>K^^g!!i;2tp8xa!1@u>zfkg-aznp?Lt;1*vn31rl(55w zc8J+G62|Q&$c*Gy;eTg&T1D**$K&B(`5IV74%4;CF6-603S*9h6(=d6oZ-;r3Fc-O z*8CE@qTyd+v|7m-N(g@^NCPLou+xCODF?!jxx?_)1M+r2%;k-0VRhtNQWlGS z=Y(7kH%&I`95dv^pNDR{aU`yVa{WI?3yWBNhS|I{MdZ_N)=PaE&m&>*Z?itZnabsb zf-wPB_zcV~b0&GVT4~8%Bb6VsbyaD$9cSKPAG(R44I}1#Y>+e9x%?XkdANtCa;`$| N-VqMNr4WoD$Eb#^Wsd*= literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0196.sha1 b/tests/sha1-vectors/0196.sha1 new file mode 100644 index 0000000..38ac7dc --- /dev/null +++ b/tests/sha1-vectors/0196.sha1 @@ -0,0 +1 @@ +�����k�K�- �V��̶"�m2�p��Z�� J���B)n�ь�ޛ*�8 �5M���!�<�ƒ��#?���Cg-�Èի�%;��?u`���T�X�Y��&L%s�/�z�s�|���e�P��+zQ��XQ�cTyN \ No newline at end of file diff --git a/tests/sha1-vectors/0197.sha1 b/tests/sha1-vectors/0197.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..7adc37909bbcca31a15da12a0277e868efcd7640 GIT binary patch literal 255 zcmVSw6xs(nDBL_N z6LN-0E|6QP`!R4ItdRBXbBu{PN4p(jPRE7f2_bwv5g6y_2#e;M-b{9cq_hce6iO$s zcY(7J>l;|hIA*BeW;6k+7qg_?_L9$p81ChsS-eLvsMJ1!ojZ(u%u3J+9^tsZNtXY( zq+?7|vCnW80_LEls*R}XX%z4TLVsLTtx*laZ2$6w4J+Cb(_N-n`ybikvnwR3vfsy} zk+3}eEq{unvqo%ZX$}oOM|x^dZDzIrD@huu+~t;@vy7c~n>zujcU=73LWn_~-@h}$ FI)q`We&GNB literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0198.sha1 b/tests/sha1-vectors/0198.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..960315c6963af66e1d2c3c3924f91d61af72574c GIT binary patch literal 1414 zcmV;11$p|i3P9yZUEIlewp}A9_FWe0Nlo66W@E=?)JEzh`W+UU1bT8b{i5M}AHJnT zAr8b=RR)Psex2bdBm_A^BTNv4%*j%KQ`C>~l^KZ}5@8c|tcScd_!dpnL{X{?JRrI0 zWw?=~Bb+{FDKjJ%jZy(s2{8|2@O4AZkrv3ncPuq6hlbH-dVo*WA>OaXEIv5@2-0xb ziFIC)Of+UXxN&WjgLZTUGl<0DsZ-%{`qrwpVuL~6EP1|d9`{(0362$=V@Z$2r-`#` zdDYuQ3+1fhMC1G>&rUM2t~$^~7c~=uu_H4^JO2Tt`rFwb6;cSRzyv_k8k=KACyH{7 zZ6MnoBZj6;W6I3u7wkB38($<{hyv^`5_rY1IT9ttGzReZ1HNb;B*`GFm&Ov3EIkHDUAz#wR#|DP!W|dq^huFS3&ph3g;FO!(|fDM?x83C02LMvA=^@(ZZfXF zXKf+eq!q<`Pkhz+2;$hY$%Md1&_bn^tK19R2ahD>&-h#>O*ehRilvo%eQei3*#ez+ zm6;X*7#I*~$V(NwROuR`djI|jnrJ`w&VDt(c{3Pe@WDCJ{zxPC@o5CraMoD|2+PVG z3-!i&=SuJI43GHZvZo>--B9c+b^F9IpQbW1Xtz%3p4&K3=Z)n3w7oh+=WBW>c1Rch zHU=1T+MA4SEl;7{zkD&F)|9^ri1tmWlB>gh9-L-3?BQtkWM6^;pz{CN_eZ>MpuhMk zbipm~iMczB8wG4DEY7G#t!KzAtFAD(b)uqvt*}p`PS@E@CHd zj_`78oQcse=j8=Cb$!aK$-`<5E@)1?Sl4T2W$H_=b8T9I`CxMO8_D}B0$a2jk{!#$ z4dqCH)t1f*Gp0Q7IklrsscQlgn7c;RUqHpSEm7ZJSEz;oBV%sch?j9xCjx}GNb8-t zF|QOgmd@`>JY!pxkn7v$D~hXf`DYY)LHPD8@hlLDtV9GvATa9u@{+$jJ0I#phkN3z%W^F&J+{){PsP`=Yqo4~!Bd@8I+BWwCAIRsd1 zjGrEA3G&bZ{?M&?6|gd9Vyw+hqh0Qw%B-E>)m~MZ3~RSqQl|7u0W}}0mWah$ozK@wxKQ_r?Tt*fRlaS%oO Ud3_=N;C&OET0bv#L6J9RdXqY~$^ZZW literal 0 HcmV?d00001 diff --git a/tests/sha1-vectors/0199.sha1 b/tests/sha1-vectors/0199.sha1 new file mode 100644 index 0000000..a5289f9 --- /dev/null +++ b/tests/sha1-vectors/0199.sha1 @@ -0,0 +1 @@ + 2w�ϰJi��gs�i��^�N� \ No newline at end of file diff --git a/tests/sha1-vectors/index.sha1 b/tests/sha1-vectors/index.sha1 new file mode 100644 index 0000000..6fff1cb --- /dev/null +++ b/tests/sha1-vectors/index.sha1 @@ -0,0 +1,200 @@ +da39a3ee5e6b4b0d3255bfef95601890afd80709 +31a76cb98b90d86a0f86a86c39c414dfa2e64f84 +eb39fb97b5bb71d4ff5f199d7195552429a5dc57 +05f6cc17f461c36608a582d959d5a4cd9a96ddf5 +0f20344e5f11f4b2bd56e3da9a1ff1e4c9ef9ca1 +cc04172dcc8ff1ef16e010879fd9918eb6eedd77 +40b3b321c3addcf839d8f8b1e9de4b8c01669829 +bef172449da34dcf32f4857934c6a23d2f382bc4 +d33b9e07204d7da7504ba5a7798633f7a5148811 +842bcb1afbe30007ac700ddbcaab42c84c9404dd +22bd382c710d56609cfcffc147f9f160efc2d7ba +adfb540529e79a57418d11dc03b1620bed246fed +3b6e6f62fd70f166bb52fbcca2a9608c7998a03b +e9e61d92040cb9f1ead11f53e4517134e45dca4a +36219796a19620b1081e286b1500f71789bed815 +c9889daf88ed1c396103a566072fd42cc182f7bc +77182212a342581790b6fa0838ec7e0379525143 +5b3c4189976244e2c482397f797c9acd40c2c917 +371c2efa733a42aac861f380f546f4a75f77c129 +17775d6496bd080bf30b254fabe928adc67c8598 +248476ee2ee9bca470790ae727e0fd8f179dfee1 +577d090e32e0749950772fd5fbce3da46adab6d0 +a6e388853b957fd873fab15eabb19d2269e89ef5 +7dcd45161e77d3c425f32a8e772ff9884bf8b8c8 +4c131b7ec41583f5c3965e8ea9fea15819fd187e +ef0ff18fea067413fd92d7f026e8af9b68b0c02b +8b3ce4c5097d40bf6f32122348a8125db30b3933 +84c780cf3b6e782d7a5a0dd8ae08e7a3bc91ede6 +f62ccf8e3b513c746211d524116ba81ff29137ca +9791d7978a912e31fb59f0509f43491f21647530 +f2228cfa4cb85b811d55e92cb3dac48af1ad336d +ba3a4b81ca7f2a45e0e872bc52f8cc9f2a7cfe88 +ec39bc6fea9939438575bd1f57def3af2544b836 +79b36448dc3304c7f9f9bb2ae51c6d6df6b0c835 +7a44103d1b4114bbc0fb6c020a6a6b986893a88a +9a31116b44915563c341080cb7e3d2556c79750f +4dac0084de6115be02541df61a2edd878f830275 +7a3d02b6c92aee0acae958d8bd738b5d14eb3f54 +1f2e45be80c5619b8bc4295b4e5fbb30acabd48b +87007e5f7baff88087d57e9bbd37a09973530a02 +e698402c9d717851f884384045e028e11f609442 +80433db0cfb3eb0c0cb9dfeca980b94001c73261 +47040f50dd9630ef84845b3776e73673df762850 +8cac32177e4065e02f56d5e386891b5c0fad066c +577ea8ee55b9de31817d0edda42292a194b653eb +5a1fa73c0a5ef571c94a9bcc99ca0c56c5e26ae7 +c2ae398eeba3a4b056431850f33a1310c0973994 +b489dd43406673c5ec4831c26438aabb426e4b6c +71a62b35cac01c3b4b94889295055fed80e5c55c +5e4f0299d3d6ecc491732f647e7c5260b036f3c0 +08baf2883f0a9ac6154e0db998a1f25b63b9d75b +80ebfcf2bf28e6f9b02bc8f2feef44d50bb0ab39 +c09a66712ad8213f979b02d48c8d459e6c12d1e1 +a4b1d5952bd3f10289362537b0ce1d0bf07c804b +865d9a9ee91e0728c57a559044e19efb09da3e68 +4381c4cab2446b52dda3022f359f777123e09291 +7607fb148c53a47794ed05eb9c1926a2d1318518 +ac471317a822fa8bd9004eb297f2e397ac126dd2 +7ae616cd6c7e4aaafd19140e26d4d030ef1d4b4b +9181acc8c85f2e1289048244ccc01aea417ef978 +98fcc3e5f76bc7f1b7c550b6f1682853b47a066a +4b929319b6fb59688e1c92269127186214cd8341 +03d4bd6bd7013b8adcb163e14a5292b82ce901b4 +2ddf05ad63e11a5d9bdf5c4f03923faa87873fd0 +d306b0bd3bd270553a7286f9dd97e2d97f371d6e +7477af89194f1e0c842e650e706248e1a5ec58a5 +665fa5550b1586fa264e9d89c3f2fa0102fc3894 +c569cf74165bd8107e358c1c31738a1f00601257 +172a3950b284ce9eccff1ec7c94b7f8dd6fc0400 +ddaff6381b19ea1b982cb1b894173ce568013b05 +67c9a4aae7a6032c86c66fe81120dabc4fb8b258 +5afbe9c84a3ef875be67fb7815512c096ffbe25d +cb889dfa29310a850a0fa52ce8cb98c4c682513e +1bdc3ab8324071492017fd00e6b08f6bca6da5d1 +ad4db929f68f20deaef2844a5652511ec705eca7 +177607993fa0ee22aa04353e2f2ccc3495388037 +b75140b314802ae38919a2eef5e942df15569d6a +a810626174129b8c347e1d5db3c98d248613941d +c30f763714430a10d91556dc903d5345ebc0445e +1313634123e17998d076b3d9361cb603edcda4c4 +998e855b2eebfe6564084efcdab40c9fb7a19153 +0ef2c21989b33948283926816677f5aa354121e1 +57a6c8468a372958f3b5f990665460d6a9088be3 +603d576f0c805053a685e23d9b7e5b69969d3699 +6ec51df3d6282dc957c347ca4fa3d9ee713f4c27 +677e48678b524f5affa7b8456191f9c7b840fce4 +254952a148bde889cd98a616d4284e37b0924c70 +33ef5121e2d95bc6d3b01a9b8f908ebb985dacb7 +4d51aa78f8a8fde5a223f42930d49fd515d5a371 +aae7b552d34a6ad60658d55c698d8fe36484f836 +d14f60620b81f37720b8d6e79ffb69e9f36a0f03 +1dce14a05c9ad27803b36f3f27af77fbd7cd3819 +874d8e3742e2878fd650c77732d8c9d4f17ea88a +3ff6d98404615c5df7805fde2b861fab36f3c18e +d8369b0ddc7d4daac179db6a704cf251a9381aad +adccd2110aecf34c81a30da02a941061e9939250 +fd825dbb513c705cf58007e8da59fa0203e18459 +b8fd0ee605ab54c783444f37da9301bd2f365a17 +2be03963698f672d84ee10ac06059b26cbb836db +2e1228621cc6a45e39bc03ae25641123db344387 +1677079e49727d0c7ba2790e0f5adc7fc60ccd2f +9d781257338dd2bbff4703c372a811c6f35b5d0b +9edab098121911dc4eae8315f315f94a6f9efe8c +547f1bed1d85d644f083df3c6c368359911d7ead +551248357cdc1be19df6b1c6cfaa4f40ffced702 +d9d2deb5a2230ed6cf9c6e453de52da393ff8d14 +0d7bff77f1c64be10295e35cd956442d6140d8ac +8a03a8024e6fc2ba4e165ad1c797f28f65d61aea +0eb5a8e9be9dc7c05bd3cd729ba3ff823d0fac11 +ff7edc004f5ec17973cf42bf335d2ba64ca72f81 +1cc0b00af00ee030129871e611c6ef119d230610 +2900041781d883c6ce4cceb1919a7b4d2d173243 +679588e77fcb4d631dfd882a27aea5ec07d34801 +fe63baa739bdfe3a754af5ad2fd3b8123b280c6b +99d4ba668cb354b180e2f9baa652aa26e0f4a485 +a69e4a6e9a9ec157fcdbc903802a45576e8b3be6 +345b5883914be7be56e2b9ec43e19276d7a5d2a2 +a2425aa1b4329ed0df06d9cd48b69c4f52874afa +6a247e95eb496decbb8f565972e1de0ccf7c03a4 +10731f43f3c16b8d286ea1b7afb8f49f8da0b581 +42a264f2f0f02c23e95637c3c0b7d655c6766516 +1eeb1effd94e432b50b868c5b26a86374a82f061 +fa76c3f31c4319e0e54190e4d85c0434fbbe72da +1ecf849884034c83ecf22e91a1d2c0a53734da6e +983333a16ee746c8c33ea04fa11b22b0aea95c15 +43ec41a1a980b9634db70f8ac909965a46dfeb94 +346d234f6f53a6d777253f927bcc507591e712b5 +81ed408abf5ba9145805b2470f0f1e3ae8843bf5 +a4a222283128864513fadb31f819a26c1928366d +02715b240c81c947e78281ab039bdc9fc7aac66e +2a4d82093e2faff20a66f7b5b7bb54325d1bc7e0 +3f1b894fc4934d95f84e40bceb66356b8b268f5c +4751300babc6872e048de847bfaa27063d7a27ed +2146af34187e1596228c748e33d66050138bebd9 +61f1844a99533916cdbdc42b99ffafb8dd63a0cf +c15a44ac921e8e95b167421535ac23d8ecb7ed87 +4be356ea22b816944294ca0b4906b0a298badc06 +4b8297508a1b001523728eec997c037e3e0b00da +a97a3bbef2ba9249880cc6ac1e8c7193687fe1cb +11d49971a4deef1fa2abe4710f0bf42a57b08309 +1d11738c17dac18e35a92f84ef6a2f04c5b32095 +e0b36e67eddbaa409fff239d951b833c5e90fb91 +56ee93d8d7fe1a3d9bed47fd51818df3fbe7ec31 +ad9681be9c70db0aca3a63e376c6ad11d9b9f582 +99f996a6196deb5f82a9198b4708302745594783 +775edd73e48ac4ccb838f1fb7d285b3885963ba9 +16cb8442a606159a2ba610ac99a18dbc40aebb8a +295703edb3f6360e4ac0b2ef222a280139334d38 +2978edb0a6df6187b04914f4137c4cfa0bed6477 +64809cf4718503056104143120b82e34a63133f7 +28a335722b939695dee060f8b3d57f92fd55fe80 +2238d41ac21e0c84c6bd6750d4fbf3cbac08cd6d +fc55980a2e2a349aaeea205dca167eb58017f590 +0c38d8fb8de4a0e3f5984cf9679d646328fa9f67 +912d5b7077383c400b59496e3173ab47e2ca8ca2 +37391ae773b0f7d2e792cdf5c5c40e0eda2dbd47 +b4d69432b4650dab7be6d173aebf9cfd17cd9969 +3accceebbda9058c4c59f5b1b963b52f9f263313 +024d6e44558482c129d0b6e99b16c4f4f4570ec2 +bf578fef5a2f32939ed9b6c214b86b3825a4eac4 +147cdc2fb9f10bbc228a36ce51d0f0b83805362b +7442ba74f625352a161a86092601d848cb223c8b +d2e8102543571050c66ca6f7ef5ac660fa765b28 +12cc29600d02fa5d927f2f08a66d59c646c401d6 +8c17e5d10206952f3c2ab0a4069b435b8365fb7a +6c7e689638faa60a63f667fec7677e5f6846bc69 +fd8a9d7211c6d24aee03e40ec99ce2683ad1de8e +c9ed2fbd14979ad778949f07c2140efffdaf7ba9 +8a8a73028e048b2a87889d367534d94bcf76874a +f5ec1697359f37d33252e17a140262573de50609 +3c957b7734d6094fe01a849c5c6a7cb63a589621 +efcba6fe865faed7ff9c97f8da047038c6a6a90e +a4af4b9900a8c774150dfe09af4288c1ea74528d +d51d7fb608844ac83a197fb6cd046af77458191d +875a276ef98ffe70cf3260045636c8ca8957d3c2 +f9e44cde720f27aab1d94a6f37cc889ef3d6c1c1 +134ad1b5a4f377b5241e7df87d81b90a56bd6dbe +33e11e8401690cf4119687626eaca9d9ae6ca58b +83fcba8584a8a958c40e8d9c908910fdf146bd7f +6a5693c3e853dde69372ef2a81c1a99ed0bb2e5b +aa12e3323f21aa44bf5ce54750d185e4340e741a +6a6d643bd72abef87fe04f3c655e45b732af3728 +124e150ec899e247845d287c7eab70fef94fce66 +8eb6f8de88cc7f2c6ded8f4329ef0800ea3b5e9e +4b751410ed00b6db3c4c2245e80af1fa982504ca +803631001701fbbd9b1fe65bf602f3b9f1d4a28e +200d6ade1ab720b8202ed1b6f116d19c40fe2adb +5eb55bcbac9074544dcd042d7bbc2dc377a672c8 +dd68750ca8e9850bf80fbb2a9153143e8e80a12e +5455a13ae5efea228c76cad106c8d2269df7357a +bb4cc16726939ec9d4b0d620e994d8bcd1d5e10b +ecff2a071664470a825af431cf0b24b61d92cf27 +231dff6ae3794f654b779d3f2d92f46ceecf79e2 +fd317dd1c6df32d6f7ad58634e0f81f4ae660f18 +82ebb3544745aa38816355fffc5c46d05cf44bd7 +4ba2eb87a28c1e425550bdc2ee3248f76374f53f +026e69eed6c922d5e46fa21680376405a2e564d3 +25775043852d963d5b3752592ef4e3bb7dbcc127 +815dd43125e3d4a7cf38bdefaf529cfbd53586a5 +91e75986dcc33aff6bc124bfd41c3c648304fc71 diff --git a/tests/sha256-vectors/0000.sha256 b/tests/sha256-vectors/0000.sha256 new file mode 100644 index 0000000..e69de29 diff --git a/tests/sha256-vectors/0001.sha256 b/tests/sha256-vectors/0001.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..b5f1b86166f1b35412e46bb8375ae85eccde3846 GIT binary patch literal 2329 zcmV+!3Fh|Rcs4-I>QP0^8BZ2pkT=7nn@CIbf17mZ5@xbX&gH>f_$Q?(%|7*Wep%0E zGsjo$gc^~KRiN&!5TFp)cLK~C`ZYAd$jK!@Y{kJBIos*P?nrY?;Gm8+HNCi7_S7~RKhZ<&{EM%v|lYBzaGv=?Pn6P1A4wV9lfcc8r zsm~!TGfu$j#MzW`sl$W7kr}TVunJz+08w2kx~*Vm7yD``+ki@CY)fxN2W49I+?kI}gG7Cx3vc`nkUakBVoa=EPbz1r z-lgjdgewG!>?nE{u$(IypxeE165oXbexnkuBZ%#juu70D9@8qN07sUVtGz_Q$bn^q zIC}jXahT`|wnGJiGW&?_ZV5Iq9S{1Fk>$N-e{6cm+YYx-E$tin{x=jUm6d8V-tC;l zGqBXYB!6PAY*mT!v82R};TWhK1(fcXLbQ2_H8LK_Yr3fBY3f#nUVxL1tIa!pO~jNg zb@&Y7t%m$rG^P5i(*mP$%F~wbqc;(!^48m??o4X|Gu9#@jz{=8D%eVB<6lc$@8>^9 zh7`C~VuR%+$QEk<2mJy7G|Gh^WBdRjjF#MOa}vL1Xzg*sr~C80#Q02S{Sx%rA01T$ zv=y7u*TN;ENc*Eh;TSg0@U*aO&c)6@wB3+gEDXEdWAmi7-+;VJh zB93~x23Lh9^9Z@Gxw4vZ)TvK@3&Rj#f*#B=j-MZk$y4qWsT$Pt*&zMtmPTcwRuL6f zmD4bfu!5+oq$u6&0X2ZoO1&ApGMY$nhc}3XT@$nkMNU0{V37{`p}0(6Shvhx?MZ12lS zn#z247iL90isH;I8z(0zXy%0Loo6RKoM)iYC*=JW4Lu5H6-Z#Za zh2&AV8f3NzAdY@LbV{tSEV>Md3<+QzK%PK@;$5z^`SgIY6fb^u+s4nf!Z-`ALY^RE zzzm-|the5$TI$&R#O$4xwk-45IkSLg9xYzz!(vT|V z9ei&L>#5$d0^C+nr=|7Kh^)vjuseTmVk4d%efSe0T0Uu*Nia37Z>ucgZ=3y)97zPN z7|ECDj?~ZdcX1Q`+U(>vX|l9fUMlG@i|j-6*>%p`@2BqUHA9aYv-ouI86A{P1^D0}cwl@g?% z+R>43j&(O4-p&f9BjY?Mho94`D!M+uoq1iRg?2qV%eI;=5=5zt&bGd^2xu79e&1X^ z=x&(lCf+%7)A5$zLR>ugQ2VSS?_hC*=%x#T9%sN01pQ*wsCf5XeG1B7_+B z&&~C($ulQt)C}Ht7K$_QQQPUYkNfa#B)ec=elyrp1x9Fyr}F*3uSK!{MC#G4=_+?k z0)RyCz0QZd*C#@mJ}wSxh&8;v`+v=T1|9(n|~r` ziZIc0V^|Y{*cy=_a=fKPSgmRIaGll{7r=P|KW1pN!U* z>%mf2iKL$F&)H#W?)d*I=G@?Lb0z|u+dG0lY)7|e{sE4B!UHOSXAbm8Z1YOfXG0eZ$6eCYL%#Yn~#GmsapD0>ps?-}rAdkK;@pAWRC;VqRcC!Sa>bh(& zk=KlgSqX>EaqC_JNlnnoVDp(t#2_-VtjawvXJ=Q)b9vIw_0L&B_@YUIM_*`Z%K$IW zLqh#sp%dv&`qh@QjDd+)uRK>9>6Ak^S5@vgq9VF!q~%K-n37w0{A9dEs>XOV z)krXPzTLM=R_-@7x5sc*@=70YX8=ux*=L~1&6jZ5@HW{3>x$Vfgrm*i?`_3WUD&BH literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0002.sha256 b/tests/sha256-vectors/0002.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..081e9acc06dfd2f48abca6a28ad12ea1b1340f3b GIT binary patch literal 995 zcmV<9104K!ZMGsV<&JHm>MB+xWuLp*Zqx|ViW_pa=0nIW#|sF*Ly+r|NbNR!Bw>>Z z=54kZ&4kB!Y*nWZy2V5mzf)#>*2Y9}-~$n%iyK%ObGz?W>t0&ivkB`RNO~QF4cuP+cUm;hD=5&V^|mzh zm{>qI?PzQzh0L?`)G}YtNZD4P(hdL+airfac)P_|a)BLjKw zlPPm`G~OLVhr-O=&AIpyAjz!;(82@y+hov*46{wv=gFl{SJzD8!_i90x-!Y~Z~s5H(-1@Y11OVj}B=vpRdkf5X0*mj^y z&TW9_8B+4(P=e^fPSi^1R&qyVIM1#|;^{FMCAGurNkaJR-y@6rR@ly(ysoX3P69!` zA;+kLQ_bpL&z0UXzO|s_-kSE-U#_SIiiGPn=19s!zA~LZqJxeGe|r+#gx*F6iM6|> zK^S_*H|ZI_A2XC0)=m>qa>LFME(*xzs4gbuXj2Ab>HO|hVm9@+9BvCj{~|mx(BO1E zcWt6+>7VHQcaR^K`(=deSv|H09OlKI9%7yNt2RpGsVFqLE*5F`tpV2Oz)~|+NwL6l zlWM>Y1!9V6g2(q1zqgvXn(B+X|2{w+d2`tu3O_cVNmMcUSKXM^!Z_Uw`nT#!X38yZ zes56ql=GfIy0pzqk7OFS#plt3c_B7UuUP%BV_BU5-nb(H@)tEh^QZCUkvaJ$1>czb z2Gc~d+!qVfR$9f5o@BJkt>3FbSf1` zyh?)1HOquA*y@Dacb)CC#dRUa9@PCjXxd$gs54=YlVS^j96Oq$jJn+`t{=gHt zo=g3iALoF`(7|%CH!+R++RXxvO8-rnt82s86>%`RL%Z*q)cfWOixOBFnMs>XmM4Eb z)>O`RcM|(VAR3Zj>#+TOG!N^(2Xb$+9}Yk*rL=Rz?| z`uHQ)<4cQ+S=4#rmU>WDovUb;YUl00@sU$pSm%5vQkoKZpRMykoh~DMj$KJKxk|%u zQr*{zeV^uFc#aRQ*XpFw)ySyX6?9x(#G$p$M<&?E)jNSZ=ncpkSc3HoJAV5_f& zsGsxIM$t>& zop5uN!ZNIPSnR3yg^O#(Hw6Xj$vT+4E^`EwZpAD)q*Uo8Z6EYX)|IF=UFZkzJ3sYW z;Sq1e%lT6?_}3W!36@3^%=F@-nvFAa)Esx9G-2H7CO<;NIPYBK{D>8Cf4x5HoY7w)#Abs#cjNaoW(EDuu2~fkSu$eHTmv5FkVOIZuS$QWC!8%X=~TQQtPfp zub;|*va#NyTH=e#`lDH4RZEo%6=C{ihoum{L#>9e)UQe^&dD09Z01MLxXK@Ie$=V+ zzu{@He=V^+pnh>mlW`o)Wmz+?#&F~SRXdm~d`G#uWAG)s7moFN?5te;swmNJO^&|= z7m`H-`d9eyYm`v53xcW&*P^-bB=oo|C@xp9MbG$}8~w4)3D(BCNeC{3@4{I|y;Y|Q zB|S-@+Vo;h2}q`y(oD5Z_Ho9%*;9Q#(*gPiYxzG{eLLPbGaHkzs*AZVLlGjOsFzxBm2SG33Uy0m!|tiFMJ79;26A>`FknMobcgPeXWConJB`{R~-(W=IG z|AHZ!1ePh8{{7w&0VTG^K^AQ5y7F4Q%NoSWXsk0_eqk3){1$tACM285cs6Ygm_mjy y_OWY%TNtXZf*HiDeND&h7H!U_c(Yd%bRQp1^kIp-5%|����d�> \ No newline at end of file diff --git a/tests/sha256-vectors/0005.sha256 b/tests/sha256-vectors/0005.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..8b7e968d597e6d9da5e78c69cebf58a9e7ae2b63 GIT binary patch literal 773 zcmV+g1N!_Od0KSnT~eyJUh4!cswj%TI)}AFNR~{`2~rocar^#<%#|xeToSx|zlSSk z!73qdN#KOUN1e!@wA0DKw!mg=T0;NIwDKDZ`i{@OQPb>Bse*AHnqBn^^Ga_V+^1u@ z?AeBELHPJfxo40x!PHN`(UKSEkrfpei*3pDsftJh!`~|+7X-Oz4)crk8`^_Wk+NNbx`iHKb3V@8JuD9Yc6rVlE}nMlX< zwQL7^m9$v%(mmE@+4)@>tI+D?dK8RpQiUX(%K@BZz7*(mYid?=rIAp(`lfkqAKx4x zETfuwf{l)e8B##QInDCokFkPA^xDW!OTuiK)4vX0q6Va>oSVa!n5rXnE;?YAb$LJ@ zZ{i)`DP)!EE~`JZ{2L?csV*Lvj%*jcK_odNx%RIxz-sLC`FTIa2xhPn>T6IW7oVD~ zLtDY%{R6bWbrGmU9go4S)dbev7nx9UkP!Q4>++mljD)b9Qp2&7h|YPfsSaB9WRx$i zrhbbpXjLWLAqCW~SyGl2im`~T6jGr9=`h^+HOU2>ia(JH`aYl&-{f0oaOw4uHTJGW z+#(}zpLl4*E}4IF0Q8j=E9d3syr$eX@`GrMrL3{KH4WXooU%OLN>Li8xOiwN?z%K$ z$?0!`T}mhlP(U?!A*RUy1F{V1$(TYBw6)MFD_isL{6fV7Ohf?2xxMR{rgGv%Cw^M3 zSn_&TP>#-W)M6fy6WS-}kQAiy(#95VQr|uOx2(CizkG_W93>5v(CdQzw4Zp=OrlkO z5&dEqqSi50ZVCU|JQPv87s~kg@C#}^n%6$1ckAW3J!dqroQ-3YHJy7Z^HP?l+cG3< zZ8)l%j%7#2%ze5m(NoH*qZ79k_STp1n9|cc4WeBI;;+i5d(mpmUf&i)LyKiVa=wLr zUAJkD!`d_Xtyoz|jvKflPNK$w0TB7_iX!r#3s0vmay18i5$}~V&U&3UL$+e!km!p- DAqS1V literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0006.sha256 b/tests/sha256-vectors/0006.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..8d28230c9e28a7f3c2a60c9f3e1bb459983f76a4 GIT binary patch literal 2045 zcmVb$2{z^p5OgjYk z=m9otMu|7R&W)c%3=ux2%LmvOafhuXotC)X1HIka*n}2B_wI_KN5m!>H;6+6QcbLV z1_n={-tsoog!p8I?g#=w7(cEI418$(CFV2Nigqoc1q_xJQpfhJ_!pw2bIWj3>_Znj ztt<@b0|;RMY@2S2&&!{Xqn?2(9;fYF)`?`GATs=DZU45~_Zpha?&Po#muE#8-2!$a z*Gg93kO}+8FD<3%eo+?xzNU}c8VoMgZ0ymy$C?KJR{DQ^+SWjeUg{Uutl8sw?6KkQ5Xk4DC zQni0QA8B)gw2ylhb5B0FlT50Ul-QClJy1nEVXY%yW1lC~C$?L4r26kArm{g(Q+Gqb zSi5$)$I+j}?$iiVj8q?fxjYUEWuTz&hvraW2Bnl+qYWK5hp^sCb)51WywN!+BHz%_ z!Jy~>&)FKI(kMqdX8u{oFe3F4?FdQvoo*!3w6otzz>g7>$LAF|bJ7OtS{~2cr}Rdj zq{icG>oubWyKZ8boWod!>ozCAW8xPT10i`4=gH%PU|i{;Q9X)??+>pJGgxLZ@3xsh z7_+mr35e%z3izF~ru2Z5Wz7SdCQeZUzwMVDHi4aBQDvaPC`v}j zHtH|7-eFKhv(jut-k9l|wTPtuR)A&^K?v+(ovEH1OirHml)j0hJOBYm1sEaRU>yFc zWvOSxLrRp|fXUoh`rznOQ`Cq)Pd^ZY0q=s!QDS)@b22KDNK3M0nYhc<|3*X|1-c{C za(`^JID#SbHuseV-EMw@&HbE?)bw?H(6d(cADG>V{nSOd`4=)+PC zE(%J^$5;sI1=vudZqASCLtZ#S?4!^VrzWtO|G#!`mKt5LccgI^^{ADO+OE`TvzI}^ z`NLu~`N~j^SP7dKN$|j2dsDZ^RYs9Dy#0Bm{>El|twyB)q?yf(^K&!80FGS4&4Ga( zRgKx=7)sQUOr>Bz!yj$P`sqP%|9>E6|M1NNw}n@7n35i zw7nuPcaN=Cz|ZK1`O?{Y!g~mBQp|=ud*G)*A`fvTLRH=lp<+o38C|0%S_~s^?)V;&GArUuSs->prtEH_M^T4z$G-H3>t8Zkuu490G6OBGh$E+` zEExAtu}ht-NrR}UwHZ=-%{Oem|HC+1$VT{r_ES;<+}hVhXwCb)#n7nOSHAD+4An%0 zS3U-$i-MFj_h43I_yC0T ze8_7dT>kYQ-fqdLp9Y=Es-YUZ9iVTY9OJ34-+nEFV$PU}r&#>@a|(`wq} zA7>;^i;*y?(I{+ZiQA!^5nN5ZG7d;4RI1Aabw~r{LZjt2n$i_Y=-_4*44|9M0i(*c znaSx2_a{KVptFi{%KQDSjE}SzrPy&clI)7ByqcI|gjXwmK6L>l1O0Y1jkL!sDKVRr zbvsyH2{j(+b~t>xb3gT=kL1$hEm1O7a_D5sMk6XZ?mog4x;Ct`Z&l&Yo8@^lFC4+O zK;FmlG-@AW-dTrqg_?43cGrWI&l81>&&j0R%5mQ-Fobu~qr!r=8mweayNpu3&VC3Y z2EShM;GuH|wT(h_$>rD26D&DsB71E{tK&*$CxtCjE6iELDDk8D{@_Pal=z&Kd&8?m z@d%!}3DcIRT?Q@v+3zK!i~W$YLd~tAw<$hCw-$42wqvC7xiM{;2=piSWjO5sc2>8X zvVc?2G!ipY2_R&i4r8fHw}&KF(SHbOu94?yPPg8c*RZ;iMN zJ)5~Pv#iY#uFQ=1>@=(Jl}uY!wYXXi1Ajmmud}uA402NsoG(^r%;YGPT4W4i1N`4h bUyNYMc>wOca9lrHRpj0p=Oe-a#M{b0N{Rtb literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0007.sha256 b/tests/sha256-vectors/0007.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..76df5f6f870e35540436d102a025e38676b2f1a9 GIT binary patch literal 1499 zcmV<11tj`xS9=nR?5$gdb1s=_OrKU>#-)8Dk(le;S$VO}asOQ9W$u}Rh!sR?r|nGG zbvh;|(7!+TzBkafxTBbcIgPOapx-h{!Md7(W-$t=)Z)9v@2|WfAP(uz zp#T~YF>YlKH+>REYy$dG-u`+Mj$;<@%;ftwyH&-Mhzl!V^3 zk?@~Umpzb&APC+xaw|hKDu=q(euY4cxn`(i`F2Z4bMYaI0{ysJAA%0-NgJiq#5`uC zvs(z!>v-{&RjL3e5xF`4*ibR z0p`>GHXEBH9yiOw0TYYS!crU0l!G_8~mBCWdc|DQrSr{7mIU_3Utc9~R+btASFr7>tM z=Ff0E{cng(lQ}^K0jS{KW;Q( zA6gjHo48TzbQsA<*O>%Jb<}|&sx_ZMUjar34%<50<7sxQlC#m4>@k-ceVjfdXWoXw z0nO-c4%7U00H*>~(p(hAU}Qv~W~uuuqhXTiY5ZX`+o!5~PDw1A$`Bi2dXB+?2}&D-RI@?j;bRz} zoR5hVZ1K4}aEtgF4^20W4(u|fDE38vJ#OZMmzZ_*wHxpHBd6nal*WiPuy>LioQ8v9Mvugl8&u$P1(C$&=4-h!l) z{JjZ&G`{~KtcBISGanxq(`KD19gyJwvwG;WS?=GLcNpg`DG`L%4s4HQ_j5|mo)1Q# z+c=bxofw7G1D`YvRGliB1Q-nB7wtU=ufNo%Cg}R&_*=O*d{_^eM zsH*^ia0YmyR9fGI`KidLIh<}c+$?exU@I_EOpVNxNY=!PUGYe0lQ}3 zPE6N|Bnq#t^@#LH&;*5fQ-u;%!mlFo^uD4yZ5eum4g90~y$HdOSEGzN=vMDS*B9W< z51JN?W6x7mXuu~jS`$Euw_=Tev2b2RVbAham}ZDDrD^z%>&5Mim--vk$CHCppc-w^ozFYCYjlpd~|+9 zM{*g8U`E*^CO6ZZqzflJnd(BIv+ex+GK9{(_P=29JzBOtsF{7{P8dcxXEIuqc*UjhHfK0 zi~RV%zLzv)jZe&i4M%uzZ{Y~$jwJE?x66_wNiskuf{i5q<&5N2p&awN(m}rggYMrG zTV*THmZY*jc^S(hsOKcB@C^w}T~O&K>q-HgTaK5HIqK=ILAgDY$BVI2_AOB}851rw z@A-RVDKuaWoo2NL{{KtwbwwubPEX2lDrcuNN&&}5_fcwDW?JJeJb+VkO}ih^NdVFp z3I$n(SFhPG!!B^YK+%3)N?3;}00i(=p-R}ujh|c10>SVOp7YWpi*H_Gv4vusM^cg^ z^ks;*b#02!tbBqADAv80J%fr#dbYYgQm~ko10FaI1X(_N6PN>Q6mVUhT%!^B^m(ut zO6&KqAjhdABK*9pR=B7Y4|1xL{mVOEb<&)%-PC{;wNNQTarGqsD(d5;xq~@&)U3A) z1x)ESeaC}P`8dOL?$Dok2)`wESFx>9$eh&!HQUbZmezEIz5}~2e1+{;tuN=eweUz& zw@O=|cRRUS)GPYZ7w_;6;E~tcQjSaZG2PM~dMY+mMfn)>`$3oT!KY^a1V~hNy@AR7 zI@=xxL#59d>*VY*5c^WoXx!t9V(uMN^vpJmDDI@8=uEzcd>dQr&`Wm0OSCXRs*u%E%)K@q4;|Udu|oorHWpo}m!VEX8mS*#lXW?paO3%`zQJJmGS?%Poy#xM z!32HU6#r^EFI89AS-nP7(jXv4uIA@EnPf$Q7H=E>?uM}=_^`w2CcYx+AFV_H$Gbr!H_U1S3GIMrMPHHm^<*h3fi$Ij U`)STVh$eKf&2vy4z}`9;GA_lV<^TWy literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0009.sha256 b/tests/sha256-vectors/0009.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..e2dfe930e9871fcc1569b9cc409af4f48626bcda GIT binary patch literal 1100 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 IAt{!vpFhE6u>b%7 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0011.sha256 b/tests/sha256-vectors/0011.sha256 new file mode 100644 index 0000000..7515b6e --- /dev/null +++ b/tests/sha256-vectors/0011.sha256 @@ -0,0 +1,2 @@ +�)����._��7(��jgxk-qzjzcv+gR`*yd@e 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0014.sha256 b/tests/sha256-vectors/0014.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..aadb5924ab56935f4ac48d4b4254156107d0d6dd GIT binary patch literal 2482 zcmV;j2~GA0|FQ!YU=BLkpuF}#Lhox-X$VKMIy<0qr|>5uU*|ANWaP7X)>F|s=ShG# zDP{EpEe-+ZtvlPYdVY&`20FN#9Foy@^Ief+tH^4gp4%=t+`SnEiHX0?2hYWkJxI2( zV~dYY+4$p5Mf2tYpMGYCLnx$(WIU&;C5Xw|?K0^8g_MkZBQ7FTo^nHcsA#j=dSFuO zt3HwXFx;X1H%&6a*iR0*^#mbb5(&y57l$2|$iq6m6#eHflXbKOxjLTSwO-wV+6F+_@RsO3*-5FN9N z0++c#2x_Sl!nP;_+j=MP`zu$SVvUFk3-xktVh7;=ixr zrNhjT%BGEs8f`Y zj2fvW`!toHk2Zh=ae&W>^s1=DF)d&K9jFNyEz&Py+8lm%&c=q{}Fvr&Fj?JhGnJ6-GM}s_gjVk_SFI};b za@R9s?m8`n3J4b4jPmsYA|w#ix(;WgmKCAUhXkEYe=6ATTdzF*49JF-)LqdXssjLM z83!wm-z}0!Wz*<+IHZeZ+fk$Fqroe?kb@~*irHU1{m~XbNuAO4Ha+YCG8nLvGbMb9 zVy$B^Im~y?&8?$zHM(<@Ak}m0ut<-deuUb(SxuR*p*~KbB5n~tovfxYzj;SC=Cle? zz`Uo09(L5&C{Xf;nK%#)%(h}-objy|oX50B#?EBDzOey=l8Kv(gO+_UA*Cx-;lZy$ zIe#T6l^HMe)2^lC4V3(Ub@<|#CF__pWN1rDv{PU@Njar8l@x!;u$nU1u44DbT}@E} zB9(#5IV+v(T5WOTO1VSNXf87izh0x0do;YMl79k#j`PR=9uzDO5^4~Sc&lTia;Cgy zbP@a}`%XV8NatGauFl>%n~PEJ-#RNcZNlT(d>f{Jpe1@5sY38GSA;QN1YNf9Pq8yy zEKz<$V|MnuZkPJ{4w)ETHbNq#5uURtE=?AxpmM5^a+B`UBd*> z8q=?C2X{tFSw6BK`RGhvkl||czDc(!L5`1rwxq%u7zO-_ zq4kOFjb$)Zy-oYCgpsI54^A~x-{H@VYL&=V{HJ>ak(1$7DoeX`M2X~I7=;uGOyny> z_5&(W$3-CxP^i8j!5$6xtQ*}l(c=-ex*>>sl-#3A!$GvK=ZuW>Kc*XzLy zvRu);mj+7y5Daa$UG9k{MOL;xZlm{>UKVCL>JWL*bt8uN1C9LsyuIql4!I+g7V6AO zMP-jYE{I2^I)wduA492|M^Kv3Q;rH%D)a&zN?Rk-?l>4V@=noY=tf1g^w!b|z|~(r z(NgG@7xmXUrztD}2O=u(knF>=DMt8&>we4-Ve?E_<|Nfb2P-r!dY*uZ7<%iR{*1dc zK~i3k1?3VrvYlZHrh53aLbb{&_+|rqNvWB2O15g0%$kQoK+p(i!@1DobO}na%T0&URQ${oEmNC1+&AZ>sF(5kJ*O{krt+;wQ2-kec4dT zt;gjFOeogw#PWn%Z1O%qU83?)4LEj3L|3KH_;Kn8jU@G?WD016*sgssnagoprto#^ z5?Zh$sf$kk1%M&FMl`zhRfAjcGl7xujR(Bz+%)4OLEo(uS7lmagU{H!%C`C&Um}wT(h7a|i#Ef$&daPaz{>a{mJ1-? zdO@XPwjZ#m(t1Zhu@J8?pGtgkN1^yMka33~kQK9*+bn<3=5IWHDH?mh|G_7a-+Db8%+KKm9K) z0OWO8`?$D>N_$JH4Yb>J9v*-H@Z!8ID&9#^sV=aEdr;0$4300E#x#>k5Z}G_mM{(x zA#o1`+5!e@%6Kl$-8&al<7)irN%f28=>xmNhhq&}Hh<5_e!x5RRV!6Q&k7LuzBO#! w#OyL$D@iFKUgzh(N{1J0*UXS{rs$rI+i+}7tAYG*9z5QKnzJz+rFs{jB1 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0015.sha256 b/tests/sha256-vectors/0015.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..0915471adf519db8cfe108392b1e9ed928110a58 GIT binary patch literal 1861 zcmV-L2fFxXkc2@H2A`obfiPaV$CwO=Y<&?$o8S!|+b{!Gby~N7LZCBi%t;Mqb-BSu zVIMy`&+q380)7Rxb4d8qsZH?zCov&9;3QJzy)O^*sqGa-oX%T?93JI>CKlpq1>Wa5 zmqhsghh!Hd7N}254<`f^%I08pQyjV@DJW&*SJkl-xuTJ{c_we>ybNI#qbI zG^zCg1SiB!{v5PTRAGhViM+Qi$OdtwVtF6}F8ZgLymLgBOGvei27R+N$;_oF^pN;5 zF&gy5?90Z1y$uyYVLMIgTjvO$)<5ga5nLSW?3fXF(5l!Ba~!7|PP%73!*NeLN7y++ z-}7N`$lN|6R4_^;h5A)KFFY0Ou|eX3ijLcXFX^#j6@jCR230#qXui@NaNiSOF7#0{ zj)5~+IohJE-@71~EAWjn;t}m@jIPF22{Sr)qCq)7OrGX*tYclIL~B7xe{W-DhXK?O z7g6WG6R`5vzCVW8g~(S!_=Hj)Sp33dFjB+4@S_&bz4ET2*l1(qER8)_TLlI!sbxuUZ{I?UxazTjt>P&%r-`!tg5%_HIZsi;Ak zDd993ofTnZ!y7B@f|F0W7S-W?_8ETnjwM5oxPSiM5`n-gnD*qpF#+Ro!ZpbhRpjj2 z_NE2Jv-ZLucJ`h=)wm#kR{(?~9cd@p60tut`U{oGZ&1no7d;<#ayal4%-Y(Qj>i(g z>pv}SAGNIm==b?Ati+YrPLWk7c7wy-o->FYd@3~~d7ciSjBcvvIFhcYMG?{o$Q*8s zEJ0eog2{D=oIzi_Ju!;ca-@cdq%9^SXi-je{$c5H_1wl+z;p>fi0`6EotCC{fWunu zOPa~6W0@7k?o0b99%wo(fP3tYQmd`_fpS!5V5$2j6VKA`XwrL0oJ2l>pYV*Wgq`&vXij^@*so)CZs@Q8O5wM&^}B_gw7w0_)ypAyK}I{AUKm`zslmY}tK0eTtIe{_l7(+> zKg;Z2=v?RgB;kXsSqp6U%}GCNXkFdGadY88J{3>*0Vdq8_fJDMs3TRB+ZI`66IFB} zHw}MkfM1=bzq03$<4}vkG9+LzHjGG@{CCzN&=%y%+4Vz2dnyfegNk$_ud}fu&U0xg z@?Ik+*V79v-0f6HiiSI`M*}8!^&5%*UtL}O%ZUi$b##lbcEG2K{B2#qniP{!0Xp?&o0HwW0Ld87Gdrr?5a8*h z!&!fyxNO0vI$rI~o1!;1kfmj|!i`w5 zk1+JL=3q?%(TUehF<2Xh2H>h$JiF_F4sUcNMwAj%KK?Ybs@lH$Iq8+!zK-4$O z>hBO=i*u_W&To4bnBcfpLgOpRV?CqOiRQSY_O5zyxzmGX7px0B*`ROxHzPzHyPD(K zk3n|F)BpqHH*a{Fd(3h|+TIzWERq-9$N@;#6OUF>Q5N>{KxPJ~EQ;O@q123BM@i;~ zCo0I~k?0^Cr{QMWVjtOdY+h#&7Zas6%isvnLSM!4E&RviDt$4q)g}g+{&w{hG&s`` z{4r-j2iINL#A(ZEyewiyIDD&yQX9YtzGlgpyO`@AU)J^qi43?XuTX)X7rcNnYH@lC z5!{LX6Cx=K@=$QoIg0=$ za6^br0+7{NWTHXAj(D-poOp73d&H~2A=&sB?xAe&q{dQ5q3+>4<}q2y@L zwo)>fk3)jBWFvkrSGJSpr^~uzdjrxC`>u4?%Pg+sUcD?C%ROlu=vw^u5!!Sc>thq| zcE5&f(G7Ztr35L6Xb=sV9AZjC)a$B$=pwQMjkVK^R#9U?{kZPAv}usqQ=7lQHZYiG literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0016.sha256 b/tests/sha256-vectors/0016.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..aa550632b8095409d026b879a277e8b3fb25fe62 GIT binary patch literal 2294 zcmVx2{y46jV5&$G=I;<6nBc0TtMNVv0b2QKTT2oyOWcjR0O zgB5v$q(x{$sba%8Bd1?b1QAWsA}Og*Xv2$-m5xO_y-!h2wa*|x6WbVmS+PD^J(?`; zWxLe@=ap3equ1yKF%#*u&nF=igUTraQP`%B#a&FqvM8Lp`|Z&!$g6M-2n1+b@eZ^U zfbmlfiZmQ7o_NKY;HUvWhG`pXlL(AI2F3UzqVCQ#;CXbc^=8<`@dQDS@Gph7r-Oc= z&>9r)%MT@wEU%;-!VOJzh=ro5z0z=2LmqtWD7AU;|S)vmT0hu_=i7XrxAzK!WY zCw~X>4-UDlc+~{dtU3w2zOI0QE#wSZHP078y$o#ykKeTD>PW2%y(4B&q|^^V)f=Z0 zI+#*WkJA+z8T~aFf}p;$tsdA_-Wsp#_4UXq^|Kpnq7XTGuwBPvokglek%hqJrS_hA zM_~exdb`B1<8ukD*4vn37TcsL^FqPD_0@^Hb98r05SCf?j`KV)k8%}vo3e%$_8}f3 zQG-m&KI&;+?pD?cjMAiKz;|aZ*_|SuY^htWbTk{vP&`+ZfRi#tfKho#GIIPvbFHW> zuEAg%wx=sxlaYF|s(N%A=6u`4srMCT^Ee+Qe+tbI--gfuCYS1)Jp9Yn7o;wwXYzh( zh3E9d{CSrd9u?T4F-80)k4ecIv6RlCKQ2`P!rO%}gQsD=G0-|Q{&e6hOp`=by(MTOqDRnE>DxX+EWd+dot63a=dVe==V z?W$t5CPcYu<`s;4ZCu(6`(lL{huk>j8YhVA%49V)@EEu|?y|5{H)7h}!}?%%-61!h zHW!DXPtCB)$_0!$s$A69Ux=7*%GqGZs82YI`?67Cy_gN^e+aTy;l9QkOh1E4XS~!J zTvvyk4EZAW$>-Q%tZes8-3GrEv9#mrHL<5lshJ3L>T!IYKJ^8E{4(FZ8Hq16o!s?< zVb6l|Fyxi9?TJ@-7Ik`OR`k@!}_Y z*LJ|iqP08cDBmOdV?G(90%A^y;xo9^V+r#xmtYyfJ-ld0N$=hdf)e!0g>QZP0!)CD z7?WP&L}ex{##qynnTUd}BUi(Cictst^;5XU>TabF5Rgy&?qYWllPaK7dYoDaAohbI zh$bH;`Ir%IhvIS%=P5Nu<`qTK*o@=&?-iga_~4#USvBJ6SH%sL+utOSo>noe{J1y8 z?QyC|Dp)*RJ92V6Fb(X>wUgR>;^5m;o4aO>R2%K5B{U6;{P)N&8yuNxj(22Y6jWJz zJZSskf}E7Jhp7Tl{*s zZDKX`R0A+&0zWXiqij2MwqlGxJgO}eK~}=sQ-r>8=9Nb}YHcXD`YFd|wl}NXCHho7 zqM%a_=9~~}kn5_Y#CBsaxoGV+z@btBVs~*uz4@oqA)7*Yepf4-GBk=X4A5v+b(KhDJ=}c%1b&8nQ(XbnA z6jHRtind|`=Ku|I8G)rGI&oD(ul<@o1%;C`8p7Cm?7}N~Vj6PBRoSJ$8L-V1*q{2` zgvDp^7TpWoV*Aq!&I_r1w?yHg|94uDa&n4u1M(7U!bw%m2wjqK~+wUZ{LW@!CikAzR4JhcHqn zS+B%OqZO+4sn1S)LLkD$SR;!oRa QfiwvmQfw-StYjB_d-JJp(f|Me literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0017.sha256 b/tests/sha256-vectors/0017.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..e5e65705b91aa992d69091fcdd6f55bf4e3ba2ef GIT binary patch literal 1507 zcmV<91swYHWJv=v{Kr8e-;gbAfRr>^bM}0ICUm~tKDHQWEKy?PFN1^U;1dRcx8Gx@ zCLpbbo}2F&t&93W5y5_RzRkSopD<`{V!>2(g)+Rl>`9CSBDi}Fnky9l$Cj7=sou)H zlN5H{tpxoaBj3X1gl%T@es5Cqy9;PnuYT~ld2}(?kT6NrB(Do`S)aJlOz+mV$enQ@ ztGE%~r(l@=x+u(O>vAV&mUg1oXjqTT^AZ$}9@wbyY4Fed-)<%VtHBR#UCbpN0v%6% zd8|;U6Q8eW2L3jEtdZIaX1UU>7mUosX}V!6rR9z5R&OsjDj-jti$2#h%uu94ulUr< z`E0FcacE>6zxc$q4)Rpp+btz4Bf{&jgTg(@O|b(~UvD~pg6eqO!HUoO3foPSy!Ez% zX~|G={ZUXY=eF$~7=M%|5@X*Z2h?}-WDRu5>>zW?r-+|vJcyd!NLBnEg5*vi7 zVDV{7;%ChBX~#7)ucN01Of-Iff=$Jl!OZy+<{Ush>Jn*Bi2-*0xM|5E(k)yQ2QV52pnLJCRdZTHwbinB>T}2RfH455CwL5v zQs)elNMl_=l;ZlO<_i6~Fsn8qsZT3Y0a?pO}cyZM+GU| zHkJRN>;T5C$?px1sKiI{2%oRO%LT^05MEA26aypT8ptK2%zEXRDGkdmLdNO2Y_}qd zzlu*~RCQ#k=qRNfs?79= zb{4gAP8HNrgP`eB6Cj?0hG%Ry!V$EFU9-x}3e+A@8iCyeEGuM#SG1i{bv5cPaxMB( za}&EsQ_kv$nc4m@B3?k5G`(ojwLo9k%o*^#kuEXjf@D9CDE>3gS%0Y#q9dPGxs_@| z?4k;ob&6ac@8|g#lRx$cJtEfs_g~}ZL#p9*lT>utvN=3}P9-@s2wDSENLjSwK$IUFzvvl*1 z1y@x4O3`}oJh|raFj&t6zeYttynE26R47c5)T#3j?&8Sm)mtC2V0CSo(k4`)=VUw( Jy-S|xlqm1{`BeY_ literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0018.sha256 b/tests/sha256-vectors/0018.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..4479e4f6c481658ed148470012b0a739620f6fbd GIT binary patch literal 1548 zcmV+n2J`s?@Xag31O6P2bA$&Opn|4x{)Db)|GJ$RQ9w%qsx}-tRoE@H=k=k)glWn= z6dyLCa_R;$-U#lC05XA|&WL3`=Eq_dL0!Fq(du7Op%&fQz_;Z~zpKGKsx|~L!Mjl| zgbG32O0xFu?(Mk^(CA)Pd_lfZiojl_c)2&BukUM!9fhsz8_ot;cobc@P#ZSWO9-ax zV~Q*t+^^*0Bw_%*`oH%&jya=O1oBc}Ak!0wAbo%-38gB* zs6=G7p)GYyjwabSSsmo$-D~VKZ%`h1GgE&`|L(k3;}68dOF}>`Kmv;!nWa!E%eyjP z+ysYefEpJJuf?SiW8;o>dP(Nmr!;bY5aWh*n|{8r2F_4ZRaMZBgKX^vnxgiFG9deA zWuV+jQNp7%nqtP&D!Tb5UQ!+R2A-B8Lb^@N#zt;J|F(38Tk%3#d+XFlg{{)^O}^a^ z#MME-|99OGyc!V>$Y?mo*JqibQyKILr6+?Xq6W?cL~Az+vfAPq8sLS$OEpZQR)}Vv zm0WR&ch&?Qe~~k}vy2E}DV&Nk7e=N-L5Wyn%*&6}sB@BS=y2+pZy$%=OuqCu9C4U| zC%tvO;1A1npFjj?@VsdISKY2wVP?w3fa!{;ey3AfgnQD>4S>zO8dBB$H-<<$Hl7Ab zVRW2eTq_8P(1-OWNP&aS?|l-g6Ik`%aM|I8lGUs{jfQxcLjP-(nf0nDdsLWNjlqZd zJ{Kv7b@oPBKdpJoVPa?tPPaq!xk8WF8DT#kB(*Q==fvGm(Q!IZ7xIA95^aE|Kd8VL z?ZMY@2Fv%3<4lMV@YX(YQh4C^p?i~IwFwT6NGS}gXA-~x$$*GWkB+3HqW8!PyVCaF z%jxa$2$}fcFbyISZi!nZC`8==7AieFpne7c@T~6g*B*= z7U6)-zCIra*(Ul~65+g~U3XTv7&d147)%+xjTmw;0K++jTTC_?ToQDj)x{O!Es<1v zp|*}cYu^=Hyy{BkM(|n&58i`wqdNG_B+79-nyawLe8Zl`{x*-Q6ISkh%8{GZA@d`! zj4DUoHvx0|`q&v56tuB5N(^M9K6ISg-(5w^u`te%OR4syUVZH6Y?9LT(QU zRq=r7HHVdJ`Y^CHo(_sfH!5;FH;V*A%{@P+oD}1p`bgA3)%cgAQ?R+Vjo8(rSrzeS z^7p2V4O{aJNP*+aDS!VF62RFVR1j5Kc}&qYL?F=J%48;khx%{$A4pYh#H{}_tRu-i zRY5R^#`2m2nwQQ3T{ZC=T{67@@P-Q_W|jk4#k^(aCNue72IR1cd^ znP8X@%Cg|ewwAQkV3|LD%3KF(gCJVi`hs|MSd|tNym^ZG;z)FbV|S_z~vMS>O$*L$ewump$_Mv*CK-VM`@S&skn^fT}w!9nF2qB1M%->{u6F zn`_z@#ECX9PzSG4$!d-CKW&a=$GKn)!g)23J&d`C47&BD+IYUZ6;5$o0$chosw;HwR{r}ql literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0019.sha256 b/tests/sha256-vectors/0019.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..a48dd75177549df9d4bfc9a0ead758705032028d GIT binary patch literal 258 zcmV+d0sa2G8ZlH%G5+?zJ9R=|@$UUv1?^!ETyx9+E76qqSO62^&lYkCoKjjOQ~J5l zm#$QEwdQG$B|&Ji0Jh1uw09wTj50=`!4nUpEEP?UOXQK67}!U6pVC0vgv8iBEj6AX zb}>pofK84Lwx3erVDo{Hj=cEmSKz>N+azr+OeA^b@uJn;6BZBKNMNXQBE>2wDGm{8 zHr)a569T6IBqt8hsVc=NK{#tj8ISMTl$Fbkuk IZQ5(lkPK{i(*OVf literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0020.sha256 b/tests/sha256-vectors/0020.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..9bea1cd7dfcbf2d957c735435f4d88738261c2b9 GIT binary patch literal 1092 zcmV-K1iSlw6c-?aV!LkXmv&cZV1SZ6fQk#lG0XvV&i7WwmAH=!r&(9JyC(8hCB7J% zis>-Pa$sBXBc_p$kU$r;Z@U6(4ZFrS3+}teFiTgOK0Z;Mp;TQXv^l5AplI`1++{cS z;xNN~2wQ@JYse+_4O~Fj#SMU!(MRo-yEmHeCn!)H=)Kb?WLjtn&7QgPtQp$lXf3s& z<--7TBoPuzwQW0=U;Kjup;Y?YUU`%l&w!A)bXc)_v?6p;udEH5cX00rL@v zNvl5L7n(K4Hu{3H?ZEIGg71&P8~{dyZVE3WiAdHB%~d{J9n(2GXKbYV4ayp!W67Bz zdfP8S+9vpgxth+WrRctKHKnbizURg&D2`c=NyYPv6%3*Pq>(u`r%|ZT5Ak60L3*WR zz4yJP)uenp=jbYYI&KJbd+i!UXa$bslQaoIpjn7~xr2`5{;B-~&+9Zm zjAbu7iMgzfgyWaGK??v-{aB|8je8&wg1*aT8QwhVX#!w>dk^CPVF?CaGHU_vb5*lf z+hHKyk^D&>!t(yUHH*D^oJ%CX+7*VtOnwqyE*mXsEz#IInWF?S5>Az<-`Y2d&|c+K z&<7r9#4@&mFrI>n2krSS?&pON|9RZ68oy^m3H~x)=IsOHJd+7w``(s0nG0=S{NS>b zGA)EeIeOZh$|&@UT^n2^=o+JViKC_%5yaS{bN8{g0=UTd*uXXkG>OQ9MegZV09@bF zpwOEZ%eMs9-QfN}@TMXOV{%NwuNBV)(Ps;4X5H8&1 zRsb5wH?OVak_{4+g$@?$C1Mxki!LKw1?qEmkVVHrR^1NtSNfTYOuJOwNr4$0XR700 zOOB|aY;Vj6(&uBbv2HShw{NlJKpJAbK@+Xtg*Q^a*o!9;a+%_u&Ct%iw~CaQ1@gGq zG{BcZM6?tZG?1pTc5x^%IZ5M2bFPL;_()+V^HW=02&w4Tfgv8Qt)#*FAJ-wLqp<%m zIr!~1np#N4Dt{7IXK}VqqMzMCwBu1?5bY2f;1W2Pv+(z!e+5rd@cbJ6W7H;5v%}kC Kt4=r>=d!z^8yj^1 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0021.sha256 b/tests/sha256-vectors/0021.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..787c9cc6d4f4b263ffbe66c718626bb443648418 GIT binary patch literal 1806 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 L3F*@Y{pU^@XRN_5 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0023.sha256 b/tests/sha256-vectors/0023.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..e8a927203515a2d310f57af88a76e0e661f1d83b GIT binary patch literal 1357 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 O!vXncv|g`{^}9;W)B^SZ literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0029.sha256 b/tests/sha256-vectors/0029.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..f9050b846ca820dedda2d067ec793cc6e3694a42 GIT binary patch literal 2284 zcmVb$LH* z4uRyZ4!QKei0JN;bH@hJbm+8FG_cAwDXIjRg}2N<0AFsrD-z9GN2Oj>;rc1mENHlfM>I_n2B?4kT?_#g2ArU%?>BT5S|{mR)M8U1LJAKY;n?8ogahnAi>1Ag96d3SbQqeOoaY!pqx|fg z(gG~Mj0tM5mI3(vX~JnQeeITOyn7RuN=w;_d~@r-(?&Bt0{^@4)?SRFCt~rgo+wcy z`PWNqQs|!z=Pc#&Y)!1PHU4sP8-dGn2AsaJf(s&yo2;nJlkw8N$)TN2-FyZI!3sl* zBed0gpFRu$-;@r|M?(sBC}oW^5nq^hBQ=i4s&BbkYAW$4g$M|2M8`E!=9B3#o7Yz0 z+K>fkz^cs1k3^ptHG#ssk9LNr;`8dUD-CDu8mcGyr`@!xXA1uU-l%9cC+MMQnnfp; z6J0v*xVA@93E=4v49sZ!nLcUYPa8EHLPB5=0#3v7?=ANU!{e=g*uYMFWv)pI-VdIu zuaBklkA7||*FmB3>FuNelW0MAtF)U!EZV8H_`vyQ|EO&G8ISyP)y{S+hg7o!M2#<) zK{Tkqs~4SAbQl$SwM*_!-aj|N0bUbrWZe1ck9dkRoNi`K+oqvHxNKvJB>F4k#AHz- z2D#Vq82qZZ={r3|3G~yZE3kXWH=`0H>Y~farbg!5Tr^7*1J+Ujx;4PDi*>RvLLv3o zRtLtZyCQJ}JgNV`njF?!kT6G}pi?=I3j(Be)-!ybF(`izITdFKQrGr<*faguzC%R; zxG`7+j22tzey%nzI!%b-FBvhn*wbwDBU&oG+4h} z14U>g6<0pSEoLI-6a4*hhD$T^)>g34TVNQY3avimg6?5IrQuy0dgjr7H+V%af3k$= z0^B#Qo{88`D!#8tj#YPwjPr35N;TrsQ@tU&x@qJ)zw@D1b+bVoV%ReaFszSuFPz7> zNSAli2fR_g-%o0~P-Yqz^R?|vN9?Kk9)E=YkXTlrW!ip0gQJ77 ztuz}J6U?XluZ}gl@2~35j~KJ17bm;E6VKF@_xmxw?#!{HQ5!Bx`77HG2zuVTCYP*8 zq!PYfU%>xPK~%iqEEND7>rB2GdHguvs4M;4n~bBIvU)Fz$S7Fh*$GdvoUGp4B8o;} zcCvuZRAwq;8oW#X=n#QiURI8pYi|6+xW-$9_vA4StYcVt$ad{j9~>gaFv8b#VmC^nX~ZqGw{ zW-A7Lh<{@WVU<_kG(StQoTMeuy@zX1QONmWZt5_PTQW7Lk3|uJ)gN|*wMIzsm7$Y) z$|~q$R!+3HJY^I8M9sQ+bdtV?$UFBR!Yo!UXpEAbS!mwUu7B997{Y?A?y%YEO>vf4oUqHRjf_)8*F3K7g3PVw!^6@@6xj-aK zjQgazG* zTzjSBLK=SmcUsYUeh*y)#AEn^r!4=Ju5QFNP3-i${HbJ>wFf%_P*ll>eF?vWO?#;1 zg7d)!bO8iQLcr6pOloDV>=@20BvPk0=~$sJKfcNxt%yhOCdQ4eL;et zTB9Oq6A?9MkYy&Q;z{RiQUUp9Ix+QGj@KObgC4Ju7k zo(s)Sv2xMi=T&3Xn)~$2R19XqlX`o#X6Zb^LqIF{MqzGI{4Un%6G+KO2Vkt|KOA)32ouPt=&v#|ILT!*+la4YmLplXijdis`p+K>0zM}<${ GimndzqHgB^ literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0030.sha256 b/tests/sha256-vectors/0030.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..599c6c0e8b557c6abf99ead73582475880d8ecef GIT binary patch literal 753 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 CXTy*H literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0035.sha256 b/tests/sha256-vectors/0035.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..f7f9b56245e3e9a2f2a75b93b86b588df364e037 GIT binary patch literal 815 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0037.sha256 b/tests/sha256-vectors/0037.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..61872d91b50f9e06da38490fbc3c1ddb138e886d GIT binary patch literal 2435 zcmV-}34HedzI5V>7Z_v)s9AFeeuvf=ay`;71pU5Kc@TpFoO?nXt>XB93 zE<#IEhP)&-dSpL8Hg$C72$r8J7yZZ(Q&Z?GmP8}9>XMXs52VblY8Il-`Jl#T-fgYR zy*eZcUXXr!^%nMIi%9koMgOwjUc$&tS(Fj5OvMU70Mn?NnSY2qNP+-R3PjcK0fCgR zW%l3(*DQ3hUSOd;hT|O_Tx>uj+r)nl&a?!p3P~wZ2KDxXrY#J~AL^ra@hRO1)cqRu zpk;XQ`C=e~46MIaPMR*gf?PxOf`h`=opFuK`V?r%MugpS>IsP*d-V<+IbPilPmyMF zMM5`dz5dG`^E0gM?Hg5v42o+CGOf@~Xu&-Qzq)@!kQ4x02N*+(37h` zg*li%+XX6m68l7fwMX(Epw*vfo_0@AFB^NO-tM^*!{A&Yqt8VM@R_tWh}j0XO6s?? z2XcmV<$Y_k#mC7#*-}#8v?52q4&`we#~meeXe8wZ*7sw*o^k%}SWbU7FHsJUf1WwB3XoK1X*{?h>5L_PsY!Y-6D&fOw38AxjV4Y znpZI$+a5OkBh;_hYvZbN+KdKnGdPDk4K>9RwewdY0yFU#7v?Kf4|5NPYkzwU6P0ck z0)duaR(2h6^H%#ILRrBmpyU7_8W1>S2(;Ogb#YOw?XAf>*)GUxH54Me;qWvn8r_A! z`ASwC`7?IR0zE)2-9UKOUT=6!jAC~9^Ds9psY!nW;kaEar4t0>$mv{4GzCU?huAYh z(zi3lN0a|a4=V5oM}sWoFeJQ#FEopR%&3QT(5Zdlt9$YX8c}@HRDcopKg}m0*#=N~ zLmzpI@Tek(&eA;zugwi6S95s)pbeG=<)x?=2TH-Cx`uygyeSk=vW&K1B2WD zx2cpm(Ny;bcR51@z8PSOm_+A@quV(PH}wkk)D$qQFxpm(<+2v3WZA8-P+m!evt%@; z3G23=V^778rygIh0@|ky$j2SYFv-m9>Qj98xmo={WJFyF7qUc|H)^m|g_RGj% zPP<+@{ZN1nXZsG(s~cBzql&m1x-VS_F0~D0X@5xcs6(CXOKYldD8!z24y-$C#RU?gaqhlkHG;hQm?~18+64i0 ze)xkHc)9Sri9Lxg2`g2w8H2)On)upt52<7I)AD@j5n>+ihlHi8!tMc_zO`M^mXw>a3 zlFjTZ4j+w4g7))p=i`D8W2$L{jJfcUR3lv!h&x?<5}CdTRYE`_4gw2o~P-Q!^N^q~$+M zKA@U)gMoDgr03c&>zM0k^lfhk(Pums8A=2=a7ARyn`j?DS|^otwsQqB!Zqo>s#!fK zT$uaV-fl45>n3LrV^6*Y;{k35J-?cq6$>;8Em{D_V^)sr7OB}vcvLZEvh5e~=K`tL zECS!Z0859iD3}=XNqMfbvOAfQmAJnj>$b)WyyEUVl3s{VI67u}R$Z=s4+-2wM{Fod z4jrooWnpg2WESy6V)^{Da^Ob5N~j87`k6Vt6`6iLwiNB(lyJMnUWOqmi>Y;?t*1CI z{K?m>O8OY6;M*CQ=p4s{Up%7s^_PC8OsTq#cg-6y^^-Sz?qfVFpiX(wOaf(1{3{?nCb>lAVJ-kr(MhQXSDKH9nlDr_)RLdok1kDUvUd?oeMX`XHvWOvrp%t0TxLhwrkm z2mg1_s8XoQ&aLfIrEq+z<8Z<`4zv1+kRPw<8NKkzTvyFxB}!Kykx zya$}ewYJdZfN)5|^SW?a1v-S;nvKZo_>i! zkZFp+qh?ME$-3Ym)>zyWOUrg~v~2WVu^plAQfDH0MD2d#269VP5dku7H?=JEIScut BrYHaa literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0038.sha256 b/tests/sha256-vectors/0038.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..dfcfefcb2a3a7b1db59255411c239e0570c34408 GIT binary patch literal 2052 zcmV+f2>bW_5z+INuhHq>^Ur>At7Z4Gbgrb>`Pz-Mi1reKoJyVch4L*{X_dW97k_w{ zECMhQC{Ip;(?$X}nY0m@M0}5lw3Mti2BH$tD`bhs+;nkIvWwD-*K5u-19t7VVpaU( zv(bCx?*@|X7zJv1QU!jps?9#3;{zTBpj3c(`NLUEA;F4}jjRu0Lo5w6^4+(@xo6Q7 z1V{+!XKxQ)!q=ygBp0YKCAr{!DksF1mO_Vd#Dr&v>f4%Ag*unu%JXtIk;HQ ztlj6afP=U|VhBcm`41A5oPanownZg7<2m-haJL*0ccBGYc4V9LRjl|({0wNj%p%nH zhV@M%U)x!8Yf6C4dAZ_;r43q=)cSpsz{O+3{cub^QzXutf)$&c!GQBIKTI_lrYv9&9j@_E?5zqZi!WSjuYhEm)s)nDx z2ZAu$%^OLkQ_M|N>Uv0PY>24MO5izr6fNxD$neogVN8J?tSV;pg_%NVPTvo1( z#cNaQg^F#iZR7*8Ikp^7eR!bRrSNb|hkUECjfnjy^7+iR#F@=!q$_=~Td=7cj5;V# z#)EuAB0r4v$SL~lolxX5@Ui=6c+YC(s>^I2Q-JM%7$O3*sw5LYMxH=j1q^{Lx7W9c z>Yt_`-#&QtRFH|>_lftE_tbg0Zb){XTx?1qxq)RbT$7HPkZcI>UWzjX-~{NFVUiWp zTW>%gTaZd!zC@&ve9R=z75HF0>nKdYftvizrS+uIXrBEfAaQHbuWQC@^^Hu|^T9+* zp}%`z;V};_#l&(F7hw$sie<5UbyhhB*q*w0fhMqbM#hzIY|-Z8mD@6l(0%`tDZ}pk z5Bjra^U3ipEsy_qTl=eMH%FI}QGgC+5x9RqfibEL4{+0`ZGbA{h?5u*AN6Co+$*AI$5P=mSYP1 zz~#SDhA-?c)0vUAXFEv2{0kg)$85=^P-rqeZE3zkCOs)h~HT^JMKwDe_bg#VC2v54H)qTNtLl+I}fE+HfLWjwMl-J zi%rmuoUu-M=$gnU+-kc)BpG{dZ5_uGrHr+AYjU+{4t(8+$d$KL%v+I{bv}}kzMM>M zc;GYo)GRc8<~y1N&9_XJVhaohsyW1rkYnK2B?;bRVt2XS1%iq#l2rY@L+Xa2Ve<Qx|NybmJ{zb+}|`z^{`Lclo*g{P6;K ztpc;$OZG-xa18OU4-_l@#m|0W_#{%5UqWPeTKA`Cg^G?HHFj@WExh;kiy`#2m&il3 z96W>lmV`OwKIqNhi%U8THu%lL?1x+OXqUTyVpM(8`Y-F}uVGS%YJtnfAE2=p9(Z>~bzb9euhph$~Kw;LK z>nw48PEFe6-Alu*mJa+|m9(+|UmZ_{=CK~+$1QpwKzpA&FO-H8kmM`EZ1Ct?9XRz= zarezaBCQFO?W?iUA@X6cxM(t&;QvTBl#-oU9I>%*zwOUbdPsArA9;ZMA8AeuZI35j zzWF6eo=4bmDZ=b^(?CzyV|hij_E7GO&Wf9LK#%nS{|YH&6aIhFPi6R59SX+) literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0039.sha256 b/tests/sha256-vectors/0039.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..f0e09883ef6c5d5b427559bc582223af0ee45f18 GIT binary patch literal 735 zcmV<50wDe8?Iv|D3^Jy~%vyBP(D0>T%el{g#o0XXAn}O0C!iuFccpT-yqn(;Yl|yk zk}Xk5VMi|kgAF6OuiaBdjFwDvNn8dIldv_m+WPPwytO)quZ|Z`s6ul@c zbjqw>INm4*z>i{^mF~hq_6kWy4M(?WXkS>a7^e{XUHmdYck_$4`~EnhwLKteUQ`##AJA z$8+thQMCQZ5bLqMYy`nE$a_K<^gJ5m$+(cg?tD!$HV3Z>9taM1S*6zAK_4JYQBlL6 z15XXx%2z1*u7x~AW$}o5o``>48a}ljO=GlWf}hw2OCV2Mw3KqJmUjcOL>A2&{olbxXaH6={jqQj@o z7hwthJ#5;Ps_}(?GBP0D22#-~QUFtRC{KFPoY;p{QtN0b$G5%oz*k~aq5bG601n(R z?m{sPv&5aWDpi~*`>bC)$+h{{=9)!d$7?72ArkaMW2P4T05OsxeX>?FG*E(>;p7t@*gBa+7&Dd6)6zg4*a}=@b?$( zkt&G|q8_Y$W9vlDzuBTz$s>-3l9&ZKNwu`W9W%xt2~%ef)tsYyJvR2Zyt6Hlml9Vj zKo}p#m;SH-Vprq~0wx3|{pz6qa&u#^;!5FwaF3kUj_pTEUifT)QRGw0H R@V-`rEcZ>3!-AwD3SM}zY;^zt literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0040.sha256 b/tests/sha256-vectors/0040.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..47a8d2deac78927b2f824fc1145c383d7d845bb6 GIT binary patch literal 1921 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0042.sha256 b/tests/sha256-vectors/0042.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..e5c0b571d3ad0eec2e638380c3d2b3aea329460f GIT binary patch literal 2409 zcmV-v36}OS{>$L~=m^*tCQAzYy6CB}ZR{$4_^{^>Nc}_Xa>JA!x!m;xOkj8)1PK-# zr!VWQmJ8OUinkiISb1x!E^0$Is{_2L+j!)T_2i{?MNZbD#Xt&n! zMM+N@BCxKOJv@;({{*?fc5*!ZHxyfs&#`5O`PDjAP}{HHiMe?%xB_?O60{@6#SpCy zKQf{rg0I+^W4gnXMd3v3yJQ3)JPx60L5()xYZDpesl=#`vhRQgWcYCcV}@9hcZa0c z{3XUPX1S(`kv%jV&wAZ|mOuSwP6XM&dX=}m<{=-H;3A%HSv=gj$$FIU5%wbt^KTF& zCEKrB#;#uJu7K+b4$)Xro!{kOHT|8%y4;P@#$fwL#i~XeC-{V;qjH{|NIRgU2J&%k z`=9fAkWSyL+rezc(N+`1M6GD&8jL{cqB4V}mpbWZLy~!`1W_3cjZ0eE>Hrs(rtM&x zGr+kh+Oz003!kKcH4e`i_agLOHcDSme$iC_XE8!;>f}NKyq5Dh_7iAoVGlyw4YjIB zGUb1uxI_>B*7GLA%Zd?Qo%`IK_}s}Q6}>>6*Y}xB!=TrMZ8{B6u@!TOj8*EFDIJAQ zoN54-uMGweBaa~WcL6VjHD?d5zd);j4_Qr))TGvkw>N+mLzYPuX#ehng>oTqam59v$^|VZMo* z{b(fT00ebA?V?VliBC`jQg=o6p_nYXb;N6fX(Gljj6UW25qBCp%l1|PEr^I7BAn2ANYDB&x ziXUi0cBS?oi}yX=+1KB50-{ky^%|MWmgM{CEh#sv8NAyZAy{R2Y(%crp~-cf?hOLWc5~^{uT-*|*69ZOfftY+_w0qvM*1Rc3z4%#7~yh>xyr8d!p~ookfoP| zkY1FxEo}^--YgwVXiei7exSflh3hKFD#CS-@ZA+egt~oO!dr;_5NI!wl_ehfH1#s) z(3>w)fSF&~(e7lmSI#tN&4ud`Hj1;|lNvy)GdS*O5a;K~v`F~?sn9PnsFl8xab_Wn z1!_KwzUA+{Utf`7azd1QLHS#IvBt?*ryQKd>sG^IzY+yet`KM^p+;IKQc^kHN08)- z1jLXcVJ1S&DY)_d*kL` zW(TC9q4)(L7m%pXlOtP@3C;;M@@ZA*Y62C@d=+MdQTHwC*ZXT&9?U7SN`0mdwcEV` zGKgDBOhu}tubnvJ0SKb=g9IGeNs8D4bi(L{$6D7TZzj^Vct!~^;}Ih1H?6_sNrRI4 z&HDsMbtZo1F}klF!5BavS5B&{GI)2SFJcKi~RRMMVgK@m9_L zmGNZ5Fj{31adJ49JbD_TR+I++*_4*=LI! z@As_nu#?FGJp!-Fzn$+?!$IPxD{X?I!*4v*cua(s{V0BTQ8QGnPWpTvu{aU;J=-~ zX2>{=E|L-^X~-;U##}Q;V^`{TJ@HKPJe5ieeXt_hf%TpB8TRmpB%t|TzMX6TK*8C5 zKe{iUu>*)e_^MXgRb<1-{$$Wtj>$A6AeMqU9#vNji9)Sc#txg$$YJGM0*!LlV%O1e zHclVE>k$vr$Heu6`u<}J=gK#4Nd8ZyFLLcSFix+YcTcF~9IV=$tL~*SbAgSUUEa&F z0|w8rn`S#*BlkfoOcunrbH+Fes$>56~juBIn}Wd%eRj}{oYWwvB(cGoW~Dbgzltt^N5IM7WdaqH?E6=IJxJd*tKd^J#ICO1TN%ibd@jx zR?2=hzA{a9CW~{OBbaO|oO=}TzpzCkSsyPGrea8LYUB$>J6*q;Ct0TOXs>Sry`#G% zv(gA~2yBn^%$Q7?Hk7D{<|xFM7#Cu`>wXI14OW3cLp|Pb5*Bn%mDj$menv+>32SZP z!t*rjxdvM@Y~2I)X^jBbV1ge&(a+r+oEEgaDo?L$F$W9<07V=8iRfj{m7B}Ly)Y+& zD?qP;*dIe~k9o5;)&G5uA2|nw8b2?j47EB%b9Z3giB?em64G)(mYzEaF&L@uZzQ)+ bq?0<2stEUvF4`ncbO|1iPKY~567=4NvhJ)0 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0043.sha256 b/tests/sha256-vectors/0043.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..11426b0c352636b7a1046141b8eae4e327ca3dd6 GIT binary patch literal 1170 zcmV;D1a13^SZ8Mg1eZ{n8PeE;6IBpn{5!XMBV3MQK>h=?HUr>N+dx@#c0JkPiw~?Z z>oN==u3@O>5mw2s^Vu{%>2?Fa@~=5XsT7Uf?n>G7$M9rYxn2Op9mt?0HEj$-09WmU zv3}bZ9N9KB+It|_vF~>)RSN8QoFjzV&oTFjrZC0;0?_$~a)z;=jI ze(2#s<(1PBq~R;*^P{=nEVy`3@lh^StU;&E^k&@2-}<;fMJ>(yA1L2q-6wYNkg*R;-Zq^s>U zh2s<2 zCtu#M=r%qDKy0|CycPc-H(8^J`m}GLGQj?pYrEfKE}m{1p|_T(freB7r-GmfH9*&~ zz&Mop3+Pz*PV6>;t@$R#`|{)KZdgbdZbweZ)dOIPJ0N3@JbW`N`&q(gNk+#St48ftCa(9OU=N=R9#di*IbQYPGh_#V7iY|%M+{qWj~1mig! zQ3$8jq7sSuk+1&Sl&x^UBDDH^3y=dDf@0>~YZa*fn_k)k!@zLT{9w%HZfXgp&zg`v kW3zBOrNPpo%EKLKX-N13oD?Siv3m* zGtj@!Ss03k_gXO!P8OsFe2@f(FH1cJj!z+LRFHwDxs9w9hJExNrGH*WvoWw1R+kO6 zLpgu0HoP9;{4qBy%aIrDOU^QktmNDB1-L-xpALv!W%7+r&z|1tGLmY?y)%uVYz?}k z11g|jo?)HFQCnAc)u-p{JlB#!Np7t{+bwB6?_?T(Hxwm)Q^mo(tuNXAcFF~>z7t{O zSyQoJUF`m<&mM@kR}E}UBhoLVwN#_I)v&2}S$on4C;tG;F)x;u98kV(GZ{6C^zf#RM-i{*of#blG0mLYa{2ck!Si0`1vvz1A+~XZYogb zYukrbA0$RftEHg)4@}7TW%07$w-jtZtXmwbszFFfud1LWqI8TM!Xa| z3ZKFTmZ2zl0^|K1`vf}xx5k|%O6jJbFjgNVl=d9*sYFkFutdz0&2Kn2R|iru-WE3h zw*>r;!b6)*f(;{CgEYMe_nPJrXphl61hb`0MNLplQN~{X&~kDEmn!uVofIT|9M<|? zyC-jdR%7NLPt6RafjMtNW$#&)$8m4s*fO53-|qIs!#_QH7GTA}Y7H65fi%P&_J&GM ze^dG-=3KfPz6smwVY;qwJ7khslSz+;1YeMJT< zGvYfokI+|9Q8^K)ZPmlwpAIe%4N7mG1vU^A@K^xwWI zDnOxvAUCLx+!$nVu!T!9;4-$^T|Eu+7T(f{08{jWT@OR)`vttDqai=um9ze`zi;t7E(5RJZ({6f6LBTwEpl`6vcjbVMC1Z literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0045.sha256 b/tests/sha256-vectors/0045.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..db9e61fbf0a5d550dffbe7cb424dc00aad12dc75 GIT binary patch literal 1009 zcmVjq|!gxA-Rv9J)W{HVmrl^bf1xaOBEZi1^@6fI8409;K_k2F^2JG}`HNqa43(5Yt_$j_S2$Gn&;!#>q4X^3azQ$MH zqovjS9pjPCA9tK;U39G)tlg7KuPrC1(|A;Eh%r3|U@XUFbhQp^r$jPVs5p5El0_os zRtijz^k`8?%{Vu#yFnaXQ;WIwfnEFKq+BDp(=I=j_y9{^#wJY2bDt^+i&<#}TT4nl z8@2iFd&cS@VeB8zs@zo{E96I9RiIIGvi4>SY#oc<`PJm$;Ak`^V(^HfeE)~;fTCUM zYjv;M)C3wh4eLrmxd(B@`u~XAl$BXvQUszIV)W>4HoGHbm=e^f#Jd9j^)6|)v)u8u zoHfw2aG~YE{Ugx_L(Coxa9P6Q3TYfQ&z^NFazbm>faVU-aLCZq{UfymhuUkSXE5TrSdqAGY?4fIK5j!SUOy)U5SA#pxRj`!Nm4f literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0046.sha256 b/tests/sha256-vectors/0046.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..3fc7443aeb42251be97a9f06eb3bdcaeb459c8e1 GIT binary patch literal 371 zcmV-(0gV2~B06Ye}^EC<;~O>vEDhk5PPxlhK|+Wxg(WiCOOd<@<<3nZG-YE?Rp@c z-xCp6Z^m1>Bo|nm{}%jBKj2nka!J)!wEDo|#nW)oGLQtDj+^Db@HYuDglw1WJp~!-^FL6$d~2iR_cEQ(x@!rfO*9cqhsYRUm`=0-TcSSG}e!uhrCY4KQ+r zF!yrFjAApEhrO$`MzB`aF-yjM_tUP|-pk!#v?d4v9P#{^_R~&F{#e+fcj@HWKCl�[Ck�)�oI�}W$�x����ݧ �>�Ʉ��!cZ±8R����o%+a��e�ݜ�ph.C$�BI?�{��~�@�y�aD ���'S�V��b2�rV��2��-R憟��ع�Қ���*@[�z&M[� ���G<��5+��~�Ae��j��5j���t# ��¼� \ No newline at end of file diff --git a/tests/sha256-vectors/0048.sha256 b/tests/sha256-vectors/0048.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..1a84e851e1ae841645f911f77b791f81ff31551c GIT binary patch literal 327 zcmV-N0l5ClZ40%|d-xCYMi@^IM)zzypjYZMut`01M4)Yef_`1n>xkc8x=4%*%upiO zE^&?%A7oUR#UBKAvlZL`rx~{5Bhk6fe*Nu~F;r+8`SsmW&{l3A*Fn_%x5AI{bQ{c+WamY8fJs8GzvLBzBq7 zO;a0@S;P`fzg>0dCfaOk8w7Zwy<9R7s7-v2MjCQjq#~y&?R)<*QG#2Z6*usO2 z;809b1A9u!)WW6VJ(;*QbJN{N;{;Ba?`q!i%yL%R#!P!CxRKEkL~)RW%5S;+HynBD za#c?i=QLu01v{M3fS000jX@o7SEi@19WB1*-{b`KWc-ih#P;ewFmF>V`6GaAe_E09 zRHX0;#q1x97cOnN|By!TNk;qvtNc?85~I=wb(8u1e>i&j9)5oeyq3xcftj|^19l->*NXYE!G+ zbD9QCAYEOS)75Ou1COs8dry8cu6r~alj*1^&+;8@yAYSuc1qS;lfH~YMj&T3a#rn6 z5ADPl`;c_|PW%i$U9gtp(6~3c^J9)_CL>{LHBu=?rGG$1S*veXkkQ`syB1J_XH9PK zk^-jH#68L{WkWqGN)iQ`Wjdh@8sM<#~0@VzOB+~1JubNIYnOHd?H>njqsxDRRG6sMz-!A9UQ)l{Q3td(O z5f642qvu28$o6D=lf~Aj_C#PYWMoi!qd))_RjSl?nS>+49FcDH3nCZ1(%uG7QSseH z=*`UwXfRrlSokxCM_eKcsT>$67o-YI$!mwUv>C=zbG|EhMX z!TMORd&Bv&cc-dP9~c0t8%_b$g8tka#r99LoW*Fa5~>a3J&H<6aGbyN36teGb<;a_ z8|krj(MsCvc3>upfHUCI!c=-T)C5Z=RzGPrqZm-*?fHIndYnl_03~4EybnihXa?zW zVd*yF0#3wrdv$Z{XLpx-@9IJOJ4!MSk0PP?J^=5r z25%rvyc>UETKM#%>#`gv)QV*Ys5B{0LGbv2vx2ko@bw^1R`K050k{u@IR}ytGztbH zgxuv(U?d4WBSuePMQX8~9+eX|CjFt!{s}3XC5cY|wD~`yL-F`@7T-^mRz3fyc|0~3 zP%17cFJc7xJhs!$*n`M;_wWGh?zd+$X}A6V%tBBBb~M z4YFQ%vH6?116FjSsL;SdJuhlJMhpWyE%t7?82n|%>4%uB55qZt95ZkXu8UaW72AVy zHW~R`oj)2Y-dH0a%i9BJcfM$aCFXj6lhr}xA!N@PofYlW_2opq7|&C*T|dms z&eE$@ug5c@NI;}y_?ovXN!3l9=FtKwPyY#>_mBBn+g8Tp_9WDx~59X`j6E#{Y@jcUG?KT6KC2{P)e) z_<4s$d#{I3$ciKeCf1}WMyHIf3%3G-B6U8Qyk!bSbT^C?`r7$pu!`B=6)3rWK=2wW zJARZ6{ifn{Hx@dDpT411AM**>4zk~7IYnk~B}rX^92N|hfa`(VE0wQ1u21hBsYRsa;_s_IaGclRb+48FPMYv1o(7n)&PtA!0GP*n-~V5`t%jg|*wEdrvm zQ9M5g6~SpwuVierM!48b(KvweFJrq9SR23S`rj@QF%>~^k&08``Z$%Ll~fj+gaYHa ztv(}srr_@UNFFzT8-bSMxUwF;K)}c5qSx=3NvV4-gc=feKRbYbEnMm`KH|jZ9q}N( zup?KFlViclk$`X=DGIxac~qK>@T_0cQpgj$uMWI-n#2py&!RUmf6=^1`bZw*tJo!v zQ0IJmr#hupA6IQ>4ro{xhL98Kxs5-;ele2Gkr|&v>{zS>oA>qP8578%Ypa3zSLl(F zG^Q+|P_{DSr-P+@8CHXg9qQMes@%ze&WIe3?{sW1*$WrKNe#eoWYVjc3-UjD@x;K} zP$NE{bl2*o%hy*KzK%w>9A;($cFy=D6-YhO>vCkY98n+h-F#x8`I3;;an2}tnDY=mll20)#0U#C6b!ya auD7%fHULeaYB;O!tnb%}`6p^=8_#l}EmZ;l literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0052.sha256 b/tests/sha256-vectors/0052.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..65a09d7297198b9471f59f3499b60e3c0cad0dfb GIT binary patch literal 2141 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0055.sha256 b/tests/sha256-vectors/0055.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..9b368c72b2e61d82c1525d246f2db6f2b8010f69 GIT binary patch literal 543 zcmV+)0^t29avkM_i;9O?gOs&IW!pdr!Mg*h;HeAE^MfSfx)s3!{rSIIM3nz&bl>cS z3SUwXf-Pdw8`7P?&1*MER#{(TCQ!%~j;mDjj<7En36H8K_bR+VQ;^+%ja{s_B9=;K z1(Ws0z!HjeU*YHv>q!8~tOI(3bt8g_ngDoOygYxdhHSx)ib@9ST&5eOe1fZbJ#?b5 z{bV-W=B$foHz>AU%x0sMJD(|gq?Eyu!Eo~c>3mEj0W_@f7XND^cY$f*4BY3 z2i4+e%mpd-RkITjuIX`M0lt3bTAd)YJ)bZ`ct*^KS<(R_UGJPQ0KoW>``jn82vyZI z)6o6b<6c=?RH@}EgM5aumz#3Y!Hz9F7R7*5@Y?%lBgix{(4D-}ojiR31D{(Eg;Av9 zZ7wFg0i5jynwKS31^b8ajp=41-3h=goWRgvV(xgET6>PXZEXtqGEh$79{1kB*Tof8 ztjP>$q0u4wT=Xx7PDam!4LIlP3b>C>vu+XijLcWB?Z&HI50!1;SEJYYMNrFpK%=+w zTLR%x@&X{N{!)SDbkd=}Qwcsn_alv9W_~!@TpDOA$*`d9J`q$kGC_JWsRxxgJ$P&S zQOqaH(ZR7_lj#NHF7(D1?c77A@59Xg1j@@ z_2WlMViGXth}5hjC?vv$W>i-!BO%MScimkJx6GoI*H^M%_INE{n2>kKizT~(;6O{E zJ0R&C*+MbI%b_vDbSqzff4jx+>vWRT#Szmb;V<@F@NbIWR!^*`pg*xwkH ziL1trzV=Q`m@}#0ZnYp@GDH%A7CVAHwqv&v(W4jl`pMXi-$y`GVUsB%ISr}h4gIRd zqO_d{A$f1tV*dMF$dco;WTDp@^5$^1uQ?xTN;^9J>EJh+lnvf7HVBguraH`->`@Q2 deyrV;7U~BtXG$l3J|+MF literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0057.sha256 b/tests/sha256-vectors/0057.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..56001c106f286246f6b537994d238b8e6bfe6113 GIT binary patch literal 1725 zcmV;u215C@=w8>{?S-j6&PNdJX|_IEtxB%Atq4`cv6b5Y;w>9rxP%;mLBD7Xl$ic0 z#*Zzj(9Yq1eO=zPR zb}nyfu6~3mt!(dg5QRt1@h&YX%aHNigQLPFrPl_j<6OEAcP503hlcgsJ(EjN*-H0b z!A0Hd{Zka1TbZ~S#U_JftLKs=>~hKeis8g|>goiIcB|~>$qgmyU%MUvoa1n7aVc4V zz{i;nux%FW({yUf@0g%P#`~nSavxhDhCevM2qfQJLD} z*5QQa%$+Xgc7e(YS#jjzO{5L07#KgeeDLR5TZm`79rz&BanHqprmEe(paj5l+5ZEo z>5iFtr9qEIWVW~!ZjcTc=V{@=X_{{}VN8WN&$du#(MSrSNkqNZRA{S|0uj6xuURey zVz|i>gn5DLOI{!tpp}Zub9I)>SXbks8u6WcSkIchmH0;> zcvk|iZ~(!XHN0O*bM0h6iR6H}vSb~D$9=%zpD(}Y@$?O}s1*-ymJeVdVs4d%O&qc1 z=YEcvjE4)}I@au5h7DDV!ST}oigD+JpXh-!!NDeNLLBLX)k?W!q~6CnTtLa8f~Eo- zE$Qkl)lkgv^N&m;onS#W{kH(0OIo2_lsdnvI!-mPYAXlR_=ljmF$cg9q~}krI`q}y zJ^Kks+{E$zkZfg{<|b%zjsyC2k4z9bp3MLFT2W1ikUG375=~YWQp^jl-bG(ePc$4Q z(M)=FP~5VfTfi%Z{naTZ#sNM+#V8BU%=QO77mJ}r(p=2DU>`Wl_e6jTI7Aj%3}b%W zt1xi7Z@cviOwK>F{uU3&V64nn*1wmfAfed1x`|JYvrdMvu&so{jMZxzxRZjJ-R+6~ zcc7A%RJ7Eh^pz*MV-ST?Tu&$wdRN1rC#-$Ga`Nm9EEVQ?%`OL}`<5J0cp`z7 zxXDkh5x)!*$L#?RmVk3~EGs5&sJOn0<+IFX|0Ni0Vkq21C9nO1^zJ6<#}R^og&TYV zJ%QRN%hgNaJPYTPEmW&kD4+Y2I1{7#SC{L?tbfMM!`d=_i%{u74UNEAkRKf=|MUw= z6tNjca2n04eJk1rNKl^LDS`LwWX~6`-;tK)^2Iayy5?o|0L!O*&+EGtptBukvmmCU z(pHsmjQANI>PFq!(!Km2T1#Q&BpJ5KLAbUylZm8$`ICDzaKY9_IZm6bksA7Fo&NF{ z00)rQ%>Zhn8D5kH7#2ib$Y@W7qT;5aZ?Ff5`{}z>rwo zC``63a$s8Dxp$0BDg-Cnt^@6eWa3#G?H%RK1_EqU|!0_DNdJG}FtA0m!h+4H;$2u1`0OMY9n(5L;@J5Bk+(~@=ycYKI6 zhAkM9GNPV-PlaueW7`*=(r?WXfJfir#ay*rR+|obecnVpl>sEM+cnBBP3g|du3+Gz zXWicGjplo_!e*Z55Om(-1TRyC6$E17q3;;e9wJD$Dlyqcy+Bs{iqHn_AX*-Auw$8M zUXLLkfI-+jRk8>VICbg731UZj+#w#ettOJ^Pfp&Vf@-$p9@9^+N|eTeIhMZ?#B6={ zs?)@xbLdDAmFi{<*L|%XFJI=@`DPIXJo!>ytyF~h1P(6Q(ajiOU|^-hk!uW>Mcsxe TzV`+fek}@SEDZ3S${K%tto~yU literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0058.sha256 b/tests/sha256-vectors/0058.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..1164b21ff98801a09bb1400c4ca763bfb4c3faa4 GIT binary patch literal 400 zcmV;B0dM~LmeG7T_s8wy91dM=Mn1Qr%#M0?9ejl8m@{{;b*`(HPb~i*KknX56 zWn4zU2!i81S~#Jc^r$Dv<9THA0DuxL804x2k5XCRnfes`T@azEoCI!C{T5^3{7U&> zVO^#~!E-Ui=FBs9b$jJZ>n#Zqx_(wuhlWw^L_M4NdQl0f$OIUPVTmnl`RU|B9~;Z( z(Vsc`P|(ee4D_|B?x(dR^V~&ui{6(3he8!%b2ECRHTLLReoA#!vLf>n&vU-_?j_I{ zUTG%iv_ZQ}zA}eg1!Ae1@w_)aP7>1sz|t9-%n@MECsin7qVeg#ATC0%@75(1sq90B zZtyR^iWwur(zJkzGGi@fjvDa+Yx@_ooaN&KgITL$OPM(G2Y|M1{b=Iu*^)JDDri6J$5UG@QUO*hktrF+p8m~6=RR#|ZHFm1VrBtRTjxIf{ssQW(! zX3fOXE95yQF8{HnYS2TA4**~9J$#{jQcmY4=VF$4Jkr#wU_D%Wq2E9d91g_$;Gyse zQZR)7isG&ROjS=H=j8JWXl1Kvx=i4bP1od!f@peKU8bD={A|`) zIu#Qyk?AGEQbVDrejkKDFPYffD?=*%=^w&zCR7Now%0~-n`$j&@t*T4u}!^DPnrz` z#k(JdnBp7$SDVkE^**5baY`7O#Aa`26nehEi~o3NG5%*Q^1l^>`Y3PK<;NGr?9Y`C z#7XEN8sM!`0VOHjI^O~c-kx2NygRGIp6QSr91(F0m=|aMBxj< z0jXL5x!>)8SZwS)@eNNfPgzEE2xilm-7m#E0hYuMOrusP}GytT7-ohiKcPTb}eyQ5`se zN#}+2$!yS%Ad^zyqnz8nZ#l(_O3lEa(HN;v?|_$GEv0ug@8prLPC*Q1AvuX2DJGw< zp>{K5BD;V#Gef>~n>O2ura>3c_vEYNEP16x(t#5@9kA7HVGqwb#MRo=&vIt*6-`Ny zW+=$}8~Q6dYnGOy#ziBE=c3P_h54=>UHDvGoET1{^-xwe7tEzBza(HoT74u%1g*J3 DM*WxQ literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0060.sha256 b/tests/sha256-vectors/0060.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..c4208fcdcbb108800245b46052b2d3af6eababde GIT binary patch literal 785 zcmV+s1Md90-9U>D0DgY1YnS2^JWeBt6bRFVcZtx{O~9n&OG^S7{#^dnvvcZ?9Sght z81tht904wOeR5|iU#UT$uJZrStCv&hIUuO|;9gC=<8C6V-BiUCFS`M(+{K?|q(mj` zf~`&ME@iTla>i5B6=SrM3xW&&t)!)f(1XbEKnPbER;S{I9e;h6;&gEvxO`Cw;p6to=>_<+^RQ`D?t!5oAM zzSlsxtbRzCfkf4rNfsI<7vDi`C#-)oRFP;3#C0C??tNaG4a_}}S(zt0x?JV&euxPGBJ?y=Us%pl^nZIT6(_?@457YeW*%_4skgfGzUv6uQlW?FzYh2C zNEylJRkux1rGGclD5gpXFJtUF!xkK=cS=JnyWmn2_&3DEkxlzGWg+AVh&MykYW? z2vMrk9}vL6|J}#ZrtRdd@J=gi&Ms%rX PK9T1;J9om8=y|=S4CaFf literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0061.sha256 b/tests/sha256-vectors/0061.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..e9a7ae2b5c8f445ac55a07a612ece7ad02e35a01 GIT binary patch literal 1912 zcmV-;2Z#7W2b!18SYLiHh*A-6aV>P#{an~b8ExWWZ&D+bZzEsra@Hxsg;&n6V^;Kx z?ndF36jv|GOXDM)1&l0N9W2N%Ze}vp;I$prsDcu*GA(YUQ6jZX5Rju@w8%pO`Rso2 zndnxl3EoHy%5y@r*+wJf$TK!2zvb;9lN@v^T;dKeV5FO}c329?Vbd{idz)X95?>jf z;jo|z6+d9jD)=A+;MVW*;+hNve$c1}Jrsrd)c%6JS!@xlH`IIKY>*5c@)R38M~p@b z-ketDLv~M-&4By^)4HiKCJdMPn{6OZRzTX)Bu?LyKNHyl$r79_O(%koBtq@$;Q}Y> zu8jks{nyvA8@uuIED3ec>FW0 zX;)G<-@|@K@`3Pd=&{SKgb%>es^W=%BOyDZ=J?D4i>JbEa!=b$z#dyrfSguimX$4b4yJ4u{B}r&1A%JZ>%lvIP77E~)CSHN<%b|GE4AQ>&ElvNpuURo-$0ikQp?t5Ec&MK zmi5m;BWQ#%AFG#roV(v|t?7o&k*V(@1uX(LodhdWih1w7IR35BgPCaR{2aupyEJin@CWbeXPLld6 z8TTITf8fAxeR}dXy*@TzZecgVw~2q>q($r2f@`8G?6WOY8RkYR3MAsn3*^*9LEg&H zDPlqMNGa#Z?=*$ZR31%i6rL;cS%pahhOW=ptE~1Iv5=6czW)GzUtc!m_$5erN@e2r zXvD0{T<9?Lc>`^tsVaZZ{Nc?|CBxzRjo-4<|{p)u%K9lq_t<>-I~%?!0xAc$-t8_D!xgAW)w zQCAffmL4Yni5FmZhT|N_U_idV*l&Q_ZSUz<0w$-!tVa3eW%xC4(7Rd~#3Yf*UlTBB z@QDT!yHr02KhW^kKk8@6xrno$4ZCtG(uj!ajyl#^D9yVhla+oa8#%IAcrkOz4q+`#CLyx- z;_;K=Er@?7$Ug>@0;Q05kPo3T@YmB=08%cF3qbtZ;DgIl%^gYaN|XpHELC=)^>F8<&I{2IbFTko0JjTG>sHB?H)epbjlPBtZ#}(f zxcbMRA#M}%I%>}FR`%Z z{5^G#hTzm4@O1s4L}&-dIT87LH&h9omCHB`t_T*eT?mH;U59Pbte|;BziHw5XbXb< zb%Uck@oMnkbt^O>OUi!= zLx)t|y#2+Ai<3C7X8~wC3ucT~eN(MqOa1l@yr{Agd00l=79v)z9MHe-V{Li`(xEjY zhJivmG{UAB{G9m#o=nIer5Uks!9aI)_BSR=kK`;!AOjLGV$ThyH&Tb+6|F+>da=j! z!Zp%ZKU&>*aHG>79VQxu0W^bT=D&TNq8B?}*27qWj4i0%>fN;H=ako`OO`AIB0SD73G-FVGN?wVx>xCiBjthW>`99cO?wjmH3r!WgfWpmsLn33&$5~T literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0062.sha256 b/tests/sha256-vectors/0062.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..62b1252cf3e8b40d860c7cee3eb491a3fe5486d4 GIT binary patch literal 1056 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 RX3Vlha~_Sp;2|2#1zy8jx+eet literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0065.sha256 b/tests/sha256-vectors/0065.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..0a5ae3d84088d16028d19e49cd0e8487ae45123b GIT binary patch literal 1600 zcmV-G2EX||E^*F?Ujv_-PB4kO_@vQ`95HT~rT}3{NC=hVc>4ezVf?c*h)UP-V>7Xh z{N^H<&|6TjT7xo9Qp#a9~aI_C_~4xhA?ka!6V|D&li=%4Yw_Mz+**o>7uiNR+MHu zB?i))`_K6h#MT39+hXRFL6zUNPm<#%V3LdZ00;e7m-5C%o+!8& z?O!Th80S&~c~3=j8X$mV=~mJ|Ixl%ioD|bu4EP4|tCPVl=CD%&ti^o~Q4E|#wW)om zZd6{O&bkb1`NuuD#8P*w#I2>J?jWE??E{hwO`3kr7i} z8<83pq4&%#vZM}z`xtml%_wQwal3&!RSqtIx9QLV9$aTSQn|pLnGbeg&>$!o1{v!G zRYWH5&~=Qg7h^6vpr~(bDVcBdN@I0e zKanq3fpsH%*Qhe#9O>$K3^!vF?A7-wH^Io?pJl+=A(30ZfiL-<^K_hR z?A*E2C9S?@Dcnu6WbA-!Gsk<*JJ#2O>~rUWG%b2kj~sRh$}jG-W|O0Z!B!GeokDh_ zFTCZnX*n&>`u#^o<=({;SK;vBNOgQXD?24V^9oTa;v2FRwQl2XUfxcxK+V*mjXCKFxu^coSCJ#f|Q12(e(+50B*-vo$?1 z*Ca`%)ENHBK8sCg~&Y3c)+s_fz1xp6$)Ib&pc4| z3eMdak>voz%>uvkGR(w|kU<8*DkN2F{)QQ^KLIKw=XT4E-sg- zFLeJ26Ix)mH0LD0%~4S|zZX1h@g@v%7o5bqB<8s7e0ZVSj~Z>`6E$^;0*}vlP`dlO+EOX{1)2OFF85r;RgyIy+$12rHr3o6?lt^u#Yv9a1T?9(rw$wkwR zwo$-`X8xaXiWw&6Vr4O&^2DcJ~Tq$b$jwSd75UB?_qj9HOn59so*q}c4w*MNQ~sV0&D literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0066.sha256 b/tests/sha256-vectors/0066.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..876c785cc967bb72be8f606a9a0073c2d785faa4 GIT binary patch literal 627 zcmV-(0*w7Ud^E%z12fySU}!?9d;5z^IJ5ei2zfjOnBhm-WOAkeOL}V8?IAEnLqhm@ z>(AG`)i2(uFomcTef%EYqlC9g7^-ojNL);pV4*irMx?6oP14j${&V-TJ@GRHLj63y z2-~v>7^uDxaZTvIL-N|*)+1EinN>_?Nl2nN|6_`j^FMdg5%X{wN=R3BwfLNVbWw*vvl_kXm#^83-b*E8HJR zr{mNuY!2MhIE_QR=dO##W%m7gB5Y#y8bS9jc1l9WDIEAMjdbvF3!L-Stmy36+2}_a zA9bhHMYE}|*+4pJY0A9a)ObJSb>|R<>y+FU>`ug3??RZ`{mS#+<~#>r&PU1Vl3-h{ z`$;nwO=@rx>CG|pgKId&7E%+eZj3DGT{COPxb$uS0nS+Sv9yA_4JgW>UGPodC`o0v zMin3uS0!kLJf>uAb07xm;<2D7{#c7JU=k-yh7?xT*Kba1NwM|~h}KWhN-psgReOAM zJiP0nJ@F76zlFW{wTmSMhw^g04<$e0ARn|(W~OEOGn=fLG~k=)C>~1>caf)8>Y!K- zAB>*&P*DpB%u*G}wyw|Qk6>3e(u^rxK*rJa0pGvPubY*FoKS{op-2i8TE20NUGY@` zvS)#LC8LLiCVYW#h2kC3swgy^4x3)_%1d3~%MjV!n)V9wOE&E7HPrG zW%}fJI4zM=v`U`(9F1}P43w~N;f}*dYtkX(Ch&Y&7StF_qA2NJWdakil#N!2_JHlB NMuIQuU0MtF3{&4nJX-(& literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0067.sha256 b/tests/sha256-vectors/0067.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..2e0006e614ff84a6f23191f2c5bcb73fe8d7f82c GIT binary patch literal 775 zcmV+i1Ni(TA7U-ynd`)zni_web?$?@Nps9Lt23INr$CfPaGmVWt2SY%=tILf3R*$p zHPZC3&&nU}L8dll zqnV31;K^XS$4H#?(<8$*rnG8YjMeJTL5JA3@AvMRaF!MzcwV-p$4}{yPaD1}oIehu zBiQWi%23w7F5Bi1_zi;UI)|=zDMJ)t>K8uwZz;pYPKp#rxYHLAF+-d#8%xp#>Y1sD zGN2%v5I>drLp)(TO;GM*8}a+?yrpq8=}@0M%An)Svl*s|?Q#wmA&VWA3Dlm=U?A0w zc;6IiXWTL3I2-e|dY*ZpT2Bglb-c1Pg*QnD@u!i`jm)D=pOI|AGIV{@bmWcl%)2R7 zQcgeH3jevS3W;Xb_TyGCNH|+e1{W}qJ}E1hoTQb zdO}_5QNUEgx zYzt|*(SiYHDcn=*1AgqEICRsHmx^Ggu9)^01#Xsek7b31G|~c{5gEo}2Po@!2lGYUM7rqflh~OGM0{YW!Bf|lJW4|u3Zb~qf FwF7?YhmHUM literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0068.sha256 b/tests/sha256-vectors/0068.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..17b0d76e4ff9599d1caf3fa1929d663fdb5b2feb GIT binary patch literal 2320 zcmV+r3Geov+Hp4yqBY%rWpoc$wO7*Z)j^QWn3xtdR-?W6dW-tKa%;Z@a8{xlrF#^V zD8sKayx}TPOh%o%D_RyCT|!JPXwCyTk2RrRILQ4!ve+%uYpj_vyrKDFJ@dL9o(#*d zjGpDq{k`?HFACmu7>&67<|phPstjfcAD{kD<^Z4_mk73vjdsI?g7|U6kZ2K$a|ZDERXs#Tf-8nZ0*w`pfrA9xrn@W7&ulwo@2MN7 zb{;9u>dCfS&8g7_XlzxRm|=zoy@Zh#L&yW7v{0Wad5X2EKBGq$d-`7sQDfdqtD;Ne zBrNf&Mf3?C`R`>fjg|oTcAe)D+s5r)S$?)dmn;pK>>wPak2e}#{%6E^1a;~p_700? zJUtPj*d%Ub=VGzvr;ZqvXt1!p-FQfM3siqqi;;iBY0bxUZwZW;uZsk^8JK1FOjH>c zI}l&o&8dE#zaS+*<#RT_(t6Qa2UV|EGL10tmLFZo7N2uy=&bw`T-TJ-FNU=P00^h` zRXgrc{kPVMsHFv+JE=`{RhD&HOS*FK!y7H^gKF7DW5eYlK>6(cSsdo(yY08FG=`E& zs$Nl~=;7}H3h~!t0jHmf>xgFW@Y-c1f3f-A6BDBTK&!W^Y`!%Rb_k!TWL-HI~a~ z`w+ZQvk1|VD?{qgtJX1~4a5tez?^?=1o+J1Na{!M`$@{S(iIeMy9_F#6ND(SQ zh?ePS)l2)}6^)m&L@>-P+0CF$2`u^cqinA^vZE+^2b95_M!Qb3BI4S=0X@3x?bn}I zwhch1N>GHW03^MO+~+^r*2gHRsK59aSpCey%JmhMI&%&UEj86Sx-}H?#p$O-4+lb) zQ57H}806GVH$&0J@>(8N$WcIAH!iU24|)}EkP%AkDZ0hDCZa)$0!sW-yxI7;1?bb& zp%`k%Ae%{69;~e~TJEMd#6wgBw{uXJ-5ja=8Z}E<7+}6u6&>Z9PF+&{*5{^S0m7>B z|GH~Eyz0h?;8jL!zs^wB?bPINzcnvw!f905C>8yc zSiG`XFnP-CT3urI&0A);B`~D{yJOi8n`}rThkcEy2+Z7AB=|J%zFsbeRFb|SgUYNAwLUyz$XCQG9*R&h|Oj4SE&*fYe!C_;Do)DILCxh3(puE zUUcOrsVeYrw~5)^i8rY7(lZx_H1!DToFj>nn5^f`&q!-)TSG!W9-KT>bSTz%u-6sS zkSf$tfSc^%)vixIL5-(Jic38IkIA1Is8%BXI2Yep56*xqb`zU%9{8(M)S2;tHu@?@ z?Ym-R_h-{L>K=?(0tbh&o&(p;BBvS#?pB+Gb3E5~stMvo~*~9T0qaF)rmTzqsa9aWSuf_?9T!T@2Uvr1t!Oy8TK~(YCe4eJo)KWwx zV>)^gaV;sxKDRp3RMp2(eR8h2vzB;^e5sPnsN>wfmJ2P0i3_*1&i>#E-IINl`!XI! zHo#z@KAHXHY8*4BGAPY~qgK)eLI70E%n(ifC$NgA<(#}&azFD$-fjz7W48dp_DgaN z{lmJDyGu^ejUsIQb%}3yY2MoMYl@=2mh7u8^XLE!;UVfVO&M0@Z(Cq-&~LVFEulzn zaPic>?#@G75!-(?c`!11q1h#wE-vfnAFK9S!%jB+0EL+nv|E_UE!-h3D8awvoE^TB z3DEfie{=WZj7s>V&Ey56Y-6O{I+w1ZmwpjgA(XR@d~+*8%hFvjU9JMtTY^2gaKWM4ou4_ zRI(-z>mJT!k(`-&hw-XT&%M%&e^w=s|JLGAX+5ZFOkdtd2>jKrTR}CS5`yu3Ls!RR zmp-Fv@ah z%040#%$25G)2duQBLkJGh$P@uPzK26(&|aotw69)Jyd^8IT}A&;1KibaNdoMhP-;> zmcirYv>Rp>=G_#LGAl7;0r^hWwF8F8cHoZo?kaE$oyBO qI7Tv}xqz9B@e|Z5wg$I(ih{;_;mun5u&FbYCk+yn**UU4wnXn?EQZ4X literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0069.sha256 b/tests/sha256-vectors/0069.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..eb406f48103f32a3cac9e4b4ad4d385533e551b6 GIT binary patch literal 1573 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 Wzz{(J59fNA?Kv`obqPbMtq0zX@k*Tl literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0072.sha256 b/tests/sha256-vectors/0072.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..f0b54c364bd427c6ce1bd0962e51a2e1413efde6 GIT binary patch literal 2288 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0074.sha256 b/tests/sha256-vectors/0074.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..996ecb8eb6f8a607264c825ba0df79a85754118d GIT binary patch literal 731 zcmV<10wn!Ly@!yNp)!OS3Uxei>VqYjy0;d*H~zE<+EnxqsHPjXh`57{tATf{pbWoD z>8F`Hk^Cp25ejrlAd3M2uEw!@uge2MDtKcEOACX2heF)Tv~0++zr#C(tSUJE(G^Yv z2x5iVJ=%=;uVmM*yPjVuXmT0uowUc)Qm1Z3u{2TvWC$T&MGyA75MNW`qhkK|bi_N? z&nJ|S zXj{Nu6QBUP6y%id{>e@_Z>u@{1bkHPj6Z$RHtZC-vJVRjysJ-YnuC|mh}1@&MG*~< zrjGgBkZuN&UP`|bfkSFeDRGCe7+p1%pilL805Q7hnHE=kfQq-JO*J>j3Rh9-T9o;C z;re^2H_fQrGe!)NVf#KQw77|EG8*-w%jFoF*~aps?F6Zp=mE` z!sAlmPEQ9$F=|qup=aO^##yO!5+EuyAy3sCq!PoCM$w=mG3->6V{*D;4cl=uw6S=P z%+x@Nc1R4pzx)J8R}E$55lMydD<-38O+x(wkqEvaj>2h7rC8H@Xjm1@0yM9=d74Am z{npdg^+EmvNuIut7f#KcyWKnfstr2nujR zpc(Y#SbiBhp~`nJAi9&U-A)`?%a3m_geii0u}S_FP$1cKmR#^tkpJ@vZO_$C&OO>%4244)}437Y;6D6($`+;lZcLnWP@2}oUf;)_Sb%Qfi zo6vENtT;Yk*Y=cG-S?#_der{(ri91K<~P&AQiDwS?ThKljNXAH08I(82L6m;bRiCR z*u8h&@@VJ(w(d{?21rE=7D8!2h$PGZLVB2wTY08$AQ_qG6ZcN2Xl7Ij34^EH$u-m?^xIcPQ>xNhv#YWgyUy1iqTEv_N{&%DrdxvlOBP` z&Z5Z0SZ~R&|2ST3&N~*rm>GL?(t9dn9z&X}U_-qQ_sveMz~tmX{ru^y7r1e_ktbD= N+LYB455t#Uvy>6oiPQi9 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0077.sha256 b/tests/sha256-vectors/0077.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..275d69d6f4e9850bed468d535ca6edd4f82c171f GIT binary patch literal 1756 zcmV<21|#|02osbk0I1tRjx^56$~#<1Lgmg$ZHC$x1G=#3&$=$E_SV<348uffy%US% zrWn|g*@5deHqg9GlYzB$-`jBRLxe{y*n^pQElMs3nfFx7FKmPy+-^mBgn{_||B+tV ze92)jM@Ki}52L09fcR2wOFHX59D9ER#9nVCayL%Go)1zT0xi&Cy~yFB{^UyNq29^N z@Z|l4cNuq0_k9BfFwy_WHss)zD2d|*@_qs0B|x;~6w^)A#Qriha=+5^JO^afK;I^z zH_8IJVkuyB15My?HNtmrjUA590Az3^FN*d3eKhJD@!XeNQ|XN|(KRQIJn7}G_m7|i z!yBzH90;{`G#z8viiK1&HV2P5^*DOo;OoYKbhuJ2^v~Gx=j*xLjPk}jp~+Xkp0Ugb zYO5fL!sC-4LoBvhFKs?k-Xqn{ha_$!`oVV#_;^=^5nj9T3j4nW1I%J`163&WQrQR4 zizJ+)YpM05TC&emGY#ZZIN*LwsN`^Lpy<`=%Nvn!cI;Z4F0ZBo6K+D^(|N-SfVTZ< zQ`2tUM397{e-GA_q<8b#P?1xv`m2qZQ{0-5yzj^W9Rj|c@y}dVB-yf)@=c!@o-XHN zvtwahmPmXI`0TLk17sZ%T*%Lm){G(J^f_|=AxKj2~)to4w}Cg;o=a9p+^P! zkNmn=C6G4=azov71d*77Y@0M&5LY=10?B3MsrSl^D1Me$eRtR$l^1gLg%Y^15yiD?>w+&H#7A!w&MfhE;5{xz9|}(^7%G8hswBH1Cuz8jg~sAxY%Ty z+CMw~ScNt@u={vY@>4Z2y_&9UIKd^M`g>E%AEeK~l%keBd)`R1M{SY9rycfYe4hj~ z@h*tOx;8U*uldJQaLf{1*T2{VyExrB&i{t>a5-`%fd4pokPN)U!24ane<QkiI5e(E#hi+wU8rA zVm@Y4cht=_3iw5g2r~C;`;^+ElEnDly~iVo0q2RQST4F-X=P7O^Czy%5pW~t+3iwy zqf|lt`a;V0uvXR8Tq@djBGnCJEgUY?yjj!aoXGXVsx!t@rVO`*GIq_A&<)6@e*`x1f{39eB*H z0XY7E-+2iX22=u6eEdTS(>ZRSSc?Ec5xxDNGJ_n!k_Zn7CiqaWxs6YX!h=abdeV)2YEF7#Ncu&h-+c1Lq*r6{RbX|?8w%!qhm zeVr<>0VODvmbP$b?hE}u4g=B7MmJuTKnUbkIW|dn7Ei^3x7Qe*)ZEi)AUiqx0Vu<^ zSx4wN-Pfn4ko>+4u!SA$7TrovjlEOxt*?q4_+n%GEx6pMTdyzkKii6dm+%Y}rGv5k zbizw-B>FF9M~?bC6BOlGW_YQmM&NN?($c$ej%jmqyw(1FlWHE7rJG80g1LA@z{<{% zG_2V=0A}ywPORjOY#t*)LlZWF0kI_tLRNdHvG8?D_md0R>aEVOgH<1J^wRmQs+8;h zR>;6{DURaHd|)-)d5W{ZqzZWTx?Y@x-B=n7zk!c-;4Mw=zG+%!eQk7$w5sAD1A4Id zA~R@`dR^cIIT5;EWhCwl{L*)=7`HC)8uWL9g$V?XCdF$0v!D!-{DQy7(TX~WY`g7S z;C}b3RWm&$@9hj9PDSC5Ef-OCCl__L;JXjGeu9)Y;$ab*Ba8uRhK)rizW-hg^ yM_9%#9TpxR`Flfl)C;>b18gpVvU3$ApHt#?qac|n+im%=%(A?{KK9n{u})!Ql6tKG literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0078.sha256 b/tests/sha256-vectors/0078.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..2ba8987e3bc761cbfd14583691585cc0e8581b76 GIT binary patch literal 2242 zcmV;z2tD^M)2ziDr8}kc=otA0+Kl;oR|nu!?*tqTx4|#PzLr6Moa9|T6O7r_MYvr1 zhumHv$u!oCxT^Jgo%FlD3xc>mLn_geFhXi zzm2*%F0_L*z9x`AXgcF6oc<3&Qx$9C60jAzGBg1lv`-qf8^5?i!7-qj9Ts7_OoMM; zE;{X~==G{#DiuRh=o!`n#L}FbP0Blsh`-OMj!P-0Z+bYB4>N4I#hr$E?)7BFzi8lqk93+tjzX|{iZSQkN(Hsu{ySPzMWPoi z0h(#OmQ#Y{D~A-oxc8HeIr7><8n+xG&BiV5%FmEi03w0!u;@f7(sWWO_JyuQi*w8Z zD^5U-M8$cG8uWC0k-@DjV`H)UKDQA$P@vej8vF zL|U9Qt*+4_;nmbR{#UDyl4jX7@;@pA<2}$chu-BrrByvlXy%K|i+P*hG09SNgjcFC z2Yca)G{$j^cs1etU!l;OCip5%HAIZ2TXs zwV#$GX69DVv>a8Tl9?g%OWIEYk#_=j?!=Rv1AG~cJTN{ddp3B^pk(UwM^nh-Fg~9r zs>Uaphk$&jd%h}7nb_y{#^V<9geztmXQVb|h2*9&EE;-S>YF4o55TH6R~^o)To04| zHuP}{RkZJA$YAnk#u>Gt@usb2qno`NG`X_#u9nksY5`@*A15wbmtuIWGXogKjwb6Z z>CEGdHEVvKH7ZbKmt~P@d(Q`?9!E4{9ol`E?-2dFAq4;XCG#ykN|k5X@Yln#w^^vr3RQMHWr-yBrS!v!CCQUzI6e- zqU3>Q^^>&Z+c<3D#Wf#49=l~o!z@PB^fz?hc(*_qiXUd=7Bg&iSDo{E3US;SiV_mo zBq7V+>^W_}COlsxb}?24n+5MgW5ttKPEWEfMwrOiUs!;p`eg&b@f-{WVwXJ8desqI zv`f;e2uv-!XFo0Sn<_$`4Y~t9#&i(r#T_RxoBiLR4pXq!FaZ_ZcDCE`B7ui;uJwN} zfm@dt4b=Fdqbd}`_LGk^-rwW8@7LS+==kF}Nm<6#kQ;Tc$GsMdo`Vto;V799+sM+z z1sk9MvSj6h_6p6MI}w+^8zQzPGQ%LfSxEPe3)arttl=%*4@4KHM_I~GoUQsm&@i-__Kow)|gJ$++-&cXyha(g}?rzrEsLjx<*;Hf_jl` z9=H;fjpmz56uXBF>uyzwI7kmX+NS~-*Q$>65U;5Tx?j?+!8<-uNXt31Yiq38!!wHc z@M-{d%k{PE)^%JVyWdq<9eN;=9D&iXV#@dHq8 zi3Xd0bGKbv-PdTDf9K-bIdpQKTWZ5wT8H7pPWsEWz^Yz~ zdNR&;c??=_Y}%x8Z#=Dl^P?~;?Y#O!*+zu}n7*hG1xL2Dy^;_X;7-cjl{o}_ji?M z`*BU>uFg7dIV>&;$V(8roa%OV{PAlY#ncBu85{S|YnuM-T2#R;TG0IC341@I)|8Ft QiPGyA6(C=kB6n{%3p>nOI{*Lx literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0079.sha256 b/tests/sha256-vectors/0079.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..e681e8f3c22cf8ae97d9ee8ecba67f04de01344c GIT binary patch literal 1893 zcmV-r2b%b&WVH*Bkw#le4YB=^LsrgCE?L0bRbMNET0Y~q&3ay+-EaiaWh-g1Ophz7 z?dVupqs=Eya3<~f;<*g1g5|?5A+CnaA`HX6R)Al({3C^)%4QSg>SuCaOCB-)2QY`J zJSFV{%cSaTdMzE}^RUY#g){x96@KzU*T%*1S^%9OPA??&NYC4~r~Udnh++`C=GW3f zHoh7nL%jctb=JPcUdk#s>Hy&dRZUX3Jg;cd02Qt|4k3)TYk^yGeC|?xPHf0&ybs;vh&ArUqgxM;{*U6#V2 zJ2J4rFksg>QL5;P3~TsLKS(%*^nhpKjwlE(BBJng3RWq;lRG9_(kJzynfqFNY%apHZ|)h2A2liHAojW2=vyGKBeA2p=_N3C~%g~72%Fn6wCt$Z}XwqoIswIF_Ywm;C<(e7!Q0xM+ zwT!mJKQkASM%7@KZ=EemoFU(UrQB+dI!O|wPUgx2s&CwoYx>c0Q`Ah|5!AzM(oO3| z8Oh_8lbZFsWq$Lh`V9{Ao*`Ztp`58cA_7~QxL4~F8{_!Vwn@6So)78vU$ig=&HMsI zE2_0t_s$P{S~qyyBeNK+LUlWBV+l#?)2aaKSek58DKayWstKZ(%y{)Oa~-Mx+2a^M zKs>U?4Ksj46lK_P}T`MSP{R(>k^wdK!}qK z)6k23X)vH=mksK@@ZVnOD?AeX2kBAZxC(EkE38o?@<^+hqV9-M#oa8mqUU!A%*{9T!N1{A%(+Sw zWgQBX_hKLTr>@2lvVkBJ{fh;4>Ok?OtYR{=9J|9CY%{D}VrIIQCTmD}Gi z=)bp$*|3H9sYsiB5ra*$cM9y8$jXCi7#(|Jg_7lQIZ4vGL}suCg19?05Wl=#NwEY# zY(PU6$ovfXJun$BMs^OH%L<0*)LNc2;ez6WqPoORPnHE+dk|(&&*iB8T0RXt2)JQ4 zpiO-;xQ_k(4|I%7h7&+}$!3c<*y=cVXC?zgnaa66kdjhl&-|dI zR&1FK|7~-Auu9-mHDzS78*dr^^wa@D+%1qH0n^#n9X%x86Ik!kezFVOfE$ewad-5j2=r73l}JKZZ}yhsX(r-SYE zVtw?oaEVP(l&Q3?K6H$WKf$jhGIi0iO~M&L zH^@T>>gNhcHZ>-x^9=$0jdo-S(JMjsFPm40szyQJf)8ld<6&>NozZXJywVOK)FTNL z>Iw)W-|DBlHY66EJxw8zO@jlM*|ZdsiK4JlYLz#)+uECrmF+cjw=7M+%=(hMmcjFqVFKD? zQDjOmtlEh1qgl{+6hmfc>kQ!Tr^i*swdgj9bD8acqs+o$C}*|DtNuBY%u=}MEMG#}@~WNB zpaamRl#vt`$P=dOZFJ_Ja)B-Y{@~o7$k=aa;U7_p_r9?9cq|0XTxY(XzF;zVe%mfS zB+<;OnDj=q0%DQkSG9H)_O-NxG#(uME-p3Se`oq&;u9%a;=KYLTXfl1b^nE!H7&cb z$FJ@p=g2#@pJ;fx`=bMBAm$&1fhRly)O1u$)|7-$B(o0u5oRS!$7;=65+`g_7O8lv zbxAL(o`8%sqn*#9#l4?O{_PHs6<3ONiOn=$7qB}1wKC0(!FcO#<~FY9#MaCxWVmx+ LQ55Ne{BY+A6j!CF literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0081.sha256 b/tests/sha256-vectors/0081.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..2b4447046d54582c5cba14adac6947eb98936d5c GIT binary patch literal 747 zcmVNr_BFty{Y&To>CqrAmA!T65&H%EVJ!41Ca6n#_YA z!|3nUV(H(jd0KFzxq&-Glr2hOLx!jNzzRdsx8Kfd>uA21&ekUF#~$sKLh8|o1DKOv zG5W&Z$}s`f;d!xr9(PsKd*8$Sdt-xvD;^)_ge8R*OA77zdYv`|VA`~+geiZ!4>LZ6 zin@(Q)q7^76tm}y5QSyN=v}l>w!@CMCk1e&*C8HrABpr|n(eNSGuqKJ4^gX#%c6#N zMLfbb^wWKOX}(ROBz!fDPBHCKLB{XI+^HKwYrRLL2a5FT;+_+&a%tm4V~{1~Lx)1f zw;*1)yT>{dA1-u!-&@vQAXXI5J0UMqQyeQyjhU^EPGf@4OM0%U-13nAs)_+Tn`p(^ z)%sxu>OyHoNpIllTgY8k-xn4avKGGS^1H3GJ(R#=+G$SZ%I7m{>&9WINRzZn1wUYr zTFjdr&F$2D45S0z%0&eu{(;d*!Pc!m73lPs*qPqH`0Xe>bj~IuCRL-Q} zVj}0fsyp(!Av#*Yu(YSR05B+DP%<>B)(TC9xE>r^{Wgd|h)R0xzQwhyE0MO`1$eti zgrs77v*sz$h4UMm=zK~&-+%e$^d&LJj~mfRtp%p*)aL8x^Q)$ixULil=y^SvR{8L(#k7K59VW de%D`zz%V!VpAFe5M6�߰�GFo�4h�3g_�.����Y�p.֋�Ϥ�N�d��Ql`E��#����RtK��v���O�e����!i� ���G��DBf�M�. �I�i�+ϡ_��1�"���-%; ���q�� \ No newline at end of file diff --git a/tests/sha256-vectors/0083.sha256 b/tests/sha256-vectors/0083.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..be476fbddab3dba949274a626aa1bc088ba8b97e GIT binary patch literal 425 zcmV;a0apIc7c>m(ZdEdQjd!|&+g=Mq>=9w<1cLMK(OlQnb;mlfU(3vA{#jS7xaE1R zD#n`(DhE1ZJ{qs&`!~y4z~p8PtYi6PbDX$V8&A@AlwsU;uE;%Wsc3E_9`l4< z=SJulS`;`|>hZ<5g|qS5&`X3Wmdm3ZF&2mPS@wH16WMS}%`8jK*j!+SlgaZzl99{r zlrN1esBCN_*a||=N4H@WJW4zNO$(XSUG={lFSMk6$Ee#z=pG3tm^BIhuk(r#bl#@3 z6z5<{249Ra=*k>A2$y`ij@ix6&IyZxE5w}G3?`F2&WOE%nfW4(h-c~Uk)1ym9BM?o zU7S!d;Ahde?i+UjWu^gpUvg;ZTUQqRf6BkPX%B&T3|m3<@nADaATxIe_n4h9dbmGV T41|I|RZoL`q1JeAS|N0zii6Px literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0084.sha256 b/tests/sha256-vectors/0084.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..9271bf249c1126ecb65b9349b899a9e401e2fbdc GIT binary patch literal 1285 zcmV+g1^W8L9AQ91<@|&~w(Vp4rY?w=nSS20u%NeDY`*gbN5cZ62pE_q&xlt~%%gT6 zmVR`KU?xS)>FRW_ok~*k8`Mp6qBK8vjQYsAb8EA&(c*kEQalrf7ze64*u9qTASgeg z;qg9Dwo~5a8Y;Ek(T)=a?vx1)Yae;af-;jel^j4llvf~{7PZBmPw@}+m7h*i1$o>G zo`VUo3XbXgo-j**xmlN68N>;mqYD@Jr)J|F0Um4fWcf3fM2q@&!+JJ(R_&zFPA^SF=NSo7C&|7~KDiZ*3 z=D>K;#VxR+u#s#c6quc18f+pa~Cxos{eq_e@S|NdUPe5tTFJZq$ROA&jhNWnDupTT%=nFC8nimefPcFjvbm}b( zsu@~7dS)BqZz;+qFJ7>&x|*KcvfH0Pr6!hB$grQMr5O4dy8LlD6CqGnFK=TU;kGu1 z=#0Vi_7`n{{#qV;+A<$sG@Zj(3gbZi+^c?RWpl&5HK28(qeeA}3ywj@ z+tZ^Fd2kUezG|^{YDzF*d&|WxB8lM#--XQ?BNCIQF{}v2stWlv)^B_V+KWh~yF1R7uL zHh*Tch}3zDKTuY#`uu^lvq!;-?LQXum*E-IBxf-VWa7~|Fph1KCynCXoBe1&QXSR< zh6wD4+Svb;6$808U}9ikrPk`+@6BEub2(RO;n%TjrcjAdc~=y@wZyANt5#`<%Dly( zvmE6BrOz><&$S;%xWuMB@D=91bFkCyC#MYhK4?dZHpt=g zr`w_cpTPAx;2u45;pc|C^>0~juvC@JNn$*k?0Bb-s@sV1D8&1WP+!*S zT6Wc(8jgO`M&~`ry?i@H$H6w+hT#hct7rASex8N@C@a=X4@5fzRU-o3#Mqe+w%2S9kg#voJ5HLLdWLQqeX+@=bi2Q`Z_l3AYpIvNY_st{ zp(;@o8lF6DCU9EJcL9JXo?}GO%z^gN5sUhlVyr2;PN)sXsAoj9!nWWp>}s>+Y&mdL zmjZYk=Uw>lY8b((5ieQUE$g9BSUONBDm_jgOT%gy)HqqnoOb0k6Uim$YZUkh7q4M2 v@)>E5F?c}H;G2a24Q$LHV%jULT-&0SY`JoXmMHIB4ZZ%9a?oC#-_LO&%shR^ literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0085.sha256 b/tests/sha256-vectors/0085.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..a0db11a4df5b556c114b6819176b69aa73444ca1 GIT binary patch literal 1839 zcmV+~2hjMj1vqYaAk|mU%gK8)kJ^j2TD+UFqFd7$+FXGaPECaVg*DaeVy58Kdk-y?Yk;UTxE23eg=|X#)YX$u?UZ1<`@zS-u?*oSql6L&&<7^ZW9h*DNU>2j z>kGTJO6C1ZI@&_K08yW~%n3XYq<-x-Vluq!%bTAvzvUH^>V$5>D7zYU2+z3MCN!1p z*^AN)V>-QzFrnBH*|gRWH{5UiM+&B)>g>SXePocsit=2jil-}9zsCDzI;OwF7hD+n ze?ikRouWEDCL6EsckLc$BxfjWNu(>zmPHlWNF2{K!ga53EmF;V<2X6Ugx4Sr|KV#^ z(>_G{v=?V_Stp>I^1EK&8ux=|vP+laIK6g&mmibd^4%z7kCXYpig=d*SUv*{Jr&5> zx{i|*=Z+=*^MZ2-ghJnip8|&xAwpqInA!|T>yg#aye`*$lBMFi3{VoF(H*5`s*6D! zB|6mg@kbHXW573`rF4?;oR;<5_>pN*300wzDo-5SsHl%}6#I*JkOmZ0oy|zQ4OEka zIu5^-N?lV9)J{eeONS-_Zjp#P>B|%Wd@9zyeQLfoB?Ert;v%pVg80<`@GB`SFIZ!I0KZ!)m&Zaq znn?Qx--`~Y8D<4&NP5c{w(lD_s>px-U~5Su#U0fqi6s-lTLO~>MlvLCB_Qs}FRu<;qb@a9pm~vZAn$zd>VigIQ6YS}Cvo^@;$<)(i)V$&N zCfjwZ;-cBcRUohFqq6mHDZ|p%H5?PAtsy^MrC39c5Qtw_(`}91;HQT0@X-UdNV6Fw z8nxA{*earlHs+PmF)$sprm(32HS1dMaZ-lnyJ9LFYX#F41&W0SlqUo^7lTyR@Y?#D z1^Wy$6`R$c9J#QnY-^G*M@dWr*OwQl=1wx7XGt!hp@vIEj(}^K>n*D)@FiK)1gNkA z6!zs43JJ^gK5+85`M2+xjnA|-*Rhk9Mfa1*tk7bc5lX^5=A0{#-!g_XN%n}<7!TcQ zu%$bWFt#4!#FaN5)Ob1GVct7>Q2P<{rbfK4fryd9>ViF#F`Q1iY zc9*kCPJ*r=(4x6*x+nR)hN=h=Az9mWl^5;$_8vjNMUR-bq!G#R z$ey2eE(yW@Ic2^!X*oE+Ar&e}my>`Bn$nZuxqb1lqoTzM`QEq`B{uP(U+4>>F0D$ zmZJhcsG)~J;yHO|qC(f+?0h4t;#T{Z?LJG|#FeiM##(L($b9jwkcE&eGe=WEHl*ED z*lk_+ung!eWs~yki`yQ)s13G;=_}E4Azl$Khy9WD?O>K>BF{H?b0U2zdTCssZifpnBwrjFaq_x(I%kmjm)j!KR4be?# zr{+FneKS;9ic-cO7S*zb6Y|B+VpY%OEd8hOVVLG|pNDKPBy((jtW8`3Qq6dIl9K&{ zZ>ta#ivkPE3U|&QTTb)aqY3n|yDA%Uf z1rvU;x!ny5-%A$!`=+MEPObqn^d%dhL4}JvV4i|v_r@{|Fui#b+jy%Cf2+3Hj@U6J zjntg(QzN633&`v?1cWmmh-(iv0}%-B48i4cjc*;t3DvB-a-Z*`b-R<{B^^;~LW>WD zEy6i{GY6k0H-N6l*=AxqCFGP9ijpk?Q0y<{s<0*&e@RURT!p1(BNpq}YG6jYG*yQl dm{{cduWrD0bPhpX%!%H7N^y9s-ACr1W|a8wk?a5f literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0086.sha256 b/tests/sha256-vectors/0086.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..fce474394f339ed3ec2c014c7ce7e5e911a73329 GIT binary patch literal 33 rcmV++0N($JiU52Dt@JU}2HxW4v;v%@u_tk>uA;R4RO^l*@XYxXC-f4E literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0087.sha256 b/tests/sha256-vectors/0087.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..2587617582ba15c1216f459e53a62e480fa8d7b1 GIT binary patch literal 2416 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 iQ=_X>%6xL6Yvb1VYWlJljYjpthOo!P5ozC literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0088.sha256 b/tests/sha256-vectors/0088.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..5fcb89b25fa2490eb1aedb38aaa688676cf37860 GIT binary patch literal 167 zcmV;Y09gOEHkT{SpyzcWnkaH8f47J=u>(hOpS_1_qa3hjZqKIc${*Pg!MiD*?iAxS zZHQVE>&G@XN{+zdWJKdN%v~!gnh@G{sO+r^m><6Y*{4K(4Z+a{X!7Q%|3LY!W6ZKM zKRJv411?sJa@7kL7glH#$pH2%r@-Xwo@Z&kGaH=NXdofQyE$-6kTN~#oG+W<4CS~x V(m-F1?)^RAT(Ck+{fMk2MjG~+QY!!e literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0089.sha256 b/tests/sha256-vectors/0089.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..86c02edafc137867340feebfc0e21cda03e13caf GIT binary patch literal 2065 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 +�G��6y�n�P�G()�'�|rgo���n��8�`��QI�u����U}��g��?va"���CYbX���}�W@�j�� +D P�xaW��IG[�裦5~ĭ�2����}�g� ^����G�Ej�kBE���c�/ZKU�幚.�9zfU��,��_��� \ No newline at end of file diff --git a/tests/sha256-vectors/0093.sha256 b/tests/sha256-vectors/0093.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..0208b2b85930de12e4eeffa32bf6ecec93478942 GIT binary patch literal 397 zcmV;80doGM$qV=3$F%J6;rN0oQKrD2K6M2$SfMmdp`W|fd1N|bz3_JT!n|Ho7T!f1MGNn_78tZtsmYz8~w~@ z>+T3Q(l~qoatw%NUt`Tk_H-5kd_P;9KqO@eiR)Ue<;#K419Ay>m$@cqS}MJ9g??GC z#7q|ZJnLHiI$nKaz!Y>R^QNBo@IGkq+2#$0l;T zX^yQ5qJ@C#yLpb89(4kVKDB1+PKFiqc~!v!l>|Dxtc~D-V@< z>rTVYO%H{1T5;3G;lSGWcQK_|;r*#Ed7y0}VTfcK?pYbnuy z2(+6li)n#>>Cr(zGe;!U2f)U-ZRsRO`JX}2LuHF3wR{1&^+4&@ zcZ&_D8(X7)CkVz8^M;qYj;lbZdn$tw~^ z(}@sv$8CIG{TI0mrdiKc7Y>?!U_J_U063^$UU4xSVT=uX&O3=xH5=|yZ?B!k{{(lD zT?X|VQU?Qm*XrMf8Z&Ue;uM&Q*sc9Oe5N;xFERcOWlKB&MoS!hS{vgrDSzaD=FzzI zA(A8FPuE6OTFse=qL9xgN18IVc@9)|mxtl3IHPufsg^gEVa1W5}-hUQ;jUQViw5avAzphkE-0z2eLcwZn zKO0`M(@gy{4RJ`|8! zzL^iuvdhR!{dLX5*LWX3S)nQlnxLT5sG}1CU`_a7XtjSw7BCs6p)+z{3)SSuSmHmP zflF-;e=6??fP`n35(Fh}j`2!9&=YDDVn1jbAf<3MZ7))$0EiVFCkq-sEp~yeJ}NM6H|t_8-YfbbASKIL;KM6H*B0Ycx@@HIuB~y-quU3WlEainU<2yTqROw z$(RLVxbf~*$dfhzFbE}yj`?hNJfaNz5H{$xi=vk-5^Si7iD zZD~CMSBy+RsRvZ{i@qlq*4hOQYGc|NA+Dv^53Xmv|9WfxShK8tGYAFSj-(s*t+`T6 z5g0|FQlBV%2v&TFop$30L)f~WFl zn|oI`i9yDA9;MBnLdProMALEa+z40nCt8$`-&kLZyONOmRbujrOEhP_5}Utp=*WtV z#?|WXy9XR!N5QO+So|pbStll0rtj8l833*_(~72WNtZ`Z7;Ma2A?fw{Z}ih77qG*n zfUKryisXzlXX#oLo;}$a`qsTwsVb(GHCwsj;I8X8q4m^tfKm0pB-lS^(m#?Lwv;mb z_8oTc{0w<)SoW)YRdv`$i}k$EaDE*7D?oO_6v;r_POU6A;Rc1T)_O0Vn}yNe ziMN2$of2$XqDa�B��Z�Q*���G����]�cZZwx��[���q`�Ӟ:bҀ}�׻d��`�kp�i��9H����?��,��?ƫ��PMEL;�X��Jdm��u57+�X�{ +�**�5�4�#����dk���FMc�3�E{��;'lEr㡦�����X_F(o��)�=�������? �+���*�9��'j����j��g�8�"�ʿ���:�;��7��[� \ No newline at end of file diff --git a/tests/sha256-vectors/0096.sha256 b/tests/sha256-vectors/0096.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..0b97d7c66d7f2d9b812e2469d3ed2d2b34384b0f GIT binary patch literal 2079 zcmV+)2;ld;^B7#j0-YEf8Xh^*8;U2wGKYGjvsi?T2EB6iqQFHY>j}^=*LNRHrfo__>3w@c1yf>HAnW+i z4#i)}v5sy0CTldxJ00zhK{`+Qpj+zf{S11LE?l#aSI0e~iWpw+rS@gekAem{!1sQVg^qg&C(=v0AzyE;&P{mutDqm?O#nkyl=s^FWsX&T=sFPs~~H0WPEif;WMs zk?j45stYSePLd%r2ZPjh=|31B&1CFwvWN^ux+mqwc`bjbIWe!zZx`qCN*E%HHD`qX zntn-pr`)q7t5jad=WHVsLfsURQ)7?v($*3)Q^+H_Ley`P(H7U+UgOBYpzL)cMv*h^ ztlb3XUf=sa29;!2wQhd-!MKrH;~(@XZS?UV+ri)LJ>J$|-sg?NbJpy-nV)V!zrqWq zo8!AJkjv)$wfI~iW-JaHg4AqnBD6}BNvb9QqBvh?`5j%iV6hvzlW{qDE^ zLz*Y8aFRomq*FTo&^%-~4HQ`UVMn_pw+vu{RO(DLK&w!IJI@b<_88}P znS$|V#V`1Jz9jyAYG5a}At1GzPry3i|GK-D%^mIg2ZcB0LKOaLpjbcaBL=bf8HdKi z1l57M2@X3Lbtk!&7W)_b7{mf^sn9N&Oy%ay1s&7cS?%RRuk^Qr9TnR!DIn8@BsJjf z7Yy6$IVx`IF4SI-6VD3G36OpK&~O)^d>38N0aKP^UOP^J!o%v*71JL0(hvI<*(Hvq z|12SMy0+iCR+$+dl2o#jh?s@-5QxC>NX^q(dbM`nRHn|&(MBI0ie|cm54BO|omPW~ z8>DNJv;3-3PsdSVUBi+iBD9&D2$p^q_5g44O={O^yBVQgV zMizp>iFy8pxECx?!75*V({nUpYS4yl&ypcg8#i_2ieF|U*dh;-&l;$Q@fj@scABqR z4U}L{bhd^SiQpTvpV>rGUY01HTO=_O{#mzaPu!1%T=&3{ob+II#+%1H?;kT(G^hdy zNHfP9pspK8aaFQVR{SL5_TFFQI|q^Vcqs%ZRuo!`fgs!lg0w z@uU$J9;T*>PH;`oqpl+74J8oR^snjcHhU^dSIzWa%%EMFpxE*Kf@-KA2TY#*Tb%CD zIV1809NV$Jd^ZFTBK^4f>J_(VPf@&vs$EoA!e+)|s6us&zqmSA*9NncVvWtek15!h zJvMx{tWao9e&`fn6amI3UW=TB&vak!qia@*)%x`MSIJvvW6fYm8oxZetk zddcVhvhnd+EP!{kL=`i5n7(a`ZN!sJl&-;coR%Y@8DshT5u^sds^L!w0s#2^YjSB#gQ*W_Lzt|29|_2XbZAzsP; zgX;m_qUDHb*Ei+gcm|*BAEqvQ0ItnuCd|0{(H37PDaHL@I^XW5wJ z)wAA8*Z9*xw&!a|H)t;VYkQYkkGXv}ZmSJojLmPDmLd<1ZPXUpHog0Js+ApKw3h86xjd( literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0097.sha256 b/tests/sha256-vectors/0097.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..7f536884ab5114d3ea39f2df31fbc521c4358b51 GIT binary patch literal 1810 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0099.sha256 b/tests/sha256-vectors/0099.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..c96de411150de330cfbf4fa3edf936878b18e431 GIT binary patch literal 2388 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 G+6jLSIh`&5 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0100.sha256 b/tests/sha256-vectors/0100.sha256 new file mode 100644 index 0000000..e0f3cc5 --- /dev/null +++ b/tests/sha256-vectors/0100.sha256 @@ -0,0 +1,2 @@ +��c�|��xʹ�A�Y�yX9o�!G������H$���֡+^�Ğ��C°�[�_ +�1 Sʼnr��+)�+{��s�׋�yS}�}t�)�R�� \ No newline at end of file diff --git a/tests/sha256-vectors/0101.sha256 b/tests/sha256-vectors/0101.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..c1c47650a4766539643c4cc3468ee09f5fbd37f8 GIT binary patch literal 1695 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 Nr-G97Lr6WWS%dAo0{j2~ literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0104.sha256 b/tests/sha256-vectors/0104.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..6fecfc046d7f013f77c46d2fe8a65e48f3bc1984 GIT binary patch literal 2018 zcmV<82Oap&doRTJ)2+nOcM(>5Ac zu+a-Gh`kUc>Cs0eCN_nTH;U233wG-|NXtq`M~yJHv<09*z63!e6gcN4ep%wxwn)1> zA&1$3sfY4o*r%cJA_?_vhSMe>)3sK@pV+It50{WTO;dsb=P3Nz5P|RZX!E;gq0@tU#G|133b!ms!A%#OmF1Zx6?{%~gedj0u>7b#e~hsx26Nb6mq8JA|h-eD$;yX!(QVZ%6)>lDA+RvzZ_{%V0y zQg4Sd`V#P81Fua0ud|501#b8_0Cm~x`+koQQIvW$wT{!Zw};;MHWNUpsyLynP`9DD zc_*t>V~2TI7K@eI@PyxkKKb`>Sui-%*=w&JldX=NifuX({7~O@6Cd&8~T4zY83U*e({`g}$s<4uD*gk>f=kBm25O3_MAGSg6!#@>c6GRXMj zDL%dhnj9(xJliYI#Oj_altUtxM#qKC<4qmD-h@2)*mNa`W>%1%mu{5{3VT65yGP`;{lk%^urJ@+veNXE zVX3l$=aopk1d}PhEDda@>S2b&beH}p+l3pNCa2;eEYmc3cv%NrUS|o#Xe;fYC|2k; z`Wgq>?ZuZpNn_KV%mP4pyQX%QOgcW(VU;=tE&~*s9s=Z>+8 z_D2Y`W&zSaYJRjDbOEDk-X9a&wmDmCK`LwbJA>okY?Y^QrBHP51w0_b6nr-+Za7EX z4{fin9J~ndrfL0r=3^Gcg~Mau;#VGAFzvo<=T!>WGPsY8M#k|gvg+N0iI=%-zf(BA z`(C^cpMy{ln(*oMjaID2Jjv=w&k#49V1)ReBT&;dHxn819@ z*!H3QF$89mmU7^RcVD#$_lu|Bc~%OI3d6N=UqF3|V0LnSHi~brzK66uMv22z6(+AW z7lUdzlX9TCEOTnvj4QcbzvJ-slANGC7Bd@;G;^{dXjH=oFI-hHQ~nHxA){_($@W$v z)7rvT_<$__`R7w_z<29~v+I1=R)#SBriz(3sP2^*fG)}|=uMz!v??*6P_saM zq5?<9U_PG;8pK5dlLRf%CigpjcJT&74k3;O1%ht8{19H&_BfbBqom8BtUiv^M-Z>_ zb9K0;{eY69XBK!^cZpii_z^3;-WMm=?RqivqGYPYh&!7`H93p^)CQM3EX)%*aDeAU z#LFJGzjf!`?gA^!eb?ff5nJb~h_Y1Twta`&=6sw-;D%Iw>Ku^?qy&P^FS%XZsSJMf A!~g&Q literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0105.sha256 b/tests/sha256-vectors/0105.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..09eb51e18cf2e537410c39d4e2a13e973fefa653 GIT binary patch literal 2012 zcmV<22P60~PnG$-m(i7HAz22=lEd>Ng*J@t5oewVWB6V0Xb%x6P-VG?-*uJcz}3=D z=^+uul|+Z;)-Va|c8RmrfL|X;iu&~GrB#y*$9Q_B&*5&y^dju%+Y!2uL{@X%GD z=XGH+oCE{0q@j|j7?bh>vnOmsRp5gjjfsKsh06rF?kV-n{p*F17N_+MXE&ioo{Nz@ z@UxlTH?3lQ4BY6Qf_*rrj0rc<(i)2isr1SJu#YiqbCZ4={Z}4Hv zMEy>wgw}Oi5y&?y6)+LvSw#K2eLj^1sWjh&JBJ`^^F*SU6|oM)5-z@x4y`~$YMvwb zC5reccy~NQiHZ4l$?^Wj9Pd4Kx)#4Y-tAMc&->2&C7_6AQ?%z;otx-Ga0L8ZQOdb+ z>yHQ_Rn}$SvQc}yq)fJ$x34%FOHi`Fet<_Q;x9jw&wQZeO+`iC!_q#faS^hTJ1%`&a|os`Gi!r15{x&i)b`)xi7TC;h#c}0e#1t=ymn{W-g zv;AU>5`%;Cu9gbYo%y+uJX(|r_JqiNEU{gv^YJS5(=5qz#wk3uqplMsQ}@I zJR@CPvp=5wJoy#62OBRwv>(3+Rs+Kt7D!ooYa2X{9CqwDhATKFyac#Zis5;v|0g|e zuY2H+zk}Ed9BA<)*P&=!cR|^y^oj^q`hKA3391m zZVL;I{Zg?a4GT`Xa8cEHi?1PlW2JcG8&+kT402|v>g4dqCXZNH?m^F=@aUX??tD)% zo%`N~$5%BFn@?&856T|QiKZ|TqvV*GY-|7z?O+cgm?=CbtJw~geX4sOIfX~Y9h(8f z0cLd*!4G)n3FjDykd*`WWB%(?sUOc8AKTER-<}b~7D^6xxkKwJ6gsQzUc^^&r4<`% zxEMIH4WEN*5ymF(ozE@0b%_(g3Xv&IqI;mSf zd0>Pi`fPH_j6WMg6>Lfl+7^~bCP|zXG5`rF+*(FnZ`beRz!}`QB1j`=IP^55Z1zBI zkSZ=z`P&%eTE1gET#$JB=2!Ec6?D^>nHcl{{)4fDP>eNaiyXQE^Y>K@gz!O2YAJ^E z*zo4@vn3NdT`KzVaRS{$aWBF~NzFu7;zI|v5wg$FL%SWc2KkuC^2abJl`NZcT0ci? z@Q|;M4|WeWMl;RjQ|r^iVUvFna$xJ4G{?r6vL00aurWacYnH zo}8Wdbx9hjR-EVqXRGY5Hjm3Qs5<`JKGG9d|GSuCvvc~JVm=6MU5Y8gT|W?pXT6%r zw-t%&e5T2w!$0Azc*X&*RdcA)FvOoyRs=dJ$dlL!Q)={%#2X}lVUX;Cu%=hVLLo+4 z)`g_?F?``y$=5S7ERaeZW_mC_qSTRWkee)4F^W^$57^4I%-X{|!=ubI?9vgF@TJ+ya>1 zub27-;eDyvEpc{T9BP>g+~SRE2bdeSp2S|{alVfu6xC&ub|;08AUoWCtp1Y|vUa7vXEVwK=tEa9O19Fh5tK>p)XD+=s*I&_c!vW=bLQxeIv71M?2schbsKv0H zi~EclNk-GCNX63C?3ZlIO49lga%P*J8W2%Mvf2T?&SFb;-%CZ=R_-t&?80Uft`U7W u5d4C&0$Sjx)$>cjAB@cRU+ib5Ugs;=%-{GH?RNel0TRkvbWw*)Ci>Jsu+x12 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0106.sha256 b/tests/sha256-vectors/0106.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..9cd319519b0c319e61ef13267fde6efca1fe6115 GIT binary patch literal 474 zcmV<00VV!9=Onng;j4i3vqM}jAtxL%Y(L4%diSPNw;6B#_3^rjQ2VaIiUz<-gm;{m zkMtAaj~cVG}e(V+~^CPaKTGRAJ>nfB+F)vHMM8pxiCId4NVq zO#dv9r|4P$@QC>eG-==OtZz5V9L)0#`DeT<*#Yk?=<_EetpH>&1MJ;RDv1lH+ev{X z)6=|gJC0DA-Nn^~;ZG_8zqdbh-8_bq9pfszuK;%TBV)`2D*ay+?h|#t#QEh9s`HT~ z8VwOV?>>k3H~&jNfsk5$=M9q6;mS(3pF literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0107.sha256 b/tests/sha256-vectors/0107.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..0315e0ea422dc6ebf47968531c2d0a478e1f4660 GIT binary patch literal 2164 zcmV-)2#fdb3Wws?t&b8rOIeB9Ze;22_Aj6ONbiPnF%u_k6gz-|2#l^9qX6@J7m-uv zQw?Z1B41iRw8$ zILfmnlN1@vo@*{h^nvX&?Dt6g?q@HcBCa#-X^EHGKo4qS(`k^08)9uPQS#;okWhoU z)D3)K$DuB-53f7?HEDTCjhl4~iyye1(W~8bZutA!GEPdHIOP>lMdvPer(FxW+jO{a zj4@;2qJ1f`S^#jAsibE=n!i!?bwz}krus)k^R~;RWJ4EJzU?~@9MOt8xNIcp&`?bI zi}ncLvsfC?d~SA5Gtmv+&!sW4x(H_~xesK+ws9X;+Zk2um!HuznaQsWIgf#y8>edS)^r% zh#xBewoK~k{};5)FcUKBoKi*Ss&W=1yEpQ7X)gIC&6`_U71BnJCW!umy^`?ok8L$9 z`#NgQ%@_Vw6BQcoKP3&$Q`gG!4<-oc(c6d!i90&(5*iXLR+kNvmY*CRtsU5X>%J7( z*2Jhe%E3Y?CmpSm7OQzVpYvryFJ{&iE$5r)i8uLZUDeB6W($1S14;|WXS+V+*J>xA$YC& zG9UjlNeJYerlbgxBj}%GVcZVdR)GWt&GMrdg#v|y)0Gp?TW+O;Y0+UIoU5&d1%Bi7 z)cPN1mf$yJGgR>#fHIzt7GG_t9f}vm&>}lvARTh1O8zoCSYAGlGKLM!k=TkSozIF~ zGA5dnRcMlq9yRsK10{_bfa6^E;VR_qQW)rIo^gFC%jaPct zzp=-2ilBbp6&-CGP4mjMo`N{714Z=|J8^yxt|=)1vm;(lL7&Ei6RP_X{Kw#yCF`Li zEf+!xH6fj?arD{)Qsy8?X~J~&ptoir$R`-^y?q^3+dLEw{PlpZpuP?eB5KQGyndU9 zCe89JRv7NIesYy?dD;KmD;Lw0t@dfI2_7Iu#W8trT3xZJx1Q+Xf3!}CvCMIZQTBQzpTNG&sM*%ur&u_jT6531}8V_D3^#k+##32!>tDhPkxS>H=@jy|oU_J%|+dtSzY}y9%R8yHC-N zIjAq>tleB%Y)gt0eNfD;Q5A45-o7qbhsimGXmV zj(a3quy@HP6!EZ^Jwpjs2%>g02lDCACHRZ=B=`}r?r4CYdPN&y2RQMR36*bl<~tzi z`G8+{2AgkCECiC&50WMD4(`R9`I>F3YxI4#vHLGPIU@u_vN?6YKO)NZONd>c_sdbc_?>Jt>H290UM?U7I_h z3C#!@VA888s+qzRNxMo)1!{Y%T8Zdz;L(PQvrrb;+KlVjJ-FZ8z88Mu#EQ zbauy(%-h&j{5#?orX%o@x>r`<c_`s?P)9#GXT(EV<0w88KV~Z-gQZOs` zGjt%Ym{R?U$mj$~5b=pvvFK#(`_1|rlr7pl>5Dag!#EZ9l#mn`9yI(SJOCz)D-0C< z3x(>*`ghp4D2f~(XXNRV9!9h`U*esuiL*t2A`8jCI4f#4GC3ZKoaY#ZSnu#OBjL<- zWHJSEnN|Pm#lZg%jjP7zB^KhQl*&fW}zJ3Jf^5CKg-MF3^Ari zOQ+~+k=965Bf?;PzP7189=rbR+ykaov(0=+j2|EDFZ_Nqj%e@dBc5N`bd)#JGz-J|lVU`fK^flN1GvPATvzLok+Nb5ASV*g)Wvn~=pnUa qCjWzr{y+{YewX-&ZN<^F9XIEO60Wu+PdPTd($!h>nVt_07-SoK5Ha-t literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0108.sha256 b/tests/sha256-vectors/0108.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..d01e7f9dd7225aef2fb3e35eb3a9d10c13c1a286 GIT binary patch literal 781 zcmV+o1M>U{RtdwwStDbtW`vjJqcm7BKB%7NVAxFP$@WX#PMiv3E`C@QAjuA`zxslb zal;DnyUYXXzro9On$)WWM}X=@#?MW9XGyp6fw;lc8c{*0!x|>}3qH%Tcp?R@a<%3IO`W|dRSz*-q%e=aS|GW_~FhKt* zbuyesrj-xZ9uN@E+ppUthhFjY;IfSx62J{~vY|qD^UbHN0#mp>ifXj=wr{-fBvcy8 z@K@DzmzqTYSgCC4{)UnU0X)k6aXA>-w`(9OZ01L4zAU~JmYW{*kLV{;)emBKb#BGq z^qn>%BDm1hIWao49`ND4Mxp;D_HJDs6?HTffK?2ZNrw*z6R2i*+<+2)>{@8xIh}Q~ z(+UvnM9M9BymR1?!N!YUQBqoBA5JYn*ZUxKC^53ayAw>%Ma ze0cgRx9FkAfBccslQnRTq-r?+;L|QI)t5T+oKl4ENZ|f%+a~}Oo6gwUvWQWt z&}k8uyX5wRMz2|*$fhIL(8mXx;m;>{5BPm}G(e2Bc3?^eAzYPXxeF8Qg`H7P<)j-_ zMMYJS-Kfwqyz&>ddS!A4M673<^ZbzrL_p?BS36Kvw@)3EwUTW;qQiL$j6u@e&Gw3F zm?IB)n|_Ww8a0WIDi%{dQ*BH^q@zzC#i|0CL1W{3i|9!Ukxm|_+PhTc{aAi*zc8-ne_z(>`iVDOdJhm&5E&Y_H$m6y&ASxG*+c$EbGU4X;l+045gN z+3%awO1G0-o`s(2*odYomn%r^)1^GAaz%I|AeL5gXLSBTV~pY&qX7}6TS_Uvr>#3O Ld#EATL|8b&BNUQR literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0109.sha256 b/tests/sha256-vectors/0109.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..f7b16820371afd176e09fc726b74ef8e3f01d4fe GIT binary patch literal 2176 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0111.sha256 b/tests/sha256-vectors/0111.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..a20f58417769b308f1346c2169fd5d756ea73ef7 GIT binary patch literal 323 zcmV-J0lfae3$T?>3OH2H!un^zwlM=7ildhVcq0q@dH-Mo?_B81`T$A?o|>!vnKP*E z$2eX}I-{4(dv6A5mD`%+1s(oV&idjIu><28dm@z+Kx$#6R+_R)s$8^*edpi)LV2? zQ2J)X9cG0!>d-{xD!`&ld=31E?q*?+kHlQ&*{u^=`ByM^gQr{s&F7+{2V zW8r6W)f*JkOe)!RdqgWo}mB$ literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0112.sha256 b/tests/sha256-vectors/0112.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..36351387f2e13c4a5ade9abcdc4836046c56bc03 GIT binary patch literal 1511 zcmV!8!JVTER`5Ah80lLLv?98wtHvCCbmP&`{$c$39sS3_N zAx`1{3%d860d=$f5u-C)V%cMycaQjfKsdBvnQ!Gp*Kw$?>n_%s0E5OPDP2JRiwM;& zpi$185UXz$hoBs)M>>la=rda(z5I5Mra{3cnF>=HO?>FXHA@_$fQTyLERPs+D+LIU z#)(l)x<|3H9blKOgJu(~LMwqQnzxgv57IMR&SLQm>2)N)SM*YzfTRFSU9Lx1U`oLU zYOA|29l+sNapqH`U=~>%`dK!P*)v1r*4i|==#H$lq^4YGB&JPOrQW{2*$Dl{y0*QL zQX@$8R~a!?Zn)F!4nv4JTV(D}7PP#F$A1k0D#Dif=GVleGBCNH)Q}xUrdJ?Xp6K7n z`?lBHf~r`wy=tMKd|2c{$jpx7FzWg}=qh5#u;rg>z2`dQ|2Xg{GiksF3j~4?CfiZ7 z4qn$-wvnaFgJlJm_oG{y0JA>tz@#XSo;zwXcAvS&>DgaDH@Lcn(zDL#dUXbLJ4I7%= zJf@wSdTs$kO#c4n!g3oKl`pa2-q;jyBy;#Ji+fn1Rm&5itdgY$Wf()>5o@(DX zuPV@TZL~k)f-f+&1iFWy-~AN}_1%c0*b8lLhKL`^X5!)yO{c#9Mo3Uq@oYbH$uC%F z)AAMY{{9EF9zeQ~cZ@;7xHi3oz_Aw3Neq6vGLASb+71(9CPL4DIO0#}AGEsymkiFr z*D%#pz&8p@{uNSJ2y{6V1ccqA7JBx<2B2*AwVd&9-%YBX!mkWhWIhUtGdB-nT_MO9 z7~xj~B9)kI-o-xn;KN1#^o=DMzdn_W;f=^8=OAy48u(FQKplU-K#5mZUr)ew-EEZe!-)ihgSgDOU9177Umuk%ST_`AOfFdzq_c=m@( zDsgENJDWjyJt%-6pV8oPn&^}dYG@zUKbXQxRShL;w-ev^|3s8fEXZ<)e{5gGlSamw z(uv{l;Y^{5QM8+je4e{=%zJjTil`7DY~co{w0!DuZ1swvmdJMiqFm~)fBH{i&*8v- zZ%!yez5gWtAIX^!?~whLg_W-?jCJQ_8KfMBF?5WEQ+&s$8WX-hg-sJ;t;RSQt3d}g z!=koF{hw{1pkl@B!pxo5)2#{ayp3FJ`XZ={ec(1MTTwX?53;qg);WFDDrdT*RR`in z9A7$2nA6j_BPYp*wTNzzb??xF%?sh;`Npv>JdJUU{e<0N`c{>lri~mku~6znkh4u_ zDQ|2&vOd>N00J*CF9U#fH*!MKe`xPkWtxK%B;~iop1zIHmw^4qL|k4!JV|sZ7zIKv zp2e_?&(Q1|M(($KXjUJii&c89Ma6+iJRkk(#Rpdgw8oGc?|iB#`pR}Er3s~MHS}AJ ze4oS(`iBSifsQu&+}V7W%ERzLQT9G5ktr8i?A)%0cLxh0ZOC+vxrBO!vF&+g;0FqN z9hqqRhNm+nay^*SJpG%_JV4^=;8HxRO03Bz8g~utp;C>k_1s4mg-Zwg9SmBmuBhmu zbHh(NZ2e3{9?zbD_Hk`ZY?o%!=%B6*EWLRy*la;v&o_YsDk3WK^rOF|4na($MWL-S z3)d}#RZ8~phy N-<-!w<2`@nZl0 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0113.sha256 b/tests/sha256-vectors/0113.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..8266b0527037fb540431d37d3c0d8727e963770a GIT binary patch literal 940 zcmV;d15^A;fT)8sGf~AGdXgJ55<~YPjT_ykFq-Q&yS}B2r*5=pvlc4xp#IuB>4a3G z7t@MO-O`bmX4;^5jM#G#mT?e9qgcDNiXjsoJnd7ljlgw04mRy_RE>(ri7RS5?S}o9 z2nwEyOuXwh$|Q)8D~13x6B5M1MgPonH7;XLuMAur_1TqYuK7(}-eo)62?q}<{+x2f zl~5Zd^-evAVf#*7W(Lyt?UhChXkm)o6HM9<$(a>?iy1D85dm$KO#|$(`VplR^b*O` zxwYqU!8|9dj;?N>#2^JNmyJ+s&P;PWagXT<%N|iYK#s1Z148yiIxOGTGUAX;(+p?J za@GBQSe)2Rne~kyA4eNqthJ9fp^;QrPWFN81_17AyGbK-dH3w@o4(mB`ICLA%9UaC zY&;jeVNC*$#It7MU)8fEisAwmS(3JZV0qyB)`ci1^ilow}s7V%>0fhuY+^)c|( zEvIs^Ys;J7+)50BViRWxXBM6uBS^43Yc48rcjV4WvL+`|4GBy^j%J_(n%n;dk~!4P z%(r_63+|KPJY80L>^BI*fpZdpM%Ps-iJEvo1B~XVrIL?o*tS_I&qmganZLYaeFpT( z)KSsWMM&a_i8jSi<}n6SqP`i&4EFzi6(L4Zr)qh_RP4fMBlAHbzF6b`ItP6k3XrL!_Zwqf8pROkgXWHx()IlUL=tTNdS^H?E~PKNEXaICjd zr1cz@Q0%1k=JWAe;*y@SRk?fZZ;YvmdF#L8!aM~j8^yRa$IXL495)n6^d!O+yZcv^ Ow+95n6SW79wN^KA3e#u+ literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0114.sha256 b/tests/sha256-vectors/0114.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..78444f811d1128f91b4691a0ecfbfec29c778e2d GIT binary patch literal 809 zcmV+^1J?YfvtAbidm6R^A(h|QlhL#XN3{`PFv@ths<$`UtElv|8*QZUgw(1MAKkyJ ziKh?>ex=bhGlxD47OVa2O$;gkQ1;_CqOH{xE6IJ%q~UQ9(7NP)u4g+RH=}fhP(y2Y zET6WbWvV+7E(UkJjC`%K=i`t|Cz11|#FYVg*fYN+NjT{ehl&!(C!F>HKPA!bm1pPh z2XHrn7<6mg2?PSZGmE0&>b(ilv`G<>49!>s`wX`C9xx>2njhSnrbWvx4&b zbn$+ivgMH2?jEMlXj7hwDp-1@?reEH|BA}|s7I%S-?pz@YxA$YoTn$Lsw8m7NG}WE zYm7rR!Q8yaV{zHaL;SA{PU~;JWgz1sS+&CRy6ryZG~I5L0V3;$tR%y><i-6*1*V(CTS)}H;c4~K+)<`vmY6yO6-^G3tP+77 z3_H}Vj{FI}7kbX<5c{l=YDDlTe65UE6j=XU8{niHI`NaOT99GRY9{t;XVg|&$Gyu$c2;w?19FWoqQ{voTLZ*+W-)#qz zJ3yugPF-#!q(cT74I)QVsGb6;a(P0wjiBf1AJS#_aj$yc?l2OSQAixOVGtA=28?soYU^2`+G3auFY9; zvNf0F--z*7KTzj!D8ZvSVVThmb$6nj;;o}3KHPJ5Ph}gSE`GTK@$e!|!7=ngz93-{ z#}ukEtB&wU*ZsU$8s+!=rZWt}X*6?c_D~hXo(F)>{81aFZ)i?;v!48P(+}uxPj8KF zXYrYK$%B}zs26!tz>u}T6J>aF@xuiDlLdhs-Da! zewQN&h}k>01p@Ks+AaO#RWn<7Toxxjx}f$XUf=dUd${k83p(aZ%Xph%J+inp(XH$R zLq$NV_z%has0L1Zoyvp$Mwvjah25`lg59AgmqcmmL>BjN!~GG2`7SqA{oweYm!dIp z##QXl3Y!dS`@)!Ys@zEW4jq2>)SSqDw}DUWo3ujf3sJPa)!0?MOkSkj)$BNbinGl@ zeK}Kd7fQcN{Te@WYwJ&lbG81DnT_<;EC*a+hic8BjD{Go_}f)4dOf0);eix#5gN_AN^*-K z({b6jngG>E1w3=yM&_qDZ#MX0_cqi__`^aM;CSE6m% l(8 zMN-T2`cZr7P6*&Z9h;x~V`_>&{yWu^)Qg!48GXJz2`e$p-o?$j(W}9xi#|x?q{LK6 zW;(f;1^ap+O;)=3i@(UEUgDo}Xv-U1(&UZRt zQu7jh6BlK&YjF%@GE0o>n;z$;b*PO0o|%vPJw{wmo#hZLvY=$=b%=VdcS23Gj-RrR z4}V1ViY7uz!EDj{Cz0bohs6C)oS8!`XjUZ{5J`vJ^6l3}^8+XOWTKk!zgBy1acuQk z$0tO(z-5z4Tr~-Nd!YVdl93S|^M~XG01Nj6{KV&CG2TE)H!k9xf`t*u5q{I(!g`zo z4yi~D-V)qDui1?I>8=gG4MS~^3BY5YEC+mWJQ&NF8gp}!yI=&lX74>iK0@(tN5xv_av2To2P^WZ1*fs{rP*AG1L%%F+hGm9HzxO(=I< z*Pme)!%#X59m($NG&G=MjqS z{7z?ww5i%xgeixEz;`(z>At}(XW1u2TRxlkWNtj+$9qS)^3cEABbxe*nFYsuE_cM< zEib%*qgwtjMM3*=gf5ZPgEF?}rA1DR?iCUN8fiXAxxQ(~Q5UFq zE;V5PFYM7d8@D*Dy!a;U#Li}xq)_wDoBx2Dy>5e}VwxZ=p&iDe4<8>v6_nB!@U5-F^1RTjQ+S`A-Rw{Ja35X|Qb z#fFYy2I*9aSgUc#o+9RO0&Uk&7(>kX_V@$$7Z#2LBIExW9oNPHdzHZKv72S^fLj#A zV09iVF_kq4zb-J4kFtgMcrV!c?Yr`g$H9-fqY{{AipH?w*W6H5<@X=$;`(^ZO-Nu- zlt<`y+MCED76pt3@n)KlFBfC!lg;pWZ%Ac_>A*d;6^_d|@F+7euh`rw&?~FaRUg@+ zfuFb(4huI8)>Vi|FbYeDBO<=))#3t6FF<5vKvh}v8jj-cK?zBzKr+M|J64k6|AzNC zhd?{)QW%})V305ie*?B*>S{kM3VCkfU>scwdcncLn2Ht8K!+`&u-UF=Ibw+vNmT@2 zQ-M6oMAM5@pWIDb4R%B{V~+%ww(1<559$P0kB;%=Q&hhm zeL^AV-lsynIZEqg0z;Cu&L)=W3hT5u2w!VcJSbz=#bP~L3Mvc+ftY@M!pW!aZ*fD+ ztE83@VSQ4|bVtxvlZypv1Q1vdlG+vUG3qc7QJ21dsrBN;6KSx36MY9)&RV=Qt1TfJ z0%~Ub_=jCVJ@tY$)QY_$A4iMHolwdhU3sJ{ce;A@G25Y=l*qQYleuphA9YESC z|E?$>wySfyV}0BwLMqE8Y6RKr{z89ZW@3q`xcr^9Hm@?7B)3j)i{pA*#AQ&}j`?_i z5OG5X-0??Mr11116ya5wxnjXzRs|1k%Q7|V<10t9a>LFJz)LKV>1iRx&6|Ux%!#y1x#=X*eCzHA-XZjEbBFm6i z>Tbi%1Us;Sk}H^5L}Kw8p^N_nlEqv8+TkY6@H(-N2HR##uvR)37Oq#57*`!mA5smY zn6#U$bs4-D-Li`aznim^-rmD znhDpS+g(fJZM@LiHF-UC`T%^z>J9IQZgiM(WLqe_P|YWq4Qy&8*G3%{FQygTN^i^a zLvDJ&@_J!x8(kg>L3<2G+?YC@hb;)33`VGdH&p+$7<@9td~McKSC_Z-Js>>puO~G2 zO{od{&&}__+GTlrO&a>km)843$H@|9c^yEI0v(|wjxM4&(E+7myETtF(w!%Vk(L=# zomcjTZPZG_F8Y_N!*HVLEv{72^XaRv<_M&UYQQ8%Cf$Mp>uzU)qDjHW8(%fqHWdDk zs)9h`)HBU%oLOQ0|6ebxIATxy{2`AZJf_S zo5Ewi%L_V_D)lO_!zs7_k$OP4UOJvp6AwAGR}0(K9b*JcVV7a zrv8Jx_!)AYjkIUia<`U4qaAoQE^O%RUsEM4��`Q�����0�f���hpF�0Hc[�� h�7���EՇ�E����[�F,���t����w�;%�- +��߄���f�� y \ No newline at end of file diff --git a/tests/sha256-vectors/0118.sha256 b/tests/sha256-vectors/0118.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..2cd8f7ed00b83331b37b924742a5152ec111b6a9 GIT binary patch literal 1597 zcmV-D2EzH{uuRzYZ;r{~8waDR$3q0M|FhSx=ZE8`mxd4AH2-A5D{v`HTxIu#M>e2D z8|o4m`WLUmDRKUyfZTsqo(nJjK-&<4dJEvlM^${5J^k{a76o}4d!Iy!=~vV1^z~4? zy1O%+IFUO{jH&VL{xLt9_WhWn1_c8^WwvdaL{u%a|ST42|f&i#bKyEbyN@o#%0>! z=Tx=~7B?|mU-m#Iym7=S$@n56f&X;+-4*HxF(l4QX}gMPLJ3_*!Ipq*%pJld)4ki_NAmw>w93au_4GF`Io3J21CtaOPiyShRF&1HB}wxF54}4G$9nW5i0& zLZ_R;FG<^#1SX4M?z3!Y%>(#k3hLu+c1;e#eZN{rEpt9*|@w2vnN9^U*=F+#Awd*;6T~eZ( z7tZbfBH_(|v}oiKd;txR?m1@%Y@}sO0Rt4lFr2^JmTyC`V!ujAwku+{eLORnfR?!O zLHszbZT3je=wK#Cz0aK zuXQ-{GDH+=?D_eq@ZN{NP?V~h zTlv)1k+dNhDwu7xzD%@OU;&EoV)~RnM@7nbQYh*l8u?BI$4mOzzUU0I^vI@L7hX_< z56)^F{Yl6uUN|C4Uqq%4=T((zHPeIp&Ly?#fil1YMs1%=|%~EfO8&KTkXDDzn5gZX7P%EymwjO zc|XSJQ(Cb|sx&GvY5h|55Ym`*QVLfss%AuZ?R=wy3?~hmgQ>yzy zBxg-7!~z$5Vmr4ZQd*Y#XXz_o~7#E9jJ{t zY;5ibzVFJvf$|&|w9{kWH%LsK8h`0nwo$#hLEslch4&j7{zyXOc}EFg7!wmj*E0+p zvuTSl4XVyP`seFB{^{cg=#Ol2@mm817aqEdieJd;-nOTOjyK4+m1 zw9EZ?-u)Hc^Jy9<`E_{fA-;*m?cWU9khZ2D&-grmV$93cQpDJ!$TR@Eo#33Z$YxE@nj#?b74l)YQk4{-|95#BEq)eu6b= v@PA4D6_=|uW9#bdD`T87Ab9=_g#`n&`gAG$6-aFq(lCi#0b85huw}gAybvb6 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0119.sha256 b/tests/sha256-vectors/0119.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..58afad53218db68f226af08807f2de1f21b4b379 GIT binary patch literal 442 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 U2Wg}`=VxC8pLWPOH9vQPBsp?48~^|S literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0121.sha256 b/tests/sha256-vectors/0121.sha256 new file mode 100644 index 0000000..444cd9a --- /dev/null +++ b/tests/sha256-vectors/0121.sha256 @@ -0,0 +1 @@ +��P��N��>�i�˧�R�Tq�Zep�����a'�O`�E����'�����֪��� \ No newline at end of file diff --git a/tests/sha256-vectors/0122.sha256 b/tests/sha256-vectors/0122.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..dcd1f33f79bde7c389d646fe93e7b567af85c5de GIT binary patch literal 1176 zcmV;J1ZVqvAL;%g(_e7kTc^oQY@j2O!;gUJh??m*d>M1F>X zfx0@r=}51_r2cZ|^8jd&YAatXCD#Fl?rAOn5RDzqClm`bJrFu-mRG^~0`feXjb<9> zbhA9|ehukmIZ>cQ-I`m370*ZI_*E^U0z}}3arT8J%XiQ&ALs{G;WG?(Fr!Xz)YNC` z_lj6!e8DEq&b9#~!&N{sq%E4a0R|5|uYKK3_a!Yjvps@ASk1gK{)ifHv|Ox(^{tyX zhk63OVcmONl<5RAh2Ycm_aEEVP3lyNR?uX1%-8)_xcXRfho<+O>tnUW_I3HjB$i`% z^*XrOl1pnc(APu{&bB-aLdp5Iu*+ef?vbqDR;F)9y_TeDX8=>jH3lXn5ngNwut?eG zo34s##!A9HHI>YNoqdj=UT~Zs@k}cm{!9gth>p47eF#l7H>LGVbTvT5KwW>DE)y5K z(Fv`3wQnEnOEyWm^|@)+zA=1{PxJJPJ4EON$Bi1uTvo?hgyd>^A;c77l4uM&x{`#9d%jVKXnu`HcI0Ww zi`G~81YbmFS_$qaRxbb>iAw|F*{ZPUx9O+F#Tw5tJpKY=?G|f3alb};D-Y5|F9}0Y z>*P>LLWV!|e>Xu3eC^)eh7V8<@+nkf#o?6Ig?5%lrI}&1?TzN+qzWC?w)ZRBc+9*% zzBreAP~sSL#WX(__ykL&t^rh*-Eb>E&1af(i5XgloRX-7llRYo4V(derTK8bo%>KK z+N@80D+fEn7GK)w`{~c9RY=1R?5B$udGI?0M`kgJ1xOBU^KWciPH@x@%M9JHOlzM+ zmCJdOqyiu!k*Sy-iSD`_t2K>_K{s63EP5I=6dKmm#eb|~KWKL_)J>dG#|LDu?IlSc zOEg!=M1usuAu5`rdxmtwMJxEiGR1CtpH3>mWND%k>?tKKWL2&bJAn!$%&*nyi39K$+ zqZTM#xinjT>ux?49z?115I517HZC6znpzL85_#7$!f_!eh&&L3&a!>K^k-RL;Xz|5 zw@vu{D54~?WRb0#uf#V^SN_C>XXzsa@*l;{K+K^QNu%WAkVvXnr;f{yWyJ1|zu^(4 qtJ_ZS*4o_Wekl62?RZP+`=5pX&>LX_wn5t48?d*a555S0AUC&DXFfpy literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0123.sha256 b/tests/sha256-vectors/0123.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..b8cc968d719fd9c62569e9a0409f753a01e7e050 GIT binary patch literal 1105 zcmV-X1g`r=qLKnef*Nx9pwaLYy;g0>$*mTYq@w*_(KCD|!$1Q&9M30nTJ;VNMJU9m zTOgPlcMVY((?$=kdlaxEs&skXQg0gV(o$j7#L#p#!miz? z2y;5Luo@}>7BHI51jjJR!UEBDne18vo(}6;T6SS1(Agz}ZvXEtzH~n}_C+GltX_k6 zK!{X8RrqlD>evK>4kj=x9+(Y%;gH@+6?z`V5w$BYF+}%$Hh6WSv5A~YtR-Fp!(ont ztX=I<5RjgLN6>HNo~!90)rllScdr(9kNR7h?sWfq7V@@X#2h)xR7xweXYBVFE}Fzo zeJWqCbEX zee=N(4~BWnGk34jAuULw%yP3$w zP=wpO6Q$PSNiy>&&<^;>Fl@QknuWepWiE5|gbRu>smqfS8>f_~aVUR#*CmEokpi8I zoW3ErAD1DxQxJxIsfX+)dkmz*=y zskF=4sJ8qVy6{O4&aVP_-n=!}F`dE7C-+qL?iAc%RMyllmHw4fTH=8FsF4l+Ev<6v zt;a$=qr=_-(n?#iR49?vfnEQbM&#n<;wXh|no%je_m>j%N02>FgnJ+T_9g*cM-0{lpfP?3vy zq>6x+ypLvbb=xV8O>}v7U4+2C44UjPIqm|!t6e_*<1 zv$@fXWrPH4qD-$!!XMq|iIy|iU`9#AE`)usXq?{=%%#ZYVj&!&OAKGZN~QV1*Y^+6 z9(|$CWQ^H;lQFefeA7yKdR_zS=!3zBe1(YTl+F)uIYi_o$LmSM8{BrKU&&UxyY`|I Xk5I{dR3-c>z+iIE78gwI? literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0124.sha256 b/tests/sha256-vectors/0124.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..7686e7eefb67dd4fb23cb5f67b5011c1d3959d7a GIT binary patch literal 1356 zcmV-S1+)4~7{EY5+@Vu$$=la?ox4R`UUB>;lT0h26h%9iY1(xK;8`$>Ay0}Y1Ohu? zg1{K$Akkl~{WZbH1mIAb;W(Gv2uK*!)SO`|)eFUs(OFgBSyj!gV$4B&G3yY!R;4wy zEum16)#q!g`v@rJcp|TrK6s|uULTX;c$Pv-H_ox5*B!hd#@}}1f0+VoP=GW*YZL6x{XGG*t zEcc{X80j7vx_o`l64ZyJZ_^(6q@I%VA1)6AsOflH$ChD0O9pyAy8wvB?JxOKiAU#; zLsF>52)5$6VgN@)o{kDa$00!7Z$7Db2ZNI5$wf0c! ztB~)dUi9#0+<$Zu_Xex(Vod!c4L_UZdE0(Vp}<&9Rg6R2>lqvoXXhA-c_z?5^=~VZbQfcG8;1bGI%&{3Lz9^F`ch4 z(5Hrh{@fi1uUNRIl41$XXgJ zc@ODtq@BZ0`@GEAGQ~hF;u4NL*409<5h8PMoMcAyK?hvWcA*-Ijw!>ii-!f(RCZfU zY-wSa@tW#!_IY4zsYNPPdL5|ImC}fPXe}6@dO!Orku!Xt20*Ur9vjNwbL6s z{#`sazASB7^stnEEDK2#Kt!I4WcLYdjDWgshmmcEVA^`Y=Pl9~cl~wKz_teX@B<2) z$ROT1U~qdiXmf*_UB^-m4xv9~qfg%G5>^+E_8Xjr0Di_7bt6SSmNpB9DjrULvP%DT zRF573!7hYH=0iJMJf5>KG10S2H$c+|-G)7Vw>U)PhSu2$`Wck)kn&28zF*V zjeD6-n5Si>|MidE#2t+MC+0#VZwy!z!s<2z)a|gnp|5hQ)6n=Ss^IgRmlzDBhuSvl{7P!Ti{DddJ5Aaq&)#Ge zDIp|fBPSPFP&Eel?_bg|Z)c;(r1I~VPo0t@w%M1Q>U7dX$E%U}Rkt*YJW3n*n>bUG OkUx2LsPw*@>fJ{28m4Rj literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0125.sha256 b/tests/sha256-vectors/0125.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..1df262fa3a4c7aa1f21dca9e150c898a211c092b GIT binary patch literal 430 zcmV;f0a5Up9Dxz$^H!z3sbZ#^8>{%%x(GmdLrkK#jbv6K* zEMK#!b>2UOc5nq~3Mg$baI!XOR)!K5#mvn89xXa>wn*k=c)(wrohDQC;0Rz`7AWao zLT#@or+l+&{U0`Q!I>WPTgS2DMAtzYALQ@pU@|1kOE+fWK8$7^lPyK>6)<7-#u`jL z24!;K|IY(Vq)Zdo+ zB2V&c`_A@e8nFbf(`X>HC$F{~js?mkPWqmdK4RyM1TQGUlES=07d7nA9ksRF3F|JGd~%t>lWY69ai!yvwC6)zJfOsZfU@0Vcdfz@T<^k!McmfcBp@F^ zO~@>X472GW)PeDs<O7Tu ziQ>Y16E(mu?bvDq8CnL=0-MX0_)_4Mei_rmDz>h|`Jr9aq=FYiJhjxA5!;_pc#>=z z^%p88CkKKL?K_Enx{o;GJfd2Uyze2__5a&E__jT*+k^|(86$BP?d?~)`@eaga(WLi zBOP%~Bj#_k!#(C+G$;{{zZQ;Vdhb=8({1T>vfo)Z>>}YID_rtOSDZfMxVKwf>$WB^}hqy2*|D z5tfr(h$@>Z_H@}r79tH3Gk|{(`E!zT@6%L&nYyHll0eq(H!(tCT(7u_5+c2v>O^?c z@h-NwMD`I%piIXX6eqJKFdg{~g8eKh)~yCQwEkS1ybIm;k) zqc^VzhEc@tzhFUpnwnJbH=XuNq3{F0`zMYRh+(6;+AriWYl=CiuhwdD#h?o++3Oey Dv-!z6 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0127.sha256 b/tests/sha256-vectors/0127.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..73612a9d2a7fe0bcbc52862833482376d655e176 GIT binary patch literal 2285 zcmV6xFfzsP#g0;dcl)~sqEV}AH>2t&|@Cpe$5*2*czS;yMv3>{3-9#=U8;a z(?5-}sCg)o!%^)z&{H2WC4<84Hlvz&94ljWTvyc}OD}$wf!d{9cvu2CVPwQ9B5C|V ztbmZtB*K(eV!17`udtjC*~7K!!hcdlyDK`nZ0Et8SfZm(X9IzPwr9b$W%kO8EDUuG z>AY-AXm1pjMqV7wK5P0Y$9o$E$8;Q&o_ImzA-eMIr=BlZJk_Zp#7SPCz3DqO_0rXZ z;6>*|(_rS3x_BEsj0i^iQY4>8N%vhsTcL>KZfG((t@^kZ)BD&-wDSj}YdWrC)oM7v zgv$=(tIlq(0DQwl76)i#^{qO@{o(}${B0^hE0qZ?tq{V<%XN=hP6IUl8}8r%{cGf) z_YY@wX(mXncv98Wi*0Gb0nrY#So!nda3_7}UIzJI+t>F&QKCt@wBg$YmUwR>4$GlW zOpOI2V2 zaD=fRG#g5{|Ev!lB|Fv+&pS8Pk6Pt1&*Wsnx$t@D0tSKYv%J`|(HN`1qQ(|>7|F8x zd1UVLrjUKXaA0$HF~>U6>>NfV1ipqn&sIr3n6D|6riRHgAlwjpPpIr6pEDORO*LI=pZaFwyG5c4m~IfgSX?oz(Fewn^VA&(cQ5Dqq~NKpB> zZ}{M$E_-dqw6dVhM?Z}r0Y0A`l`fA9^BusWT|;~xV~Ma}tfg40fZ{l8YK5?c$snPf zxv%19X4q&eXL+-2mOS^iMFh?QLgc{(AvH1~m0%}@CM!uCy|^bwu#smAQt<$alml~X z92|$ADgD{#FR8Y+Vfm8%lhw}zD?!^%cae|ti+t9%B0D|XoW$VRJtuTGhC52_;U_5Q zNGy~JaYgy%MJ>vy(0P$S_Bn3^gZjw7k~Ba2Hn>GKSBpY15aDs1_BQUo5%fvZY2cil zv=D=_30cV$l(%A&L-3=Dk=vW^9oE0x7GYv)8uNI>M&|;J>f<~jaAy(IP2){*)^EZ{ z`2Sa_lh2(XwX;H@Q1?6HBar91pE_c=!dztlvxF4E_*odVFe&HId1Cyh)XQRg$Ai`R z{HlpSl)Zw#bq#NJFlnJt0gFTa*`^>bBuu&;2{^# zF+6n8!vm-X!_aCohAH9|#vJ0lGc}Qk9T-XhquXBtVK=m9tfPHNjBjwjt`h%UBpe+c znnXvc2a{^3Xfac{C_9cy`0nBN=sWp}89e9}#kGvq)^~q>AW}1O?n<4Cz~R%Nc9#sG zrU^7?`t?}tlJ#u2dZXrDv0TGRPx~rE9$$Kjj$O^*Mn1CO$KlYlqd+obz$@Ru&o1*^ z@b;V&vyYmNDC8{!0O8oHMR2}q5cKojrm+h=Sp2)WEN~YtojU92550sJN%g_o_-oX( z;ua`kZHCDXnU%+>ka40O$<)IV%i}z(RlN}sGHADBV_6XY$Z#W7_=iE{PpoQj`At^+ zum~{7xdxG7_$R)CcOj9&JDxl0o|kV<#{ix{m@}6Krc}($33%J9r0Q2TvuZ*Kk)lpa@!S2}(X4^i3{*591MR82QVdk~;!Lt{JvpKazy+W# z_E7PSZFqL&A6@l{(i?RcYa$P8au7oEw%WCl$&XqDx0>q1sB9K6Eb6!E5;>j2W zA}kFEEC`*>0H8;oG=IJ2B|cJY`LjL`xz;RLE4lLMm>mJ}%KkkY^q)?nze=jlYYMF! zW9lneO8kxs;~4nApKEmQWU`5>Ml82<5#b8-|Cq2?vfD8bVIx*2`h&9*jKiby(A_t{ zkX?- z1Wq<*u=c~%f!xmlFHVjycb;$m)5wK`yf0!(x&;l`YJ4eh_j%zNVatVz;W810o_wtu zoxviF4v~O*Cjo1cCY+h>W0eW$Y;6UjY{h#yLebX3{#1naD%KiJg5N&i)^WQzoD4hU zG0D`**w%S5iWHVP#`N0}NMH1irA;PtSjNB)K&R$DH zi26!-@~-5lv&V7b-=I~lp3Q~tTPI)q+0>7c6czMqBe zc^VbopJD+wvfz*i$_L72;F2h{5bkKg6w_A9bKZB~W_7wJJF_(zCHD z4<{L%fcO36@%}QGM2CFcwL4Fe4oCSavp$=UfO$)ui1Ed)T255!ryfw4goS0^dT$7R zM6#ApXrhnub7ojTwqZhVs<>C?b_MkQNf?KogY-TRceEO(>JbVi!=aA z=ly@Fgm+$-c)ep&BeiU0FFm~;=M&BdBpUNnr{d8v8p@rCLvVTWSqm(UUzywlXXnS4 z)dZh(beKiLer05VnOGuedm8s%7+uuvDg6$S4kOmu^O4F^SeD}T8i1dVF)%2L_XeZL z5U=f1OlqI#uQm>XMPxMV)U!FcNU8BA21oYJlG9q4eRsW~I6QAhW_VG8nt&R@e@WqyWW?<}t*KkICXk#K7ZHb6My>>9k5+C; z^WJ1%J1<&A`Ib22|PFe>p)$tIA} zUTSATCC4!JRQ%LuhI;PjGz_=%%!Z-s&o}nfOxTK z8l~6&%RoViE$)0I9?3(zD3R*7RH6jogZ}iis?`=@Q{||LxVcJ{VF2 zHbk3rh%v(H1~7&$f1t7RKujNsnz@l1lK*iQSBa^yB9dq(AJz(r?(vnB`X+eO43vDh zOc3ClLq-!W&kkyFHbjihX;u-^>QJCOb&AsM3S^5)+$ruIIz;2a&w7;OOYU`+0QN(Zkk?K z#H37H9rlKWHIqGTb2M0d@M^V#pz=S6R~9VQ8?X?*NcwBHTQj)c5-F$O`a^-zVca>! z!py4t!eQXK=d|MBKr%sPotgjC+*Lc8hm_LW*)xH3cE$v<>^(Tdn8 zc;2Q}>LuZ2qJ90d&XI%ZBO-u?TRKE%l&x_P{qK;G)OM_xc zGHNHVUi?vxOLtWS3~NE~jON({0S4#e5_}68xF^kzUy}n{`lJPIqi<@e1EVS`x8hCT z;8sOp4NysUZjW5`Ygyh(i7>T&hk`9&e*ckYsyWtXXVA06m0`wtdi3r65$5KID86%_ zTxJSN#oucU5Y$wNBPLL#aq5x7Lmi)|rzw9YjtOmo93FtJctvEbxyXiq=dE@q*UXwY zLnMCYRiI$aHDeUNW!`o`HV8~k+&2-^)M z3xERZPd0X|F5~b!H!o1*T&|6Sy!x=78psVcfdfiCAtW*w4jI4H^0$pfYuBk!2dQ-B za;FXHw}<6G21SUZ)Oy8?|Gqs9lBJ1tmEs%ObfH>zImJ%HbBLg>+V>+Q{`#>pf% zRH)1F)5>ANI7HWgqz*f!FriAs4gVupO9wz$5b5l5f44Zn59O54;mC}JCt~b?189~yiQobx+c_^+UvQ8G-PiK>RZo*)80J3e(#t%O+;FCoPbW)_FZm?s zpY9BV^OG9%X>CPhUsaF%3wmxh9FwYtNo$h1yC1+YL4 z-3^07cjE&>3~x}DGW(#_7FiOat(zuWKCc2?<^F)nV^}h{a%c$}W3WXu#=eRGsW3i) znx_2PB|cdw_=mvhr?59q)<2qNfDo>8lN&7TXu8+eUT#I{bEzo$7+VLkJES8)nh!n7 z;}nWF2@7cZIKGPeWRY55qa$IVLX@uY^4tIacgxzw5us+lvvKt+8lMOt#wR6Z^IR7JM1OB5;-5~9 zxn(NWpFC|R(|6>dNm#3qr=`8(6BLan6chKIbov;93x-v(T}aN0L*k4Y&1~Im+hcAk zuI)w+m;gS_nf5=Z1KMrXJn$I~9$L9J##i`U8n9J!MAW>s9FiaKWmA1WJr8#8_*&_X zvP6Ah*a3n4eSBd)bOzXr(F-8C5S=~7@pB-1RH!kjmgM*rhmt866}B=+cFTWqvM*LW z@v=S(dJYiV`X$Bn-o7*3*a%MJp{ls?L%NJasp9DSd2Z&JtA-nks4Z!y@EjsCK_}<~ zZwJH-A7Arvu~n$DxwZ_D4f=QHr1P0CUx}OxTiHGgZ||8w8P`R>b1CeQQAPE_yE_l+ z@}lS)>H>N^Tfe}Js55Tmm@9xU+WVDdg>|r(PpELBvcjRsbafm}F^JSsyPZ+oH&t@| zw~ZQMqSGIJzjp&69QuC5Jj4bJ8X!s3FjH|REPoi0QW!Eru0!1iZ@KM!z%gR_MRO4O zFtfF!(c)D@mfjoG>1-?OFe#Ow%52#=UI2w{H#WoggrI~WuUyj8996thGm%zO72`|Y zZk^=hwZHB8X!HN`eiqLKGzHM2e+Fm7Kh$Q^DZJUCNo6i`n zyFsS=kVC!TolO2I7w+L4(&*56{Q*)q=C%Vx>t9hh jvgLeJP-Dwy2kZ~W7**6^Tqw)YWxT*jWjCHe{-aJ-owT0f literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0130.sha256 b/tests/sha256-vectors/0130.sha256 new file mode 100644 index 0000000..0111e8d --- /dev/null +++ b/tests/sha256-vectors/0130.sha256 @@ -0,0 +1 @@ +�0������椎@�'N�msd{�%�n;+���͓�sm�Z��|:MѮjS�IJBP9���Q�y�,-�7���(�������7�:��nuc��;����0~<@4���ގ��8�) �]���ف��q�����Q��*�z�YhM-�[��NQ�_��~�jlH��d8&G���Y��^W��� \ No newline at end of file diff --git a/tests/sha256-vectors/0131.sha256 b/tests/sha256-vectors/0131.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..f8e6023f11e25500e0df8391ad4ef31aae6e8c4d GIT binary patch literal 1562 zcmV+#2Icu)c~FQgTm|zlE@na1`nd`Lg!}b9Q2Ar!jlGhAF~uSmp!+iEo8D0dGGJTQ zSx>boBs?cLYUSrLE_xw$R846t5Od{yfpz$Z< zrkhi8aWp315V=>!!RnO%rp40_<1g$v#wurnoxq|AWAHjYM^GSsfOWo+G-wXxoxTYI zfHCx&#U8S6`|!o>reNTnZwuA8aFg?nENXy}_~G}&S+0nhvj(*mXDy(YOX1*QVDeMs z2$=pc&!{gH@C2eJL}0`_U5&?oO@<~YGCd)wmNeq3B2lZ^#n(GIGuGD~zgkWF4!}sw z0?=)5Uzk9U5VrZdDd+3I+GTix;YAd{=~Xg*aQuq;Z*i?`7z>mSC9efK-Oy`DCp*~Y zA(IsR2znDiE~affS048qK9kE@~aj+>B)2H8geV={mL`(;s^$q>QP zUFQWf^8_b*)p|-Pl0%iR2b})W!g0nvcpk@L_XE((j?H~gP-jI1IE>bA_l>wXz0zd9 z({^^y`5E3}9V#s3S%5nNxvK327EExig^+$TKQ|Pjs>IH0os}^RB}LFCGONHoWNRkm zG*jvQpIjJTR<2eJ_@_SZyJ^6a$Tj6$4Nx+CKGJK(3Z^37`W@?CwU4=`K+K1_#LtMU zYC2VAi(1vhM-=uS#K$9y5|2RC$i_va6&WY}H1I&=l~4y>fWXR=u(J8wwMRIZ0O zJJN92->F`Bk6SpRrWdgU4v1?r=;tf-UD)^&jy@8w)RzYW?df)hyZjhfN|_JcT!a-* z$UPGnye25{fNzna``KiuS1m!98Z}Vg0}Ixh`$kQ~%Q^DP)TFP=j`41~vG5OLs&Qjk zNhdxy(h`+JYI=}3VS@;O5zmM7sWcIm8&raFjp26e@jlwh#R}1HBU~ZxmS0B->f<%l zg@i;XY-1AFOKl2f(JKioJwEW%ip7Alb;h>6Eqade|01}m7z?Y@N=KGnZd_tfHIDrE zRJ-XhfCY&@vXo!0Fy+gur^Nf=x?_Q%L#j{@vdjah2d*KSrY9$y4zBgUK;Scy4bKWn zX|x4p)FV$9_f7&jqD6e4VZaFTcl35(f7An2gx4wZ6|O!UUt0EccM<>j?%F73kZMoF zCmV*S2YGJgF1=;wxz3WWQ$DxMmr@r^fW2%Jr_-S`rd7vjaUk_Wvkz6kj;vc!75Y}z z^>_mb7ufncr4*kQK!L{Nm$`NuMUYMYoOisol1^a%p4>e(EbZXL?Hsf(KvO$LP}Rm28%4eJEP+tg zlZv6|s`j1q;GRGqL3bRS0^%1es1lErv4p({6y=Ux^57b>_&FW$2wfmm4u|mlj@ds@ z3d#pK5l7wt7q5zw;G|Qh93cx)+UC`9c6W4zhjTdur;OeMhs*Cx#3i#WyUMw~x2*4a Mi1{X#7C*2LA@yPUr2qf` literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0132.sha256 b/tests/sha256-vectors/0132.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..0d4685bf0659dc26918b17e2fe057dc7458c572a GIT binary patch literal 2453 zcmV;G32OFisuZOwr4>$?o;EYOxriRI;`yi}aG)C{t8|JxRr1^Ib;Mza&LMnu2IZ(=i9Osk80`ri&Ih>p>H@~VZ!qJC1gg;hGK^E@yj;0nDM40%2*kA^OP4MDaX zh>T2*A0x+(K(a`y<kM;DO_+SsK9^qu#2Y+WAVAvg=n*8pw1T|<(l$e>~ycINd_ z5XuNbO*_H?LvW3Q^o5U?OK+>BN+Z{aZ95zJz^+sr?l#HTyj9Z5;Xl(;&y7^aZ5K3G z?bRDZyk}JSh;&-Z$W~cLndLUY9;gqFWS^CnNWzrz`sgR_4-3oC#&W@MBp!H)4hP~& zu}5HiNI!ueT(lttz6UM{-~D>{c3!S8L>l|L=(+2#H&n{}Kc2 zc6NGbvojiK!*;Mj1z=pD*8mjmaBxh8rA`R6fJDI(9K$c9i`eWQ_@yQ5SSz=rzL`CSHmWZBohTfi%T zNtMY@P&wi|)2OV$p$@a>(AZqPFY|V{ngnGL1SxA$k$rNm6 z`F@Zw=`$XIO-;z}WsO5SkZlgj{(n8^JalFiG>CF)l~~-c)84JYH_9We&`i=ZfeMCbx^?mX7g+bkVcCaUFM!6r%@L!UgHR z=A=*;YZWX6MsM8t+q6xqlH%5Q3>NMJ1$#cuZbTILoND49UY_2ee`awh_ih5H3ZP~a z$RD=-BEOBPu~i)&IKV|`vz;!Q4~!8WSQe%f!p|cc-mA+`hiL75T;M<+pp5b2`VPa6 z{fWx{@*ZHyojj$1UNoY9^9*oy|4_qFlR!Snoqd0TX84(g|Lf<|7OVi`|F0W~I{F#U zw|CcJG0$A)T&MB^!u~UV&K(bSm9_%VM9Dxmg6trO7u;-x6?^ohUwox7sBwEf z8VZZ*H%s!4CEYi+2PV%tg;{a6dPmv5Z@no#ad2o|@zWdEYw^y+jrr!LU~yoc58VEUlVLBw^P)T1{X2$ zX6LJbMYK%CrjsdxuXcaXzbg*}$$Z49ENj?hw@T^x?7OA5$eId?mDP(ex~gzk_}YR{ z3W#-EGrd-6eCB%fbsBxx-*Ey(U#QkKvWk0{bYG})QbD6{g82@7XeBWD`i2L|On1FE zsvO?pHB#C&~knJ=&c(ZZc^ zf#Gce%?Isp40Z)kqY!bP<29DznhZK6(6m)|UcuYVLKj+CZVIytEjf1DDw2S`VHq$y zl9~X6msoXR&G3-e(9-DI-wtHoP;Mvl`2aC+0pA!&5XasC{2R(17~k%ZMWvf}n?c(D zT%pv9;qWfb^pr+PR!+o?2Umgy@~^6Q{+ER;p=Q^Xj<{=Gra#9cfiD@ZvyZTSDg&w`-E(!Ftj^#%(ts3nAyGJS<88*m=SOr_8iB0x3c6; zg@_Pr(%c+$VF64?wxbIUFodd`jv$>s13c|m^(x*4XO0m02PKhj+xFJ z*tv@By6IwJDtT2@ZV?lYJD7HJP+Piffk7-Pz)wfW@ zDc=sz&IN0xtF=$Xa^4%CreXBql=^3&=#6--8c#Qm*G1A+mBZy3F6Q0PVavf&iS7G& z#bTpq(vko zuJw6g=k-Kv`}@E#1uzK_X_=6I!+2+I;X^ik=vZshp+d*3NVoZMdLmH_B1r=t?1Fc_ z*3|Aigz`m%DNiwZnBu&imxa_M%OjN_LP2i~%U7R(rR$xb{gF88GkRd=X5D2EA5wG{ T1krnYpMt}&e0tOq%;x+BV;jj# literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0133.sha256 b/tests/sha256-vectors/0133.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..03d92a19824132b6dcff68c6735494288751d03c GIT binary patch literal 2318 zcmV+p3Gwz_q1$BBHkZHN;fus-=<-F~IIDLg7L<5S%BeyJsX))AorIrI{YG&c`*4*d z{q5;ah~nnQ`I@38kwY}-n|3Jj^OOH9Y0>cY``3%KjQO@tc2#~&$A63f7eO5O6;N(j2GfVIQ^DBN1aOXeKaN{2yB%m0Bb3&>kdcn*$Rj!~)LLKpP_Z%Pb4* z<2qsEm?;8uM~cZw&-(oUIJv!+zKGdtji<;7y}gV_9VE%<|JhITsK+x$USS)rH-{e8 z8KfDBwxaP0RukR&dbBQeYyRy8t4T-LXq`_%cTHSeJ^c;%Q()la&osG4vt@^Hpg#uR z7pK=D?Ha)%e|lX^Nu)KJ0y;t(ZeucZnL|`YM=dZzd!;Nbs?zAHl*t+Gq+)(rFG>ue zH%Ryzo%7nQiM%G`|C+V|4l#mpm=pXv%23Tk*vv5>m7ev$gIrJ34bXt)HT_<>G5X?P zyUwIY>aK`D{=vuf+Q6y>2fF0XOMw(ql~h<>{KDQ3jWDG4bsgpMR&pdMb1y*V*GC(sFI9a$J4K63hQ(Xi7FO*V}(ft0V zD)DWOF;JDJw`cC}aI*(C>-~7nU)IPO<*z!TQ0RGr(#a0|#gkgJ zuf}>er^Yr+B826X8X^nVF$ER^(C79F_F)Nh zBu9n0{;Qh0EC}XbQ!BSU4GnZa_tOUETcDa!$C4dgs{9Gk8-+U5FiONC!xLme=Afr7 ziIe6k%nm`n*;%i=`u=_F<1n10nLoYLG?`9FAZw`Z((@+}=|!imFuRLM$Wx2=SWUFc zPL^pF?%N%rr4|}MwZ9rm*ar>h=AyT=o2FtFXpgi30cG?QvFT|Mcz&T>k_vyS(3q~8 zygv8^+3m_WC19|VQ+Lw+1ssdA9%wx8t`y~Yi)jRB=vpMfy=0+(6G@bPV`1YInN_$j`e65QJA7 z@vTNQupWKx6cw9RuRQr7A=;{oSleqFK3u?cP4%(*9XJ^elmW=7w%;}xWsSt*+%z zn&#`%~@$0}sZ571mVK1ziriWuyZ#r822N5#{=e_o+Z-aTJ9om0dpynAKv z2i6Ax$E+tb_|u{|lVxT@ucb;Wkr^oFRCcy(g98nzZ}<3>&#E>{jFYkm{8Fbe;4U<+ z6YZRQTu1Q>u0&dvlxUTYyZE`EPJ^lZKSqm~AMq$%wnpH@Xo{PlnHAN5%D<8!-b#;1 zB0n>jo1SgB{lGEWavZrSKm`ajl^-OBiShEKC3`Xk`j=l$LPUZaR{qEJ?~XBX+{Y>M zE1;1+=p^S`@}KOD2Pt(&jBBf#7ZFBeovfemSb#dBF)*&M0L%5X5;>h+7Djbo!iFt; zHBU4ECNXf7_d1PZG<$#cSX2sfcB-sV zf{CaRWZk#>dUJ#Zu1J{ZQeU(R{lYF`V0zPHT3|I!LP&l0lJxRfCa2zmCTD;b7f`V3 z6e0|kJn58m(23HJCLe0{`H?V>A~*uCp$B1hLb44P0`^GOsl?AC|5aUm#6t_Uj|~P4 zVrn)ojgb@B)*959gNkR%$g>0poS(Pm!e7TLz zuHJ};9=ee_eMvnKaf7Ktv5-33(IY=#j$N$Zp`RAj>zSTH#dM)DJ=A$Y|0ALk^X0OH zXI}@r)K2W!PlN^lNmiJc+(P9L*d3g5gnT90)&nbh%Zi?zT*D*VYYvk~>&_ zJRow+F!|wswp6CvIcaB02QPOAII^AwyUx$pTr0uZi5==)6LA;*HPN<2_#}o`TNSIi zU_J%1uAJL$F`WQKE@;I}*qMQH}kAnWpAgKx6f;woS>6#B0pU*PN}j7b7`o{3wSlQrIR~#Z;2_xB;Jbsj_5f ze(S^RVnDuU(oY5|`gWIr!^BsCv_rmO7BuO$;NAu4Q#Cf!q4!&6OP_L0$QF1#HkIN< zq3qa1Wxd)S4uTc7iG#f3X(|}2RgDTK{FOkIuj5G26%$XD&bV%4aXWvQi+E(fX;pnx z-sG04a;5`c>Qz32X!MZO%Kk~XZ{GwPV`Tzf83wZeEB|JtdW~8VW`g}6D_;l27!IfH o-s7T2ZUTp@svuu3_2x|8Q`2jOM;Yz{` z_hYPzeae@65vX65Ynv=->?8%$APG&)Dv}N;VlD~7xX_)Pq+AFK6sdvFCPFwG$HYIR z9bQ88?oi3cAJ9`9HC$+}Ea(!pfJT-wmF;bn4Z+U~l-SQuXr$aV#@wmWMG@F@=Rj4L z1qlAm$cu{|MIk)J3o|khQf*+);ZO(Lohch6<50)%qlQ{n4Op;x8qv&$u7deCw7s#w zq}Gm8aVK*(qk}-q24er(;uq+dh92ZMV&uJbnJ}A#!_3!&Iq>wYe81yZPlo^VM&R4{ j#6&&po_%iw(QF!5#(%3a1(lUP1?*xB-qiD;sP^?6_@a*! literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0135.sha256 b/tests/sha256-vectors/0135.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..8fb78d60d75983b6e11333654dcb2bfbf213f594 GIT binary patch literal 811 zcmV+`1JwMYrMWFTUa$nMDZX`5Z94#x##t9K?W2%(?&N)EHOf?561=&USf>@szl{B8 zbRwA<&j^GZJNt$w11+HrT=c`v^ap7-R7vjRE$SHJp$AU}crjri6@I&( z3*%mzwArtVAUq3Cm57S^1Fc~(EUzUtl-voQsKG2|2c_QIHBO_83Fdpyrsgn)FE_bB zsNi{jB6f(fAU;d~e2JMoA!$?;`<4$tr=I6}Y@7)QD%fug&Zy+`m`EKC!)+3p8RRYx zaUE&j#3GRuW~F{_V`k?YJqc%$s8|VomdOFGDE%Jw3&;i3V`#JH+;L?BP9GG! z3{T>lU>zHak4rmprGnRRuv*sUsm$24oL~u~F}(o1p|Y+9m&(`E+UzZ)PSNA1=*5SS z9S*?UnKmuSpe8bNS480kf?EcqYuNXTuu@=`YlBUtm#zmAic^1jg&uyN62ablgSn; zcek%&E;jem*OO0)U#e1FO>%qYI*c0St~r85V*}zkvV8oHL&%6%rUl6Ms@c-a=t>Rd~o<6 zTTQa37IxytCwiEFYUmRvr(c0m#gY~dQM&fKr;NyEIctyEP8WiSq7(Rj}-?p_Zd1ro=-n>9D0BWY;K+AD@W0LOZU6QL9B*?18(GDmW`kq1ap4 z)59K0IC8u?76uFEQ8WgePCj#{QKz6noacAKJ?JXEl*W}$Fo)N8Vfj{w>2e#huoy@7 zmH1k!b+cbvx(iRv*adA!S^YdNXVPr*fZ&<=L=O%Y*(W(h)Zt(eEx-Q!xOTTRUrab$ p7{zb{WrfLY$)lCbzZ9vgPB??C`1-XJlPzt{|MeE9wc};KQDgKHjCBA2 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0136.sha256 b/tests/sha256-vectors/0136.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..4529ea71060835d886da33d9afeedafcd2a01675 GIT binary patch literal 783 zcmV+q1MvJ-HM(TaFi#Rb%XItnadrD%JThf1>nH&?A~wfUjnkPoaRamXY%5se3LQ^>&voV-uBhT z6s-|q=%&bub0TKsSZF+K8f92}zHoZYYve-CJ7&vjI$>N$z)P+WV5hdW{)!}(7nwP- zaG=J&)Po4hGBW#f{Iywo(T&~4ZskW;Q}B`!C;k4GU5RMPT;G+)uI_yC_rRBEm}w~b zNk&(4pyccB$16fch6)+2kMcMc;QX9^v!m7=bE`F?zq?6DrbIOc{b`Fw3l$I04IbIM zN5sW(Hd07=7mv=dt6}a2(mP)3#rj^ne#y}6G}h(t-$KP1S80ELDFMrPiqfnG^A477 z5c%(Iwqb~5XEJ4~qY=f}vzj7>opivvYN;u8x<_KBG^n2y(4~k<*Kg`kL*KLS69$3N z5DzOjd`CjO^{3vlB)tOn+A$otj7fDHLv$j`{XIXo{`^q}X9g}et0fL5L4!ujaF}Z~ zJFwy4Gy)tz>+=zVGr%!$>i4KhRfxYYGV5HD6|XdcV}qn3kVhX?qAENGRySAnm2Q-hNTT&W5`BgS$-mD*4Xj2N}CkV}KK$auoW+t|6ishzdw z=TmW^5OQcKLnj}#UBbV-9ex*1lNd6j(?4+?3;HIotr+AwvTmE9n=L`gtiy-!vjGdg zQ?Nc_#j3H0Gl!D|l>ABqPbaR6nH>toaRQ3p`z10S*3Y1hIU@#Lrd8^vd9uOnIT%2L zFqZSZS;$yP(u!W!TgAAHgzr&HIM~2@eJ>a79r+7$0j+|gS$u}v%6No6?x{gD6LE(T z#{20%834Tu;&+Q8F2^&bUZEcs4BwpLRq? z?ESVs}&Q?i&wo z^?gQv-frvnS+Yft%A9NZ@hv&Y`ch-lI=Q9Dbzh+^kz+Q`IHr~-+5p1ox`|*r7(OYo zbt>6P2qd#V+YzW+9gtoUfI=bjeOXhJQ(A#1ZCQ<#m^HZNabcetYn$`Xnl1T-_7Z!V5=}_=D{UM2ze%T|fQW%iCT)wS7bfbA^xecOH<{CIO=7 z2QFFxP`_yAj-SbPlb;rdBTYu!IYJn(Qh+Mux)bD(GW$Pv(4})9lV$(KbJ1YhLW^yh-%HGRntSI(Jvhd!)2*B#53F!1a_z&AjvPWc~Fm+RkL&w^k zSKBd-C&P7vuH_30D5>`G4_p0b0laYe8>?k`%&8=~jKG$2pcafHvMO`FaVcx~rlsQZpQjMb2(WU`<8!`%C!z17jS%Wn$per)ygcUa)ERu7&0R#Nbp;Hv zrpd!ndZsW(&Vprv^@6g3Df9v}XOEgd@*)|pni(byVlL~OVqgT?Cy(tX`ZeLWpGHj9ijTs^?}b&wOUwSaClm&#Ra0K6mI{_#Q;UYXJ?U3G?9!fMB~!f zDtP!awOC@jmZdq_3$Jb5Q_7XH?^G5bi(Z`g8#ukFqv{fyi_GM8HE+!x@L01_s4fJ1 z#pCN)`KZ^0qg9v}Q-m!#@IMycXT0*<&zaDOkuc5tc6n9`LFG3vT#0%qNRAL^8dr&Y zviTq!c2a}$8auZEs3=<(!0&P(-rXd=e=N+RJH1)R=@#S2pRZJfE@=q>h^2Ex%YNG& zQHiKJ31Pe#XY2a)UV6``b73W>z*yHdUzcJR)g!(7+n1@AQQiC>0nj7E!~~pBYQ)a> zD}>z`-#|exqb78!#@TT^!7vc|BA5j9f?CKVSyVWJr zc;@0ojWQqC*Z%NG-Dc=_O(@SO|03Ru$}yWRzj5+@M6$ zX`FSxFkK}G*DRp9hC+XDHD&NEZ5B*Uv_2Z)MKY{R1!9s`MTlA+{3@a_HZwCn$S@U) zKN{=;>Ee{xQ?WXNudXarXA6iFeUqsM? z8O21-k`(c7{BUC=XDQ9MwZeQQktI&b y6rqF$G;mob?Lp(b(F0cG5%xX#+XyycfWP(bLWM7||47x~c;hc?|EZM_9z0ImQ@n%# literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0138.sha256 b/tests/sha256-vectors/0138.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..3f84a7a75c7b6bfa5aa0005b0d0530e8a6c98de6 GIT binary patch literal 1191 zcmV;Y1X%mfsCPT|97f)6bJoW?l73vhRLGA|o{}9%-w^6JF zIuFS?BD}2hedr)1pATeu@~>Ey0XsVi>J+;}^XMc#ItSap*uWV9HEP(-B(7l zbr!Udv5q>C&&RJQ2fUn;4F4Gx+NM{_G5@-wg^P3FYgI4x>4&#y)M0X>Y!h>?@vd}Qg6OrNzeBbeIQ zZNmBtMhs+5Y}{mIw1IaZE%L4n*XI6?A}uxKMgLF-X{LsK{9I#8xnVpz+`wT+Yy+ap zQ#H&ZWX6%S1|G}mCWHA-0XfU)^~G09SWxmDos_{9dOwTp$l$AwjFSNgGy^9ZHd{H0L zqAB@8KG1>&hV?xP{Sye$CMHqe&dzBw>Sxkwoqn?v4S2Nxoiw;rtj3ht&_1C)-T<2i zYhsO5Svf!DACrU@li6`VfmRlniao5vofwLih0}fIMPYJVbfRSm8yN}taRP!zA^_Y} zi|&uw4uqFcffp1bgW_Iuvta$y)ChEIOT>Ys)Uas|F=-i9q)Ld~C9!!Syd1ox$9lGS zKev5hvL4bwq%L=o&xv@PI5`E;XM02-Ao<)Z?S|a$N7S+O$6`h}qbT@!SfGTPk;l+u zK>~5?srA1+P@MI%H?iux7I?R2T%fEz8!Iz#scEpV68!Sc1N%5aG~;ucw3$GwGqu}*?Db>6+^jvO?(r^O1m)#pP>4MkXncDk5^707znHlmF9hED@QEr9AVnO?Il;;-_0MsBp? zn1==u`B>6ZGi(0PSO3I<;bq(Gx`f6(J-SP1nG7RtC`PC%W(M8p)?DV*5Q*_YWOA5% zQ&se|+Q7^=#b5gj+8;HTbu&t7cC@<(0Xa9RPGy~0CUBr7am;0(mMH8qg)D++B7;p% z(#$`Z`3ou1D-cd}j63&sH3A+F8DYH}8SPJD>HqP)y}#GWALhgH>w8&x%m} z(c*PlbTpE-Kf@ZlMd*a_%A>5JECoMG#!_Z$(}sh3)ryQpP?F)wZ4==-3P0v^v5te0 z+9IgQ_+#h~^PyQi(1lPXJg<>p8B-RuZ(0F&5~35Zj`k{EF=>q=Z=Kny^nFU3f_S=W zwbx8l_h>za@;#Bj20jDU1yst3&G^7UC!6e����4F��,�vD��X&W�(���0�� B}��o����]��~� �8m��X���R9�Z�D�K�o�&�~�������Ol[e? ��*H�w.b�W�|5E< =ihA��ыT�:�1|r7���yo����\ϔ��{u�n� \ No newline at end of file diff --git a/tests/sha256-vectors/0140.sha256 b/tests/sha256-vectors/0140.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..3a865e8570c431ad320f54ce78eda1e3eb185dad GIT binary patch literal 2238 zcmV;v2toIwysX4Z!S4)71g?lkAZ*p+azP+#>@Cez$#pu(w}rxM*(n-g1$|D1U^|{9 zu|{^Y-N_61c@PK}w3-|CrtOoeCy(eCb`LB1>S?r_nnOuu>~|9gndEVst^ZnOem9g` z%o^vx_mnV}LLJ_ur^EshqUbWDC%e%fGAHx2SpD@}*j|==`>FLc6|OWY7g4E<2L^~d(!E7_ zfmsSI^xTyewe4Bq1w^ui24{E;Q$Sk*NO(ARiM`2qTa`d=9)yYE?RodUbab38XnbLp zH68j6*=>y+dPT!26Ixk|B~XS%>-1h{eUB6P&))!8t=cZe77+bQ?Uh+ouQND2Stsmo z8qY}9cI3)ok?lgQlhrT&RBID&?#xEW#=Z1{yb)r{hre4~ z{X;km_2HG|1g4I!z({>GI11Pyfzrzv-_mWm=^kMpbfWR88y4?(H7>WFUT@~t`Ov4Y zqyMAGu>kvPo));=osn#HG~3D7@(}MP5{8U}0@*f4&d{Qm@U&QFNOJ}S^UTyJp)EWO z5GI9{%I6c5fY7D6R)?UdHI{}=VeHc@w}Zq>tBGY@08nhX5m8s1Ge3DHP%Xc*4;+>y z{QwWV&jsveVDD(Ec%`9qM8yp-Da1UqVPJj)gn!=pDhNY6l8uyhSzsx3spJmA-&%38 zj1fC^^B`HYVXKPNz0oYtKi^~-;?wIGd!i>soFT=r`D<*uX-k;rIaG3CoSlzT>?+{i z**>5RrNVM$iR*%v?a72wG+yeztc$^E^F`% zd-+|*85_1?V{L>^TuR1+snP*xm$C|U`V|%=^NqI*yK==RE-}UxZj#uJpEZU(j9t1vgbWn3+n4tH^cm8+%C51c-)hyCs#I8Xu$CeArLEg1+{OI7Mw5?%~2 zKF62b6q*-prQPE9WD!(Av=WA7gpW(&R z8u=!T^ddTkqBc*h{!DM&zAJpiKOv~pVg&fPhlQRz$*X-5_6S3?b4PB^07(Qd?fl>T{)wRXD zj|8tzt4#qvv=3VXUZn?-wee>sWGJ>5>564?8rcSeo46X27k;hRX*?tl(B``opIgGA zG27v0fyl0_=eG>0DeZz$!kIK-;_je*F<77cXU_aa|6SAM1Jj z{>A>bNzcROtP%`rRvs=^1>#ih>Y6*eY?VJKd!YiM+Wb^iB&0UJqN+eHE{g-oOh6P1 zbDyVhj9qQ+fzygjXV|A3&ox%}1BH*Z^UgidSd5S@dbx(`#Yy!rRLHnMRAIGqHLrN2 z2&=&|!p^xcS2~W5AN_S)rbdJ5k-EW3K;yGw*33XVs63k>+S(G$6Kqg`W@)JDP-ZGP zB|{WP4ScomUfmwcwoC6BnYM&TRXW!eM@YB99c4G#dlbwGVRkDZQY+LcFS*PnJKJ5h z%#gL(`{Ml}LCDu_Zjv5AriXqI4Katk0=;9WHIc@n=v15Em9=*>d zbdHT4)dbLbnAkbG^sF#jh*&CrfQ^xl<3J}L;0f$jlK(Y)_6G(c)-u)45%%Ofbx z$H}-0pj+jnR;MX$%P}(jU5mU?keo!nxbNF)HxD2>4v$(s@2;kNf-o#j>SJaa?XT zV7F>1WnVs2iE+-9>)vY6OjfiQwLL8CVV-XqHMGj4^F&nXHec8@4Y#fqRRG?mIXC!o z;4ap>(DVm9=NRcWAI?BJo`6TCLc(bLEJsd&;#C;~s{V9vOioS4;nJmkP$xNXIFJi| z)^0U@%?ak#_Ezs8on?q%=&m literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0142.sha256 b/tests/sha256-vectors/0142.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..45bb2eb69c7c52a6c31a0496f00c08dd0617e176 GIT binary patch literal 1191 zcmV;Y1X%k${jsuH3FY5rM_585da8!>FbGIbM&QKeOCYv-BjAL zLF}1gUHbv~zM?vkVosyV%#5911YXQNn=SQz_3Te!MLs#R>)2dfVc;ZSAcFRn9~xp{ zeoiZ0odV`65i;q}4{x5`u>&zKo*stPuRU`xNdz-B=o$`nd|OU%)9&MvBiSK#q_72S zu~K_=0|&0vfxU{eU1+M!SY}wNMbA$s%%X`%XHwDTxq&b%R zQx&l>$)zp+r#ssiKc;%)IUO4LG^$cgC74~xIfm0h#ujAO%e4C(259}1$*N1;*F~f$ z6uh)X_EC^e8bO{IrJTj8}aKFBu$tk;OPn$-S~Xn-{93MMM2+gCbj(+v8z;VDiaP+ z3*9Gr&p;)z_DHT>ukuU@{KCBg=pRFEc5_8z;d1(vR3OQut8;;xaglGQc_Da~WCKURQAq?r`5Oi$zQJrw=bB&>XAxw1s+`kgj@yXsfoe zepSL1Yp)0Tjc0r5$S0H@1gD`5^Hs_BJS_Z97r?wFcBYhb1&F5qm(P6Gm@!3TRWrM* zq!&6>a(G98wZmWzm)kJoPgau?JTF&x-86Y2AkvyjB#ZQCuVoPjG7xTNO^CZSYj#p7 zK`YApW(B%m8PRk7e-4PS;WT;aU4~_r1<}HaUXlhf$A&1tHDY=g`U}TZ)#Yw|byGOP zMC~@}LBFDHRfn`}r7|LPjezfR4_nR!xN|;?bnhi<$z)f}%3^hbba|RuQy)aJ%piA= zg9d_hdgc!|OTH!Y;p~zr8fT;G47f<@B{;y1z>>!)1#}wrbKHg6Qzj5y$YT?X3HGFW zqmNApU%Bt7Tb@7d3nk#(Oy-7&~W2h_~$T ziS}%|s1XILX8AO&LUVL|sCh?^FxQc-sE8p=?jq`BvZv-AL@A8wO3EwV=rPGF)8a*B F@T^^KN-_Wd literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0143.sha256 b/tests/sha256-vectors/0143.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..f2e37f3a49fe901e5b668f8f9dc6e7c4fd8539c9 GIT binary patch literal 1436 zcmV;N1!MY?4BX=fd^knR2|Y;MopM7YL8sYW_jKNuaskn&#`Ekp)GAU#9^7)ary!nW zbxtAtcExTjkV+)8|S@H&IdbrqNF+0GQ@6Yy44t_}%-+ItFV7-HJ zL(QAZ1XvpE*bEK+{j+PNQ_^(kfoCbZ(ai1 z^z{uG_5cbi8)6$(ZucUuIQy(pc89Q z{eaOhMO67urqn4mn8r<>L$~KUP!A~E^F3V`otc3cv;{A@#zrT3G5TjZnh)~j&KS)P z(z0NJHl{uhc}Axf+a9joEL7Af_RIkbAV-|4*l`)Y0&Uzr`3>h>_6zVv*9-a4K@2#W zl(|kC*JoUFV!j;pj5qQ3@3TvD&^bpj16t!W>1~m-Wz?!u>fIWt5BYh`^f~`n=Z_25 z5A-m9bd~Am{)^qrpu=PEMn{VxrkWMGbI5W7`WC6Y$%~i=ghw71%c)g+!+IQz%#?1wG5|csqSsw_E z6bL57nYXtd>rGbdp%*E>=b(go<~;m*v`efElp}L4kL>g_gKc3!V}Gk@tuclG<=`VL=BIIE+*ldATGR#^lz4q=!KD00cU1i@3Yn;{dr ziv^~87ok8t@93C;RQslb8mTy#fgI{$vXWfkzLezDz)mckU$f;%mgw=HpaEq7?S&AT zFecf8oS|)>QwqN|nHp(+NF;fmj^$MUO>pS3bEcq;2k|@v791Q}x^{{4qBi&p;*s36 z5@c?|lQC=}2U6(Tg!2GSy4F^}e|95R{PE2I0|p;_VLZO|`IMZ+z7zSfKSao;EmL%G zD1}_cmZ2WI1)Vght>`hKeRIjGcd`sDo`OC2r2aHG_VmMoREZD&@p$LUlxSN4qMChz zv>9hKVsj_sO3}v0*%%cwpzkAY#Oo-Z@7()azzLQ+R~>WUT=9pB_sMA!ai<-Ag@heP zl&L4!W^Ll*elOV`?xd&pysF#r#gNjITKn~oM6y_-%z=^sZ%J}C25=P-S$5-|3#q~7 z5kD+omvAe%%R8bI1^ci?%ry#L#-)>ktS-5W{hQAbdD4`7!)qnFDjEFXN>G*3QfsfH zjJ*h*4NAdw9H#P8Z5Sy5N1ttA>&Q*HzXr+US=RF-4O>#C{NPIb8mUgWdpG81E3^L_ zc#)u2(l}NF?+4EW|9KGbQhH^8!@Im-#f)0+nikYSK#LDtq)prNe-0u>#Sx(8s4*-d z62HY+B!anj2MN`GMI%%dr>+P2-l9|Y@XBB&-MPe7?cJM=w9X4vQM*%^`j1tKmOtyw zUiL$aR@P)X34tF!6?d#TGEX~IpN%e_Ybyiw>^5;UlBp)6nhu;;s9_ftc?dy7!R!Z& zMAdZu8Ue%YEYYQ0Jjd@GsZhF5W|E3 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0144.sha256 b/tests/sha256-vectors/0144.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..4af8006e86d1b543f4e8abae28bdf8f6c148459c GIT binary patch literal 582 zcmV-M0=fN-M^LN}+#ILbfO;q-6g_EXLZ^d_V?;@91gTOSnvy$R(FfnHvT_}WAzQ9H ziSG;fZhcN<()vD9tNSZw0;ZZQ26qaIa#=&W9~c~qvNQl&M*#kE0GBUTxQsm1;yOw&qGvm z%++r!fYlK}DttZ_Rkz=)`ut|J%xbNViSZutZ3_*d;Y|YvFzNLKsYBY`OlNDkQ6>$V z!s|i-Mll4sCzRU7k3F%s`9$G!J?tV{yoUE2cR+o#D%ewCJs2sk73NSadb%#s*`W)4 z#uA9b(}pP+a%E*G!gRx4T6_FEerG>Vruf9#LXiX;8xeTBQoYQd>9MvA7_Q^O(CCHg zMXxoR9$_Pk`)~Sy4H4oYR$Iev73f0UP0>2ch1nwbL) z(?E;+&aIYc>^jMfl1~IH$zhz$HuVqe0JF2oQB{y*j#4@6aUVfm_v7CBM*fH=`k-_X zete6whw8Sj(SF;Af@!e!>_H51ngrc!v%q)W@?< zY`clg3W@>-y~%;kKR9f!J%dJUitYp3QiCT?pnh!l%LI2RiwZ9aV66uwJ_M}>D$2;> UvOySjm`k?R`?x`uh>?T*>mlnT8~^|S literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0145.sha256 b/tests/sha256-vectors/0145.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..6a6d038fe2150eff0d1c3eda0e2ae4b9892a2b31 GIT binary patch literal 916 zcmV;F18e*WRtp=eIl&z1FLy#S!_nvzbSCx6r=N%@&yD6H@0HeI19C~Qf(#Y@S=!mz zX3RM%w_3Yz{Gn8Kac#3;G4d6y8cF%3TsV!OYDejI(6QdKVJXC~E5ikNW0IbRpZCCu;+WJv8p z^!PA64HaeDhHEzw-pkjjYJl36%GvD-Tl~OvLk!>!8vKNr2NVlI6$4#%35)Mm*$Rl7 zEImTR45PW~TAU0pGq975i-4)FpJt*d!5nHzN-w$6t{8<0aD4~|N*8Il=^}ay2|W%r z+sD-mz;{PPsVF9YDU8dEeJl`PeJwHLSOHeQL?q1!#BUK|NxU!3h*80YN-9cKUL89`31 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0146.sha256 b/tests/sha256-vectors/0146.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..28c27a0fc51ef523c27abf6786a8fe2762686190 GIT binary patch literal 780 zcmV+n1M~d!2UG?jD|06!Ul4H-xWQcoaP40cYtRve%Q20rZx-2GrR)N5dGz|Kjlen- z-;=k3Oq(y@wRW<}qh%BeM&0w%!nan_uN;NCd7ba;*Cn5EF0glSzGv9^A3JABDQ@AZ z1$5|3Y2d;4U~n|ur#p9=Qxj?*AV@v2bMGnD{r2phieHfg^qWU$gjRI6re1FYRQl3z zMLmK}2z~&qFs{nYJx1NI(^&i!+_bbSW7J!cdM>#!k$Wy%*7GgvAQT$aa_mQ63JHH{ z!;}8*o*|;7!q^9JStEU(BVUjMN!N`k)mi2#ByC_f#;uI(5Z<*Gbd!w^7Fqjf(-U*_ z=`^K?ipM0Ij>k;A^b7vYg1^2i4u+ z-dmeYrdUz_NYAE{L>draXa3aVl#3D|m)1SClJVeXf_od8Ksp3t?Q#Ps92{*7Z7SyL z*^eFbAOek-*jc_P%3sDRK@dsR+l#wt<)^4&9Bu+AAHSU%1eK)dJ=b4}s}$Aq%U}gQ zivp8mjF@v}z=To69Ifv~=`J(f<~g>RkMt)vJ`Ho2NV1RN7>iGl zEF+E}*}-yP9nMgcEQ`U(tr_pkI8#65p|NGfic7`Tq}|a*=I%-gAL4j>1)5oY$L}10 zlAiM6wMvw6#S-A>PGNzVI+IsVg7y8HGt6*dz5=%9D8(41A{Q{vleFT4?hLSFTwGS6>WYHs-@T*uyw$aBPiIRZRJHZmD^bMY z=^e-sS=Xv2Q#ZMJG%R3Ix1z!{ya6=|0oU8E_=R5VVUE5qiXr0xj`W%4QK`93?hl=z z09i_FdNZEf67MFserQLvlStxNU5Z3}y2nX2Ihl<2Dn4>zS+Vb5yV~h3AKM=@7YjT> Kc*%?w%sWO^&4pC} literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0147.sha256 b/tests/sha256-vectors/0147.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..e8b26f5fdd8a57cb046c6a0e00dee9a56709d8c2 GIT binary patch literal 1394 zcmV-&1í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 XTgS&Q6jftv&2Qt)xVLV5;S|)ARox0F literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0149.sha256 b/tests/sha256-vectors/0149.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..d4327690c35cdf111c4a498cdf24d98b51e2e52f GIT binary patch literal 621 zcmV-z0+RjKBY+w9!B=ddt!}G6l8Ppt`xq(*+ylpPERLm(d}kw$q*#!gj%9Qt97q$#ylK;c} zHB57i5<%lfG6enKsZ@hJbc?$`=J|Y{fJnCdHq!pV#gwLYXZ>; zbV=DZ2Nl-Np76T=n~DR3V)L-_(npkWVr$q7@-WYK33W*6{%6B(UHF3~@DGhM{tm9w zs7nTl531OT3Gm#wl2$dLw1hnN8$zccjAGLd zBY+Lz*hVl3T-?A$+sYK7-qo$XL?_y~j~fC?y=YBmtConKGY_uebU#V)4h}2f+^8MG zl(GTr(syRDd1%7c3(!JpY@ad&)q11ErL-MT%f}vm$cc>GdPOE!cM73UfTkkn+GD$L z1>MffO7hM#pRF_NT~<|0sm>fegy(DYm~oBGIl*Mh+rK@VuNG+*Ff!MD+)!at^2502 zE(f{hsqm{oy_yci>Dn#@M1r$r8X&UrEjI$suCMxgT0RhcxCU2!p4H=yFEQzs18JfP zk!?I^++~<&>2MJu`GaNw>VFOJlzj)1L{US;mR!9`SgQra`yB=k73D3{$yUG6xKiQq zHScyn`oMf$Q=ouZ(N^9cRaVvW0SRny@)boq5mWak8{dg63iaAGb3P@JrbB9}5~u6^ H?`PttI2kh2 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0150.sha256 b/tests/sha256-vectors/0150.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..5276d52d7e93a300a1340c72aa27df88b7bbbc5e GIT binary patch literal 2495 zcmV;w2|)Hs&zyf!LuWK<>QS&}oS(|<77-rBH zn>shqAp=dy9iZO)!LIRZ_I~G_B*J>TsyLQAY8qU%Cq zyo0))A&1M}#NzxR2*D~Zx@`x~_Vj)x0-nmYGtf}Lf`6;a2ZkOl2#y{eMQRiWUU#Lh z*(|A70M^n%Mjopjsb_}Ts_vl>YyLZu{Wc3sa{9#`XD(HbXtw3SZ9@&7Ak_+Di{!`c zY$lB9aSnBbvZz?`OfDx;k(m<1?Q4|cQG=lE5mw4%vyJU_yodGPa7OS=h-TT zVA39h&*6yITzSP+`S)W+fx1sw`p3t^@`pt(ki6df0<+t(J1+YPSJ?wNLP8g;w})Yg z1z*LKSNsz8Fz?+Ezl#j*C-?;9p}G8Uw}WKK`Xl5<=;O(6QJ>>d~*4nmt3r8gx0bVY~fhM1SkkTRd|ptqNPEt z&ANEw+$QuD4-4_@GF6w>TVp%FHAu-ShbGozSPA*v2A1<^?p%Xt>IG)dM!eW*JqPO$ zd)ro^3T;1xqwEXl1EAo9#EYvzrG0W9uI`r#i1+ECw6zX!!}c!b4H%8vnxz~5p0Er`Wn_J9>RSYd#UF9?qq+(O8+0pLG_o`Q4hJ!Vst zu4Y@1fN}(fQ`Dd+_a)$*$V=?CY1z*Gg3i1BOJ;rIEX<-^^=pA^nh+LlAc*Oe(8Pqe zOS*8y%WG2-@lFiB`OyBuGE5G`Sv_J=OD@X4jeSoxNHDhMpJ<^oFwa6mHHf$Z)Uo2ewx-ey@y#ADB~ zWU^3dld?R~kUV%*=`F@4CKS&_|A{YJ?<|?);k6HzDa@ zOjWfyiEx^^#3eq2;7SOwhx^aa=T5Q%DUf2IZ-;Xjrw;qXIQ=b zcV9o-k&9C*_=?Efec7SrMI?5l!aVz4S_x`<3Xj*`A`-J3+@E0qzNFg#pX;u3M$EdM z05R(Qin8sl!(WhXXoEi6FZ$JfmmNwnwWq|V2sr`|8roIwB>ld>cCyr}MA@~poGdYg znNa9{)=DMmF^~(_ba?{1?kd4#E33g#r=~81M=HOPyYwVfU4`GQYW30zj7JOAVVs&0 zkME=`nPyeeurfRT0@_l_YO@d^w5Gc>gc#;*2p0zo@QL)w*$?~h+Y;whll~N1%1bHD z=27so;ta%gAVhYeML{VG^?v3Tnrr$MB8a3Vhv?KUL?7&YORqFpJzk2oo(i^#7Td+t zaS7<(WFheFn7Gh+%4HE-KmcyD)A==%{G;hz@pSikwH1Te4kZw0YD0f|`w7iMAdujn z$Y5xp*tda4v=L0#zs3(Jd3&zoQyr5sHjty}A=wO7#a1VXv4~2CBH;B1(ELsZx*W*x zz-kVVKXGePi8C8r(;Fr2{ubE%-?F2*Zpu3rQJ57`fC*hd`0?MqnfAvgvwrKKxa4Xm zU}XRZL1G`&%3=l!RNo7=TFL$Wt+07THO0M;J(9k7C!ZrP{J&|v&W6aX;mB!ezSLX* zP>vyTv|zU%3U8_lWhE?8(eez7&CIu1`a{mCf>R$tP6STmkW_y>4E6h7ZxJ#1ZXfTH zN@}}-8oLgOlI50eiTdSS=a~|KpJ;kAyaYtAM0{-TCF5Nm951ivcDNNvVe?nB+PhNCA?Zir8|ssBC(v2lTIMp1POJlDH{B+eG zS5L+{tC~OLIsJVshR{b8zyN#phtxQS(DEVU`k!rDO5X^E3%LBy=K+EA`jazus7w}oL!bYL`|p}J>3i9 zNc0*-pEi%f>5d@jvo)JSrdYH=ejLR}4`)k}OactI3;JvP6)SEL(t`j+ChrOIZT$7!mSpi$w>A!`Rb%*AIKQmqB-o=O6=Y~PQrv$AzXpWdEtO7} z=I-*qA`bhF5wf$H`Sp7(Q1K^S=T9@akA635K#=i@#HVtvRNq+ZAHf$7Wgi5ckGc5B zKg_8wZN&#mHW+k9Mpk{EqAjc1(ok4bVf#z}@e~-ZHJ)AFE1=5@ABwOfVi4|dh&1aw zIB+IL)Mb=uEOEuqT$W7G3BY2sjX(C@lD6aCUA?IohGx%3EE`qM<^WXH1ZX2C7ksA2w9JSi%)ZnR0D39tH#D>cazOO zT*8*wfQC!^m9U}A_pj!iGH*r{*OjX^ahvThxmf!#m{9FCHOX%XqB{Kpkl_s9tSD4~ zZTI+2dLdY0&*n>H-o08BFL#FMH9qbEpa42Os|K-?Tg16XA$)P2uDn>LDHI!=&WJ@OnRt+nX_OP zl@Xu%g{+sAYwhJggX>LF2Gi|U(t%e`G8j*jB;45VZYZYyIJ4A3m#;%J6Fv*iIb)-r z2S1Y;0s=~nYqaqCaKqZAzi_U2vGL5cJb^(Q&R+QxHj3>gKf0Do=GD6`!-TyMI}~XD zcD?xZcLeVf7k6wy{MQ;T3(#8M0)nOy>eZMff7uR!iWytB9gz^de5jT44sR0P1JrG< zB75VQ8V;SZuT0@7YXK99qeP#W3HuU`5Z1}&fD%B_ZV}agVWo##T&NpAbL8>_^jIuOS2^MB7 zvdnmfXJq9A76UnF8jb5Nwv{}!#XQmPv~2;vw~-hdFi#~eCfY`fUDI->;}BFZ~nysEAX6cFL3dEX9PVvLudKWyFG87QFq9ihAhBuL@UkPSWHa`N Qd?cNR=T1@QLq07taK(}Ru>b%7 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0152.sha256 b/tests/sha256-vectors/0152.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..2c6eafcdc3aa63aff5ea75e487602b93a4e2ddef GIT binary patch literal 883 zcmV-(1C0F6EwTiUa>5Dg`mcvdWd}oOj2*d%&P4jLrUcZ;3N71mbsbo|V z_T2gzC=_ONh*48yno!$It7rG+8ly`8Z_YLAzZ|Tzb)KxNYT|BY#3ldd$Cj*TP|*VK z{;hAe)eC*_EO0*VvPw|uec}DX9>_v8+!I0tF~J3s2pg8rlnvqxY{QZ=6fk+!6Cu^7=@h&N@c`gGzrrQx#$3d=0RM%5HNHL=04_xl4wspcza`hiO~9? zuMM`;G6g?7#|`MFIn1~@<^}N-X;f1b8-YXwpQiR2(v_1f3Un-Hq|{kx-QZ}ZYD=FJ zN8}~Wvh+ejcf!Mgj&_zpJQ)vM_!<^16}Y^4%>AohDqTKh6NS*D;gO8mw0{07w!!>2 z84zB=#+{dsQZW5l>5{=h)?EeabKmAZhfVbJ&FJJkfK(9V-vSOH9B^!ZC_#sR=~fL5 zLdKOv31n1pxAV$7Q-Ki$>b-LkLcwSf_+&$vXkr3%$h ziz}p2sxk)h-t5s#mCe|5*C+T^Nu+@xgqHor8(*VYx){hv51LRhT_76L(%#1mDvoaw zvE%9IRSoq!z!dj=E`&ZsfjivC_hm672JJ174_yn?-rr^n(&Yp(u}C>-KbP!WKAzPml0Zy85}E3_)obK5&ngd=+seDht} zaYiB?fKP1n(zG1KHjH@9D`icvUpy^CiWPNRIt>Wc2dBH8dZN5qGhCg zLcTnVK{uw1@xz literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0153.sha256 b/tests/sha256-vectors/0153.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..e384df9db9579d3cf31f97bb92766c56cb3e3836 GIT binary patch literal 1197 zcmV;e1XBAL+>^D8FZ9Ymk{1PROv<=MxT&i2JoPL(GiXPc7)ncIO;(Q0fJ zH{};D`)LBF*dDXB9ssZy-fkK>0Zn8sPV3zuZ5yGSy#g*U2m`k}VYzT%7GHca2K_oB>DB)Jl!p-_T zEEvTS8la3)&iW-&X$0V#_huiJ=1mwx4v#uA`MEqxSHLcAs_s;-LawLqYe+2m#R7jN>sM)b&n$qkO<1+2XNh|0b5w>L1(YOcZlsOPrczlqjdzez)! z`?D4^5YX?q%+zaxxSfO+n!l|iEir^BkFh=DVZ`1BsbWNDnNb6^{r$R0pT-oZ~dQ&=et&>FZ zh}-0<`LuvZhv!>mrP6G36AGiY5$O_B#b~2TZ&|C+fpHAq0F32KvR-HPV#Uc!8DVtI zY4;FCP9i>ca#}RG7VD=NactjFMwT-%={Hsf)Pfq7w=YaoNXb^OumRY#6}4R-z_nV8 zNtz83I^VAkfKd$GaoeHj3>L{Z{LhopfE?gLMx*%Pduv4YJuqek^Qc1RJB@JcG3;24 z4txClY)dAhyCQ0#>)XNrIcXUr9K*uiY6;F(Wk?gvNl*Ve^p}M^ha3Yevb9nHZ%Fa3 zLe{x{SrOY_xaExrZFAvceo5hPeWoS>iYGG9XrQPq^9ACB@b}q%N#Hi?p4#@~JB_jk z$D+S47tzDQps`4Hv6tTQXwp_+W~xC%s^3U)Rtq*FN?G*&=b7a%UXoh~wh5ji5=HvO zfmKD;&z8f~_Sw+*I-&DGQfmjp@qUEB4(Xka$lsLfdmH+ZTr>aygKSlldjhudlR8tO zIGOpbaX*=9nR4z(*D3G7?X;hC_t8S5o?wP z1A9`L;(@WnAm(g)+IBB$<1P_IdDjCTS+AI9TpfknzBG$TG)JCDH zPdP$X%6ac0ifr(X>S2Xn;fae5QV@D33k3yX)L0~`L>84A1dL78{ozyrNr1Qlm`QS8 z(oQl4gH2>CC#R4Vv)T23b1GD{WYeO5-Z`X4-0ck`Y@2?0fTo%CMYRer8YB?$UQT&) zx6DTtw;gz#kUxs(3=&s3Z!s;dQqT(-5bk|G53nB&+wd#yp9FdB&rMYY*zJB>?h;dEiAN3>@o5qk zf)`#Oxdv|$`TIS(UcDL1#8pfn0W7FzjBl-$=$+|_KDm3cSOaX{{ L-xv4KyA>Q4%C${s literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0154.sha256 b/tests/sha256-vectors/0154.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..89674e1ba8415c21dd4f78f66c0798f7ce88958a GIT binary patch literal 1181 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0157.sha256 b/tests/sha256-vectors/0157.sha256 new file mode 100644 index 0000000..3701742 --- /dev/null +++ b/tests/sha256-vectors/0157.sha256 @@ -0,0 +1,3 @@ +tJ +s2.1)�^WN�9֑���v�)2��C��j��ύ�Q�C�66�:Y*,'b|ChAVѺ��·6�@9R7�U2�5nZI�]�le��+�l�� .��HZ��;�i�� X W����c��� +��ϗl�Fy9+۽q�v1��R\�yi��(R��4����[ �Ӓ�:1�] �����I�D�lAnX_�������O����6Mn�����͝�^ f|b����C ���S��9x�Nǻ��c��SR�t��%�����&��>�}�� l�����%�Jw�a�h�{���| {�pwO�t��ƙ�d�:-�f��&&� :جO�oFX�i�X挣�Yr���v�-Nj+eG��n��N��ص�����+� j������8��)!���g��J塞�3� ��}�ai��������N�ؑWbV &�oZ�6ʗ%��M�2H���:����lx�v���Ht�����a�-�m� �%}���f���ɳT ��h� ��ԧCst$C)0�b�ؠ=�8(��l-|)�9RV�m�6)� \ No newline at end of file diff --git a/tests/sha256-vectors/0158.sha256 b/tests/sha256-vectors/0158.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..49c0a2bcf5ef58bd611a1cf18f3c65f04368eac4 GIT binary patch literal 1801 zcmV+k2ln{KOmy8b6r_$tX(fw@2u+`aU|Hsg=})o00Zh0V9%^ebuVD&idkcN84<{Dl z)n()>n`dR$rSF7f{sNI@0-+<6Wj<;GCJ&AbnrrrqF>t-#mFs zBPC4sGS~-Rulex39im-jT|^~J-C2RuQ-|>5?B;S(tmQjzx&Mw)?8w zg9d$z!r`_Rn{tgV@Bo zy)114DJ&@U1daAyM{$vaLX>5{Gd0h-HcCw-#xG~DzB}fNvdHsqQEH;Ud7(z-W5QrxUb_~ZbW31MfwY%n zOgYS0_J~x5Fa8@P2S_uDU0Mjzf7e60wILYUNESmLZ`4OIbxQE4p_wfuf8=l}F-b9H zO!xe}p7gKp*zoj)q*^WGDAZ8C4L>w(d8uNop>hmhuwk}D=hr#VZyHEl=kk^B-RbHD zQSM+jC@MY36YpeNxal3X972laz}l04E(547wV+iy#39B$p}<$Yi$&O$z+{ZW5BQxG ztD0;jwK*8>h-mp#pSUt$3*!?B&fK;ZOC$-aU@)Zi?t_@gM7;SPtpMg$aqCSIz14*8 zYaPx>spPtTEBhLD%265e!P637vmv(o3ihnA)wg~~t$(x(nd6Lc z&g&;On+Cgq_o9MKz!Oh^(lSvTLld?$$P+lXwU$PXcVP>*Dwx>?P9_ZP{Z3AMrG_^MiU~4W)o4LQ)*I z2k`oucZYG=?I7Xou#7MefH}eWBKTC_5(}`=Dn*3#KCJ&(^3zyL52f)z z`z5$Z2qNr6{tQ)H&E@in43U5Oli!A+Q$wDBE|?mm#&QHxXIELXfx zfj<>MXO{6#uDqBt!#=dP_2DzdBStm(_p7X*AVN#Djg#FKQaIx5?tzvedSt`Ub?AVV zf?@@0(T=uM-+Gy!h+4fqznYw4QoPR~a!`MHoX&fsy!Zo>Gs$>_2CR?zOVXKWS0li5 zo6r$@P8BJ(LFZJ$zGAES*n66%-Tr{yg|3BNGZSvxu*=5S0f))xsj>etOrWyHJI4E; zW<*dc*CDQ)yoQ`t_2zelR{dji3~B=BMFUIWp+>gt*ry+cQZQ`IAEBMP7qC`3Ri{rOaa8abV-fjYxda7fXG| zIvEoZhFfrFObCcZ6b`r^x5&%TB{W0S9hw15z;Z5udLcnwY)&>JSsl^xYmSSwwFCE( r`alnmcpv*bGcgZ)G#jh4z9{`;+FQQ5h0)M zAC8!(s7v2f+Aq!FA_{CXad3ZT(%RG@^-RdHG`2!$_(C~I%B{O1R9AUm6f$yYRv^te zG!d-~5{o~)xU5HGdSLqFNi?6nW_F<4yLJ$qL%ehQVOKv?J=2lS~MFrE}Y4@3;c7=5s7%6n73KAA;h%V%)tPBJ1 zQCM-YxN=YK!&K@d6PkUd%>H+>o@0|o0q^M(LyM~pz5oL=t|R% zyJFaG2!N)rINJH7A_uz2KQttEqvxPIu&2wKDC$t56d{nE!@)O&sshwm0-|8~MlMl& z$_@jA8TL?TNIH&%l*PcZMi(Ial^oigT<#u8FaE-*9#k1hK>^YIOx9=8oc7Go)-N)Z zvBs3;la2H>a5=%dSqB8P{tDC{8j%<97cn0rj_XnNX5dPfov%!j(AhT`N;AdN-Z5vX zz@kZd{q@B=`H1Syh7~!aZ2Z@S9+FXtg!{- z3j}rx7k0J<{DO=3RN7lPS}9_;(@koWAe z1P286|J&Psr0PL;Swg#eQAlF$L_K_t+OR7>3^_(qNx$)6EZ|dJ(Tzu8PlyZBiNm_H z+l3vlj3Wjjq?)6`g)^4Eb?F~})xgnux4v1?Szah?aJN(D^D}L0e_PFJ>eNgIi~-1q<%$6?2ZwCc5_IyGoCT~u|?7?dS$wzkd~c0 zhg)>D5U&B;hN%88$ZD)=wf;{fjUG9y|M*n|kRmD<;gWYgQgbogz>vcOPJuyuvkA8j zBFM5>b%OpZ$bpt?@*i?1Ww){0#FK|6Jvy3)Bs6OQZ#T5W*XUOShuC@!(%YCRrP|nX zYzs9*7gy~Uggkkt%gEeOg?f=f>KM^CHTgdXZArCedVrLmGyA)e+E31#3AB$t$yvZf zqAa_#HTj6c3n(J4@G!3-GliSPC)qf3u<T?%xYq?r|DG0Ale2&2SsHLVF8HX5F)m`THk*>gIrQKo=EfVhc_Bx-&K(e zMj;j(fhCcV07(|3K>V0hs!kxQ&oFZ)Y1c8PEiKU^0YL$>;;Hg&;wCBrTCYjcwLgtQ zRlU1~gyXR1fL0r3%@?T7{awh-?3u6A?hz`0sCN>`+|eq z?$gk`a?h?8ifHkx7(dF$Q&{;C_m+CG;?_taWGu|-#EVJ0bZEzZLL`r?6~m@Z*n^7e z?g4=&*5GyR!_AjPVsKWw?PZ4|kg;Ch z)-kJ6bzIzOpu3t+B$#`VD9jeRJkM_7eA?yRC9%!Ct9U7Fo>-;4;-?VE8l0s?sGKso M|0sBmaa;vG*d2vE82|tP literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0160.sha256 b/tests/sha256-vectors/0160.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..3e33dff3a58dbb1940d491be10e35aaad057ff85 GIT binary patch literal 531 zcmV+u0_^>Wc$N&05K<~OwrTg2O6GBoPARZt8HbAGi}N`0ZWFU{{#ZM12<#Xcg%wmU zS-=LNGV4+zerTrExdtcIdr@i-)9(aUn)Jjmiw%uj9n5t=xCK2A)%&Cr{J0VeetkYi z<%hVwWy1Uxq=vg|S9|`Z%e>~wrEfrJPGhPW^Stl=elnDF|@=hUxedS0g7{Qjq<>XVQoe|FyTx2{0_8Q#rkun3Z?L%Hj%m+ zER^iR+~|h-Zp3O^|8rN|`k~N88HY8@JIHA&8=+A^D;iL((-sFj$XpHk)ud*8i=#MK zK3oC6$kBvML|U8~`Fu=$*Vm1Y)JiGX*(HGpBlvc`V%i4-@`5-IpF>hv!1$4{QJmpG z#t@X!GydBVhS7~?Fgalj%u!*7TMWwE?xnUfff@GPT^W~(DYB12Ih{1#h;$>z*L#dv zt^z)p7ZAYpJ+s0j1lg;*E6-wv=vV~5sLauNE=0sKNC&EXKF~|D!aLI4uF+oNFjE77 zZ@@nBip4~=iQj@aD0NOq){jXzp4Rnhzh8|tiD7$xNb>!$VZt6C z{RQtNg$fVAA^DXT?Z36yX*_B>{k`jo0KT+mW}W3abDB literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0161.sha256 b/tests/sha256-vectors/0161.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..445c66e3777d79283d0f0a40cb0100563f0841b7 GIT binary patch literal 1186 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0164.sha256 b/tests/sha256-vectors/0164.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..ef64c934c703164d8e9a61fa773aab0a9ecb803f GIT binary patch literal 1901 zcmV-z2a@>i(o6J{`eS0$n@|d?g~&{2+;;#3;721GV)q5=P=&pRn??pzGnJ{t%Cxi* zbu333E|1J~UJl|0(R5C8BzZzp2kmI}x<^j2>(`T|*_?LnwFdx^NJg{m138hX*ND{< z9+(c8MHpd=X+GXfWNOQn4hhRv)2TKn1j*E~Cak+{V&bDv;%c8}1ic<|{yM&1m!)cB zQvxrFXW!prxhL*?e(;|FUI=b-_kQz9P2|$KMM-tVW$L(Je{ZAqEKZM=(!}R}l&JxP zAT`Q2$RzFT(u`VdY&Smi$rLi>F`A7o&Q za?a|<3fvZmETMDWcD@O*6wAW)#^NP!ab}_XM^+$Yn%pk?AVkq9BO$`iK|+723q@gp zAq9BU<4Uo%9d=?NRwCD~X}N%H&fJ8fBZ_c;Jl+4$cwt=*d)R&IPa2XB54^ynR8ylV z?iat~szCi%s|Vm`7R`Wr{GC;JCiz`!3_1*e(haBqMOnG-V*ceeIqjd&+-X`$awf{} z?Lh))-d}b~4{L4RB8@HQo5cNv>0&+uiO=Lqj46nFp)jy^@L=aaZJ8S^A+H%Gomk~l zf!ii4+Eu@rW=RuIdm5(Qc7yvv;HO!F^Z?j=_BsmcY=P0#6bSWd{7U!!uA*=>N30^G zm*19&;9yA8{mb5-#b?oefSzxG%Bs}Ny^!98RSgKZ1?vF z7Z!Nw3>)#5NPuNXwG<{FYLKZMh#FMkFARfTratN?+-yNmq!j0v$-8(G3V6#5i-I_CX~ggxxx zIj|tUFm)f~L7R$hu|kQ%a?ec|UwC`iL(sV*ZOul0zDFWB@V{yANHM67nwaEC zp1f({IKUv!wmPU}qXe7;1MP82=%y4CBFf(U0S+4HTya1+wD?Yi*eDg+<92ItH2?w6 z`OAYzc&^t+49YO6&hD{37-5DKObw5urQ+c~!=@sIz37y)%`@M5sg#P6V0VlUjAmeq zyv{2UqKIPhqGUnzf@W@kfe2?BkIprO&N3pHIUwKzopOfoP*ET)UwjHCGxUdO*l%Un zB;k^_p-@x2C7$&jA?<{4n50oHHe-l!=ywRjvK4SJ_8UpaoieHuJYF4h|}a zWNEo~Qs9x}2JIK4uBco$sguf;`hE1Hdq%PKAeNOu4lT2!R_Ws3_~sIxXQpSEB@-e8 z9}rsq^YC&drk+pKXj9ulUwUl*E!m8{j?mu|#4$+Fqo|b}8b=%7XB<#N(I<78K+mFG z3=x|>eKkcgTyXoo-0u$43vC_>P482C4-Rd7*&Q=M#L3{Y#BPxnke z@E=42MddQ@^)o~VrxOL^NLb zAmOP?&GdGwX!96gt9JY4tN=Nzz=6UYDsMsz%I#s6h@QAueAJN= zVPs#(SmUgz*`%{*r;}Q+>O%IeEXMfdUzrJIRKG$ow>5RS7? literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0165.sha256 b/tests/sha256-vectors/0165.sha256 new file mode 100644 index 0000000..31dfe75 --- /dev/null +++ b/tests/sha256-vectors/0165.sha256 @@ -0,0 +1,3 @@ +�|�� K��&�{5�ӳ���r�YK�b��o�fz��#7��2�r�p$��_OO I�P �t� +ܹ_��������2鯉m����� ;�������jR� J\�dGB4��zz�ծ;�5@+�X='ɲ�4u��\=�B��A�S� [/o&Ռ.a0�y�g}Gy���я���xu��z…#w�����I�ޟ*u��7���vq��� +%2�GY�dأ�`~�4���ֲM�YVmg��a�e<�_�~C�u.P,˧s \ No newline at end of file diff --git a/tests/sha256-vectors/0166.sha256 b/tests/sha256-vectors/0166.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..be14ee73e4f022f57eae9d90cd05faf0fccc927d GIT binary patch literal 1855 zcmV-F2f+A^s8{t6!v?ws6u`Z|iT9RVJ5yI(xtu96>jT6-&>Q1+q66F_j9(c2jI4BE zjlFqfK})WFP1lr?gcW|%eV^sy(~m((=19bUGGR1@2cQhc+SaHTl`PLs78+D`8kVEz z0gVMfnsj0gW;PrH?oiNaAk@Kq18>rM2j=?9ojSY; z8hfcy9}f^EYiJw2&0j1phkA=8Z+H7e)ZUVRb|=jq{(@%yh(c}2J0KMQ4Gc{V!|pS) zPHVWFwCd@I-YJ z8ORd0ZT-d#gi?Fk`v(k^oRQ-B1vHu8ce>oL&Mciui9oRc8OY%;Dp=_(DUp`^E-x? z&Qojx*^Ho~r!L|%f6KWbBW`AR`#A68P{_}W}fn1DeVP@q22mK3IlU$ zks4o9ajr&F4;N!T?K1YN9u-xNS)m+^H>$A+^cZE8uYtDeHBq_g)UFU^w>R|;8w0xGVoP(qi;D7Uh#P%=@YkM-@- z{iRW5=Sc-9C;Cr;(a~emf=+gRP+FpKT1z=+84>(iBG0}DVKyC#TqH33=Mg*LYL&7g(2It8Sp&tEqBc)2`b+!T1OyJfkjLbCs4K?SPPSdFhSa!HN zoe!a}nVEKRo%7%FZ-lZ^XhP)X7Wy6-W^(NJt~rk{Yx2ApG;7Y002_i|gHWlq@7{*& zuTpI}57cgG@iDioDIp$7wv;n8i@;$p_7gg&$CT{IPGz+~Dn07{}fMRC6G&kd1rALCoNE4I@|MmhALl0pUBgUpPPQ>iKK zh~ef>hO-i=fE8mz;IypXuP5TbqKo@wFeRz>MtbS|nDL0Bos+>uhKGp}kGPO&vGSL) zlnhNIY3z!VP(LJ#ks!SbA>PFHg>=b z>$(%+nHN@80Cu{pKBD4ZQt5V;4~Z(l4%zl^3WauGZhY{G^rcGPWZ*{>gp5IgRYNx# z0*16u_6@gwKL6*l4fbC_y3(sAzZL#qP`?g-Qjm*K#zOERI^yhhIoE&92g(qdVUfskro3k@IiMy}!4_K#DJK*j z1lN{2o7=&tf9c6sQmM2|yx&uwf&2f$GGj6+)7uZ$7B#0o#!b=~^{*|zB60BznJq_) zBLbdPAZE@^FGq3$>H07-Q9j&#&L85+mqa~s({6KLqf40jhG`lWWPMl{+>Ls@pXc_Y-P@h z>cFYZN%$*n+G}%K>#$imJ!kW$e=>0V%Atr|$tPT@^mn=j!$u1A`y}z&1*MsK^&K0{ zaj%fQ76nw$uhRq?CN2}#6Eu(YtVI>?dVRQ0bC1cdN-hlv&7>9K6m|F-l#Gk{{@fN% z#3XmOV1RuAPYzFXMaP}~!56iSBbwRzfjxtCcA%p7M)HLT$;GI;X7x&O<90m+U*yah zKtP`SIE&qWzE0J}8*T5u!rKA=#w@O@(En-j0BWKvQ45A^ZzTP#iv&`74`kin$#uP~ zUUR+aBc&hltaU9!nNqxFTkr#m5u7_qtULrZ%uJxG0dLUm6sV|}6P$bRIuAqVT z98?ws`Dw>#vyA-$=4>J-t`*L7KT+$5qq9f5&AMmn#-PCpLCpi(_wFopg!t9z_>>7= zYv;%3=kc3dmgLakE5eK&~!oL%aiwGCC(gi9HiUqlm~H9%6@_GS51KQ zS%w3$Aia*!0%Wt@gfGnVgW7@~GaVh79g;+NZ<~|Ijd{>L_FLLgQZ;jCugdpa@w?H! z+WNf(N@E1)T;(3}sn8%)0BFZw8FnH?J-hxmEiYqcul+MZT6FYn_zwsdM8?R%tDcR| zMRlEmTF+cNL?zn}hwqqMTTi1(CPe4 zYH>zQ(G@^N6S~=4qh4=#k)twTPRWWZrzfH&VpNi*n~^VpWy(AFu=aHQ!RG-qa>}zc J7Dd)|doL}rq$L0V literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0168.sha256 b/tests/sha256-vectors/0168.sha256 new file mode 100644 index 0000000..6ba2a4f --- /dev/null +++ b/tests/sha256-vectors/0168.sha256 @@ -0,0 +1 @@ +Y�Drl�X�A6YyC� �A��.y��b��Y��\�G�����m���Ed�yd'�n�Ew��VD�7��G8˹7��9$��<���U���A/�HM> a�vEFr+;g.8?�S��1�� �S~q~\����r�X-H��ٵ�F������K��ɠ���>@*�/�LV�G���X�3Ϧk��i z���B��u�҄�;�p1n �7��Z�4GԟO��I-�f�7MG�Gkw�[Fy�Oͩ)�(�Kr�V�*����/ ͛ Q�M��<��� \ No newline at end of file diff --git a/tests/sha256-vectors/0169.sha256 b/tests/sha256-vectors/0169.sha256 new file mode 100644 index 0000000..c6f381c --- /dev/null +++ b/tests/sha256-vectors/0169.sha256 @@ -0,0 +1,7 @@ +{z �å��Ѡ�>��#)�-0�,�2��;b �tZ=j0ti�%���}�g@��Ȥv GoDJ��U��ɥ��v��Lc +f�TX}�H�U +�<��(fRR�/�z))YĔf� `rR�Nf&�cU��҇1u�45�Uq��@M��glA+�: +N&k��G��� +�]��T��%�oj�"!��CD�$]�%�K��U�� p���)��7&��I�}�9��t�����s�M����& �t;Gg���[��L��JDi�R��M�[����B�H��Y�.`��y��� � +&�>DZ��z�5�@m�� +|��i \ No newline at end of file diff --git a/tests/sha256-vectors/0170.sha256 b/tests/sha256-vectors/0170.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..3cfbfd114337b873b4063c8dd166e95e1ca70a17 GIT binary patch literal 455 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 n|G_pVcIZw5J`X4K!BEsjad-PxfEl����x�G���<���Jt��`�&���$*�=��߫D������|U$�$G2.�^�:gy +�Ŏ�| Y6v@c�o��k��8DByʁ�k����򗬃>�j�;jWoq�_q�_�� k �Ρ�c��&?�������x}^'�5��H��T�I +���9���a9ƽ��ފ�,x5�8o�9N P�� +,�'�����b�)�?: \ No newline at end of file diff --git a/tests/sha256-vectors/0174.sha256 b/tests/sha256-vectors/0174.sha256 new file mode 100644 index 0000000..4d0b39a --- /dev/null +++ b/tests/sha256-vectors/0174.sha256 @@ -0,0 +1,2 @@ +z��X��0<�ge�9自H��`�y�t��y����ID������v{��2�B�@����gݩFk�Z:Y�f>�r�1T3E�%��/[9v>���?n���k�$ɣ�x +��*�RY�Ķ�sU�t4�_K]!�L�����<�.��w�*����d�ԡ5(Co(>D2tM�גo�[��� \ No newline at end of file diff --git a/tests/sha256-vectors/0175.sha256 b/tests/sha256-vectors/0175.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..1a6038d4144e561f1cd93ec543ebc1172644e380 GIT binary patch literal 791 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 EG@(H#@Bjb+ literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0178.sha256 b/tests/sha256-vectors/0178.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..9bc5dd1b68e195061fa31eb2fbe00665afb5f7d5 GIT binary patch literal 1171 zcmV;E1Z?|>Qr*Hi#eW&r^2A!j@}rjRrdFi{Wf0Z!mI;j7!@Ef*hHg%Xo6bO~8cJU5 zB)*(djg}kHG_sUzi$n7g%QCBX6};+<9yIUmz~(jhIZ{?yF5|tkC&p{lu++Q**HVpV z_dNiB8pl)?x{N@>>j*0DseSd=KY&8vNW2!AGU z%ZfR!p{V^Y?Mu3N_!!uHYx4H5OW8~mg~lMwu2Jn@Z8eG|L5cjqBM>P|a8*GOXioq# zb&f{MkxvG%2on#;icnr3J1u@5ldUaeGCvq#)cj0=1*kZwq(=^#BO50P{g4De{#3M| zWWXSbN(E_h$Vov%RE-U6<|1;2qxEkP}~hhi;i?8V(>13#`c4@2(zk3h=&J{CWdnh9@U%f<>nD~%l`2sk`03KBu<*i zNs8nNiy3q=;V5*p@zPZMRn{e28gn#iHV*@QK}5DL^;jCo5znKJdv{mZ*h?!Xo|PM} zasC52!~Jt{%6^Wd6Y!xefxnA--+&^TiO9MtAP``hYG$8vAtr}N{rt)+uI7+Is?5&!>f{r$7EgDG6QZ$V zV6V*i_$rzo>l}9|P}0q$o|yb03sGW1JcF51jD7I#pDy-mS|yLWLh~0bg`!SoR#vtehJ84IXM1WEk|J9@x5O> lf|wZLQ%l1ZzWUM(sP{HBfMxbVBVx>9%Ps(8ibG;%{V6YTPpAL@ literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0179.sha256 b/tests/sha256-vectors/0179.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..bb14fcf077e5d1be40722ae9f642ffe453a90fdf GIT binary patch literal 1918 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0183.sha256 b/tests/sha256-vectors/0183.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..50030d2cdeacb665da70118421e9c5ebd304444b GIT binary patch literal 1909 zcmV-*2a5RMM^!3QRJ{UphHur>KZ`C0p>oL%wW(wWW)!zmb zDNLXHxIZVWqC8m6W8OiJj=ZZL3Z4L)VDHtN>PoGn=_vyMpOxy*GN}pTRh)4mwzt^a zFZl&^@Z#t>x;#UJkyJ~@>ZBoXqL)py-|VV~i6I5sJc4t`UhaR-G!JSQN64}?&CZoy zklx%|p(^;^cj)fNNclhgG$^?ydVq&gor4%7s5q8BP7{woz>G4D!M!BLWZE6@hkiS}jDgk~Um{p{2eeZMTm~mUO?3FZLXR(%GXEEY=&_LkPJwVk z4AnaZR4#QfdJe|pN0uj_uY_k>)}{&r!d%Myh!FI85GZ{n0Q^JvLB+&DnR>E;<3M8= z1#;^sSh1rMQnQ#fB_^dw29sbCyAIX^PDn-$;~cp7mRABTOjO4Ov^Syqn}?en`y zfvVXWc$!;-8)My0!@KONxL1#287GIsBu&C=MnoaF zaQS;!CI-~>RmPsgs>I;gXdUVaXsfnUk}7a*6{Qy`E!yVQY-=P78n#jlKK`l8f^3rM zk-T7uyKF#i z;DO{JlU^QepeW$5!q2GDaW6;OSL@;)DJqD#evo<(9iWO%9!=!!cbKeD<=1JzF3^;> zcirx^&w!IpesmQLL`1zYZcFBfvk>YOP-2bA)@(7jt)`-T5C!P1_voan=v#Rn5z{ZW zE-j6HCwVmj$!On8@OqMgBBX8Ds%Fxd=fQd)(m9@cnhWAL`M-^XhMnh)AVTpZ{xIo< zDpG3aW$9Bb^JHdoo`3=_%gJ{s>=JWsy7!00&sCyS@;$w(DbLg2RK`cHSqhGlAMm{p z&JB88cB+KUwz z9L;G;kvCY>9_~%H6K|Ea(Rhfz(U`(<>UMPj0}jpTn7xa_Ul^p8bGbj_ob=*!s<`-^ zGhUOJZlz3~1`%N%m*FMa!_UFrUBGAx+95}lZ<3~BhBF%6`-?O! z4tmnRV~b`SgU`~GWvuohWLi9db(nol0eT#WEwk(?J;$xh7*|XP!#pY!7vH%uv(FBW zEM5a|TL5AcFl<^x7Gm>BFJi;PuO2`57X$5D7nhXIPH^*-%xW*Ay{r{K`2?-HUA$fH z04v-UQEt+SdJhy+Amv1t^IhK6Ku?>VH;6u8Qr=`H)ZA{4?OG|}6w^%>=GPMBHKCrn zZ+D)2rvQb%ctY2;o)sx7DQkWWz6wnGABejS;DgDp<&#nQ?XA8cVB3E-#m?Uiw1?6R zGm5^H{L3td0^LVnk}$BGL^|4LI|_Cgg7LpKr?%ngN>22ShA47`CY2!3o713-p;0*E*Gr0GnThJa<`Rzr?#K4&%oKq6Of zA*q2}6&Q&iyyEE1Z~tU|~*@@GBhm>rcgk|2ddOeHShBJ z4>!&v-EmxC(l#OfX@$olee3>T?WGkpJ31T+l#wLqefwa4yHs=chicM1-xL literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0184.sha256 b/tests/sha256-vectors/0184.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..4cecd6f0a51d474912e682392449f23b9ff6edeb GIT binary patch literal 1552 zcmV+r2JiV!?`wD&-Nh~{%mo;DCu}fiD~GEPcIaHJ$$|&v+G`PuMx6N6Ao(Q65WYT%tZHsD^Qb&LcAjq>^`9<>{MV^vJf$gbbingObiM_ z`EK_BkA3agdM$b+HlYX$svz4o%Wt6->H1K)h^41Z<2(er$;XL*3&)%ObjIFASbxsY zICF){Jn@=Az~2?09zhDSE9G)m$q7^9wOJJ#JA+xvxj(^c40~zTUE~iRnG3j!LxX4N zD_>E0>)hld+Ta@rE1FD`0c0t!IX9y?67zgfa>Irie?Ah}nX2$y$fi~hkwZhPVNxUI zXr+$ohXKAYrsHv&U}mCdIcoW!YsFDvBqKC3V9-jluZluge3Hc!rr+{D? z=>Y|40K@L%VcF(^6U4|7z0H;ohC_+VGaiiB*A(TR9j8fvx2@R*{Wk}X$C@4;=YO2P zNn6CT(-aglGdEkWO3Zbnde0%se8J=U4m3-i9Cxl{RfE*5uKENaw5%E`u~b0-WhsJS z?U#)m!l&urk8*C2;O1|0Igj>v>5GJ<(nahD&qU&FfPc_8O!_cve#0dH$$4RmFX{s( z$=TD5=KY_y`WrtBfgFGq9m%rBbVJ6RSi@(*IjFYX9;?Q^YEul%G7slQqq zQ%52#4lc7mjApzkKvpS#S4-%XBk+L`OM4M5vqqi;sDw>IyZvO$kFM2kj8~AC_VKiM znwPodXDX5H7=Ck(BIXKnjy1u0jAAZ=!CrIvJ?!X(p9})ZoI`+NQWsE%q1Ndcx9#ps zwrhEqm!P&PV5%l_$tipzvA!ISv9Lo;Oqi)2vxGq_zhg_#i7_s31MOlVb43o@yw*|} z#yL(!CtHD9*Z1=u>Dc0+L()T(V{0bn`S#D+^A(iUe=~Mv!{u+WV62j1yr}nD+k3oR zVH$>$>S0{58u}8-m);fkSBYE4SuOayOiM25OHmDJ+iOQ_WaL{1vN@uAHdn$l=y4B9 zsxh&Y%8V^zIiM5(fDX7rx)P2?Aw^u%7A&g5=dR;_gVJ zlg^B2NBekQaXRQG%^#i0Of*x*awi(xDBcy{++vhdn0AEoE4e|JgJdj_%yXbN=vW3# z-{fWIog7q1MsaZF=y&2^v}7|mYi8~AR!9D}_-(f1aMmPdc62yiOJJP#+Yg|Qf|ED5 zOL|!#w?ci>j5rKEsp)csagxf~7ZobpslE3Yb1c#~-g3@zZp?DNVs%i~XZ4bqz zWtWIOqzH91OxN#0Jk+pg?e~o$FcEz8+-#R^H;R1+2d!vJ8&s1O1do2fSMEG+k*UKUl|XaDJ_NIrpo0v+#Qg4?f0hAK^_K32Fb@dJ|bDpEgn#DOe7RDVU&SXQj&{=QvL^d_h zxIt11)U3G%}=7kh_Xbdp?cw;5fkl?Uys!VZPs#l9N_lR9u6gH@u?xDpq)j CA^dj$ literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0185.sha256 b/tests/sha256-vectors/0185.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..06ad3341bcc357db521b3d0c899a9f6f907097d8 GIT binary patch literal 1295 zcmV+q1@QVFc@e|8RX~!kaC-`)M?;_TsjEs-qhX{{4{hZ;@6E9ekrus_T+C<*_zm!P2xUQPZK?*YP>0FkkKNip?-~crAAxP}qL&Q$}0^$SoECCLN zy`C5?vw(zMiv-cnirj_X>92)g>@ZB?8;XG_N3xti0#TKs$SXg%L3|!kU-cRC=hRFa z;)ystBoG}n4a&4(PnUIORESr5UP+Om zV2j$%G9mr@seyXi`sVH*1z}Q5a?l$KGqMhgch4uXg}Z*@r^PX&?MGZti`AsX*?0s@ zyTnplHDYGf>yD_jZ}H@jQ$7YWxmWPM{nMzP+Wso}!PE!%D%IGAO8(g4vFY+Al7OEd zC*g^bxUTw4=u)L0knnqk(iujmkr7O;V^?W7UFWiE{-rkBzx_8P{aU`xKygP;naS*>#BoAQ~LHz5<;*=t}sAGlBfc9=Glfe97;={mS0{Q*% z0krz9RT^4sar=6NSa^Kc+Sk6Mg6zQYz3Yl^#|KjZvM_7)>T}!FW4*b1o3{ss`t+P& zR!@sY66K#LFk#n}Wur?HWJ^jf_2BdYCr2Lo}&WXZJgLe~Zpa;sl$teMPj1*{`1n(q0mczXc$ zymmBAPah0Ao(32Gc>78+p|r)37 zqW}%cl9b}xAG~l*oSh?esTGUr8yi1q!1n~=ZP@durl`0x$3DJ<&MUeGb>UJsgBy`L zwX&HNlr!-@J^iZ;| z2~`zdZic~cMYxp42na?%P4|ia_Az<%W#>?r=0c})7h(J(GxeYj_(pY15Fhm+^R-(+ zPI0G=diM@a3%yeSZef;yRCfa%@fH(37Q6A6w)Syyw#CXSc+GjIEn--iq$ZbI{hrE9 ztJ!L$Q2vAlxCOD>`7-H4dMy{TF;^-XcIy-_mYu>JZqevA8lm0N^C;K*%zo{_&A5tLdC3tN*+d9bDFJT#XrXrWNHGMq<=0^|Z{19? z&$$= zrEdk*aZX_4O?PkmI6T^N7B%?8V}!?AwGq+D1>BLOHKV5k#oO`c17Qa-X?iK#?q#$4 zDUDT){|zGE?tyqY^^cd;i}$_rI2n2r{jI4d3A#R?luYNNhb^*UKlH5Vr>woHOa(a} FeMR!+nsERC literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0186.sha256 b/tests/sha256-vectors/0186.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..112da38f7e0b132463b594cf14be225056545529 GIT binary patch literal 2195 zcmV;E2yFNJ1bTHhBPWt~1OA;TvuH1lHIdxDH$E`lGX76Gani4r@V(cRzlHiVv8lgi z$!=b5IAIHMe_sC1R}{=(jN?4dFTx%i(-7dIE9|At5TaIteA05H%AgwSf?~Qe9#L}H zG-lgit<{1;BW)OjoW(W2^8dy))L2RblC}+J(GCB?hXa(ebp*eX0FN8`2ri7TED7bj zguPHq3i+NEj6_u9)dpxG2yg-@1e>xkd4W9O7+!Hg<*DYPoT9BDvtO!~71)Rv>UBPh z3?;KL!%&zYvBNEm(@6Bgt&(S_0ofb8SG+bS3yAvo>3+7o!w;spuwEkJtN}k}KK^tT zaZj#@R17Eek@8}e!zVrZzOy;5oebN&N5qAm8^ZP2n^;zx}%s>$?m%8_9 zF5fwJSr;qGmDQr#>~=sJTw=pcOh|VBGG|X;SIq9wjMgSP@`m-s8-X|s6e*g8iZh~q z8DfF$=T6>DUmIq&51qFb%QL#r3`o>xY3N}K?#zPD#=N(_LHTjo{@IpgMMV}eG)rQW zttT5eKO_=)s{y6=_{18LdhYx4?}fGBcupYBb=9ad#t)s`r?2rw{w65`+OaQ&psE=e zztT7oGw&9m5l%2TLRceMtV(@;FO~`H3g3mkkr{}&pL;;bjsF5b*yKH4oc&b zFbJJ=#vM)))ncO^fQ*Rp_G0^V5v)DXSCUIwCt;#p&EHAmgn3J1JPd`(0ath#kptf4 z_4Am9@dE@?(hFb63Cwts(P!4b^eILzIXHcCW^&Q7Q+PAmTutp){eb#6e-r(CFkgUr zIkFa2do>?$oHOv2d2OC5Crl;z#Nw*}y1}QeQhK zr|Y9lZ*)e&`iv57pIj~NldbprtRT_8MG(ZG z3_x2!kAi0cVuZ=;;HG`|&u4Ng4(fC}0L#QcPuMa9U&}r(eV4AbSeK-#719T|Y;rA1 zx>DmMa+uY4|F=HI;|2NsXhePb@p6|H>eH|2$oS)hd|D&~AKs$%I>f0&^3vveL-<|2 zNV}B%&A-wS5LYGxBH5=)WUb%4f3v+r&I3RlEeW7ewzS1>dyHrg96BRP`OaLk#xP0` z#6%M_z7?{W7v9sC?Dd+j-wY&^ zPdf`-iS}@N?zM?8sghy&^O%+qHaCd0K{39w;q-x*o~Z3~{)@=XZg1RYnc-Q)b47k8 zRhX9PDX7SU1D*0ebnSUjlRj%D#*|}c{dBqnfto-IXY0(Ke;hEuPOAY*_{pwsK}=yI zJE{sNIrp2T)k}=gWgJ$M!CVOmM8vX?j$&azkY-IlQ7P|UH&uK&*==2e?@|bs#(lF!Py53t zzp%~Lfgw4yI^7gAX1vdEPvRgKy0rr@kc3uN^HGct$48GubKR=_&^O28bEa_FGoa#nHrq6`v%Zi_Q28K5bFh;iZzZ1$mD zZEJ|TWmebMU(n;+BKmLoZif+Y@c#Foz%gEJTT>aMovtr|D&OxEmcB>AdK29vh_h&# z)$}i(K<_wE8WZz{n}zJCdjmI4m)q5OM(F+gn+bz`|0y8oQ2T#iGOsNfVKk?H z#Fb7*1WZ8U zb$3$6^1a@~3WpT|Ah4WwQ;oGg7>Z}+?K^2Y#V_nq8_K%Zd#fo5gc_bzDL9H&ff~8P z{o!?T0pbeh-9+~9sJRWeiFue3#%X3{Dl(c`)!yTsPFYcRrH@L)Z7>*cb+ zLR65%U{Uw%4Mw$7axLrCYwkIFK}G(L9HVi9zd6ep5n_bYS(F%_*P;!q6~6Y|%7#MJ zT1t_lZADiY@d7#fkiW~+vfeJ^_O<#Tp%Q3MR4$GChbEbKS#Rsrf8HJt;!ZDj2BdC* VW!O`LVtT^0r0`JCC3c!1m7&zaKPUhI literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0187.sha256 b/tests/sha256-vectors/0187.sha256 new file mode 100644 index 0000000..926bdbd --- /dev/null +++ b/tests/sha256-vectors/0187.sha256 @@ -0,0 +1 @@ +Z3ZIx*h��!1�Z!K�h�4����. \ No newline at end of file diff --git a/tests/sha256-vectors/0188.sha256 b/tests/sha256-vectors/0188.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..29b0ca0aedc0d5ee6b8eef73bdc60c8261f7b08b GIT binary patch literal 252 zcmVS%^lChns}=q2vrgITJM^VW^acY6uKE8I}V5a0qNS&0@XMvN=`NNNQkV<3I#;5-F C6M}~T literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0189.sha256 b/tests/sha256-vectors/0189.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..46d22677102382dbcdf8c6f5a0618872e8e90f5f GIT binary patch literal 684 zcmV;d0#p6>h<)(Cpu-Hf?jg3={CU;!vU+~Un*b2YQp$ez4@R_`gDuUy zK{v?uWUn5N$Z7SshT}2dQI9dY!*qez3DScJ&hR7;Y2&+T;WlfC$ciquc2MG#Rf^iq zeyuW%esRVu`$9ZRq+=2XH25m&KHF0fYgP;W5f-* z-5z##?lAnr`DzKYxQm%t;H18OE)An+Sh#}w9|Rd{-LAHT*FwJVm8Kpt=8qn_$E@EL z65BeEDc9C7{YhQ<&`8}dm7g{G`3QW$lBK{ilteN$Y32Qsmbw8e!p<3Ig3emzMN((V z|JzvZRy$@wB5#YeL1xDLt{YSFR{B$BxF>_fTBQXC2AO$@N6gQtsE;iK+v${0lU6i76M?qgSrpGq7vYXN%_)f&4qQ%|*Z{Xtyq8VW>lV#={ z8#Z_1Kzf#DqnynWh&9)8PT^wsbHuZFbE9NTxp?%E9n0}65DTuqa6C8RK7VxaiaYsk zQK(lCqT5FE3CIa=41!cX3JbUnCIYv@&iq5FGiH zHHs;C9t$^?Z*OX}2d&$j0P$E}$b}!mA;s{ez({aa;<)0|I0KVnuHU*Gbl_0c+dBTN zlBb0}je^a_EU;!}Q0fmK literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0190.sha256 b/tests/sha256-vectors/0190.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..aaedd418125e999dbb1917f852bf9c5c286ebf9e GIT binary patch literal 1753 zcmV;~1}6ENQB(Dh$L>~@;ubjR9n@(HH!m8rI#D;spLViuC@IB8lz2o-le_G%m_muh zeyV31JA;fP`T~1rDZ{~2ZCpZYN>-UAoy|Bre`Nx_h4#o*7g$kgq0=R&H?$=_J+ClH zJnbc5qO*kLY8dJ!dH;}TI|@I;Iv{3#@HJH%$`fL*Gd-ZIAd$HlRNa1%l|V5T9;FXt zGLt>XIwZ{F6Yvbs-U8UpmEOp2>dZvI;?mw2(K8Ezq3@82b#|hpvG+DF2j1_Q3sMd zWgO}pUUu&7%QE;43+XeSqD&|5)R2TL*d<vH%VNB~soWq8(UgS-xi?ZtJ_VRSF*bf8TU0A=bf? z+BJ;y0T>P6YYw9moT2O4 zTo}%`$)3_p+R<04+OF5xcx5B79yUpZeMtA=3vN`t4Cf+bQ%oool`AvIfiT?&HzXfn zor9E5Y5O{I@dX~#D$jFPlCm>ccY&Ly(T+Ei?IfbiO^>@;0?Lk){XDwze=a0BGMnXC zS)&Zm@MK^}Tj2)+pPN?bcUOL-i*Ml>K51gqN`X&R|Edm_9k&${W8O zYFz{)M@U6=v9F%i?`RUMw#}naI3@$Sd#CD~o5h9f-+WS15%1vTJO=p-XjOdhd{J`o zHUpUR8tQc&+ZW01M0`@C=dqBEf4OZN*P=q;5Kt@gc1OZ42Japv@-{h+S50Ju$CZ{?qIQbZ5Uw54`*pPFy^4xA^DbeqWu3_@(F!>}TN{I}E_WDJHxDacMK z(AmwDe_Rg$4Ky505fX$}P7q!8Zury)4>a&h!=52G!lt|m*Y~Ls4e=^~k9iC-5%RD8 zaq2|jlzb!OQHxCD5cVn=cdcZZJl1|aD6G=^Eq(nz>!)5tavwf!lFXDG_$J{~J5iCI)+!`QKN2wp-&rDON&pWy&<_BfVZ>Fwdb zX&4=W`h)Vj-<7lKo+{AFhIW)aZYF=QIKrsqz6T3bPwlgA()p0B&~WAL^fKE3aZ^CW zkOoAmDVaJ*vp@0)Uv6nteS~BViLShybPT*+%ukXktVDld;?7#~f$Tj&f$KKoi)k0z zBD+>1T%w$}&eHwcaQ?AgUUM+nsCQe?X&z}JB5@Tmyu0udN@+sbx?kD(vt#V>>WF=w z9wKtJks)3T|Mk4*&2f(Doz<(2M);i?E^D^)vK^&R^}gcO z-D8rKCBt~rfABGgXB4C%Rhj^C4&y;4y%ea-mKuEBuhDCXj{=W>ul+ z`Yvi(e`$S7As+GB=o0uhdM?(KT<_^v4HOg^^{r`V$rG|QFc)f>1{7Tq52QTL4!&)^I`s^hK zn>Pq@;vd506_6alSb1iNm0}-=0xl>!vGPf`Lp_}f;-}x~p(wlSyaO3arf9nT*l1ob v@_eM7qr~c^l>~JDAt^hQedLp6S@g*#odPM#_HB~o8iiRE{OJn$jNs~Ljx|(< literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0191.sha256 b/tests/sha256-vectors/0191.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..0138e59466ae8eb67b3e9f54b7c1a246455b5d33 GIT binary patch literal 222 zcmV<403rV|hl=ZaAbqCKVA@wxuklP6zYNkaIO2$Q9#3Bg^a1qg0_)#b3q@6p3nJrfV7za35vCN8_zJ_x!e2_ zN+{E6H4p0VBxUp3m%zmMk@XDTYX(86a5uRRZ4KOgz7|E_EadcIm?Di~PnwW_av?`& zIRz5o?qP*fPZp&%D-+F;*p`>q85LX^d*+^3FDI)JJ}pxlpTTi{Y6o0onI8fl>tIEh Y%0Gu-s|`WXr~3}=H5Z?lg=NeOM>7^^GXMYp literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0192.sha256 b/tests/sha256-vectors/0192.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..c64c3b79f29ae20b85cb9f5cf111dca59ce7e70a GIT binary patch literal 2117 zcmV-L2)g&v=@-E+XtyY6mN9)Nu05b(TukF_F!%&4JbVudZ~J6{q00L5d^UMZ{r;>w zx0`^E4}axioq{^`%y1_3DG;#Vu1Q=w^uf=HINg+^Eev}dk=9BR9q*crAsb1<5yHqP zeJLEnhY9{rOf_{U{O+hH+8&wW2~0>&j%fV)n@$V8^5)ctobx8{M+tj3P_7Xty2MFb zc^w25Oe8YMWt7Cv3*dIw-cSHpL{hD%r!!%peyWmPK5H^RLKMugW4?YvbyA(kwasx3 z!@8|&9I8JC3 z-uU{u`S4}D8`Wqz04i4DH5Ir$lh}5Otn_g*(_G#Ug?>;98(AO;0f_CL%uoxZhYfYP zlrVbV?&%oDrxSFl6M2QuKyF(k9aS+(3d#bt1;n!q;ZJO@<>jTMVKbqtjKiDFH9csmedAsx;MeMoDk5!;qITVVLO1)rqo zVS*+3N*s&f{7Sy3>D3LiQ64s{nL;qtoLK?5j&@R9=u%-`f)_tJ{sal!8O~Y%QMIq_ zyl7zyURIRq{yWBLU zWSA8YG;YNzYHv1?F@|IF)7X%b)qpR7Vlkq*veH8{wga6bzb`lf!WQL&LLS9p3Wf3j zTI;Y{oK=G|3AL=d%X}>1`G_+K1UV0Dc6H{T%(4dKFa%47r^!XroN`0eP|b%$#OJyCOu_j6LY|>z-1gJ;B~EWT-R!)m=y={3@wU1%L!8ZCfWk_Tl_lw<`DeIVh>7$TY? zP6k%wPASBNJwv=h?ys%is`31Kbtpp|*#GlyL89&A7`Y!tCslWBg(o{h${CS^O6<4g zlQOR}ra^4YymSs9`lACOfiJYI{Z1GcUKnRm)Ft_V%_{W~+G(5Op;ro10gnt>ub;u_ zV${CC+C$CxMg27Em}U)ZD+RVC06~Mmm8pr~FQr4R&}XFr*ja!QiEEck866YOG3KQ~ z(Jzgq6N#6jDV_}p>zd3J58%$qz~M54GfmHrK2<>^@Q;%=HrD&p4gAWn72ajQE1Ev^ z#a{KD15bhP>D;@J2S*-MoUo}a*VVPi#OzlFFA%igQE=iVRcI+Q>lyYQ$^X*X%%kI( zd`8v>doHL!ftN;7YyJD^Jf3V9)k(RCW(Au@?ATea5)Z zJWU%L>uo*0w6o@p5PfLULI{kEw;DA91T*>OK&sr)kK_Fb2dYWZlrX?pwB${uI_(n_ zB+f1z#u0tJx_4LfyA5H&bHfqsI^Vk44~YHSF}iY>Cl>y0G|(M#PYm7ewR+l~J(C!d;rErNn)lObbEm7#s_izmyy_%& z(;rc5K?hC{Xp1CV=&S4Y&-53mZm(fY$_sGdVoa2;m-QF6R#UT0P}@c={c-F{hsTGI zo4`xMPz3it|ml3m`}oM5mK#GKA|iJ6wWS8tbnc>fM#vS0JVAOXF+`%{WpH z;Z7SZXh0<#br7kpxkK2#l3n2a>OT`Sf)YiqgK|(`idV*CF2TPm^(X-(%{<*!smCY* zgN{VG+6o=<45TEWvL+xJk8N*lwf4?-qvp_PTt*@w2qU3RuRl({~ zTN0ZkpnM|al$0DgpSMtk!y*KJ%TE1~KN4P5U$>N-agTa_8ow^sA0bVW*rAKsR|G^h v*EiC9VR`Nypi>xXypmLLjr>)5zAN4uV};|4KE0G8KE!;8rEyB;fD8*FALI+G literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0193.sha256 b/tests/sha256-vectors/0193.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..a101efc6cadc5552ac1f21ec1676c299eb236776 GIT binary patch literal 2480 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0195.sha256 b/tests/sha256-vectors/0195.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..5b8fa91a1c6a0c073a2f776c2854c5768b108848 GIT binary patch literal 2333 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 D_??9Q literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/0196.sha256 b/tests/sha256-vectors/0196.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..4deb893c07365b9dfaac97d2c3b8f5b3257010d9 GIT binary patch literal 1528 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


>xmot?3~UrD*;F_VPkx5{Rq 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 literal 0 HcmV?d00001 diff --git a/tests/sha256-vectors/index.sha256 b/tests/sha256-vectors/index.sha256 new file mode 100644 index 0000000..82a31eb --- /dev/null +++ b/tests/sha256-vectors/index.sha256 @@ -0,0 +1,200 @@ +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +dcfe4fba5338085ebd4b92f8eafe7102ffdc1723938e5a6546c76a8fdc537e1b +941d1b896ef355cfee421e7d4bc4a41959325a061ed8647664e4a2f53b4be86c +9bf01d31f3584e764132bb6d5e1c4d466f4b783241d13b499d93dded053c57a5 +02ef61951832854883bd2bcccfca8c41d8280eb4797bafdaae9695a525e6a28e +accdfc4aae54d736a336c1646b7432a574c4b064aff3fdabc37015dd8e50ef2d +fbf22027cc4d21821adc9c555d00b2af812ab723691e1f269ddf306735433a55 +64a549d245880187f8112dd52cc9fb6c3e84add8f755d83addd43e14677ba375 +3f0671297191a1e119bf7104913375298af7774246e9fec600a00ff9247aa8f8 +20a00135432c02d84d47b53e5c81884c1b8385e6f87df6b69f90884f91094e1f +db4157ac1e17dd3156f7669dfe3002adfc5306b2f86b56808d8dffc1dc4f9574 +c73a7f60d8bd46bdaad2b5a3f677117e8f9312896c74827df4080ed625e51cef +eb029a15aa51e65835a5fe2091a18fc92c77c8957fcc4dafba3f130702b3a22d +bbd55d2d061c969cebf5a5f5b55823dd006d0ca178ec3f55fe35b6ede1042a1b +cd1b6a68efe43157314f2542e943a9e38aa5b2c1d95b8357d17892a7a4a56062 +0a99c2af36dfd5a93a9cfcf054a4ca94c9d7d163060edaf82f1d0d95b84fb843 +344ed11efb4e0be0f1564a51fb087f62a2868dbec51eacc7cf0e149acad1b3eb +fb7dfd540ec7624d6506be69a5d8a54d856d8c02c23b8ff5e9107c3dc1e08d8f +f5f3b7f2fdbcaf42fcca58d8e5249eece2e78d57895f2e73a64ef63d3934cd64 +951a9613aa56494bd2678925bfed6efde4ee3fc6d5a7aae7a4dae631cce8e5f0 +9c8b0aa518b4ff9851afc370ace47cdb1763097396f119d901d9e3727204689e +bbe7717dd315cc881a53ae2ce7c1b2f51f84b38780f24f435a76f15a44f05c02 +cec993b37b541291cf140eef7ab3f8bbbee58ad2d192d1c341dc9ce28afd5f08 +469c91eece498e32c6ce6b586d670fd8bbb924314b5e4479fa3637df8c8c5f6b +d6718f48af98dac71d7741f596584c85f98b826f5ff6c3b7a1d3b9ffe38e4073 +ee6931aa4719dd2c2baf4714efff764e8852013824ce731ce8caf4fcf58e99d4 +f08127ea3327920ce05f7bc95608e48e328b5e8213a8a4c59da5ae478dec5255 +89159fe4f86dfca92bb581f0474c8b01b488c701616de8e193033c8a16060463 +cbadb2d063aec396361719212fd734bba5fdeee0faf02ef4ff276b9ea48fff0d +56b4ff9c87a603853684c45d86fe7fa69adcc3ae08c4c074f78ad57c57a073fd +5b1267643b35b914130bdd423a7097ac9fcf8ce95752409e6b8a35f23646791e +baa72bf6b4b690606740a64b4dc0416924d167ffee088fd0a3fa168b5b93ecdd +8fc8b03e7b3be7a1b4b5a057a761c24ed659841dd9cf573837120c183b35efdc +3d639be036995f3cacf0702019fc1658a9bfb08e17c267524fc8256803fda277 +d175af7f4a6b34e1bc0f8a3a352a75761c0b9e593e21454cedd7b70771b6c5e4 +337d7fbf4e992161acaa12aa7a9e85d32735e234884f41d9e36382c309920b93 +859b6d47a2b6c33fb94c2c2071a30f1000a630f0381f92221d995cde483ec2cf +ebb2880c71f5b204781c6ee9f816c860b903731fc922553f2a8d7a2e69a4c0e8 +fc9955368cc6cb43948fd05a72e875a75f167524e9e1da826ad5227bf3e466f2 +71bb5a8e6c28b512201aeaf496270497d441f4a0082d0f32e401f1a1c06e0f4a +d5bcd516869e956d84ec17e567508aa6fce26c549e4580d78a3e6e11d6b9047e +ed90afaaf6737eb1c1cc5fb23f937f4eb6b67910345b706b883bece64304e989 +d8e5e058ab4cda55e0e90231fecb8765caa2501ec84785ca6533bc8e522507ed +76c77206f889b582e1ed5e5920e02c1dbdb006d53af6ce12f1516610b2758d38 +5d24620f5e0036e7f035b3b3b81c23722af800990c134cd36ffc7730fff9835b +d112928589ff25da17b939479917a833918a32f844422f388c8925b5f9c1e819 +d0756f722de95e99cb7c5bef8b5407fbd7e136e706e110c89504de6007904a70 +636b78b5c3ab2567b258803b54b6920fbb8838aa9557bcc475a4253590df2d85 +fe6673ed19e19e3b1fa46996e495ad219fbc0dcbb8a2c2116010ff7725f70f4b +4877095963b6149846aeaea0a062691f221c32286a92a8639384bbb7ed619a90 +acb4636060d5b9921010f992166231a7a5cd5c8b534499b1327ccc4da2201aff +3393adf261d9359009bfb4474560510579e502a814b9a4c81fd969506854d6de +f73925c86ac68147745b86dd39e8a6d60761309739c29bb2ebc3bdd81907da0b +aead67fd71139f4af930dfc2aaf7029afc53642e6cf97a86a6be857e544dec6c +a932661b7c19f4f4d1d631c742a5e29eba75f7961a483b7776877a9f8bce8e8a +8992a46336c437761974d0e935516eb5576886664c739f2a90c9e2ff5b0e8c57 +3d69ad98826cc2bbbf47a4faf86631415e1ad835d64bbce6324c1ebc5afbfbaf +08ae69d4a0fb86ef8096cacd66ba348433cfe538ced16b8d4b4dca0a5411db08 +5fef26ef000e3c7db432b27d4d35f4d508cbcfafafcfef4758a4e2ec1310f0ad +b4b342985f97dd28f2dd5d69bb54d608dc8fad636e37eb758febeb8744a6846b +bc4a2bdfd14f213f03ccf9da7e6ea6b4313557b13690f7a511aab7af8e843413 +362e2373a054aed6265de66f8946e6e15906a281e192867a5579d4ebb8f8f706 +6991c36be16215efbdb03b21743b76789e9872e252752f9e997fac077157e77d +3415ab015969dc53429056dba450cce9c05b935e854e9b5628b86112f924ad65 +673df9aa0da992c5d57c59d0b72d1176e0aab29d42f19977b233d18e108aad02 +ca04e74f8e8a4d6d4e8635a769cf92a26ef391193a3ce797ad6eacee3b409c07 +c3d8e0f5e5056c78a364fa8e162e0e9a5ca656ce025422cbecac9dff6d883d6c +6d4e5f17ad1314c9a060a2ee865744782dd2b80643544bf6ee46d10e94d43eed +5206c8e320a880b185b75c05c3c55b5c02a777ea480eb9ec2fa49d954b61860d +8d32b49cb35cf5451d7291b6b0ffaab0fe4cad6c6a628826a9ee63304dacd4ac +abd6281d3dc33d53dd963031a7e3fd159ac7d277db9ab8baa89b1c31d3db6b36 +48c45d06a6f21fca8d1fdce8ae4078f12b0d25fb0301655a92f38f8bab12579a +9521cf1636fbd5e69314dca183009c4ace8af5d4ffd99fe3203f96b2993e0ad5 +068a7f541ed8a24e5ff05eae6d60de18becf9727f4c8abb2c1b9529962ab38eb +1895743582f7249d36ee540f0df725e1f25ca55c43ca80fdb3a9a0346923cd0a +2004942920d9fab55f478d6723e4fc0e0c90204e8aab6191a24c84b69e8e4d1a +97e03c81701346f74c86c703f035295c528213001200084810875bbf8fd820a9 +a7141ceea8794a4a075a70b1f69262c1e1b7083f195360a1017403e224fb42a1 +255c73b62d2044b9f24ffb3bb61efb4333f27495f5dccc1dbbea34cc2ec17b70 +fc13aed35b94ec439d691db3940dcba35a78289f732010f8e6f81f2e712f5ba7 +e58f6175ef4a424b1210d716b705e8c6dddc024460d6c05e4a58644619429ad8 +9285bd334992d537ee38bc0761846a6560c86a6a775646870898352cefcf5065 +6b7022f59a6b35f7a79445594b685a41685cfd7022a4282e47f6963d0237e2f7 +33252f651382b843bc3b49c85f88a27aa1cc2bd8849eef328d40073151c2aaee +7aa050e37d3f60462f0972ee5197199df6165255e92760e623a11d1ea61b08d9 +62f54705d7a0406e5b8b1c718890016d7f2a942725077bc6328613e4b167879a +b34b5ed19c7ba3e8c60dd605683860d77ce2959981099648dfa6a46dcd8820c3 +7ae6f95a8f97519d83aa4dcaed8fd42b002fd8549c544006eb132a4c004fcd11 +c024d3e2335376a6608b100c0c78d321b99fd4be14fd11941d2dc7dd56bdb306 +d71b52459dc5147c4fcd77792b51f204180a97dc3dcbf4f53051c87ebb1a11de +7a980a924cc3ef8b3313a23be6ffb2ccf56e69022e24bf37b668aff036b04196 +b051db83d37a373746e98833f83a0fd7a75c3756ad618bb3a89a61b7805b8970 +aa16c9ab094a1d083cb5887b5c76efa6548ea4243b2218d38aa8faed04daf143 +c259ad1f1a77a09642e1537dd029dac6d7cdc87dfac693292c8606f15ef4c5ad +8e79f26f7014e671484d7b75ccb50ea292f6569ef9727701ede01aa086d4d9f1 +8ac3f272d51c91df56e9ff1cc46fc88bc8ee7576976eaf2d49f9a91eb0e86c7d +35f11e92e7279125b644a99490d942667d406db22452309a2f8c01aa9769e242 +6a7f331736b8b8bbf0c582bfc0aeb9175229f17056dc6c6aa7ac16820f304784 +73de1231ae3e09303c3ba1f7a218ee83694bf1badcd77f2eee43a2e676797cf0 +19a108b31d0c595d29431866589262f604bb5c4f468850ae952c766d1cc4a53a +20f2475c362123f212b40114bdccbb4e534c208e7efc3b513aa80f8df90a50c6 +9987d943672560ea40659c8da04351dbd234f42fc5a3ce3932ec28d0d14b6497 +9212013a2980af1235a63d101712a1711c03188d87b975317d42084bc5837c2a +b4437a7231bec25094461d8c1795bc3badda6453be940927cef4e5f436fd97d3 +5c7cda87fe5fb662cd3d4122fc99224f6f9347a04fa8e1212a21184f78b01fdb +51efe8836c945fe225cdb14d6fb86d03ce17913fdce7eac0badbe6a1b4f0e994 +f89187c0655ad8dab702c04b58100680551ce5a200d5d69fb164c07563c524d0 +b490f17b1de30eb700e8f8c526259bd5d94ccb2b5677fe988ed59153465039de +d3446d136fa1513b3aa260fedda0c7d8eb958fd31d9d4f90a90e813bb08aebff +3a24d6e33b414256a9ba7fc77a51885c79822b1d6bebbb9afff1b35c5e2de478 +dc4e138f98174280cf6981390e9d0ad5876065c7c2d5b19b06a3c736c4dd7dcc +e0e13155785efc1fb661a904c90f3d81d5cbc3c1c2da916ebe64ef39aaee077b +a84623af837178bfcc95052d25ec9fb9dd9692ddde31bc3cc170f8b50e471011 +050558d34646c3bc5d0651932835669f324fbea837949b41b2801ec074e09c9b +5713872dd35dd0f073ed3f436c45e864c05b0b745156a42bebdfc2f0a12f258b +bf9253b04e488b951f14fa86aa8fbd6c95590194a47a8c8d1fcef107f82235c1 +f69114846e0fecea651728976980b7cfdea28dba88507e7860e7fc5c08bd79b7 +5efe2291c1b86f7afecc6e1e9910b3b28fdd54d47e1f48d4e3e9022b111fb43c +efd306f172854ce03441fb37f79598f90bd8927a244590b68b6617c5156ddc32 +7145b4470ff436204971607deed9dd3033955681783e5bf8dc949068a2072273 +eb96dd3bd8ddb3446e5d0a63bacc201ba6792691e1565d6900e8317e48572cce +f2c9f8f5010b63c552aefec89fa4a61158ad1551345aea2b6abffe406ee97243 +38405215fc717b0b0067f248c26a6b507273a4b5bc8358bee217ae65519f2ad0 +4ed05b6ec9648d24154a7f389d09f1bde6c2acc4fb82d8e17846df47861ad48a +6b05ba37828a1113f1daa1acb07ea156b441d827dff0162c545e42223594dcaf +f42fcc15e2208a5aa259e860a6470ca7d3e8f78782f521f5f9037062379bb30a +41ef278c83198a2f379aaacad08045d3e8db995a046842536b40f8fada0d6d1e +c4105eb4778b9852836dccb35eaac288b138fc81e3ba47c045176a8fe154a176 +3b323ec13af79a0e0a602695fb72bfd0765a45716b79878d5796735fe8e78c1b +3f742eaf29040c57c23d816ef2b360de6312b351b78ca441bffe9c1795dcba28 +062913677b91d7c2d07b944530ba62b1d3348bf8c4e035a9ef55fb0fb04ea01b +75d9e74dae947a170063e5c21b514b96d09b5c21658464008799c690e09297c9 +430793dabed232bb05f5f43e5df591452bae43c41d2639b6aadd3e6ee49ba12a +9f72fb9126f3564016ba8b4b3682de7aed3e83b13cdaff0f1c2389467919d37d +84b137e4b74050c6bae41ec1db62df85caffb2b94f212320f23610e12cb3835c +1225e44f43c8a294e83722045f05d8a78d6375aa27158dcf1d87ee4e83e1d20a +f0af86bfbe31ec2b19cb9245a305376f2299825d00264798a1dc1be9ca5b30dc +621f62ecf6e507ddc170fb7eb298189bc907727b291c4ae6bb62752176974153 +188ef36fd4743225921e07ba7bd689990f7bc2154460c8784ce1999af80b3626 +4343d2cfcd1f0a00b8b0c202276df650fb07e9fb2acdcffe3226ccdc2d254119 +f13ae79a6d5da0dabbaa4af5367c3eecbd8f5db4dbf470cf009a1b5a6419b081 +40045ce1276992b81efcfaae970ba57d69c81c8b7f76cc469251db67e8806281 +b39a91e1576b6017fa1c40eec1e5b3e33f03150c40dda6f895929636be77aad5 +68ab38fe006f074a40eeba45e4b8b71621131145294bc37023080eaa9229ead2 +5a28e17386ffb5be942f4bfc0fb22df6d9aa4fe1f9476f28fed1f79f95a028cd +5310d2aabbe01cfb1f950591f59113a3865691dc3ea3910f28f4b6892a886e0e +e5794b8dede521f146f28fe1fa2e035ef6402900a97ceb4ba0239a1bb2f778f1 +f9e2d547e3d9ecc2afcf8a218fff26091eed1375337b5d5e847e8d697421b899 +23c0fc25e8ec7a62edef7c88138507d0021c0906b6cb8a5d49cf29a3d5e0bd5f +2619b56f19968fa63074f17fb090ec550a8df9bf8401b6b4182775cb58e045e1 +06e4b547fa298fe029963c85ef3f339035de2184353c8a0b169cfc30064435fd +adccf5bb21631f5850875d5d3adb39019a9724492536c61e8923dbb262deb458 +4aa2609418222d3fe6e30ceb8118a0d86019393ead66a3c858e083c6b43e098d +e2ea39b903592c99a4116deb5730e257c367fd32a9deaf4502f095f5ae68c13f +fbf3ac3cb02872fb8764304c3235041c85e16af5785f10f91abd3e4c7df1b307 +8ce58f9efaacd9ac4ffaec1fdc37474bf5fc984df82a9631da5208a21374137b +9ff9189d1902c79396a6c6df0f9dab8e24f167a712b0f721e250aa13165262fe +3992302d0da46f2d5edd90738fc9e726abdbf02f251cde95420b5dca20a59efe +ec66093e18609e427fd0fd142a6ec494cb77bf60a62cb6261a0384170bc41d4c +15fb66f579e6d0629e8d275d25add647f4fc34a98c8a40ce1ae50135036dcfe4 +112c0646a6f5e4070e4b41229f0b8b9009e716a7dfda5fc72ea0d311a76afaf5 +bf4fb9fb813956ea27bb63c0e04b6b481785247a4d5aa5814ee11db08cba4fb0 +fce9650e86135a7180cda98ea7cbe176afac87ce40ae8bb2f4c98cf531c68743 +2073e3750244026c3050c6508dee4547721723577488b4101664ed93225653ba +5da767d45c542e8d491580f6dd298c1a502f156ee33caebc0399fca2b0ae6371 +f444b31083ef4bc093ceabc6cac6c4f970ba803074612cb00ca681bf13eb92b6 +328da20b8aad3fbb0ca7fa2862945e4186f6e2f9bbcfbe7b0573f0a623754033 +886048ba1603b06baaec0a5696f7603a6343612d144a300b7515d84b881e6394 +c2c2bad5eac14c427622b55a5c3fcd518ffca1ed5d579478bbf77e63aadb2805 +23d0d1ada282d92e719f1c7b7c9f5a6fad4bb1e42899e409f6948305f32ce45b +8da5c5b932c6acd8c4190b7a830ec8a0afd7831fa43ad2d022b771d2846deb79 +4463e19fb059f89aba33eef0b30c099ea0f248c5f9ef31cb1248db0484d36f5e +816b879aebed0a1c4d8c343d21618317fc29c00b8e2ef042a11503b23415b2b9 +db8fd5dfefecc15bf567c22aecd319ec5f2466c5acdff6075824ed0c99a2f043 +e21df4e9ec0284c8449e8ce90dc5c1c3d5c2922949517681f40e5abe2017cfde +7dfba18756dbdb729ebd97b4077425ab90f4730fb0e539c459c0de8b1550e9d2 +19988eadd34b05a470dba1615dd01d52ff25dd6fe9017d503d9317f10f5faa43 +0b286715fc242b02304ad15a05eac78c04af1132c7f609818965ef33c6d5936b +cc9a4df37c55a89e627cef1dbf4a834cec564184c96d5c0b0988138b591bc0e0 +e9728689e94c794aa4860d8b88d3642784c32261c28cc2661026fbb04a853353 +78e36b980f39d8c921eface8c005aa365f1131ece5f94907ac7062f5ac0aebd3 +2da4b8447abbb8677d02c9bf116e282870b17ce548764654a338e1eee154ca50 +ccb3858f2873bbc0ea2911391eb13daae0a428f49742ac82596898ff2f4cfbd8 +366edf6217df13eec7154258f4ef355c4920b4cbad1c93ff0bc952ccfa2d5239 +99c25b9053d271fb12e9fcd511117ca82a2b6b3a954488e7ac21e5820c12a7a4 +439a83f0e88683be20d532878cf66dee32ff4cd3ec7a89242a6d9862e54ccc69 +d017c42806c890ac71e148531d8482e3515f67af4f07bd8d75415980b725acde +99bec6714588767fd5f6e482824e521f8ab41ba1df2fa56c82ba8063d3dc3c70 +729a65daea9abd7194b4a2c64a7205815d3655bd2c4f8104ff08b9258e618f61 +cf0e3b3c04297673c567dc840e5ceb9ffad5360b91970be67a5b7ead19ba4b75 +cb64ceb7571544898f292ef6ce2450e4f5eab0b14f45727e791cc71476008db1 +67da1cb6b1255ba19fad41e96997d1d34ce36bcdafd6a40e168fb2e273ef996d +633fabfdb33fdbfb6425531ca6bdec54529565d162c348be19db786fda22d1c4 +d0f4755c60a324cd2c84bb62a6a22a3520f93c4b78bd7ff313a01e6f942df726 +ade613c132130a26e5640562aa41def2d6daeda67cc0e5dc707ec4c0fa6904d6 +37da56487323757d9ace8506d2acdf3ce23f0fc3cf1d30fc2db37a675d6c0d13 +1928b24de8ed886d3e31891ba0727dd23075f937d39366d10cd00a525d1fab77 +dac65ad10cc21b9ea31298b14329220f1990d291301da826ca2b12ee759887b2 +e3befe0f3480a4bff1e245deffa4e8f4df177db5d9d0fea563eeb82e98289524 +1446604a11d74931bd03f0645fd3089cd085e1f55b231c8104862469739bbc5e diff --git a/tests/sha512-vectors/0000.sha512 b/tests/sha512-vectors/0000.sha512 new file mode 100644 index 0000000..e69de29 diff --git a/tests/sha512-vectors/0001.sha512 b/tests/sha512-vectors/0001.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..fc645f55245c58341ce71748bfd95874026a3a08 GIT binary patch literal 879 zcmV-#1CacV4VeIPpyL9tpCE&?0K%U9zCkC^r=_21b|@^GsKUHq{U`>{wN;;`+L#Q? zPkLo&&I+dG0_n4kwU>r79R-eUp4E0KS+frGd9_Oe@(H{7;p8P4exK+ds6&(uNK^1r z68Mol4CnuH;e-CS>165x+pskD@W_lxf62;<{f0Vo?MtuN*TYir1X+dxWdkP35hb3Ka>QrTyEnGNV}tw__=SyFtzu zXeL zHzd)%wWiTEqT@l~BG?otuAunWDAR>S<3oJdesO!eWuTEzSRSVEhHFGc3h=nvHX?0B zFlfX`p+I|VU~GE3J5OBBrpo~&C`G6Ws^)L!fR@ao8ZKi@M}s605Myq!^x-( zB$d;`Y-}!nL}axD!Jh<(oqW9AtAAG}0`WdexEYJ%vRpeSMA>h~(L5FhL zV_l{w3*ZP1-pedUsuEsn1wv~xs@v|2lHJMr6Wg>3=SDAwfvzPN)`chijwmoahT51s z|3%|s=!_D|B#a-sRR*!s{zs_U9G7Q6&AB4Fc%$T^;@k|c_ia|4$LA8q_0UTaRgoRc z45$eknr^5j{K`i@^%J8JL^(afxdu)XY7(kKR9FXr&^cwS|L-t+xA0P5oI+Y7RabTG zsARmiRTjT#K&#q6k^`!FB9E$L28u`1@O#*;9E5pDkZ-)XWZM9*oJ}B-0&$;9H?$}Q zUpm0Il+HV9Jm3T#b7{+%G+g_P_?7UpicUbbc0@T1yQI(%UQfch(J@A=Jxi_<9B^xe zJ82LRX2{9WOGdF^Pq=;iz$e*2m62f||K~2qYc049x%_wLDoK?v2c`rNQCsm9>wJVv F+ys97tg`?B literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0002.sha512 b/tests/sha512-vectors/0002.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..42b5daa53dfb6712dfb1aa8206b6a02777daa045 GIT binary patch literal 944 zcmV;h15f-UQH&#`xK88O_pML~%ZY)CWJ#XS;@y#>!hh7kD#ubMn@=xU(Z=&^QeJns zcR9TrZcv|fpIKIbTkn@3weEkWsY0pq*9IIOUN3CNX~8tXJk$moD=I~fD31tlB(u5B z80q@|TBIu^i$LkW4-@UNP}5?D9#dJ6NyYRt5ZD&$So|Q>b}@Yr^&Pa)Oy0yel_S%~ zTTAAj`n|OVHdJv|Vl9kZ5n64?>sP@fUk%4QEn%|F5(%4|a+Yd7S{T)>*S1<^5Ik9F zAORs$Z=Npr%2>?vOh@m$Q5)$KK`$WoQADM;2T%hnS~1qDokQMgwF~FixNsj=N`f_^K#oz{RN_)K~aL+89rcA!ym%MA&U9Z26lg9R_bYxa+-RA;4)9PH@ga4j`L3;=U~#^V8%>t^)#5|F#GlT8vL@&Y4F%CnA= zE?ICWs0Uo7Rvc~Fsm)RLOA969(lijTz#IMkEJ~)Sp=IgX>Y1~kF|R>+$<^ckc)u=o zL+~#5bjDEstdK`{%cF4=1mVDR{%;&hwHUldv$8;aa_vJ#@2b70Of~PmGF=F|ANLz1 zcv#TDC+<%lCX=Ik&SR_aebXqhQq+-DlBnt4Cnx(&W8bUma@mL!?mN0b&bK+Taf#85 zPyNN6y-BR}Fc3y`Wz5SFX`2_vMj93C-yG&OfR$>91Ah=LF_|wxC@=FQY|hjkJsp7`sGr(HDDM zh7g+Ex51*mW}7;=UewxmgZn;+X73TTT=%ydF?E~iND`&Fm#G?|GmKOK+Ec5~#Rt}@ zzkU|b{LX4f#8NUQREqa)5}Qqc8<-S?*iIMAh;@=#}S5dTqdJ>SXN7%kQCZ zOWew|+>q1xRgf_l!GBYJg;s-}v(1D~X42^*Csl)Ntxz}|%->N#J8u#`*&O3A@wHse4 zW9cCI8^26u)D4%jNz%rKHfBNx` z=ZKfA)TTl3daK^17;XlC(rY}7SC;rAa~ZHL(g;&5eM`NC6IQUAR1;<_>{jncsB$FN zZho#d2c#%WjA^lG-OCFjw%0@uL%B@;&BXA@fd?Xep@M}x3U!Cbc+pCz!w`4so>eV= z`EBk_H02S9^T1Bgbrb&hKjp~g;1xKw=>vL!!3s6GkTh6uM%1?zaH=Y$^)t_&zkeVCuMM9wfhZE~3sf=VtMcx-P%d={qfIYy zX)ErOZx7Bgr-m<^Z3ZyW#-QI@ z0Pe6BkV1rcV{hf>s}flz*K@Y=UFd!0VVjmAzXeQ%!L8PSEKSD3LAU^fl45|&XZP?f z&(#d2pCGa`Qn!(aP(?jD(5d@9?B`1~9~5MNf*a8p$-oVf;tUR7-v#T8`gWEbcYv%I zNvggbm$~|6ri`?omCBUcq@%Efx^x7*B^rt z6rjzw7*NZR{qOmxepLHRVUwL?BrDv82h()R!SOF)^#!k5?r3RQFKG^~l)$Uc!OQBY zjZat33eP!OC=zNltgViQ4i?oL#>ZI^SBmK+?)qhauj;_J!ULHS zjg~*+anJ?iE3BN9`p!AVVZF9=XbGU4 zYkM1x)%c^s!WX0+5WqIMqyoR=N~{YboL;eUfhEaI@MV2`bM-YYDn&QvHk_~HS1jt) z_dASBwVwfDg3MS!$g$j@PdMsN!YDeqi>!)?vAB+DXwJ2n4|mpUPLCNbnh$SYk~zXY zcYMl|p@X=8{O;u@`=9(q`PF#cGXf@t;Pr$IcTujMY1=@0 zLfCYtYxAs!*kDuHHjKwWz}ZaP?Sn`i_lcFds2QQf9GY|eG(|gzkCKm~{Y1S8TwTy@ zDDD;9@K1Pz`APg{1Y32~* z32Y}H0 z1XU`*>1`C(0ru{YT4mGIaDMI%&fu88p)>RnK|b1*qsoToxU$PfCq7bJ&$dVVd?*_8 Bo@@XB literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0004.sha512 b/tests/sha512-vectors/0004.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..182fce9f4386872370bd2fc43876c4242f8d5c74 GIT binary patch literal 654 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 KsB5o=SLTK!a!;`U literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0007.sha512 b/tests/sha512-vectors/0007.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..be6e3ad537ccc677a5763eb2b7d0c487f3b71fcd GIT binary patch literal 535 zcmV+y0_goldT(M%ea~B%yd9-Y77?m95_-TFrfgFIxFQxmex+LY6L>T{p|ol^cKIzI zcas>QrgWCx?MUcqeIWQSc#MIzILRup^c=++jkOn4_zwxoW|oTF>+Oh8NP1A zV!c~pevFPyim})e=zo8R-SBhrqyr1L=chP94qUI>c2NgBRECT1X#~(*0Ot74@Wmdl z41N3>upox5BJz}KM2OpAYgcus6qT{04P#i5BTq`Rs+oNOSdtsA8lz1!pqZK03r3;q zX-wPAS*+)bkru4CSp4-pP!tyBW&e{&G@S+1GKiea8Wc|ZB2ME&lB`_F&%++Pz}d6X z?#140nr;L!?0mDpFtVJM4S&=6$ERc(@!e?`0tR)LmQx?gcD4&t=-Gh0hP~(&{>|Yo zhNsAL1>O8TmS%OJmx2Sn6c?zy3Il^}wg{4yzZU8;RiGEYE)wsp6SjUnGHiwdaRZA~ zPd`P+CZjYLUd!P3r-q3VYO^UyDw?Jt1N6pmonD?u1{>}*>@mL>pexG~XoQzA^A$gG z+rVl;>7Mo(nh0rv10ND7s{`gjcrR?bo9yvyY7)9=B@9kE|G9pDRV7XashCvHtTtz= zN)w_Xb%vQ>0NdSPnkW$?AtFd^^q>JI+X_n2l~LahkVR+A%MNmRjIB9CES=*CA5_CQ Zp|qA_Fhem4*Too-?6>uI;RLvQ;G;k}{^9@t literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0008.sha512 b/tests/sha512-vectors/0008.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..bba1c3454e9fa739f741afb120f00e49fd0b38b6 GIT binary patch literal 1486 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 VNa_i}V2WABl1SJo8Y__E>7vl6%oqRw literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0010.sha512 b/tests/sha512-vectors/0010.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f137e561c60199b35f1154d4d0d9ce8218e69997 GIT binary patch literal 807 zcmV+?1K9jjazCmI$OR^widw+z3X*b7Hpc$n{hgjR!_ME-hv?GV13X~?mh}K|uu4^0 zis6#fr0by4Lz@R$`=~%Q8uh0rjiPqq0q`%HeOis4#(DnPmz$&L*in4 zESy!EyPtLoxjW_7(}_N1{PP+>eg>FO4>sEqmg%PirA`tgLjUGFt64*amx|8naImw-Ga#7BK> z`7Du(6Nns=!QDOu6FJva3!W-%kt~+hA3=PB- zK$wrAwnwDUYu>2ckfnqnKEV1?Q!ggIZfU4wzFRoSEVTLq=W2ZcXVi;oF3hJTDoMtp zndVUibdz+ote-yAZojb#?XZ4zwcKWh+5Nr!fpuWIy0$}0q(=&Qe@KuTtRa%n3jIE& zNoWJ|qGmqxy3kp-BYy2J=@^Z!@V0T7%HdvL5@}qK*-$X`C$pS-QAr~J&T)2T?NYne zsAwR^qd&wmv-P~HsnLezL zFA~L7V%kc4oaNHuq`Ze>Sm71ZP%x%06?O@2NUA_uu6PrlQ+3xDSwYOnRV_d;=d^>S zv&vFgf3RCzXFhtdnd>nn6b|FO|CDDG0t9kTl26d|-RxP{sls=}Bu+3ekZ#J^-M4E0eH zPUzl+XQw3hhw)zx58Q1(ll(}@Hol@3f$1&PVXsUCQ#PHnm&!q`gc9Fb l6?92q`>_2IcwW+;J3`tkpE8atuB%~ma6P4eZ8fj^xzO;QnhgK| literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0011.sha512 b/tests/sha512-vectors/0011.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..4c87ad0494cb36406825fbc01801aeaa1aa9c26e GIT binary patch literal 1877 zcmV-b2demH>hY+RpgsZv6H802ToT$-Hv}F9Sz|Ae7zSjn?Ka32`WmjlBFLO--f?r9; znx&6#gYWZOz($w>eEr@{T$^*C7uQX$NkrUCwQ|YBekFi_B=E6w#>t3Td88?MGUO0W zE@2U^&&5LLNxu-(5TgUTVD-ZlhkuP0iu+qEEcd$c@53GFX%IgK#aEPj$bG%$_q~JE-n-Bex(<`kf^+l%+aIkHNJq50_R)TK01#gaisG_x zbP1oO|G@uEBc18=Ar0iVJ;CCGL_$R4Z}1y~d-l%CFRoU*2cQMDZS9#SMN#9eh5qOO ztfDm+U#?D3YcCbBD@L^!RBabl$f=|3LKbRHd_T3}^U%cgpHG{phAiucs|_j;wjq5`q2X#5{cpOo7Kg=7Kp z+TX>%`nruznsuvS5W{R)vs-Ycx$JQ>()NYmf*RhE}q8;M~U3q65l)|8O zz4eVbhq_V6`{tDDp|gI+JPzkheGrt?Y&JZac{Q;G6#cd9@C{#>Z~8c)q1a>Tm!fuY z_XRsDGXUz_#toTYBA7*%F8lXN*m4vFyXQC$3&M4gP8Ao}Vvf->{X~?`5_{BW+m6qF z%cE@C(?K}S1=tPFm;h&r6d^@BU+-DjpOb0nBtG4=yEf4fifTsl?zT>nLPit&*--nD z=1?R-&=-_iJ0Il)2l4s&SBT8?xIUW)xrA+452+k3F;qvCmi*Lr3g|RdQ!1L@YKEXG zdAJ{fo|_Y~R3LO-vU14bSVfkN3 zocw~{@Ws%geTU%eKA8~f=0l8h^~WS@s4nc8r+x$mc~6Pd>Pht^;Q~EuYkxibqXY-l1|hE$8^>rSS3>%cIt` zB*@F&QgY?pK{CB8dFSMDmbvlq?Y-wyER>A-2=^^N4c(h>Hif}je5qXNJ4Ta}$Y)8e zMIsi~-D;OmCzJoay|`Hmvos^`hc}ox{sWxWuwc())&gPF`A-phR(RtortUbD!+FW% zBFDq4ChcS-$cAj`e)C!{*Pxo~%ucBsjfo^30I=CS@}}B@Yo(^^;`lGpI21-SaNu;^pEG} zc6k`QTaYXSy_6($Ql)-b$c zFcL-=K-b&wXi!kHwzViky21Yhu^_pB<&}kj3>3K;j7RNc(Xky{qgy5j8AD|wWE@CR zzDS?ktGyGI*{29K-q-1{IU8 zuV)2aN`5MI;ROP=pWhPb0_yX_$EGOR#{o~F6W-X-)Ms|*&%YH`L4*rZ*V}^!Vp92B zp7@*A`l$|J)SzX@vR6`tuUdzjer#35DpepSK^W|o&3pTzp#`nvLw4(3(FTtEgfnTH zUBc#O$gQvfiHHiTUClhQvkh(��}�͛m�K�Z�)��O^��gU\~�dtM���'��C*���� -V1̕�I�s-@�I� ���b-nET2� �- \ No newline at end of file diff --git a/tests/sha512-vectors/0013.sha512 b/tests/sha512-vectors/0013.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..b81ad993358f021d3e28c7e016f3739c8d92a2c3 GIT binary patch literal 1438 zcmV;P1!4LwV5iq+>WZ|#Dp0b|l3<1pv^9I94h~ZW#TNYPl?)B0=2~yHjefQ_)O4 z3me|pI|EGx;^rw?g?rvJKx*!Knn@7GR^)D;+je0*RkOy*pma#m+%tO9@Gl*j6Loa8 z_APbea3)bc%uzAoE)C=wcBHD5X3w>T+zBQinrI1!)?*Kvb|y|X2ZMC$^npHM)c&hf z=fRGVwvpjo%Iu}i*P*`@&R(#2O|3ulMZYC4=P z_766r{Y7WEiSxKaaz|$bKyjDj1PRBj_laiE41#!R5I%_E=jmp*TVHqzDTCH8HUuIa z{}~*lj2``&8gs2TwD)5R9h#PCIqB7Kt`BiRgVKGY<;LnVsgnWQrs1-$KCa$qVyrfI zXxo~r(U5Bg6>P$eq)yWbCan;1?beH~EVR>RJ2}CRvTqq3oqLe%cWP zKF(*3LzM@VAg84-bMfwhT`mk@<=5{cKV-{~c*G!CrG`zPi$ZS!iPA_KaHL!sLTcuS zo1@iS5ubeZcq_*MMgluUe_T3Vvxeq9Xu<1Q1%saM_H|w7E~z;5a(a*d1$ccrVpT7i zjEYQQo@Ar8EC=dwv!#da%7$QWI1a5OiQk=wiM2m1NZ}|?GxbeJ_bHfh<^iTk4da1$ zmR%y*JTovEuMGzs_z=}8M+e0dHv@CmeWLLJfPfjPZi$h}ppt;re{1RyDHTjBk?4it z8?LXOSHdA)6rfje;B{Qe00&3xV{ioc8vpqFiYo;W{DciE&$LK!S#_~KKS0eZ)^KwK z^1N9FsxG3HI82@PT3M! zoi?<&7Lu7Pmx!C~+hR~!Lb^I`?}wa0A)VGuI~k`@-HvKo{giOttC(VB;cDU#?eW9} z5ynMbdu{?m#ogB_IB3U*==q6SwrL#EsmEb#;1E1Gz`+sU-D4!u4r~FZhP5frrB6$2 zl8{@`sulEQT&FxE^D;1HXW7lo=LpgxlFsUp5Nk+$PHOCUQ*f?6Z@=1yXJ|1=aW;=i zwam{8-((}OzpUiJ8f|VngAn;fI^Xj-5mS0A+I8z#_r^2<>>2TXlaTH`jHsEz(gca5 zb)F4#F{GaqAZBztR`ac;zYQ5d?7$G63Yd?AfKRpAA`S?-P^8DpJ`k;L{BF`|o{=Gu zHO|Kb zo)o6c^);2$o=hzvOWZb_dL^jY$V0O;XfN&^>W4m}%e#R2Jcs5b*tDzx80PtdN1u^z zmo=F_qXm9sFcQ=bl3rekzCoYbuQ3)ES9QlV>UGPUy>^dBmj@v;cnuML8#D*+!G)E0 zt#{O6Tq?LE;1QYWI`n!ASd7@uN3v7FR2I7~ac@@`t^hrAg~HXLBUK&POA0~uTR4SK z{l=>`lyoNAVu<|K1yw#AQ;{X5v literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0014.sha512 b/tests/sha512-vectors/0014.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f776d6648c69aac766a4c18733d3d2ffffbf55ca GIT binary patch literal 1855 zcmV-F2f+AN5q;>g&X+J%d6o|L9MvS;g--PdkXS;Ta|9TdVNNwP*oHK#KqpE~tPMtr z+hjfgY`Aog^Aa(Lg!y$dfOp{;lZPb1_z`a`aqcu6BQ>zLcSFmr`$hxxS^WxP#~NCH z=Wothd!>3fMGg%WxE7{hXWb1%5?D}vH9SdV!PrYkX}rfS-N|vz?J4SNWxFC19OM=b z$zWE8jQPR0iHHK5i~>`2TzgRoeDDGzUlem;o1(N!NxLCV|??-|UpU{~(-Ap4-hw}SrFY%*)fikhNc5U2 zthlR^4emqjC%QMw@Iz~{-Ag*zm*jlJhA8TbMcca5(-D#v#k$z&pE(}k1ps5V56b;S z1V?}Nq<#@-q9Yqc7rWOoG8ckIDMixJfK)P_z|qYv<@lc3d#vt^m&SH7>y@^99~%Kd z-6YqtWL8y*&9!9TLq|AdK|}VE;piv%nA>dVEnB1#d$Mm2x`AYXWA`=qF|dd-!H-#Phjn7F||UG@TA1vKWsghcwArf7yZUFfnQJnnPP z;ki=%h5Ejpq0er`n5&sfYY30F;%HnAE zeg5g3BY$zU&BNe!y(X-J!};neW0N~7^SSX;4~tf(g(4j+14kt(aS2f#-PysWGlmeCEuV&1rr0dY9V97xAzasX_C!5@ql;oI$Tq4rG}=avSgSS0G>)Up zrs4TN?;f&oBH@Bkf_LGj86k`~Z2HvBMo=(9e8ytdAA@#l`-7?dZFAv5Xvc+-S2bVP zyn;X8db6}-=`~cr6lULN7?>%f=&)4FoZWnV>6=wQEIDvI?^?9U5VoZrb9VP&$J6?W zSYPa9U^5;f1|>L#C`?`ZlZ5l7L%Dr(#4n{AeVD||tcS)7{Y4Q7>cJS=lr$$~A!}#t zO`zaiKPO7(*t%-hTpaOUB!hybxB#;%gJO*|B5Y-C>SHths<9v-#B6tPe~9;kbE37w zpT{bq_90#KWD-9^PoK$W>m;;$i-tF+7KUz8oo?44=6~K!@2QHF$TZ%-&opAk_{-Y} zmBA(>ZR1QG;5=qB0uO>L(7ScqeSPVVc>{lquw) z?YW@rPdaDWWQ4)>uU6jU-^h`bwpq$yL!Wf7qh#UZrV~V$X6N_}UysU;C7XYNrj~wl zt+1ZkslTYNJDkHn+ya2}h)}B7>X{0$74~p2N_UL&Nq48WG_es5A*OX2%Tj7NW5qFRb$^se#zL`x`Y-gM zPcmP}Et)1HVc6)z5z56z&&AOXAM~(yuL1A8HcJEx8EVu97%I>e|2zx~k0qT{&5#zeS6MBXQ1panP-PIleD6G z7O(e^g$Yk>bA%y+lx1&J~YI3}gc_J9`%)@|#RHQ6;Zb z)_@tI!gakRyw9w8B$oL4ik{V&DzVvS!ut9h?+Q80hR*8o3GplC_k@n<3d_x6E3iZ0 zU3^)`yl;(-STCKRu+rfq)KGD3lpPmaJS=a>e-YL2pD6Xm>2Za^&^BnJV?%iy!nV3+ z{`Ku=KH)%35Yl4E|Durzj*GdIj&_obgZ9w*_2uc~InM4UTe4xLN_uI|;U*GPF7O|~P z41T*;5YLAi*4&BK)pZR}|}V;`=4gD?+`frA4Tp`LCf2?*|MOuWbMT literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0015.sha512 b/tests/sha512-vectors/0015.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..114a2d246119829a9491a550edd8bf7ed0e2de88 GIT binary patch literal 1354 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 Lyf9<*5(sl*M!FKSF!l7jz7)C0hNdlf_mZaB@ zI-83@DqvT9~+I#DzeMID~$_-tZQeu@;L~HLhD}pc2YYbZK|g5nzlcJ z^+PNx=F(iXu2(HQ`;&mB=#Dur5SH2>bXN|bY)0Bi*Q&=KG__h0;#yGF>s5fM7rN|b z`{-In$7Q)&6y4*Vb%SJPqKQ2IosKYXx1lVHavV)E-voy#5EKc^xVH#&k_NfvC_qcO z%VJ#$t4Vv6q3GhXjirS~3w5=5&v0-@BDisugl+MF;9v{o`DkY0^IdH|aYveyplM+* zOW&#sHVg(Iz;`wsj8-TlHRC}`jhl)8c3+OZe6pnGhk2I`3xkmwysT=Gk$Ub$8yOYm z9ZW2{YyMxB%o5CU&hhp`Uk-l9%r25+G?)QCmH8J`KHSBcWbY`fS}PwAxPEQL7f0hQ0gT%{kpw8e3BAx{tt#8yge!Xpg^K zT|O8Z5Dr^IAyBUZa#t=tG?K5kIf3}_aB-l1Yf9`Nq0j@`&`xaAa-@*uYPb;^|NkF_ h!X*`s02}^ssE~7B%b*9tk+sW9P+Mcz;~;Zh%4bvqD7*jw literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0018.sha512 b/tests/sha512-vectors/0018.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d96ebdfb94d0ca79bf3b54606d6351e6ec48f52b GIT binary patch literal 1078 zcmV-61j+kNMKh4FraY}@&pz}GE_NTQ(FqRq)uq19u1%;PZ~yKV!dSpb)V-+9J&obBDSU`Q8 z9i!rTo%)AI9?J_cag+%p?dyU!hkQsLFriJ$gfSMs$k=Q#RSzibpl!%!gluGyd?6=x zcO8{tzp9@EdRDn{=qatl6ywcmW7eukk&!S_ayuPoIoLN9b&jt*9r5D{%PdD2@j@i)CTES zRE5Fs)vJwIY)qFgynAY({xfDxQ!pAH26a1A^lKD~I0t3>C0ncYC^V~Gwk3NMth6?t zP|ekH@`A+7fMRJ;W#Z`DbwZ4{kgI>3+^3Lc`Cyv zoh9syExpQOT}Pv$b^I`;x_#C+oR>J+!(6S2i1r^h>m#ktvGzh=N;(>S$f4E5`3$J8 z(Y5}HR1STK z#oWv9i}M@c$BE4xI5h*^Bpd7D!jF$bL@D#Q=iow>)nFg86_JgZpu`g;&lOyqKI)=h z-8R)%@IA%jy>O}%>X?(D8+3}9WmMEv0xF#kUTB$r+aR#FG|&n&Ssl!zKmb1Aw)Gqs zU*!Y!d;<^*NKj#)3A|~kr!ZzW#Q5vHc_ApoDt~Yv#luBJ+;5}YH1Ry8%PmDTlDOxx whME1L({b&5o3#*aI!>eiX8Cg3SAclK50ASRuArkIQJy?GL;3Ay@3B%>pYo3%MgRZ+ literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0019.sha512 b/tests/sha512-vectors/0019.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0e939dc84962767e4437ae5b73a2f872ffebf809 GIT binary patch literal 1812 zcmV+v2kZFsS?p{CoUCO{j=#&%vNFqNX4k0jmTfm_?H8jZ2NU)ls+SZ|oi$cX>`*;e zY|PxXTp1GsXDHRzqOzHS5Rag-WdsU3X!&XL8z;+PxGP`R#*=)0q|4ee^OrhPW_)FU zp6kgpt174GT#ix2LVz3Ra1B4cM!@UJjm|8b-zCq+0g<*|4Y-Ai`_Xf^jYPdU6IWD0 z0WkkjRv@zq8`G;%ykEfLI_)8*xU7zeVaOgjjXXVdj0}GCMVi{otGkC*%IH9jwVnP| zDLJ?eG=~T&fb6<5>T0}1c-xxQe6zokHH?8+p;`T!P8}HFBmU~#2-otY8@Y0DttMZ_ zmXS2s5jB0|k_9W{7Vcdfve7BRns@fd6l%E3CEdOYi|VKQf@U3kX-ftM0?NiLWL^~t zf+Jpy8x}^{Y3rnCtt%WH-16z7(_O?DfofUjE}@-+5-5_;CE%T<_k*W0^wl@M5wf7> zi7?UiqjnhDJva+F8bV^N1mTlxxLc zLs`f8P`aYW4`{6G>;_&)abcmavf42~9}d>zUWWH#P#jBF88GT{qI5H~MA;b}1--qMCdper?uB;SDId+gGB^?W7>0i>M?6iz~g_hq|TzVQ*2{vip#cPI=|HoxAT z#rp`9?iXP*?&feIp%wYf-xfj2QV<-o1DeQHPS$CI63?3etknCu<&AvB;yb`UM|$1_ zETU4IH#lJAtJ_b#7$ae1cIqYY12AL$4#q9ieXQ-o-4uISmO+TL%w?ZEy~P&}WM`$Y zCx8`^d!wD_!>%4ba;mQ&!FLxBpI(HR{QqsX7qp#D3%w9yIzx%Bylekt9KN#s4#-~~ z&V@VS4^<)%CiN(^Drz|l6Y}VxpLVo|oHP<=w0aOXHZ^U#YF!|qwnpY<9ww?)akYnb zhASGIgeg|!zVH&sqafv1D6+zG9VKe}Y9(EMd2fk>lgzfdp7H`6ipS;5WKOawqCM}F zS~hIzsb9B7p%=GwABL2M(Dy)mIP>BgR8-r@(Cn{ASLXU2G~E8*wvS66N{G@ezjQWz z_p#}noSYM-ap2?99_!`jwJj0!cGhO|XBB$__Q|bdnK5ZvwPvO_ecE))<(#{y{^^h` zNNnX_6i}BWg5Sw=7DvvCqpSDo) zY>UZF$uHPd8CK=MN?T59Zo}5v07c1_Gv?Vp3xk5rkwN)(6||o0W2e?wFMc?3H-XEt zo{z*Yg;?X}?S6l{`O-o|f~gI7~hEyJAfw z^cMOh7*ZwN2uZ?VfxE5~ayHf>$JHspeaSSr+wH4DCA64}X;}WP&mem?RDA z%B7AbB<*KcePskqt9FzCMri4&oi2^Vq`aA-}?fmT7)D7KfOg4JxnqQv}GjBMWlo0)&>sq01V zqRMw>o^TeU2V;ab?VG72MY;J{^B{q+#t4J{zMh=-rU<0yUWo1ZKlHSCE9=WChwlmJ z-_N}1GHfd6;h%t1{sh(w7!!>WRrfT-llhVFhXTZp9e523+CFyEmUdIswZ}MKIuV`$ zr$Y8?%fA^SbIAGji+xMWU<j0zRXiyFCB!rogp#hqX!J|ne%M)Tv?z(-Q z&l5lGH<(2b?!JG>b7y{^T_BN7y9`?!{4+YKQb((%KEf!BT7JC7_-qH_KIxC38qYAy zY{;Lr7R{5n8?%wU+=oJMc-0n>ImjV_fzww)bd3;G`q<6w!+}~D`)A3imL2$4`zb-{ CQjih= literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0020.sha512 b/tests/sha512-vectors/0020.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1a1785f2886a98de56368291403b329b35809f2e GIT binary patch literal 1992 zcmV;(2RHcWr@;7sce!p3o93{v1@cVkOD)@tYM7GaY*o)8l*r9R9{A%ZG%2o?7^;nJ za4}t$rYSqsInUPdMQMome&I~BONgwc=|3i`&;kz$#UGS-FwPzi>~@@+T`CZU3hz80 z6UCmpX{#OyKcnZuyDfv=Rrl}J>>A+jU_tp|x}w>VY?TPy(m4aYW|H%zBAT&IL%mKP zLuMt)y>q zqq9{5Z}}>~l1Y0mDols;(@;TVFmG7(D$W%GqnD$BTC6?`ZL9LJ=||K)+{K~^&`_9Y zFedN|GtkfvHHWUriJ50{Nl2}bzylOKltvYzJ|#Pvp$IsN!$I{vEf;>XI<4Z&0O!&D zQ~)d~hQ$6*+u-5Fp+c9jxoO9AJptolNcR)4^nFz1ahNp6>u&Abi(QEThFEI(Ohz%8 z%QlQaFJ0oIuG1q_Baq=+yng;$E*RGen)-$Qm4p4WQ{A=EZ!E&7!VIe5~NJb|RKoOlEcM6memdDBipbScxaUEc#rAMxZ;# zEB5TnwJo2-)?y7STOxEiil&WJUqDZKhulivs`gUQzz!K_#3-B` z3GH^%D*YT?XDE;UrL>DMFk%70Z&H46HFQbu|8q=3=7?0$w0>*sFoc1#VXZI|!y6q{ z0ED>318HBPk-`Bbd+*j;hh9H#=fD@jh3taE*DQ^!vT@_WY=HxB?Z_Yx(b+dIzn`_^ zR!LOTyE15Bd6B~hC_y82=7JPoZ05N?Ye$I-Pd&yUyk@&s3qzU6Ii~L6TEg8^&gc0# z@%dyZ{WM4+SItT7=5_V$H%9qfHH+ScxUB|gL{pfNHrGCK#|Kie z`UsSZtYQXp_oVXpl%0wY#S*K=R=PZ(4a7hF?X?KSolMW+mjP6MK~3THj*hGRXYgmg zrYCUaoK-`_Zr`LK?#^p((aVAAR5B1KM;b?4eip?IXuZT1V$)8xWJ z(P*}QEW~$*kc%J>P|UsHtRGq>OK+h9ZV%cvK>2^0xHfsE2Zlby**_bSr$AK-;aGVI7E&sBR62-u-$Jf&p= zpa{Pv91`?=_c^D^=f|G|#�B6m(0HzW+eQ8ln4-lS}GIKGCnm5pi@4A(;6V!nJ>n zZPOChPn{0;psg21tknmHVIID+c!8p=cH$#0(3pcdyL_M3CXVV2u=f#?@@;rr#^!4L za{Y2--mf#rq;98Kd*0Y)mNrU~>fAoI=b%+}3#Tjog??JB~Q zoyHPq>(oCms0xHoya4g&cmp54y1rxw$$51WLAaxX42oQ8feIGW#O0y&Z8x z9fcBZoGD*l{LG}0!41=lvc41?TZifvxac1yD`E9EMAk_QY^8LX!Ss+k9H7hXvt$uk zmc2jet=1hS{eT^0KzZnsvHlTgHt&`vtWnk0k9P4^Fx5s*^Hg-bHjbi z%ZE|j@pYU!-0hzFm(J0phvFv6og_zKKg&L-&Gmgx4)$}2b zQN2M*DW;X?pJ_d&ZEl?5Y6#C;dI*#;^)s{lO}f2)xLKtJzzXd+6e9&F;I!o7U@Hzj z2X831K8PJ_Ux|2r`?YuV7m&t{?=*yjHAz+0kTqsFc81+mB2u~D+bLLvvZmO3*Gy^m zv_SwSYaTk*s~*Pq=eBeBV;xR%dNOPvv8rnpH#c$;Z<;Wc8i$tdZt9I|=K1x}pTyfO a)X?me@RoHQ-{uIp1|c7%I4?YAZ6klN5cV?w literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0021.sha512 b/tests/sha512-vectors/0021.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..44b48c25369d5da5ec8279e6ea4eacc16247598c GIT binary patch literal 1279 zcmV@*df%duHUIQh*)9k55~mx|gCZ@W!wk==-8l zME{bGL*^!uo!MH;mPNw!Y`7?d70Qmgp~T8h#_2D{!@A z)`@3tHL{nU-{Yb<62H3QtuDbkvN>QCH&Q{sVpJ?CXQz*HHiPgc+F|>ho!MUhaOC;g1r(6 z1{5>_a<|jWZ=Y3;&l{WMNxOj=OeupRpAh(V>R2pmjFPerZXLXl8iJnd#9vw10Os}H z^NNiIZ1KfD@yow!x{r&xaZ4F;MI0Z>z4{=d!q6j(p)j<=#EdfV{(s_>&T#8Wto5)g zm!O&<<4i8=iHAnfx35m<1w7|XgYu^c9Jhz}F*l}(W1A+TLq8yU!$3%!mxmId@v zDGb?pzuml9A2lU=5tLt52Qea>%g2D|2a7(J9oL5ohFNmrk#Q_${|1ZiU`ztpi5YgIKvjqJg5I zhlPbL;LrCP6KAxz98Adn^D@&E?swvD@EtMHUtDifeF%Yp|m zaa4Otp;BXO@|Sp1r(bBLNHCKAKEcs`5yTOsIo%p$Om7b>NmH7V(Kw~iPdc`KKW7Rz zya1~e18}Q!Fu;jkVuwhRwi9e*wESeUje!llKPvc}p zYwDR^jFaxXTw2w6(H22dHfEM)%p|IWUq#(ytm~6P7280_+iYjRy7t^>`KlDMVUNM2 zDTc2!jJ+@~v#G~!#*_w-Yo*-}8zWLl=RInjU-od+MeKq6K8yJZN?d=dQG=xtwe5XUsdL*JY`N%g6M9)r`p^vUiC(nTx8JmG#f z@{b!mAnov6H9)*=n!M!TMCR1W44z;^0D$&p*I}#fI6aQl#9F*W;e>2^zZZMv33%=) pq&TlulSdq0ne^Ew`c-NqZVSG+5#hUpb`i{9LY_|@5}#U|JnQ}2eOUki literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0022.sha512 b/tests/sha512-vectors/0022.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d33fc762fa49b20024fa14cde69aa407507732be GIT binary patch literal 709 zcmV;$0y_OoJfa|k%UowpWa9>64hBVFuC5zD*^A3{oSk$f@es0fVTb3$ZI;ZzRwiCt z4Ui(CgU~*Z-4Rg0J0wXmi$AB$Ti9}wuio?i%6J@tOjML{0(Z#3&!eJ3N7|l`Uryr!eoy}%|xTn<0 zaUrQ5Jg90Glm0W2Apfcg=!I{sKV|GG4`l+13NvqiYszP#?--+aq!qk9z*Xk1moMW! zB7Smmm1X(|zE3}$MP;11$1ck;Hzt-nzs4J--G=ma$|@XTF}jX0UGAEoz>Faj!wl9@ z(19-R!Tby~@`Y#5yj;jG-Z)RMJZ>Y;hVwOAh(U*^s?m182oPLhUIr}W>`4Z$-9B=1 z`AiWOf3QfUFJtf+&4Lf*owqP{66#9163jOQuzC@8*8+4}Fu5-mBP-R=1E~ZZDC77& zD=$sNx6hLaUj|cJww#tM8Z?#OBbe0skCFdpDjqo#nrBAKTfTatIndn_Zjr+BPU=9RCXdq*3|SkOe@Bo#fc rF0+X*ESA9#kZu*{)o%i2_U$=MgREp<;X-UOrVQd;Ah=C~QC7HUh+bM& literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0023.sha512 b/tests/sha512-vectors/0023.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..bc0e8e543f42756f2e454dbda9f6737dc06c7430 GIT binary patch literal 523 zcmV+m0`&ctH&g=VW&R99}nK>PNlBqEYw5I!2s^lE zS<(FL5KgtN_>Zlga{Y<%;87v2d7EtH?*F9Z������9G�6 �7(��d�$3��S���I��ѻS��2#X������? (�Y�Fc�B�&�;h��e2�ߊʖ �p����Aj�����1��n��9�J��]�A��L��-<�e�YrQw��Y&P �3PG`���01���xY������ز�k�U��oe�A +�i�;k{M-��v��O�ȸ���ao͢xLw�|��!�8����T� ��E�~� ��R��D�b9Ȥ��`���*x�h\Ŕ^u��b�&�l�R$3-`��pV��ǎ�U��s6Bb��6��2Vpm� �ٗh�lF��O动2���80L8N� +��[t��M�.���H��G��+�0ĸ�Y��� CaBYZ�v�[OF?L4n��ѥ��R�ݹb�Ŋ�!C�趌�22zcg��/�lW�rz���~+�!�Bqu鉞����x�?y]��Ҩһ�+�E^����@��M�l�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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0028.sha512 b/tests/sha512-vectors/0028.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f938f358bbc5d0404a34018da1469ac9c8609a66 GIT binary patch literal 897 zcmV-{1AhGK8aJLM>**MEQIfR%Wq23m=U#iOGN3GfvwMxPmvCXj7=Dq}Gr}FUK3$gx zY0^SX7;WS4!dt8T%cbX(>QaU+BQMq@QZ#}Is0#zztndg2kLH$D+`>2>>5S_Vq((ve;y@~+7 z@!wPndprb{d;(wUyNSe}r>vF`ukl2L%d6YskRArcKDlPEgO@7rcY=O%OmsN>P+2a}S zgqGHtQ%+Ct?$DE%y!3;}*1zOc&+eu6LOVbA5d7T5svFiYv+oMdIaoNA!KAxI_Lfg@ zKg<|UTqFX%h-gvr*4_dDWc0QPWUNVAl#u-8If;q}n zQVXkEc*zyTQ#v%g>Pj3c4GxeDKyJ0#Z#|USIL?1 z&wW&-!)kna+d%thZUps;(sQCd)cd#rv4Ot;)nr#mb`ps~8KxgscBgWB)P3MVX zs?e@QOT)wA91xic@NTb`v~@~meNtI(l=vX_Hv#mF7XnAV0kQjWjHwxIG--?8-65V~ z3@T;;CilyZgJ2hvJ2bmx;f;S2ND1cFMXXru zfJn#mhS^3n$g5a&(??g^CD`A4+66X@lZ1z+JCR}jO&j%rLwf(xH>ZCu*K{O^`lJis X7}2uyCab-pcBJ}`;nuygQ#6>=J{ik0 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0029.sha512 b/tests/sha512-vectors/0029.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..e4ca849deb020d52d147855d65860e5a3444d8fe GIT binary patch literal 1817 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0031.sha512 b/tests/sha512-vectors/0031.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..45c3cd3b1ce9d76faef57b73a70e6357c2481781 GIT binary patch literal 1372 zcmV-i1*7`n%0pqR(2QRFEJF(ff`b^gm_5Zc;9%I0-h-9Cv3^3Pw1&i}d@5|z&p34G z{UW8x-7?t8d!%W#f!t_>>@Y>Rg`)W}MIV|g1MIi_!w_MZdYZvLV&{|JxQo(Md7^Jc zb$w_yO|iz4r<)Az0|COu?c5vR8Nn;#TGgU)*rD-pjQy8If6}O$;SSpUA6V7@&8Wn^RD&gU$^rzNp)#>J+Lr`! zI&j&!FLC)?9tI^Plcx2)V_aTVGUL8;IHl9bY&%`L*^Ov zs#S2iY_ebZ1j^`=`G}fCqoo-N^pQ) ztc)XVIlHHMTF{<+@Fhpo@C})f2@DUXcFgo{wW_W5siJ+e;7GeyBl_D@xrUZN;B1>y zO#dm2ju)Zso)JlW9qPEqi)%)!QnJJI_HYqww4EMuzgDh3+__&9+7{o^OSE|3EX4EeZgQ$%xYF2fmFv*H^cxri7j;YB#aEKtBukf=n3@~kg# zy;IlgTh0pZ5WyTABN+jw?D~@25aI>|tTx7Ne8BE6d1d2eJ#@5fNIK`=04t{gz;t7vVrY%tX zKSwOsc?5QQ$UHOdu{yhADP1z&>020FP5D5xK&Czuom(s zbsxMs6wFR)z>2+{7ei^J?)LX8qTmXaNQisb5ra5N^Bja?xH+C3@KR)3YrDh&1Z$uj z5%~I6pTYRB1Qs_cBh@vU>p}z)lIdDs-Y0rTV0~8RCbg<}z0T(I7K=^V*}GDMEZ&5A zS(f|0`*nD0Ib+>-#_qzOs{VmI7|5=lD7=aTx=AEvldR-MzS_~YuG5HZjuw2dO1RQG zI^Mq4ECLR>S44HADXTLVE2N{I$$Zjufxpqq|0PC6^BcU4O2C60q*b_(>Ynh-$>LZC e5(wlQL=dT$P1kO`YCvTl?|STp_n`rVy*=N7K)O`` literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0032.sha512 b/tests/sha512-vectors/0032.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f26d6372134d6fe676f6ab617e424b1145a9f6f3 GIT binary patch literal 478 zcmV<40U`eJ;!vbHu#WGxnc>s7p4H@8_bwALXj=sBr8CY%d25z0XsuVi_r>6Yfy=|j zXJQSIiAsZOJFnoV!Y($a61>GY@--2gD!SN+f$_FwG3>cUdj)++#exox(iUE_M3xcT=y?o<|ajj3sD|nLtgMpdf1j`j(qT>}_B*c7_ zA@*nQ8bocS$~6awPWnX$9F#(F!|MJ@-piUU!YJ>17?}d_t(Z#$;R%*prVvrPDGyxR zCAKqOyZMi0I{?g`Gp_oWgG@eOG#Enp+m3$EH;w1o)xw?**sTP_KJ=7E?)UF|&^U)0 zrX*8y>bjA_b;t~z=o%5R_`Cs^I(CM zLTPuY<$F6@T~ctuYC>y!092Om8&(IJVZQ?sVe$B+J3Zxl){KpB9&t4UJ+s;SAt+4e zf?$?nM+hYn9Rk%+sDzy;=UA%ijQqxO& z$pP` z_`>VLm48@9`>8cmSN~ru4OFp7)-LvxYYr*~jJgm9ju`Xce3q4E9{Nju4&`pgsgHLP zZyJ*dts41cF7>yysj5Z8&nYfdfa(V)6{`w|g5asTv~Eq(=l0YLp_KG#g%*0lI*6^b zlf&+6a~S&)k9evts>3d|Dy5mfZuuxfxJ(qz?G=ptAyn@fce-TxLl!__0pj=5N`n?; zKWeLm-?ff>a3O>$^1}K$JLPu@?q7S|$g*3z_tStHQZMG8i_RW>JDfKcjk~Y;P>Y4K zkP=Q^RRy#Nt%FVQ*$&cQS%}5ouiixTm*D}hqe)9;H`7Q-fn^H+FUfMIu2i=N*Fb2k z?10B3zZU!zOz=>bza8ZqnHv?9`$T%Plu55Z(#Qf!VQ29IqI z05NTEWQF6s=-7*mS6Z%rmjG3sNf}}VUL|ac02ndq9FdUr&OrpO&dR8@etuDVpvU3A zqZ{YOkjyTO4chtC{;-X#WmZtxlU2Ci7K!zk@}p;J|LAr?N!I;N>RIWcF7-!lqrpnO z^n@Wf2>D|uJ??Qh|>M7+x-?a>Cchk`SfepiLN+}TBm^aL&g(oGaE2$NNAvbe{vsdVSWvWoB4{WJ1gWy*MZSjTJv@52L2-2LTiUnmck8OZSKQ6Md1m=~ z6${2GnK^08wl(@E1Z0lcN!pQNo?4X28{l3B-=(;U|55_8vu@0Kfmx7*KihwsrBzff z>DZ^WqkM36>Jzui*2ynQei{FCVDC{=4FeoBIqYvhcRkH@MzT3Xv^|}98e|tQ6WbE_ zwyXUvON%{^pRct2cPxsn)HySsyKW8B?}OLbubMtoadp~&ZXXPoA1p#ht5Hw|$xmJT z$_B+q{ITCu(WQv!ZN4GP&E6;PHiNw%2(eaPa!i&js(tn`2m7GxXnQO zRt!P$u&eNfIsG~B5*xuQK6Ty|M+^>!x2ZjSKWugO+1z(ocq{=uq?bp`+%D`9eZBM` V@{LuV2?Lx>`Qf%YJWjmBMT(-W-);Z^ literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0034.sha512 b/tests/sha512-vectors/0034.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..40d427d7d73813b7b23c7abdf0f15b0df2be07c2 GIT binary patch literal 1181 zcmV;O1Y-M+Gq&aCAvrrORcsAH=>2&fcMc;$fQ64*wTk`<29y{!f~PZ+`SMTK3myV}LEg z6gP#_&2S~W0vX?PM7X?AW2Km`y;}CTl$2mI9vSjIbP4-{${r8#OXMsvgc*yq2DjGr zyaCgYOvPI*dZ!UTj65tEG+N~Z19^i`#oc}y&4?Z5gs8k@f~sZep~L-jxcRa8ZF|Tn zkZkmTv0PBcox(H|x!``}fI=81KWdNtiZe2}t*ZqZEvWk@C99}n5dbDqhe!d0S9zMu zz4fTjJ#X=<4vSaogYm|UTnl@z%3x*WbQw6UK+^lvX_;}izbK1=8n8iOtfz1K`w6f) z@kIgN_CoSLV;ET`HZ5!Vbvr_pvH{MTE{7}gk~>aQE{prrshAC}ws+c(_)rRNe+1K^`P z8o}RZfg~IaFJ!zIYV`&*lmmd0y`XmtT4hTb@v&JP7j(yL=(Z!8zkij2qav>^+l9UW zworWGe-1eukqoL`?e?u!aNFkbfi_fL8bqs=y*o3r*J}BmeLq{RZg?MK$XB*Al&a43iea>m3sk@lpEn7`cE0~%eDKEsm%kD2yIH?-Jxl{+FQK(Hm z+f+twhSkXwl%P>@4!wyIge63J3Uxt;hLmA!zt3WLS$%Rh&X?#&ZmVd}aT4Fh(HKOe zRJIzi@KC&*C{c+)ZQ`hK6U3s1-sj1odig*Onf7onY1=yti_GM`j_Ahq)TK`3?l-?0fjUQ)5XtE9z7wY3`XY2QdKhiv z#(#UU?s`Qkj{W1}o|@l^9z4H?9Ogt4nCRnL-wPK`XU?xNFsGl9Po{e+;3mraQ>^{; zRqAO7SY+B3Tw;j$WU34#kJ=`w9IGWzdfs%_TAg-;xbx2NKf*;$-*#Iy$xg*aZDXj%EY9JufddT(B7l zPjY}WJ&Gzi5mr?~MehJA?gvB3uTeb;Ed6he{ literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0035.sha512 b/tests/sha512-vectors/0035.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..9dc56dac9137d646cfe08bda9b710e8a0b11a7be GIT binary patch literal 505 zcmVc%gng zy8$Q#*ehM03m_F*PB`G1bbBmvyb)IhiQM#`@bL z@XQo{z^elEJ9~W(;;v@lfp$?0#qrcwm8U7Kxm7ga2%Z?rvrh`u36!`n zob~=~bK0`AMU?yYf63$S#YI^q*!Qb%Ilf%_{IJ-~Mxh8k)KSq=iiN-PdzX0|osVrt vUl#izjc&Kz;J8g691k&0HLV)}dXMU9Rg6@h!$CSZgs$20q~=&n+lIo8;rsw= literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0036.sha512 b/tests/sha512-vectors/0036.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f547dd02d081e72da3835922ae79583f86b36e05 GIT binary patch literal 1836 zcmV+{2h;d;;mM71xWwRK!G!8$&g7tx^_|pQ3>*POr5LKCj^ntZ!N^^5Qb*A7mac;S z1pL85#BC%+8I;NdY*A`Wf^a=%2hG^gHrJ_TF$oa{SD+m7e2n>>C%ICW?G)oce%UMy}lmrE;R&^7@!4BG-4mm9qk`C;ZOSQKQEYa)5|Y!aIaoq^u=;ZYY!E;)Rb{5 z0SvO2Te;r_Cy%u@np?xq{f%xQL=4`Lg5h|H-(KCEIRe> z#@yZjVk31ds{?KgMs9_P)I>yu48nN@Szob+73&T~pt5rY6O$HJp6{#oWyilAO)Pj^ zB?pfgV1EJRKg|YfYZ!)VM!WD|qK-!RHj_15?jqzmvGIHOU-@tqZB6xVvjMRS-6>TI zH171^{FAQHXp=}lDz^i8K!j7VIr1_z{b3&x0aeW9M3iQ+mSkVk5nSdWS$Cf7lg_~BN7#xn$J>AjCH@>emuS?=SHx+Y(Rhq!e#R`<1jZ3Y`ZeOg83a1`^tRZQg9Ee*m)5h4PX zI`CH%8JC(haI+3$$?1xS5d#o;vX;wA5S!iyI?iJ3fD(&kyUf0~{cM9Zw)#fH!7Vr| zbg%|m_tFQs)iZiizAUzvR7S3J-D4ESxH5YFmA{g{mkzSHm?XjfF2&4ha02pHM%s0! z`%LXX)da)JE1^l%T`<+Fx;fuhE=HN4j66JQde$@~>Ktn#j9a_&O2P%0`Oa!n4_7sWI} zY%asS4%icUlp*OB>(&XZYB5ICjTlK>cjoSAL!%x~q$L46>s;M902ndl2;V_~p+1r} z2iXOzLJz8;KYTJfmA~^IT&ex_bxwl%fzSK0a+HZ$!d@Qec8M>3*XrniJdUB zoqdtRKPRi7kW9qxDIvxo-eOBS>K}vdst^ImdDAWXeWdtlp--Y&Vdyqt|O&hL1j{L{tP!MrD#sw}tF&9WJo{SL~__p-~hq z%>1pHIA1fGHbzNyAU$ojedo2-UmZ5$;FP2wD;Ki71tnnLSp>tn5(!}p#SwVD@fb3w%cz%-<7S`e1M*Fl1 z`5$#qUcbT#??$q#haAI_oStH_9FUjS)nw!xE<{tSXb&sxK&b7@698fTcx9~vHl~(f}Hq-D4Xsz zRuanG95b}|Z}-5$i!3hlJl7Qmzxx)WcaGFT9lB5SxvGDWbTq6FI7wG4n<-XtN3Es4 ztx^4x!=E|3dX*`IT8Y_uj_@C|@*7Q4#~2PkL~UeBQbf9JF+ZyPVi{+1dqT?O>JxWR aPL!!YKwyH+II&<9jc4BgvDFXrp`FbnFM;j= literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0037.sha512 b/tests/sha512-vectors/0037.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0a400b228b5510920c29561b0fb997d9c9cb55b3 GIT binary patch literal 1871 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0039.sha512 b/tests/sha512-vectors/0039.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..573ad2aeb19de1177ff88040e0b6590c8e87989c GIT binary patch literal 410 zcmV;L0cHN;VJ^<#o@NnNvslP%>x8JKDosZ=Xmy#&Wf0lMvx)wK+nBb5Z z-j@PLb2P3beA3l@G=2Y4gl2z-AOtj=h?QnKA`Yu1(|qHp@p ze{xzM0d(UML-;*;p+SiIIJzry>|2p(GtbC>F}a|U(GiIQu#W5Q_a!y( zcFmHOd?Axzh7Pl)wxt=q4c5n*n=F`GZDV1?1u EuWrrDj{pDw literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0040.sha512 b/tests/sha512-vectors/0040.sha512 new file mode 100644 index 0000000..e0d7607 --- /dev/null +++ b/tests/sha512-vectors/0040.sha512 @@ -0,0 +1 @@ +����7ـ��z*��p�"�t���tS[����-�淳��S�c6S~c&HXmM#cl79Pef$ATVP4Xplok2ewAOo~WVf+{mxAJ=M)x$&0Fy+@tq#BD zBKy)mjlg{61%mHn%Rr5ds+K>OcmStzoqBb*iDCZ;${UD#;MBph{06mnEe)JGBMePZ zxzKau#bOUT)jWu2_7=j(o{WLC{+?Q{q}yaLQ^rVoRi|xm(x+y6DBllZUR^}QkVndl zql+Y(eJ*X*(MI_E_;AwOYhf7bazl0aNy{|ExH1YM9##?7OxtCm_7A7_Ya}T`()qKH!|S_Y`C_RNPO%&q^*gh6PKDRT{cEeI?t4U2%w(U)^AIuH zK5lPT{FT4**yp4+?x4q|+H(RDMfXC^PxEalwnI>E8Jkc5zlRKfVNmx?n`N=VBu4RS zO$rEN7P?hO9Sq7!ANE1vuT=c)*(v4R_3?DB1*mzQf5OR(wA9A)X@PPtCyd2;T8yTfneerXvxSZ0hpC73|yCpN2c+Iqkcg`~?xFL8C_ z0c>yIx64$##|pG7Khl!vk?ez@Jm!scqjw?HXAjE({gXER`5T_W$fnzgNR>E9s8`=LzYRh&CyM)CC+M&nrv3|oGUCT+)zwZS?Q4!-1}(@O q7GzWNAS4|t#U<98>@MCI3R6TB(Kv)P0$^^q7HOh7HnOb1czBFo2b2c@ literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0042.sha512 b/tests/sha512-vectors/0042.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..703d397b9cb0e58a93913bfd4f64a2d3a969cdfb GIT binary patch literal 1715 zcmV;k22A<8T>iDI_kjFmFus)m5rVj5@t|!cR=k{wx%Ik z{$2}e9V4^E^{}22J6Uwdji<`QGW(RGoPMu+GDUE$DN?Zo@wqQHw}CY`$X;8Bn2X@l zrO*WUL5Zkxe(*t2Iuo6KZ`b!m>yrZ0N(a(l6dCp7(8A(Q-(JJyVkCCDSz%L`tLklJ z7Yu7EM^Ghd@l@+j*C&T${qa=UlI|1EZ=or>y0js9@0>%2Tw*{Zl7$zSK->tSUIA_< zz@QK13OKm^V)T5P@mbVHEEV;}7XadQ^&XbU3mCFJ;^%l^^(99G37t?{mLhOYo9_5| z61d_nb-}!Tb&f2z*J?Q%x=ULe2=h3F7(zlA(uFbHMrm-ZD%A57eCra1z62W9K7v0upn;sK7F$(O>f6_sz|#6ynqn4%ucFiz&J~o@w+*fAR(X8`)FPt}-~7 zCF33%Poj^Qaol@J1OyU@j?^vo5Rep(@>%!R=IdsXv#%u`CXj`pn9Mef(yy$b#2UBX zw=mCvX(D~@%I{;)?J0@42W5^l?Yevv7`vjsyTiP}Vamr`I%h>Wi!48}DyJVee)nly zC(Ep;dJe=WA-vXIki;Rxx#abHX_h<06)_2;J(aIkyj6W2nJW{ODO$YLd0qa9cJa}> zq**fBssl%%`*vNk4piI&0T1~H27~P5;s&sEZiHxxGqAt}G*XhrtR(*b&wueI4jyGy z@#O85tgT@&nuWv^gZ6LQK#}G&8@NC;&`82HAnrssI|8J$AtKwW-6tB

=E2%aMd2 z7aMF7*8FWbY47pBPO}5+REG#2QLj<4YjY*VX>BEHeAc_>Q@Rk0<(X6a0#{%#n!8gV zonEa5xdS!uLIIAOd1m7WCHxfUP_Y2BbB}cO$fQEDcP-6i|t2}G$g~EY+-TzA4)2D$i2OOF3`3| zDHNppo5bMj!}5nlrCfac)<#Ecm_7}XG>4~v|)?G>nH{b|T-GGC6T)HJX6@gf8ULwLLQ0g24-YVrI zy3BuZCFmZ|Aze%F#&}d5Ea&rIqtkCKC9Q&IWEQNLeD7B{V?p z$xEsL5>KPHX+BWtBz?z_T9~koLGr1*ShRT JbU#I%nCiWfQn3I4 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0043.sha512 b/tests/sha512-vectors/0043.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..e23850bc8fe8e667841641b2015c12b89d09b246 GIT binary patch literal 2096 zcmV-02+#LVUy{HZLS6Nn{=b$4mQ4SbPKRR=C#y9tWarUbK^$V4!oBs%yOk#F~?vw~*IZK*!BVL!ijcWZ{g}U?~ zriH(0gDb^8_M#X*wUgxpR|V}w_VoO1*19ZE%uLxK*7-d-8}ZGtkn}>X9r*H$xW3%*JqLvy%NvvtK!)<=a~Jv-AJ z3eF7y)$?$p2vNl=1bxleuDgl52W3cya-AMG1J|7R&o#LxQeOU_My%Zy z-Z7PYoe}e*L>6*Bd$VHB^?T9G-Vq_57P82{RL})cSmkik%JI!i*)0%`ZgybMNJa+& z)ytDzLuUM8rFR#8Y1JDSnPzU(xx;zI)7~VEuT8p=Ii5d2sWA3yjT1H_v2Gy>wzjfY zaO-8segQu3nobP4ZArZiha@h{b?Ug!hd20J`E7=?e2_3@U8~GUD?Lvxa_npoPww`4 z$oKyP!66Y2-d^|I543zu#@X5?53R8aO1P*8!Trl%NDG{diA}47Q}wrs^bIzq($Z(P z!?kbwKYdyFH~hKa-PFqAj6p?{RQJb{L&J&0tr+NjKeT%1@cJgWzA|SC#w-sEylOL_ z%Dja0rjb~98^)Zy<@IWWLkF^D+xI_LnQmP@ot1`SEp@bn7e=%U-@PCJd{D_fJ9nIo z$-MsPz|k`lYdw)_gP$%9TwiR6a$dJv21RdxM6koZBdGveQvvNPPO-C3JYmuZ3ph&8?PUdf99>YDMQv) zFbu#n@L3hWFyCfGugU@r5l39JqOv9R*A+!yWpySTve%6i>JUUMnge z&wIX{Mq#lwN;gr5h}KBnTFSR94ENofv$~Lpi*u~JB8yOkP{M>YAaSU)JqAk_&Cjq- z2jTSoUZ5^=5qU`6D1>rJ^(7-j6DidkZYvh=XwRi~he|sP!~iOd0GoPmaI#>9v8w7? zU4~{S>G}pb=tEE$4VloIv;WJb3N_RxdtoSg!Lv$YFTJNL+ksOBz zM-X?eBjV#D_e^dA^f0xYsv@Z?w?0T&j9@j3mq8)gsw-l(1~mF;YPO569!0OTZH*Qr zoy_nPwD-U$FD7Vu#2fhr#p0VKJa_CAs@Wj|Pp z*8N63(n*!Zor;^vt>xlDeIQ44D+5RA^i)eT(FvQ7J6c3Pq|yvMD3EXv6P!ke?P|hfiwIt!Sp8^)*0$VW7>;om{-%Cxt@~ z6?q=aDUKUsh76RzkR~>o5IRQ!Nyv^S0mz>#_QHgTg%NUosd+^2ig|(qFh(Oau)d7> zjfD(ZhqMoDVoGho&)Fb9b0NxT(nZfI*7(8_<;`Ax#+Pux|t6N8ogJg|E z`R1L6C5qEi3!&gvoR{p9YRLr(D#kC8qIAUxSo$6C&G8L*AB;FM43g*Y)q<}pD1lSH zjOot5UO7BvRlcx?)oVt<9AwvMS=9~BRN$r}h9?fomQYBHOQ8x2X2Ev1!*}djB*PrO z{{?KGDX$1N8dZMfjrz&UjHkMXS9d4_v%om8v==JKN3p{7?SxL#G}5HgMP8Lmm7B#6 z+=sCaC<#%&xK_DAiPG+V#o$|{XSp=*&P+V5<>2Y&$YABH+bS`^cAI_AX zBp6m2^vQrqxU>dn47tEk@g45$D(RK`LKF`UW5waR3KuUrDS}IAqLuanMIx40DPO=A zCk??Q?{8IiuMo7ZYNHE*bF8rYnWA*}X0SyOi+FK@@fTfjas-SVOp$ueru1sIDU|#c aFB+}zV<9Y=SAL8ElZ-`c71lPgvew=qmiiF@ literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0044.sha512 b/tests/sha512-vectors/0044.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..7f639f1198c4301f9e7a83eec466a48e3aea782e GIT binary patch literal 666 zcmV;L0%iTHdJSt&`UE-Qih0>4`*NH0hSZ6oyG3e@*Em1P)lspo# zUJ?@^6gA{2Z_qc4!TJ9B5&gWTlc~_;I^L963lz4Yjx$NruI z+TaQsr5G-FFnNj5eO}7je?ahO-cwvz>9*M@JZ!P0*5Hx(UgM}`;IgG1(c_wRaJFst zLT`bh7ju>H8ZLpp%O`esx19f;hcnK-QZvG>Xpt&6ZqAli%sxgq-Oey|@WxCM=nCBW z*y3A6aJYy!+CH>l zF1c{!bX&pSC{u_>g;4_pCHRqfV6h-%?i{kwbhLT|BK8KHOQWXWAb1Y1KMv1T9_)SP zn5g(Q3PAP}1z@O`1=VD7>{(xomyWNF65lUGizydZ{@q8rap6Wy7^o8MC)(*ocDXp8 zs;4nNN>8%h!c>#B?D4ss9j=4?4Ze%F5~N9ARe&ZLN?8y?wPL@7=aqjOz)ouXR&+L5 zS0k<99o!w#jM~75JmQWKr*@b`f=k`5Q0+feQ#0t`mP$oVs%BCMP0*QX~*R|~tb zEQ3fm`QriGH&pAps0}``1Id<`1Q34@mssc~0YmNTPy(CNIgG*9L-NZd&k>%K_3R_+R}fAmJ~ES1rpj%+`kIgS=mMgFn)TAcd((kcpRg;uq7ibXXS3= zjf`vLnMhpPK`ecXPt8~&B;tZ0+-y!2op_^P>rOC*6=(?4Y z-E8pp7E*245)9v%_z59e=lUUR3~Yv`tCCHo+FQ@0lY(S-vy9aJZEajO3m1dbK$Hc` zVyRyPF+HD0iBlQx#C+1)*E1yDmIre!E7*jf4f*(9j)vbW@t{A!g94;<=9~^Zj_4`b zt#)_J)v_3hZp-RS@0CvZRm3%yhFpMDQ~5XU0aX1l1~Hu>YAYq-rH;YwULS0J6GEP literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0046.sha512 b/tests/sha512-vectors/0046.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1f0ce9669fbdea365bdaddae3f3d57bdce8169cb GIT binary patch literal 528 zcmV+r0`L7MhwfNece_I&?eO1Qjs~)V7*JXXQ_T(zu*B8B4>%Ldo0_kfA%T?BV2unS zu~|CPI=HY6Qjxi)`^Kz}to_R<;xk5;4ZXlT`O9I-^0gX*_J#v7rLI;HO3#tr!?2h{ z%7DH0RSLUyaN7hI2o%z|@4cVKCDC3hh`!Y{!x!TcAHsvMZb+Vwc~PZ7>B%p9twt&| zxI7v>fH{d3TX+69iQ#o zkng)&g}I>s-VPA5Z}R0?v|`TjeD`DIe}H$1B|>D~C&S5D@#GYXTgD;B4e^Lj%fG^5 z`8hE4R7Fr&v1Jq`g^0buf3Pb8=G|-FRbTcHN=z)nopsjhK#S944yRnl1aU-)o;oA@ zzR2KvJ_hJ?7lHg`J~i?nKjDV!gbZ=QeC4uF{_9E|@S?--mT Sn-lm{_-3P+{dg{;vOe+Pz6ewR literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0047.sha512 b/tests/sha512-vectors/0047.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..32119a0bbe0b5a482bbb24c96f4011ac5173ecaa GIT binary patch literal 1071 zcmV+~1kn4NREu)U$st;aKQrbhWyAug9GNb3_^`~|`HXe*5tR5!)#}$`Y48lnzl4Hg znh$O#0robSD0t&#ur%DHS4p%v3D96HF9L4atVS?%AXE1#q!trFMzerwV9l8G{>RUk ztdu`FDlvl^p0oxp`x7K<6J9&U(k*os#?;OWv~bnk`A`|PJ8n^y=VyrRA~-rTBWQ&f zWaB8e-EA$#QdUQ?D)i~(P2hW*1F)8_;o9V+1I+&mvVah$+a~F?9{Nj z4=cql`Og?^+g`sNkqB^B=;;b5aV5i)bF+0BKInL3hPNc@VdejtphV@n@#{$EC{poF zUg{kY^-WpYr+sn|o`NX9nIgI}3~+mEX*gk_|Mi!+zjl5sql{|~fRbRB_CLJ?JTytH ze#hbN#y8F)n=hD{D!>6Nnqj5sB6yUR>slX+Z|)}3`XM*d(xS@&rC!{`EMGg6^QAe~ z5Hfz-(}zlD*8Ta3fUtWj2SEXT=P=628Nq}#I+EY}Pp##3J)V2@2yL{nX2Js;9?ul@ zrz&Cy$0`~Q;To;0bkC};(LmYbKBe;sZ!XcduREh!yy<3D$lXl&c#AK*{PAEQWLrDd zKRqfutT2@X$V%k07uBM2&IaoQ)W)dVkGj9ImQ?@mBdG`p4|BH&gX^c7x3U$%VxiXD zN7)pwrwtij63CZH6CnJHUTo-lSl)2GQrg4^~Kd+Zq3TtKUU^o ze7@=4qocc!$Xb51j1|-95$b>KFZm6{WJgg}s8Ax&W*LHk7%wnRNS#z!R%OA8WDxJG{5HShexd|?a*2{Z|^84bB{g>`=eX2LEkooW{VJg!`TSk6@-4g`x z-_BUE6~Zg^?cmLZMDP3M^vR0GI$ah`UPpruK3+W8EKc>L%{0wn-JE*GPCx6F&i&|a pAi8J`g22%)_xrQBI_m{G$%3P5>qF3>GN$1*Ng6ox@v%Bh(EV-~B4q#o literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0048.sha512 b/tests/sha512-vectors/0048.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..e7969388b6d5355ca82666767e4d7b13ea2ac63b GIT binary patch literal 623 zcmV-#0+9W#fDlV%h;J-9zr4BB$&!rWmd8S)$2tbm*JqWX@~6x8gG9~R^6ZT#8WEt3 zYp>SwE09s;WFJ^&G?S^Ek8We2-uwiSJ8Q}r%gki{C@d2~|AK_Ip6=l;0Oe7@2E4wy#DWLO8|Ya5{ssiyqp@b9=)&e*08mgfgP`v%Nv8hpm& zBUtY@dg_QnA;eVIo_^d zs(koX5cF!|_i<+$6sQm66#{Aji0}fjh2-DMtuOB=B!8I)-4nvek3d62u&B*9)EhkB zr7CN}(&&{+k0Rt5sdh+GXdrm^k8eJ4bKe;n-JSJBPt8HD;<>KKpC*=C>;Y2 zg@`hC%r*8Y+>v@uY0&$QI%AOw=*$y`n{KEpb9sRJ_&vS79{7a#CY@XC)TC->r@+6-mlhj) JWDv@37I)SoIz9jZ literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0049.sha512 b/tests/sha512-vectors/0049.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d22c211ea4ecf7a6bcff5b833eeacfada2dc95de GIT binary patch literal 649 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0051.sha512 b/tests/sha512-vectors/0051.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1d042f68a2aaa893eabc0e82e39787d548fd5960 GIT binary patch literal 410 zcmV;L0cHM>pyUSgTpzP>2J-;M*`_I&bO1~6WPy3cJN3w)(d5U;`N5d8Cd`RbBax)T zKP7ei>vnQAkK2EnSqY_;`XMep9c8AABFe4xDXT~X#gyE-oB0Z&I-jH@b_X7!+HR)8 zrH$_X6<~8Mxn*${A!8a`$W(T4O5+EmfzCT&f*b_L0y&XH3Md=nDW$hx)eKM*r^>L& zVh=$mz=$<<&NO5kAR9mdC~ws~W)*gsqE)T!2v`vJ4@iL%iyyYoPKL zAK%iiF`S685{+pYo(mB?TGtm-9>k&4vWY|mB3E;LobZt-F@xQ#t7d(PZRiFdKtCed zh_;!=-BA{v65e_PU;o2()$u4=^<2w@dMm2aq?_@lANqh2?tlMkUQA0o*hh zxOR&DBlYp@C-0c^wpWyea-c^DTxbE3o2MYwoM1)lhe*+$WrWB5C zIdl;s2rdz{9Jvo9hi6P*A8xfaBtfCk9%!6D4W2HL=X)GDEXHR-4{Dd_tQ1(&Xy#Cz z9Cp^u&LI2+it`)K{ug+d1bjppB;~C3;UA;h*Nw(Dy3zqMd<%3^!P%JE9rm=iDu#Cm zWoa4#tPGSfbKcU-Uqy#vh0I1v5K^Oa&n%^P`q4^ hdQxiaiIq5fZ0w=JQefJcyzWx`k3a-&UE(*P`dphlZzTW# literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0053.sha512 b/tests/sha512-vectors/0053.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..94b2ebfa6423eb88cd2c71c9a83538e584906184 GIT binary patch literal 1890 zcmV-o2c7t*wtT@1+fzPAandrFG-tj8>4De5^?;()7+Tb$HcFxSm%`R-1<%K}?OXNa zX*|FlC&kYs`2y`{^bTb2U4u1-|C)^^^vwB`eRCQ%0zzYx{jJRV+%4;sQTtv!fb~$l zePU^}#}R{AHa)^aLIxZX2R1f*Qj&2bOxzc@G?T=K4xA}BY6$q5LN7=Y4e@4;tzcNyo>a&8#hKYi3hz=NI1mATPmBPv(JYK|$KDeCc zPY3~trkoNYRbmwL;OVu&s-m3hwvTGH0N|F(iP))tEpn`o^_OlR>2*kTv#0cWa314+ zcTW0j6U{l>a)F)OUL0q;!VT1WWxBu>SoPL9 zm5djewyy?3Zb>@fx_Cb9jznb{^HD6<5O6*UJPyz-f{fSFi%-A^rz3{&*!|Y=r3smOfjLbzvj^ z$5>`1Pmb9jK)Viejw5BnoiUZ$Ua^CkEs^DS?tZ@E=fl1$DY9IvRgtOjzSr~PWHj@w z!e2(D-?m>uo*hfIDCk@Fn*v`bItDEKK~0X#FD{;ny8u8j^|l;x_lY3gsGiApj2~_C z=HF6zyiYACd*e1Miy%TO35C(Q`}_=gg;kVG6Qp__dlYIM)DpPFAlk>vZ4ZF-?+x}q zjIJARkQYZaM{Fx37gS)93gG#RDl}x&?k6!=+~yT|jh&gnzFRyE*f0o!JR-|<@ zj)Z`nQoEIME8(Q})Kq{9$1nlaAwD$?*Ezq+^g4a|{|)i_U^SN8fj%Fn3PZ}Kw1OQl zD8tYQ1cIP|J~(?;mO`J0G^g{PTnzN?0k`r}OH1uGV}7tSpBPS$NmE{4and=Wu|^M-5X#2|0&hik`FpT87Y3Y+daTFUNAu;ly^NbS(bjzJC8j|LuO!KohC%uo zj*^@3VGcjk%*POD1{b^)hXqKBSp(QfQNF6m+(itQA%x`L51|uzIhoBbApmYf-zejg zB{EU5zu;q4lXvu#ucrYz!^$RV$QGHxr3@xpuB%_bQR7X9(^t^u?mRU!aLkLX7MF(W znY2S=Pwb!&Q1W=2+gV}f`;jXej)2#gdw>#OFM1MwKCs@@Cznl^#ZXKMm969HE|E!( z6|qva{j<#Jn`L}eezU1^ooheLXFGy8Z$98rmg9@(4kJ+#687kKGVVhz-3JpzOoP=i zueIQ}NPqX!7PtA<}qY;-nk5QNwQF|2{BGTQN}_y7O^ literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0054.sha512 b/tests/sha512-vectors/0054.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..bd706414e7a1a633248a0a2f483ef3fbb9414c9a GIT binary patch literal 1010 zcmVB3Q)?$6$A@(xzf^sZFEghA>>*jN8rN1dsa)&)^J#87(( zllhoOgw$!7zE7d+k6PaIN`p0uYq#^usy*T^O?M84PiqA%Ceb|=;X?$P5a{56&=eN+k29sW8pL3(o7jM1L zMDY?`6OVF^z(8q_#nqUHp<<8VES-A8^)E!= z35tDsDyEOA!$4|&GgW4>2P&P49w6j&^40kSe=Xhgx-ug_q#2J1U4zBOHJ7QmS47G2 zV1dnt(MD$B=(fJqrXU(W4Mq_%Q@^y|fwykN@~8R;R@ZlK%7yFvZY?Uf^oXNjJ~UV1 zjsI>GpTEZPu|yQt36c{~-nw4=df1 z9z^i=%}IE+_f+UbH_)#8GrPQ5XsFqEbmX#hTe!jIjQOG1k=nn!-%(RKo7eCm#2%yV zC-$*Txw~Np+@8qOn0fzsfq<>>KM?Uxe?q>btH&&*?-1sMNKBoWdi*YFX&W-D-UcpG zsBu%#`Tg9vi+xRSW3XG|iYGiO9f$pC41I26bkLWqT#ty!*%O;(_bkN8@1ICzL)l?G zoHIN5Pu%i$_?WWClRBscsXhPTmIObOJ!7Pnreml*M#p*_-)MD6x$2la%~? z*u}GQyfgMg9GEq8imjt-e3&`psEz-Fe>JF7gh<^(sGPcSV_Jd2yutKuYbZt+5x7%9 z^X?xr^MCkfoDN3$bdc6(rY0AFnfREL!ggTDF4L{D6ta%@F2h|lc1z>{K-pgbw_E~{ zjPbD@F#cB>q1;R*x_4l&V~JMMwDqwE%sgZUmg|Fu3x-j=q8J?Sh*z0&tl^u+kg-)2 zdnGX>ovQ+zHSb$Y-_{499X9Y6vpSfMGq^EluI?u4rRW6C6h2PP&t&QSY@~F&Vm@d? zhQA)vE4+8CpExImGV3vF$L~i);gVbeC(YK#ZPC4gKHYkK#D2Z)%kTu)`BUA+0&kVY z=|_K|sZ5;C1VMgDSV_I$2q!^5Dl+7~(;T3{C gQtR2mglO^se=AV49Vj};C7kR+JMh*H!?dMWS6Raj1ONa4 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0055.sha512 b/tests/sha512-vectors/0055.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1b221296eb1ec811945040866a913e766e7d90df GIT binary patch literal 1765 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 Ph_@%Xj=ZoewP7FV!|Fct literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0057.sha512 b/tests/sha512-vectors/0057.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f3f1315a7ba609b31b9a8cc11b6b1d6088b13de1 GIT binary patch literal 1786 zcmVytG4*TVjbkYs zu$w(8FyGgGTTNG}e+fH4E=>rYmY#Vxpz5hB`~1X9;>-SXlx)!3;uhww!;nWzI7tJV z?HYe^Yo69X!Zu|*#Kbqc)|6i4gqkP=;HA`~x>58Dn*CYZtmXBn!Ez)^IJI$iT^oq6 z`0Dvycwv_V4pvFeaecZG`OO)gN~N~lyi zUQ@6^Xl``hjya?_u&=$oJvvJ4Lwk3v#7H9xY0F?&aN=M|b0HNxo0YOVvjVRxuDZ)n3A7|{@Q|)Nx-Hl%|unyHoFv^rk z90fKXLJn*1^}Hm@0nGvJ^x#FgjZv9_yK|=%Paa{th&bKG##{xu(C&(M@~1hZdsGp% zqZ4!vc){Xl5NY(89R~Ym8sFwOvtg)a4R;u1CUVJ%hk@Ki8W3B>7(D!UP?TL02yXw3 zV;D&*0eGG&K>z>$!VqyD;sJD9ZAD6shC&e?Q-oYCG(R9g64HjFcb8iIoWTMVl&Zps zwt4urhtY3$?Fr3@_o9-H(Mov~O#b|eeGWGj65cnm_zKYTq7&@RUO62J^G>Gs2Usl% z&6=Tdh{Xu45oby5%xBEq@}pC+i-I$}XdJHnqVBln#n0g3@&V=QqkI=JW^8)!{gn0M z<~FoAL7^)rAnTjq?%CK6#xEpW|51T^sttl5I@}~ZfZbDq!!N>NUBkmudAZ47ze4iW zm!#nAq3{0rB6s|*X6HmV;#gBt}CCLP#Hfk{5Iu(i5px0+4p{KoY;7@H;ys_Lgb7WB4KKs6;);azb{aX%#AF9#z zS;cOgX;PRA)$gYcP#KJOaAJxE03*8b?th~v?IqY%tFEn)*{ zD--?#KV%Kjl^q!D6jZY_y|PC_L46&%i>ObQ0`e&n#R<*fY60l>LA^xTr}(vE^J0_r z7=zPcI)SJQWV!^m=Ap3qb3k7M(N3m-Ao#B#3R&k;SQOQgsDWVZ?Yl=?N&0-tigHT&M$tf0Z1 z_qgj3sX)3`xtfAy&~Lo+p;TUJt|H?q-?$pwoA4!7Ti6m^aRH`S=o2B5@nSBl+4e7j z;&K8Tpp@eG6YEh^j0ncfv*CEJBi?jWdqouF5U-mPHyS=ykq!lHznZevQjHn`Do_nd z`1=P=rl8^|W~JLc;Xl9!W*39z<1Ho-ka=xKWG%;tUTRn}C?*Y~2tCNGR9sYi8RR8l zb+2?DdW`4$L4mnB>j%PgYpQ?bzj9y#F#J}dKgix6M$!lhpb7jPsPg{hTyk8}n-01# z&t}*3^T*hkMMdg))R7C)$=^sOZqm7bF4dN?Amsx*V7H!K`^JGD^vL3QnN>!0`?>=G zJFGNuIdOE}VF3ZrB-A_|Y6dl-Ig1Q>C#Q>f&~cb-c94cE z*}q)u@U78UD!#V&OM{%;DFnaFR+2$r3T;B}?wkHDkma)qEa!E$=aLRH4hK@4c`Z?+ z%TBJ$DKY!5l4zc5(75aphBZ395nN9qs;@pI&i|M{1e=#Ur@)4c)@=DK(}cZ)=E6x4 zsWnPdtxvk6LUt-RmLMn)8P!>3_NC%p=06-(!F$s$0xKn#^6o?D&x&3useU~t-W2|)^pfRwTu$#)GOC+#+52^?tZ zU4ICQ%y=Q^6cn@NrJo&9&k`)$@R9kH*zq@ADm(A^wcv1P!kkaqJSBi6ao8~)D@aa( z;x!tue(9pvG&rgC4qd6UVAvX3rB*1xE<%y!H&;cNbmSqxcVAKKxoPaLU03zMV$f?G z4pO@w{Os$wlc`&_qg?7xS#BBnH19@RP$4|2GmCD?6)g&2z8*!i8C9z1bJUfN2=GR- zI1}e!x6OXXxxL->0K?$hnI(FH cL@bC#oW~)V>C}_2KCKL8R^xJL|8XW|<7rTR?*IS* literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0058.sha512 b/tests/sha512-vectors/0058.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..b8ed7f7c564756b968e8f0b059fe687dbd3e1705 GIT binary patch literal 1725 zcmV;u215DE&$*lu0cq9KpD5ml$}mmFT5C3X`UJJ6bIaRGpu?3J;~}Qz6t>J}TXpr* zX1m4$woK#FEc*BQLc0?WajIPeHOuodq7eL%>!F9^w%-r#PzNhnIoHE#vTuZSHykZ5 zd#}w<&M&9Zi#Su2#8!m2uzFKAlo3Io-xG+IQeF~r3ia$HnFK2eT@e`2)c)sj$>V$6 zt8uehJ$!G_Ts#6<{8RYOm5fA!5l<_8lyNt$pUinbG+lPcHL&B@ z@NSrc>xQ)tf#V`DV`6yIavG%wT=<;Kqc245o~kAEK5y*~wB-Vl?mhqys50Tmi7EQB z(U0Qr<}Mpjb}*7Jfi?%KE01HHmb-|yR*eDMIP1X4f_A4Yn1AX8^x4zWGxA|TO<1B= zwkxsZ2GqE_Miv9$m+qIv_D>?wQY^*4#92?d?*W?wl+wXk9^f6r0RcnoKiNbOIetBB z6<4*+6u^?;OB4B25ZXTwRro8YS?XC}c~j%cNMa1f39=C0`>k=~OidUCuECp1RuA4} zpMOikX|3427wFd|5%T&z=%dH4Z0HSb z<C-aZ1V5r~$cV^|LVmr@Jg4cWwR?2XcM(;L;;JSP~P`LpUo8Eaq+^ zL3hR-t#-s^XUU~)wo^6j7F5rEbK3+7I7g{1zAjGj{bmY^S&`jj+!C$_HK7$Joo>5M zny>_HcI|uX2JFtK^@H5KfM~lkAec*@0AbocsQg%|IXxsB0lpnYf31tNJT+s&g5tcS z5aO2v*q4l`tl}dl#K2(qe<;gLEl$>jd?fZIUtu^~Dt#>~f!|g}{LYOfGNR^N4bHJ9 z(|b4iHf!DTS8V@#<5p_%9iW%G`^#+@d$)t{5d5yk@8eINP;p(>(E3b2d)-}?kK9m! z_3aPdX@2P>uYQQECune*d*sma{*rbx!RQJzUrx5CrgclGsj%boc3-Gh{jM^RFe_2q zA5Lyvn+&WTo>8(-9gr#y{Zti&`4Bq3QsZ%2L7@K2A+F2gw`*xP8sr*8q3S}5w~j4U zo0WXEr8I|dKFnL?LvA>nl%hV$!JHM@Rr4=Ftt8O?hCc8V2UO)%0->2`N!_MlnYtA#R zEN)ciQ(d&e{)%M6ZUmaxqXI*cDC_hzcx#>rsgT(Ef}tAuI)@~3mfK_{8?gm7;)NCJ zdCD|aAs-oFg!XY%-M~+uRWz`=h0}%%JL&L?<9Q+ZoKqBT3a?_&P$3~n{#t2D^=FOJ zV|>F(q^jXh7`Rhz!2rs8v*rhynXvlXa+d_%J)3N3%EQk#}h z66l}kXj~ouhrCsacJl^VVi%&NOo{ zqKAcpF+=s>tm%(b(Sumr%xM4TQ)a!v0ow6>DYB&@h@j76S9_C{`a542C41@EK7K~< z)p-r+AQ;gn23@g6aBg1UZQO!6`H?f~7RwKS?6u?q;qO!)4s$Ufxu&Y-TN4(=o zG#_r+Y6}kcS(7q5kfqnT2aTn0C+s@+S!lJfm8fLG8IkvQ46Uqf5;>gjwaF0N{l3{U zNA;bht;v8EiD81*)hfZUaEsoB@13QH$jlfZx_k05l+(+ufTN2lmHtwYHt^|j%1to^ z&jXatBVnfu8J0Vmth7;U-gH#*{;W?6Q7Q6(dCJoY+ASaY@J$Q?*e^^>pG& TRXuFT$(AdMi`Tz%vWO=8g707b literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0059.sha512 b/tests/sha512-vectors/0059.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..fcc8e021548d789e9b9c1fdab30c5ff034352113 GIT binary patch literal 1064 zcmV+@1lRlLdm~X`t79M;@1QDX?5-&U9+R{ya&mHx1V?PKxEaxmxF59h)S8I_dGLyL;NA3g1E|`CONanG5$$c)L z3s|iPGBgvHnpe7;$i&GMAtCjcd&beYKVYo49818DQa*U!)#hoE0G2mvIF$1Jf-l!+ z{0{#sQ&OgH{?wV9okzkOXC8fDSR}I*#i2W~!~-+=(gSwoCE}Y2UGUm5LGAc^K-#DO znYo9$hAoH7obE&6Uwr=9&P4^lZ{LlbZ|pJri%wpDN?cb|^}T)lzt(G#vuKKV?*UY# zl6=MS<{z0XBg{h+geY=w@!)j*KSTlY&TTl|nEeC`L-q4V!e7bnWO zv6apoLVZtfNSr1 z-pTPaae8{djlKD3r#QJkZS$7J0az{+++>A?iKzHeGknfjE1Gt|S1Owmx)A4u>)qTB z%BH|C(|5GZz!B?EE70RSU7KVCz{C5L*;jnSE_N*z9r-{CuGb*u|J7k3amci_6~Da%K5o}Gzp0O+HtRmX5m=!Y%A@~RlzGh?s zWt4K6npNVc!;wP*h7V`JL(C;cn|Tr3*@H4zM4A3YR(|S`>kZk#CM_wv=Lyogko4|D z(eH$UbRLwE1+=<>wn;?;`yCb^E=h~-aeEuqFfygW*6iP$2Cn6ZyBQku)+jSx#iEwXVI)}$UN=rOetBo-6kYy4$RT@ zq-M~e`GuAaJvw6wL@aKfNU_a?28~24edztkv;}7z8L8M6CdZh})l&|dz~WtB{`A!v z&G&XTQJkDk9LP_W2zUzdOlj6f$5`GNj}-=A&9XEX^dVx*>TwTE zV~o92s`X36S(25Tg>B5`@8Z+VWr>>~sKuVSh*J#gu%7 iu9-D)y@gGs*~(qGoB$u*W)p�)(esg~<=Xwapk-JQp?q literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0060.sha512 b/tests/sha512-vectors/0060.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..10ed6d9edb2aacca6d61c8b398e431566e92b3f2 GIT binary patch literal 2284 zcmViJt4F-z?>V73&8tFR6lBXl8Z-$MR7>YAsa`g4I<-JMSJq6)Bi=^ZX3;c zZRjkR9my&}V-?5b_OFo|3Wi?(|5x`9)rr-=#TCESpp|O=ry`(S(*HfwY%Jn=XGN}` zcuPY=TSxZr- z8=UDamRV|i!;vAVW9NgkDDr~f#?d4qjvYHI?)LQU$%L)7`}~99yRfSQPI#A4_>8*r zk5A?~gRGZYfSC^{bn}9_)=tGPQ(k2E&!bimq~o#|(6OyQ>O^Md=n4OGmYz6jji=hP z^+WN*M+g$D3;eAx55P2UQ;lfC8ybZ{w~eWmD|;012;VxLrd$y+V{Y&~22+>yY2Mr_ zI4hUYAnyiL-j)zS6nV}Au_tmQfQOnA|20uv|F&DZwf$`C4jlod{{?8L_Re>h$Spkt z`@2PkQup?~JM}z(D+}T^40R$;H&JW1O{wURJ?=)L=r`4~v7CtP4ZL^Mj;-iWS~0f}!ILm;mOu>3blpUbS94WJ24zndL{%^Af&zSrNOLP+;V&Rb z3ca!M>{J zkSa>)GvP`yn#n+1e7jx`ncrtKGoN$dyrNi-Z|ngwXEue(Y)m|kj{2wmc*6OWcK57J zj{`w$uBA(3&-IsG1+d)^RqHE3C3;H}h?*k;@j96DIK|nY`4&@tqBf6(Q_+JZG@~L; z{m$G_*-ImMF%h(ZxaMcLBvEF{@^k|YJ8`QN8R9KAFN6+xO|G2QCdhu+6Ewg0zj;5MdrU7+&&azW>;p8R_=Jm{PKbVMgES!ehvXVtrlCB%aQo( z(i`%^_BfOIP%NBkE5`sG)kK#V7yt%#D^UIIpxzz?T3wi+R36ZuM$`WEDJL>RJ_VT(jRwG1VL`W2gEIztu2PSb!g#HV(!m z_YxU>JSW%moV{HE#K$L6rE}5E`+;7^}*rH*x zt_R#CS)v^wz;4&X#?ap`8ayS5UD350(OZY`e{cyYQylI-BtvuOW$7E^%+H2nP~84x z2m+yE__&p6LQ?F5Ur*;GQPPD`qmS0*nuahqbdWw8kY5ooJ=WNQg{Me?vt#j{DfnNH zcltUftn9@47|rJ3Hol`WdenY%NXgz;D`Tu}^&#ks!Xkz*p0O^dSNWLRQM18Fm8EG4niDO@QoMzaI}>$O5-k z#wHhJ;_5|6gOzrYVKH3gzByL%Qz{ihQ(`4l|H(!EVsXi@ck8%|-Mc(|=!F&WGjL3v zq4+F!rcxEtUIy&?mjQz{hKy{b;2KQa=Jgr#QX z$t`)F%Q=My!R(ZLUZ!3_nA&X$&5Y9gc$kL15P0i-0@PwB73*5Xlgg8?eR zu82a)gwK?_pbqGc=He0ZeqBS#R6^nzGoUo)rz4OFO)R2S>)`97ec~V zV2eq`4bo&R{CEg*9Xj%$Mx&cu+WyZL*d9%n3#xWxGD(XBZ{7(+|8ZA0$n0P|rs8{M zMvNHAR~osGLoGSn4?I#QSXc5p=YN_)L*kCGD10YNyd(*J;1%`^1OztFFb_czPmvlx zrC6gRYmdrXiI~aMt_Bb!Y8ihu8PG==#wyG*8@Cm{EdaqhWj1zGfRRXfJkwgYPOV7o zUGMOLy~n4IrL>uLDAgI`qlq��66��vL�q+� +��t�W�3�୯�]�2x���M�:3y������/8�/i>�����mg \ No newline at end of file diff --git a/tests/sha512-vectors/0062.sha512 b/tests/sha512-vectors/0062.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..4e51a4db7502ab20a7de2de0fb58bafc6afb75cc GIT binary patch literal 902 zcmV;119|)?*$@LBKTx^>zx7$|gKr2~Q}mo4lFH3o_&C$MIgoAd;%naOC8OxEzf~$A zW}v*Ah?ZHAFxg|Ua2w@xNoU(n21@3SPaG%~1&(0A8n%SOf;sx0VI$6NN5P-BGu4m* zzU&o_+3&~)XXHGL!U4n=0J6}NJDF=$Naiy^i*oe*ll@Xyk&EEu#pYD9g}qu6%05|f zr*{E*TU&PI4!-@jSV#%dj9GJ7J2lDqmtVEHRe=mZ2*;8rWTM48tVQ5d4Du83^4}<+ z=HS&%Eyxr!bH-Q~dY_FbZ~y(TNTFBUd7(Ot&y?}pkH`8G{^5295SIAmW#)sE`ls?u z<()vOm-dLHA~_U6olAAkP2@pJW8ru2#dy<*^_SARq0677)(}ZltIrx!ch%+#o9W4X z6begS;5t(V!U5<9jxGytRHqo-^n-IacIV|#_gg|tzxdFgb*)?809j(qyZH>jCk9IF zSh&N0j=T4Eb>H`T-DW;FPl!hPzssikr@4CuUIoXGaCY^4{8Pl~pP{$B<CC;%V@e#( z@+^rG{&}BA6iQK(V0sAtws!MUh&8E`veU5)MFFfPBA=uTqy9sLUNfn5$x#NbdrQQ cUHkAdlaIv0r!Jj-ejuv2m8uPeVB`&qMfTszn*aa+ literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0063.sha512 b/tests/sha512-vectors/0063.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f13454b2e19eff2a0f34493b4b63f164cdc405c8 GIT binary patch literal 1561 zcmV+!2Il#51v|gHS7e%5L+t+B?Nk_Fh)=75L#b{Rc``U ztU1~~)D5!F+%qm(D}oU7yQ@ae%MfDWhW5H5K>^)^YMAzbqDHBg6JCViYtxa4>Y;69 zD>$#6(<7$1oQ;JlBx%)^_(g;YH;@m+G>^h^L2ixyl_adYZ8QL_v|_7JJ(p&N6qBu3 z9RMb^*c^yE+qTYxE1&ya?%OSClw>bq4R9)GwH48hd0j6V?XI$OvefE^q_@aPS%0J) zFDRTw&t<_QVmRX@8gbZ|(FEgw;3?y-Pee{|Qru6$h;LDi2b1CN1J!{)5z*)#^u++;TS!nJ$#+_T6TfvEiioGt<8T^C?aq1pt`+}=uX|cg$K@f=BUZ*zDujAB* zeM6+Hzvan}DD56+N_ofj??}HX;)Q({n1!pHp0)PGgng`kh5IaL19^elyQA^Vey23& zsGq2}`Q7a2{mo`jR0IEH9*yDoQBVWN+P_ewQjNNJf(S_y zU4&ghrgAv!84V&G(eZLvv}R;$hsg)AhjhSOGx2PT^!yQARWdu#sgdU@?jJ`|Q4HfH zjojGe9!)32Z24)^_#t7P_8{%I)AUbMZaJsYfgeoN)MYop+LOSY<+b`(&zx4mh!Zts zOf#lgmV@cwr7Wk^B1JN89^`H(z!riQqI+fg&P)=A+LmRYV;E(4hQgFR4Wi88A)^OGP zRe%1tu1B+9aWL`OYl5hB$uL3tnmxoPn*sw8CZR$2^9Hn@?e(`#aoW+oJx-|hDZTZT ze~5l8h9Uk1R5T9xkcDz{_+9n{C)*Cif)@+h#{lz@$ktMN(JXsx^u7zT)3u$W&RePm zvf5{bfJxGx)8ST=zeUxBws%be(-djy14p{Yan9Y&tCM(UL-kXt>zXof_b{Pm-h?Cc z>fAM_7Q_b)00ND)tEirS4Pm$}a1N@-<4JexDx>u$?>m z;Fs1yw(exG$5oT4A5|xDAeQI#XRZQbS8}3}o!m`J4Mt@;Y5YaVvNu~s(mR@}+(d$*df#_S zjq?t$Q4ahv6;DhUyoakz%x~iBRoQ2PfM+M<+>^IrL3$tGDlSSCW_NP`^M~cMjhZ%n zd}#s|PIw?2wt+8zQbcVH72fT}@_1vuNV6^q7aE~Vg?uxLb&I^N9I~dglta5RK^7-y z#8m%%Xmy#+$3LpYKygQGOML`KLIgxKHi{tSKGF@m#xV~1Wg%Omu!V=qQP)Xq$6L8B L?M?zz9rIE0wG9t- literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0064.sha512 b/tests/sha512-vectors/0064.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..070785bdc93936e362232e5ef215148f29afff92 GIT binary patch literal 1548 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0067.sha512 b/tests/sha512-vectors/0067.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..5860b98fc4c717633188aef8f776fd5e0df6482d GIT binary patch literal 2281 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0069.sha512 b/tests/sha512-vectors/0069.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..2625ff2d2f7b98152017ee59b2505b74e25db053 GIT binary patch literal 1406 zcmV-^1%djG3F?YKHUs)mh{>St!Lx08EdwesAw@&6T5l0RH4YFt^q8&TRb@dgceqK* zTvJf2puIM|9QrdDdl#@%Zz)1}2O+8mPS^)gemjWMO7Oq9=w^^?O3OI*oTE+r-y89c zVeW=03C%F$OdWJ}Ns>s4k0~;#rYYJqb_oDk+6m&y^udAxh;aJD*26>IoWvg3Hc9sj zz1l8iPt_l<`xq}O%{?esQB&|gGaybDP}%Ku%lo*IpSaF zNSPb`dfaC$-Z#Rc`O|@tDa4sTuPXwbr%xgUdYOJH3t%xWaXysX_{YD7h02&JA+on9 zi$qm>(wUd0>DzT39=+rLNZ|MCilUVNs-&jYzM~iRj@e=8;R-v`b27tAy?43gVQv^>V|D9nr z>``^03)gTSFl~kOzqkEJNHh{QDwxU=*{m^@(5X$YRkxo+MsUVBL)-b~th?M9C z?DR1%qu1>V=c{hJZ3YIMYOUA0qqg?G8B}#>4nrPA8PIGQaCEA?(C^SMVl#fv{W01< zL#ADXQ1?sV>#TiD$ra1$QB$xC!*>ayhpBMq*cnTW5GVy7Q$8U-&lhEfNHHxgYwAK?J*$IDP@wddi$XYE8)6p5@S3(Oa zPh-A)!>@PZ;idd+D_Vh5!Tnb}Ip*7A>$HhS36}l6@fZg@&8Y;p;2PaBah1tM;n2Y< z5&M)Yg`&ifs;(hX{6ckoy32@zP;}hW35r0fE(`jQAHhr%E2{5W$KG=sQE_MHGfy-G z3@l9d6Ey~SY_J{eMKe>oa7lNgfJaD8gl7}?(Y!?a9gMY614C$E^9+t1^@Qa%>aykg zg5Ob56>skL9=A2LJ|gu<+-l#yz!86jn?Eg=mWw_u!b=8CYaLi@Do(=?WW7N&fAU4~ z+U~lGI)%#%Q3(vWePDg%fUNs+BzmN6?m0K=u&(0;-*x&gkl)rs+8I$4bv0{%3|Vyg=517n+Po*3vP z-KWG|^Vj5c4k$ssIj6g6(Pz+dL5<5zIUneRT}Yn?=hO;{u7!2CY=L`t!9DqQNX5qu z=lp-;T@Xf(=+J)OILRd_)e)x_He;-^*&F6>&P!+EqDU6~tTfJx+um$aR8Y8KA@Jv(>UmOw2`Fv5}=F16w>aShd@wyH�-��6;Z���ƞ \ No newline at end of file diff --git a/tests/sha512-vectors/0071.sha512 b/tests/sha512-vectors/0071.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..16519ffc59ec8685647164c66cddc576a4efe543 GIT binary patch literal 1517 zcmV9;~838s#{5`K6LeX-0}fj|AFC>={@E_Qw!(abq#ORN=|c zRH_NGt)s7V3B|;lo0YtMbhC)SvS(K*C@NRzF=OrajL$gsl0dxfx0l+GmcO0tY_?rL z{O^fEL6rdv#sj>W(!&JRX4wj*QW^F$)CFm64QMjoReD9Nt9~tc(5vWS;{TiNf#ni6 zbibVON2{}3)=sNe8B<&If_}}X4A`2Zc~!2W927K%wd?GYkDh?TFz@KvGRlF#5ewkw zJA`TS(?7a_@}{%{GqG(nL$lAXZ=9_Z>v@v@Q#kmEG)^DNt!}QhFt?4h5rio(kRRW# zh5Sv@$;uttSnEYNrsb2L(<=zaOG*Y%joOJ4(r;C-TL2Jl z&IVdDcuk03?3T$CtyrsIpGvIo(gaKaQ0-rKFW+2cdZu3$Frp2}d0A^X_VO*=M>aiPO*zI+>rbP=wKoh3j`NK6e=~7b06Um852o?UQ`6c z=EMwXr9eGg^N+1#bB$?${RrWxls!3&#pH&%N3aeP(-CqBVOve^2MD1bfZ8ZvM|2!% zg#WfO+cW2c&~lr@<)uRiiCnD7lN*nn*v0f`oaoAFcTWRGvp9^uWzGfrXqnNi17n@L ziI+_Kk&-Z6f-agAM{A%F7rc(h*C=dH{EKO#AAhz3So7Y^_ zBe5LBC{}?phsQ#a-vLt7>Xm>O()K)hh|};og!&a;goYpKS?$d!0JM>8$(NcUo-B$l z7i!hVimac(IYzzKapg3l=jL(Up|TsGWVL`XPJ??#_K4y?@+3d%MBdI6jN%Wed*?VXg4I#8sWgQ#C!mPI*F}<*eeiVV59r(HUu}V*?&?lG;<;03O z!*K10YYKksR7v=nS_b~v18T2q@N^KT)U`Y5tKZ&2cN=9XI3a!o!zrrdu4W1QRycq~ zq>d*xWq~mx5CM5zNdJ>021DW(e7AUoQ=z}PU>ZqKlE893-Aj$f4%P z3h2lquDJ*rYJ1i8$#E|Nd$OVTh~AVf0LsT#D=MA>%Kq!HjE5F zj%)K7%-ZroDf5yp=Dwwq@76P#O18V4MAA^{IN8WbGH&SK@~90q7ZWX`N0zgumVc|;SsLc`0Rnj2RvoYonEkN=y*~`a8 z0e?9JaE%)sHE=%q9WPFZ(EIx5gW3k|$mjyw0Og!Ib3TUC(X^l;afc()O>{XW%eGlu z&(I#|EJiK7zxrA4eSlg$awSq@AhQvtNpC;wtvl~0xez3cd*`fH%>Fq{bmieUty)fV TdPk~BGL5mPCQ;F?hppWf#J2#F literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0072.sha512 b/tests/sha512-vectors/0072.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..bfa551758566e8d516c151b06c326c82d567f1e4 GIT binary patch literal 1355 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0074.sha512 b/tests/sha512-vectors/0074.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..73f642eff7311110eb85b068d5f6fc73b8bf4152 GIT binary patch literal 1110 zcmV-c1gZNYDJ;B+ij}ROTeAnsbQpi_Dzy@QV{10kHvBJTe71vOdX+$Isj;#NF$Hrm zjjl`Rj2)JG7{|KF3;5qq&uRvY$!?j}Zd^74!;5O!7WRt{_ zPj)oFmZakXAHi+6*?1~Z{6n6kA26#GnUzxL6I2nw&-|G$)YDc(es}!i`K@Z!zVJPF z;_t2FOtFF5))bNCF$qRuyLq`1*%Dd|0E*wKl!}nb2nN-r9%x*OhALU_h+%33YZJyE zwcd+9c4hFV9<;~6cbJo9g!m-c;Q4kzH;Usc*d9w%lXkW^ECt>u*MJE+R!W)~j9IFG zLbd45*=rl%ga_~(mW60+X3m63_~YwZonRb<$<>9KW(z`9?yJoaU9Ry%UA%%D<+2fA z-TP5|J5neCr_Y5hZj4{?-nFw5z!+(Xtk|TAP6Li3iO*4!ByAN+z$1Udw&Wj$x>%c7 zeVf|-6H0bzzNea-JSySpliOh4(-)wMwC;yA7+tH)A21>-mW~s_obpFjTJUnmWwO`n zU#~+R5$Sotbl+WrO%zWEK7;ZTo6BtOeTQqY1D4O#UL#fNR=*5{5g#;v>-G(n#uy`N z=~rYcJdRe0xX0^UpComf7_W>#<@r!o!-M^llQmu$ffO4{eoXDYDjE`@O_oKCi2w^W^?{W?j6PTn7GjQMw|3l=LP?p)uGK#tAjAFhCA z)Lmz_tXWcp^>mH&{9aBdOHpJ?vEg(^ORJrLPX|oE}0>pD!1~P_$7q77c!y z7Vmf;Ab{KNl*}p|cfe^(FH~1?aBYgGjjaZ7LBE%Tl3P&k>~k`Apy5w^F`l)q!y1Y# zn_x3PQQn9AOv8wZ4U!LeC82V(r&2QJL@kufi{&Z$(o$Y~Q;|J^Cv7o24S_TE5vY?D zv?yDEE50SR{orwevD6$P+m79R&TBLlGWU(M5m?UqsAFOWi(^Mt`j+WwpA8(Ila8%>Rp~c*!wc|G$aZ0DvuC c(m1v>j9~>~LS$Qo6mPLSm{d!(7=*0lt`rF=I{*Lx literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0075.sha512 b/tests/sha512-vectors/0075.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..79cf736d5460625c0cc299a1230e88cdc298758c GIT binary patch literal 1914 zcmV-=2Zi{fp~rj8C1++&YYBF-xO|#ph-$@p{-berT^qBCR^>~Y2k-sSbS!~rEmJ+0 zW(JR@kN?3rJ50&;dYG`3WDhmhvxX-l{2{~0Wbxf2s@Q$FTSVqk1zdEW?%b0c+Y7bD3_&1lB*O%+U*?VkZs6sRl(JpHO5o1im>ux?- zkTU znSPgul%VJgqOE%chF-4R3xY3T(K-C8`Gblz?9@AU&^rK<{+c)5Lz};iJCK@x@U6+X zFUZpsOE<>x^)kWh;Va>J2?jjN5iLC6WbYQeHnY65SscXJicbWqlCN7&DMC8>kZfh! zbE9Luod5-vnYK;HOtbBB)-<%@%5e$%!c#O6PcdUw6c~lO*j-S@GS1(JqX}Lgdc?p1 zJNyt)3BWC1zl5Rgz zb`&$(U#=}>&CJ?p3uCkFt}Mnxg-HfsLV;;ZtKdd0k8svkrh_Y{01Il=CkaQaXycu2 zHGNpZP6nsF%=b5<47u8b%l#%4CB88s3xGZb+Y1F9=oo({1iOi}b4Ou;QN(907Mx%M z-@Hz0;MsvKnW&%{qeK~GH~vg{BFP_H!YF2OAqraV9APj+hL|y%xU2NE!T2jsykW== zotY9T^Qna2iKW~q@O~D!5IUO-e%pSKufoZybWN99wfHU0+c;R?9Y!Iu)oMYW8rsKQ zX!#P1#{=I85L7WIZuk;oA75Vv4`{_VC#6%tr8u9JH(u`%9X+i>*(=7m<97o55w&mV zv4aA$`(8T;%Ya2gCm@UC%*0gaE;g9QY{45L)r=B2*FEedBY2GK-U5az-7*Njhs>&5 z58c>dD)KMUf3wLGsKVkx!)YojHB?$CydFXonUNMmTgQ4oBO)+YbZ`)=4Ihwp=*?-9 zuw3(MLQdYD?NdrpW+gn-0_jJUP(ZB%CdvRWP*+z>2QH9h-IMXSVC4`Fi4-`?tN~*M z;I$RR|Dc$#^8c%_Sxo>8HX`=l+-s-s(afX?ebhU6WvH$~YMjkZ(#*ecUqC1fBjJb8 z`bO<|AId&xJ#z9Tj{np*rDskE4asvU0nn(LcS;-#khlKO=1AUVwg!AN z73qznMNQwjQlw@0Z2h8l6gS1gN@@sN!QT2ah{vG_8LTy;8Uu^&t8ODW*IC0#zswQL%mI?G5vWB?`yvQ%J!I{n&J$=fUFFgIy>?f&)(U18b-#4lEMTeHr-w%38VM z6A6_G-(2oGjV~*3o}s^GJ8(K!YSofH=%?xb1`ZSMN}@$1@=X&CK@Z8-A|FT9mi4zD zSF6WK-s@SUBRW|8kA0Hd&HZ(=^i=!oY1(OOhwQ?5DSiopV!W^hPBf*O0$1yIsR6Z6 zX6Z&L|47vq(kN0bw!@H==Tz%$iVNF7_2}gX@BL!O%9UK>Dr55M=z9q21qg(D#zQ-W zCX;u?vA#y=VZ);^04*{~H3wxb$=fz70pkrua&&DuD21Aga63n2Y=Pt-@Qtk7jty4Q zvvw(4g}V|3Xsns`7tBEq08}1!8BP{JNw#HQfRI{@_yAI}v=n2sFiI+!8c9Tha2+g@ A^8f$< literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0076.sha512 b/tests/sha512-vectors/0076.sha512 new file mode 100644 index 0000000..7ffa125 --- /dev/null +++ b/tests/sha512-vectors/0076.sha512 @@ -0,0 +1,3 @@ +���{��� �����h�0�PbNghvæ#���?���3iut+f.���}�E�;����Tx8��y���5z6e2m�h����ўJZ+�L��b�a��2���@%>�-nmF�߇ڪ���#�#rꞯSZ�m&� }��a���_$�ɽO�����V�p�qR��M�H���"RzF������n/��Z�ym��$�ͻ��)���F) +�Y��X���t�ϛqu0+9פo.h�5��f|���i�u���y�-� P��>G$��X������4��ڶ/��f��W��b js�%��h���ubR�����Հ֝�r�*r�p�>dν~���� +ʖS}D��5G;�[p�Z��t�m��x"%U�mK:_���]��w�(��Z�B,3�m���t)�|{!�;�"��Z�S��FROϳ�K}��0-� \ No newline at end of file diff --git a/tests/sha512-vectors/0077.sha512 b/tests/sha512-vectors/0077.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..e5f7013fbe6dcc0258097a07a8f7828417791f31 GIT binary patch literal 627 zcmV-(0*w7ttW?^MRsuu?t%YRqQYHBY_-V_cA3_Du2zJ0Kc8@jt;mH+=n#f5YsYaO8C6m`bu!Fh0mvvEftAC=32fUoD9NGs+-L^YgVjr!y?^|hph zK|ym$`9&yVw{s(XH9z&4LKqA+^mgKz9Gx#4#?ifsh*fnIykT-Qwpx+_k#$?U9RS8H zy36I$FT2-y3MZM@;j9cc)=9V1XpFqHqW>wZ*nbi~8 zwL`Kv7@ah%Kp^uZemOvPz5)77wfR~)GYOF5p!EGlK)DbeeT=rslt8mZH&VVQ!n(d# zGoltzDP2DqXW5Hbh*EL}VpEJ2&WPw=v?8a!|1V+4h2;chCW{e==hLU}*;ZNPf%hY| z(n~+Wwiv;e#ps*(0*Qwf5jN762I;UE5_NL%@x%Ysjci8QW6H#2@N^4c^bt*h{yW+D zx3xxU6jVxp%|0nF^S@uBC&ab?&jGvVUZRC>=-<4#-JaeU{N!hjRCh@3BMu?i4*6H| zrY^_>8x(|4%2Yzaz=k;2g#;8Fo{JlS>1h_2Bf7sovGtaOWk;9RrUp1WeQJOIQ?&r@ zP)%PZc-QQn0}@3>vJJ6322kUkej)$@xu&Bc0mnQnzk$^f;?jhl6+Izk#s5uXB>0(> zdh9>5cmy?)aO*ji>M!XsolPqa0b-Q8=h(F<=bw;}qj{!p2sP1vJ<8Ba6zOVGw=B1m N6ZFiA(82DX!xsh1G_C*u literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0078.sha512 b/tests/sha512-vectors/0078.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..c026333cf2a6f8b2ca5576613897962f7d3fc181 GIT binary patch literal 534 zcmV+x0_pt|YIfJ{Vm*sO_!f))&xD`PCU_LE68n&3Wrue6VDqT*L$_V6NkH#fnpg3RvP3@TpdRKgK6w&1`b`=JJ<*=ixB3=^GmtZ7- zE;#Y@oMz($H&&nc3mhd1s0Qu_G;)nsEd;p)7OY@n&O^F)$CofUZR~{4#8#cd2}@r9 zeRUaucswTs5>o0vG;Y0S2Hj?Fv&dGrN5`W=Qy|sh3^TZbH{S*+UEvEn@r#tEEmd7l z+TKSVJe^8D$tz$fAk$RfgM>+KuG5Ua=DUl1q`yFy&9J;+wtlt*{Xxo_R#>SSU=_y- z!tB_yl#_l8AgO{)&V;@fhFKIPyC$VE)qZVXxQ~{@8LM+RaD9XcMwt{LHgSzFgmY#{ zU(X5W#EfcAp11QO_qgA>_M7Di?;ipJs~i3Mz?pdv!clwiH7lAJ{wCRI#Dx#`d%gna zs!zR@P8*W-lLmJuNK7GSNGM-=S-{4&OD^+c9P=fwdq(dC#k4F?iMeZ6`|hu^ zP;;|~by$DApJZcPo}^8#cz>_9#bVAPRwC7#XQr?>#Mmm@9gl5%e`2kkmmH-?3ttC) zt0(UQ%CoV=mPL-16CcH{kcOs$`Pd zX92ZW+TsG4&_$$ixRixr6xL<08M-kwYnT>luaN*&IFNsQml*|^`BRN@T|#e#6>nl?y}?73^( zt~NCH-?hPaZEJ-w@3#*nzag2oaPUzIaJ^YnE1T>uYCQKkP4ht>!m3BBJTZ@ycXh@n zGEdjM0(WC^sI{hi9c%Uvxk$<#Ny2C{%FwKA()>?*RrgS`hRV>Q8OKAlaS*V$ln@g7 z*x6+G_8DRK=SjQYESo6@Us1G3y7vk7|I-yv1`#!?r=@`{0)GQ}$TO&+*@q0@w^P_a zstWxYH5UQ9+@csAiO@X|Q|Y{PrXDVfpKx-%%t#zA zSW;^Xg2aGk1P$lM&zH?5gy=awM7>x$*aP!}uH|`pFu?tl`wa~;ZFwep3scOXd_@0M zN%#~Y07doMDjDR zO-dUxSV#R_rsg(#Q@n0U+5`Z%^-M488gO#@lP{*1HItz-d5){~VL(PEu=>=So99zd z`d?r;5OHOEgfWZS#AADab#>*H>5-l@ePo;B+;z{Q2GFU2-3nF`r zaJh9N%W%CT!Qm4h`KZR$;qd1!5e;)?6D(ITKVjSz9G5X5`AUM6x7@OE!N)E3eZD%&f{Kn`v`Ogmsx-hW8d$qne)y4!P)9q~DmjbzmEVk3Lbn$YK6@DOW z9(EsY(in|3>k2OI7kk=?pLW8bVX9OzR#nw1JSWTw21x^a^tvNM0VMA%=>6kL2Gk_K zUB8L~u3GiJE+^n&^UgZ8dE zUZ!>rC50KIsZg%2KbFDztcSVi0MCMDGy1ikDqvIlLtalFd&lUyBRG1 z%zRDzP3?&Tzvr(wE>+r!DkjT#3!?3#ScZ?jk{%HPb8SPXvX^-D*01USkmvLnA>Ta2 zarEhtF{Oxaf*6hzE#peq`2mr)3yOHk2(@;4%W+ytmXoIx3Ad3$A<2{ho6dinB z{|oDynBNMT>XE~O+yIS8(Rg975;-;E4>FN XBl@~iixaCTirZeP? zbt3pJP~zBL`1ufOccdJU-M_W|*G+y@FZ&a4WzoMF9D2o~eX^LSkf?AMZsr~Ff9F-C zuldFwzbQQEuGa2R$l*Xqp_Ut)Vm*ibut&;i+%0skusq1aN)D@He)xcvrjPX=u$xvd zuIOxO%qY7dG%=CwoTcc!!koUmkKEC!PzvkV^B9FIOn*$k&OH9^^=ZRZ$$I!-~#)N0JniQjtP?kVq3UXOh;(5pB6 z#+IgXaJ`pCbUD8FLTJr3rRt?7h`1G(vTm1BNzcap>TqlXmcElOAbv8{{?RSU+t*=O z?@z&HG1%S>pf{4_oUquU+kQGFG5^d48h1KGd8U5r=Gn(Y!*jWOU#*v$+Iz#yw))Ct z0vunfgOk(&tAF7YJUrS-bwOTjcnT`|vn- z0~x9mQ<~H6XdsHQEg1UX>0IBkk4jtx><^fIuKy-7q7i~{x?l42jsQEfNt(!wlX7U>%yAkQZLU!SZ*~qQ!p;SOHJ8n|4L)Gznr`x>WueQ zy9W~@RX%vuRogS}?i#^6-BqBl0M1upW&C_ey>VyHs% zKO!>`ZCAew9r*m2c6hj5p6BjvIi?4T6|ACdtcSmwR|?U5V*OM} zZF_N0g?jfwr{U0z>6sS{0h~L^{CM#cP*|0^sAf|Y?XOfxS*-q;56L}?R*jyVEaOBd zn;fRLWWcX94E@M8F@dUP)*2WcP-rRJ%xFZ?9AKsh4o_OT96@ve2=JBl6`@B?fGf4C z;2Z`t2_rOKhO79VQG0eNW%yrtzl3eXG4KReCc;2DIoflprnz1bXj5WGSJN2y z*7M`^V}m5Ik(K|k#f;#wbZ(ejoXwgGmqUIK=-%dKh93L(efxQH15>`p#S9pbWDNr& zFM>48L5G~%2xjhH*48ZsT)6N02KwIjfPBEnCmie@kvs^%Y9mqjUDy*!zVW*%*>*W^ zJkp#r>PHPmw04)1>2wI~C(4v00p*aKFf^JFa#BjMml4&D?PfKjoY>sv8;ED8HBFJS z_~j|r+$jRr5mRo8iO6Nuj^2DW(#0z1MBp)T1KCe3s;-e~jo&(_bv_fEb?)@I`~LJ| zK^6pl%>I*;ptUXAR+Q%Jxq$)UzA*#NULD=`=0Ak~i?6uwX_fTOv}O0m3-Z*$z>Eu| zWUJQTJO=5UiD4X^xR_PIs{^K`)rvt-;&uw}KAp>dasOTu}kOlH#U7*sI> z;NvgGtA0t;XVA>wOfF1I+Z7WP*u(wLze|GeB?nqT8>Gj%>k4{RBMbku?nx|#lm^l< zj$5hIuJfLlc#FX?)X)(7?C2vdWIgo4e^fKlw!8U2hBT#I{QZR-7oiIMR>4(eT31G{ z)2>1bs^luz*<>!!Tt=CjbaBfUPSVipJhrAuSAD)^6H102y#7L*GAzVrT7j_c`{=zI zZ}QlFx^FT7oc?cRqACL8#wyq8qohK0bF?_$;;M(U%hnIe xvl^bl0JHLoqIT=c=&%vtvdFKhi=H_kvSNVN$*JtCW20%zpK$z5^{z>@cs+3Vtq}kK literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0081.sha512 b/tests/sha512-vectors/0081.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..565ac88e6f661cee0a3361fbe4628d41fc25a619 GIT binary patch literal 1481 zcmV;)1vdKmkGS_^o^0YI*GNJHKV2qh1a`lF+W6X7TuAC*OHsrXr_`o>9stEy2k;w> z5Y5*_b+n0^dGp}|CFcA}cZ48aw{H*9=KF?X@>MdaLveuKM?>aQ262PYNe6tVBf^l{ zC;5rIzc6?3`y=DE1yc>Zs5j-}#psjBQ++F-TcQ-+QDVy}R?h=-pI zVeaR+4eec|GdusnpYg)Nbvb`g3{fmXe77oi${jp0Rdk)N5~x2UZ(!uWHyf+;3luc7 z6$nMHb_+wPRdXAiYK;hu6_^E^QRgti=mOR@5)K#$3-)~VzD_N@;MaCF#MI`q$(c(V zeib{qN~2j@y^i*}li*yW$C50X!{O)3mldH^n>&iPGtfBgbZM&TLgeW_w5*)LNjKDs zUu9F&MfUk2F5wmV!-h;7)jU_}dw-RmiYa8jkoAirqa@`I!ue^+Mb*yiiKy39DF^av z*3Rco&3Psru3g-B-k5w2ue*OgA&f&PHlYZ+&Qra%vRY4tMli~j<;W&JNo+{=M!b@+ zU9CPFQd*7-2V{^q9!E&^h#+%&*jFXQg2wgy88Kp7m5X?~f?hH=bfT|u-D_!{Is zQ`WBjhIFc9eue+3*8vu21CB(sHI8LkMsc?}aJLy}PuuVUXUO%dAM>7HT}4hG+fh$k zC=RmAC`8Im{VtIS1;51pX#UR5gLpv$)|fB|;cxR-Ww@~33CR&_EN*^F)90{4{ms7s z0ovl^+eXsstq2_g|5GcmkqXN!y>KWv8AQ?2OLD=AK@DZKEBC!j8u*{R8B#t7=+82Q zi^5MbeJUkW;?gB3=xsI2)-Wv#F#;%zy@Cf>xe6q5STzScjD#v7Or&DCx$xY1!|Uc* z7Ysh-658DWMRbGkoElb2ulI(gOXr2s zr-S8Cm{t9|Cq!3CbIFFduJJ-?*!`=^kA|**vymm!+EI>82ooB*(S~Y~d_vc!HfQ}b zb4tZmb`=dPRS|L*Ue^_}FQ$UZk1Ttq(;fVD+K8@UU~|(LFtKw>=@WbJz$M6$R8QEx zFMMQ9b3aTiJo_vyaM$y*FYCUw#Nf#_pi5mR>#3^5E7#@m{n|l+navf7UjT+uc6}m~ zl|84H(kB9PRoIk$+XhxFgSYVYwjj#F)@JK)<+XY}m!b^+@F6M=V-=&=P9JpyE#1da zFo}Q|>fCTK=Dh2jIne&?UYAeyg)AhJktBg9bah}M1Xj!@aDsfg-N-vZMlj*9YC}HV z9+Q0A)VK99yf@(7@B+IV5r$d(#M>;Yj_b|w8%M*pT+N;4?@;ss6S=gcQ=bfJqns)_ zr%Tn$OeW1q+;(k+zI+!LMxNjn{=X|=%kW)Kh^UFROI)9u=TbQTG)Rn4Qf}CG;hcY1 zebk3Oei*qskWW^SS{zgdZ&YKS(`%91LQHZ1$Z(+Uz#iw(Zyv{-_zw7!f+b?DF>>R% zD90;tl(fIBW~Zx(QUW3t6zXB0l}s$o5*!kz#r-QiiC#-g^>y*x^Un0UrMi#l3=o*D zNih7E}+zIB&a!lX=C?$79mx%-8s`TyKSC#2t8Iq7bl#tb-@(iY6d@24lARiB$EssYkqg@M_GQf`DIe3_!!Y zY(@Dg2NUh*g!D0UeG2zb;*^Q0<3lZ{+6p6Y28~NeR7z^R&r))Cdb6Wj-eQRc!$e!) zqy>gONjQfqz41!hFu(~gKfX9Ju*u?Q-T563)hqZccV6Bl_0RkPmA}qkHk$zZf#str z#Ok9?|23+eQgX_}XJlrN*j#?Dc&K~p7?urpz?+d$EhS?Mj3P7fbpRuLy`wo8bPiNM zb+*WHP(4rxJ4*;=aX?^I_WIoJ+_&vWc}52ROf=gHvG+;>7D(&SDx^U=$y(1eU&T-c zgDLDHCFqdTeLl9(?A~5jBT}Mf@HB{4Co+&X9jb%{{Fq~78z)neNw$u3l7THtn4jiR z{0>8w-{vZ{>-6zaS(t{Mw_1B|wVRfjjZh%#{jc!p&%6l7bJK<7r;iIB1IzL(6~Qre zaun0a3NjYlr+kTlZ%?7M zUksXtK)6^`V%Gk1s-AN15D81gB%kjJwH6PS6;90pp$1e1q!oDrA3L=WOE8`|BwsjD zd4#@1Z+hcA^$-UaIh@<7W(M?Q~uW}YXFPJL-W{W!plYXv_9_l0vF60l;Xu ziFI6OU17End_y+H=Sc@_`$e<#++ql|tN4@6TtzX+6+sw2Eu)<{!PRD%D2@ z!MQnGJ))v|^~L=9P!3O8YMi6N=IDFG*bD$fr>uYw2C*BtX4S%DgAt2vz8SkLznC(t zQ~QCvHAN|k9o5OB#oKsu+`V~i56DG@72bd9fWoxmmr_UY_aYn2 n8z5TtW-txqOUCK(xBdDg#*tbYp_g;irhEh7jEnmSIzB61-@rlW literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0083.sha512 b/tests/sha512-vectors/0083.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..ba7ec70b91ebaad1ce5b8092d8da5e220d029699 GIT binary patch literal 1066 zcmV+_1l9XmS@^49=r1YiI#`ssOyHV7IKtJqvRGVw?o1rL!@8r<={puFf(;W3LJ?M5 zl2ENsk}gG7=S>*=0~>A**g7*lUzjWMORm^zVTTMIcv;GW*|1@>#*R+HHw6h}6$B_ttF_Z^2DcNu`1a+I1H{z{6!-py|19N5`i|2kCQ!N5iGS{L z^m1+5Eq+X}(l>JxWgGRBSQc8qf83a(b&I>6=;+(DKQJ6?koq)*2>D07;p{v@6tnZi zQ4IAKr1gS$V#OJ)Ask<>fQR3Th_UHPP<5VlHduyQCOK{k^Kvy*zyG7wET44hsBsd( zl@S58$YDLTGxsmaI|TruSPIOS0Y9!5gZTNdfARK{Q*Qp$17uDc+d?}>M8UA`I%Ju{ z+@!Hsr!jxg5sPB&&OIT8^C0_&&JbQtJeQ*|3{+E$zKgYm@Z80igucg{%bncj{PQ<` zri@^rTE+#Z)D5BUOtLpb9{fYL?dxba2OOE`Um}OmJ6Uu{Z2ygA16yMmu^al-!`pta z7JRJa!U)YMwgwpc>zu9=s*{}zaXt_R+h8R=>wpOK>lstcq+!L`(DO=~HnRL|so#mt zVPuO-|0SOQn??aIDQqL6pwM5BArf$xt z7GQZXv(tQC&MgaO#yeLlCDO#cTy)dZ~2VGuj%=sNyS(m70<;HWN=c#d4E&q@(_>0J|6azk>?qQ-`v-XsU7^?nku_UeAu- zDJ~_Z{x#y4sLgq3RX*UoZXv@t;27Y1HUyCLMh@+LE1%>XdG4f&y@v;8X) kj=1gDFMn1QH3?ba5%)9I?wsXp89J<9!G3+rv#@0Ia7Cvz4wP^opR z@&>*gwltKuqosZcLv$oFSAj#E^^TC9y5{bJP5Rm<(X}CZ*s3NofTBt^wAer3h_8`e z*BV6ThYGfwHD&~JIS5JoqKa1eF&6X=qnf9fdn`RC23b9P@ zSkzdm^+jw?pYa!|ksYH5P1y}0kdip0yhJXEYb@vMmh(Jhh}iCi_S6JrxVL=cutsUz zeWU@(_|bZcukJg?$6qV(@G`sgS3N*ak+b3BvgK-|qPNYYSWerdelYWFGP&RqE01mS z5D{UNpefb+VzRodeferB&`$F3+Dgixc#A>qCJEE<$ma{))?OYfl>2%|R=;((9qyZJ z2H>fyDh!wgXamIcIk0^J*{`Y#X`UkD^$WpwKElp#bmaScbvMt#mvdz~I?;114 zF_T>j_BfgTfPSg3KL3D2%&lQknL|nR$a#<;%v&)bKEu|34&sS(SKekhp`}CgoVuhJ z((eRBsh~w_RDRo7#o$ZlduS~!a!`k-G2;2%mBxqk2k zcsP;N1z~=rcU7dlbD$#cve@YkPU$)*e2{s;+_p*lJR|2jQCo+siN^X)TXQ72N!1MU zZb`^1eRiPMGbec66Kek)Y7?~0O}bb$U2w*Gw&C?Fqwt3<#)TqG)d<}P4s w6|hfnBMVxZMifgWn&Xy(eLQld_gSM@!VaS7mHeZck?CW4$hr6?#dt30b57d0r2qf` literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0085.sha512 b/tests/sha512-vectors/0085.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1bb65c6e6803e062938d92f3bfd72324cbc30006 GIT binary patch literal 1256 zcmVMg0eMw}%FgdrY4_cX3D{>6%lJ z;fC@9=Dxl;m2g6wg4navUnf5lfy)9iSNUvwW3DCLyK#|v!|~VbPt>J8Dzl7uD#_fb zwJ#Lk6QKvSPU@+fjZen&Ihk-ogL}lhJ|`?amv$dCoX3OIWrZ6nHZnAUiXjIGeLI(3 ze0*a9c?Pl30&8YlzH6<`S*LH>VOGLiX*B&W1+Y-Gv@(dYMee{A(y70R!xK?=3+|rC zcg?#a<#m(ZboDS4BrVH8!G@7(fYT^ynd7i!I!69Y=8zTghm~_F3dzFxgXoSL`C4Mi z)a$iYboU&Spz`|Ln|{1dEMCeezULbQ7<;)-)xx>+CP`Ich67zx?>p9rN?tO5&ECLC zpaoFjT^po-mgpj~Hf-XO;?Q$SK616TPfRV|X0rnfuWW#V}qSn(|An{Vn>4W!x%@`YEWvQSLw=&tPz zq$@>xNHDuuQr@3l!|m+5)i!qbJ~1cf?=ZcxUoy9baL>$^r4(gMMTNv*bt^WxbZ4I7 z3NQ!*>!{s2+y#8^^o7nhlzJi|+?`nPc^lR{Z*7Wm#{Hp3xrc8|Qh~nP*RzU}Pi|X(D=}|%vr>EQ9+e&L(d5`R0~OO_i(LZK8t8Du0?kT(+8RDOoo_PyO4jKOMr3uHPLd9W z*UMFX75O&N*YZHPdArqjl0!J>Elf9Are|fNS3VHNwjIQ66-R=^OrdvCPp^{;p>tMr zykD8`dve!8WSh1ALS|*ktH5OQq?%l;V84KLY-)%0 zZ2w*O-{j}b@tD4b-xn-v?kTb)$d5rAU<8u^73Sxy9F2(PPEz?8jq%n5ZUr_-22!|+ z$(-%t%kVC;CZ@Y==?5zvixvct@gBt81^(roOjsJL=!2;sQ90x6fPch*gcG$)^Q<5V z*vi~O1{C_KAOyz7-X6Crws5(TEljUW=(@nc-vm`fZh#*cMXji-|8id@w`w988#rXM zXdjAo`T;sb(c54r0CIYWt=;Rc{E@Csf9&)rvR;S`=rahB^^G6r%m7wDjSN z&elN+7F=9Zz#L<~eQ`AEOj?bV|UQd zb$Sd#4hpB62n%y#0Fe^27UOaJ87W}v;oAw5?Tk(!k^d8NXE~}P49%@_T>OkBlmr$9 z+-^qemq18{ju@0qj&0>5NUy6{2=FPwx$nG0%a;EDsR%zY34TYeMxgTabd}iT4EZo4<79UIVWXd}R5}*w#XbprHspX%BnSsR(r)O!PgZ0!3j( zXjLV%48Khyh*GjDetOLyoH+k+?|GuW?F%VehK&t!tfJQ8_FR9CO;)@k2OR8xT@TEv Sa;>!6L{+j<3Ld#)UBOVVRBz}2 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0086.sha512 b/tests/sha512-vectors/0086.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0644bbcba4173f26d8599256d139152e059ff721 GIT binary patch literal 37 vcmV+=0NVek0Aj5B=u+gzB3uXge6ifn!h~+*9zcfp^o@y$NKyBPD<{iz(#IczoUB^+B*6`vZuQ9>t?`&dfP2Q<@42HD#nc$*WS-60)YJvG-X`| zsI`;wUYPxw6w~2JDsxbwap>N?ZqnA-ED_ejBrD0~S22MgMgTk7poNK2*PK zT`g$k%Pj5M8zD$u$6a+Ik&pywJw15UR^TUkw$_6nw&&3kv&IjZlX)El=6U&u6TIaE zGF-`!M?8F-d}{heG-qFhbV-6#k5@WqqQ@9cDKnZnPaIpBZ0sp|Hob z6q46kz1?i5GBhEy?BA6OeaQ)_a>uf`AMh#f%fLOM`D@fMS^1vi&I?x|Dg;pOFD`hG z?z$(XpNn9Rk+&Yo&)IkEDg{M=GM9ov z{)5ayT0j-0x_v>V=t1YH30#7Fub9xDi60F!tvu4vaH?g4WNA^@+sGbqXN+SQ8 zFHe*?P0#=6Y<{(tq2=TGH5E)njp5wT%bV4A9*`@i*ZD_uCjb{X0m=jWw`0jfCSKUZ s*Xn*kq`Wz)_N&{~QAUeBh5)U>ETo_@aUt$fz{i(8TU%bQ0vSlLl&BT|w`SfsLNv+T3*e zTIORHYYe-ukHs5>6?s%8QKx1SiNL=y|I%bNA8?1eMPkMa;E*|+wjur09ZbjtlMZ5Q z;|0iYIz-tS^NC;gX(=LO5%c{PGL5}3xdPUwb>Ad-qBDI>b)bwHx&sD^tfuk#Jhn^e z)y|=>L??pbsYb&Je22X(OTi?`{;yPe>-z-%0Q+UilZUq6PKC1^DP~(NVib&AvL-J8Ivm$RL+;{VLr5y_hgY zPqB$*^+81wb$8r0OIe9^<502`k-y-QU=dO0nQ2Z^Ku2|se+}7%HtwGYveDn%ljuZR z;J{AV6vm04JP=E|suT+gFHe|_N)?Um<@x_BH!1-(wksKxDoX2csbF+`N|Cc)#?H^+ z59tXelBYx;0=~)UCap4Y4Qq`kczZH3)g#C;_GhTd3vwnZ=}UnvnQN3PKnB(#vFzHc zLn8EwwNeL#K{AolP7m`w_~nxJ{e8#9bES_tj{Afp7^(}ZoW^3qnSBL>8>h`i9rNpt zhDeAv#I%oA3V@M>o13EF+6ef)$pe+I4Hasf$4U|mzi#=ekBM2fDo6z)YhM2}1Cy9GLmX z5hg}UD8?2beUE64R=W*`b({1?XUL!;z$>D_U1Z`pw}e7^5{7Gvoiki}fEttR2b^n4@5_leJ5?r{L&jkeX{O~~vIAK_EWcP;goz3P zDIFRd$pOTJywQplt#HFXB+0KAY=q*RWm_iI2WQV!s&^jV(annsv-vl_bQ2C3-BpQB zbYCJ=y2I+1xF9#eyQl5rK}Pjc=huMhLH)mv3t_uTvX5l!{IFXbnSC0u0E^7K*4Kxv zJ94Chee@F(isMF1(yEsR2=MFZ}AG<^~3(*Kp%dH4{zhFJhs zO*{Q_+iwC>q5})(!{tof)gX`dgxe<#p6?;Z{$3pOw4cjJUPiziJ2oF@A%r*}srH2Q z?8pXuC*s=vVpVd6Y-D>mBh*?*M@1vsc{Owwm)l&b!=EhUD8_Z3^Aj;L?s>Y{o`gEC QNRxZuRC)32IjsJWqEs#K{Qv*} literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0089.sha512 b/tests/sha512-vectors/0089.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..ad124837feb3ba3511285ceab78bc1f083476546 GIT binary patch literal 2179 zcmV-}2z>XmX;AM!GEq0)31LtRF|H_v24jc(;#}z;S=9UTEa#jEw_4R0Ix0|9K?>4R zMKE?UKF`2pM;=-Kvt_Pg1^m|)$ysIxo?cY{#OeZqq5zhvi%-?z(HqnQ&i7bb9g7}u zKDc+pEU?6Pv4Iw5(hr#CJ)&g3s}Q$SBHx6Bqx3)yk}-#was8PwiR3p@&thXYVszBD z)W=TWBAlNn*zsGplsF>~XpUe>zvP3tJ^+`FxPQtiWI_c(!kb4BhW)O1U-(M;Ajv}n zbTPm~*~gaxV})hNozPG%`>e%2%$xG`l15#xY&eb6u!_PcxW1=?;7i3NYO9ao9X3a6 zqwi28Yf7KYa~4OreKerIet0u#5iIR>PRE5cUgA91A~~qA?j-E}j@5$%cI#ShQ-<=| z7~;qhQheIpy(Vuk;Z%C^rU-zOqbQU~0(?lgIRQbaPy$yTU^HX~*IGg&ZI5ERr?}e} z{SK)~=5xnuY9*!UhLy`qcF~qQI`XfYf=h&$W+n)PZQP_w(+gs-Wgc{B&X^Pg7m-#v z?eF|_8OTd}TsB-1kbp`1rhv2{rw|$w#F~9JnDkQ#zkjI|3#Sf_aCy8#hZtvIKY$bt z)1|^C*H@d6r7{G*8+zLK`pFuW0qrnmZ=tD+m&lG#(hx9UYI%aI3Cx(=6&xfMmIr(f z4Zu*9#$-cA zwGM%L$pI!hvr7b77Sa>4OU2+6wonC`@soOSwoYG{pjtP}u;zwHIFHGipNaa98G| z#WRcf%P+DQ!nGI%fDOCU4MYFbm&V;>CIusz|~yD&mVhNX6RG6 z)wGQk++&8k$n)cjUm3{*LakBli`%ki?g{_FI$`%|DP`Z7Lq>ZUo?G`|c*J zKeUd$O^z@?WMH$2;K|+5wi63>Zc{Cra4w2uI0{Dl0#Jd!u6T6T#W-iPjM&D>QbnuD zH#gedwaA$zPT}RtOrtZW9Fzotr`fCgyO$rVUvgGBpfh}b;4FB5b-cI->DsT@TUHg& zX7{zW*E~x*nmEOBLfy)m7sP@=C(0Oq4?^r~tg430gw;7s(Pm5$7Lh)e+Y)|DNt$c7 zTVt&e6JX7+x$rE4U@tCVHk{zr=UN2`JH`!)e^F;`DY@KIp^DlwG9(!q_iUasEU^dV zC~8!BQ90Tg&o?s8i0tkQVshXXgUFL<{-hLMBrE6TP`MQ8W4BW7EeUQGRNh6R2wdEayPTl^~w}O^2Q~PZD#bx!dinw%6TU_>{ zP8!5T?z=J(wWJG-Ei2pB4Vvomipy8mnKv%bG^&Er+X!A8{->cooX6;aaicVrzx^}| z56C)<&A3)9Tcv!y2peY!8T;hr&>J(7N1V!DKHfSe40*07Oo&W8q17a!HwYCUiHp7Y zodQrAPm#O1`XRKUQ4yNh|N8|B#zf09Z67HNq;v@ArG{mgbS$`yKCt~bH!#hxq5f`} zK#p%0uo*GP@mUO+tprJ5^S|d}vNxzZa^AohgnK#Q-k)b@E+j5Y$m`R#7ix>$go-vl zD%Y~UI;d(hEOn&WF1eIajAHVO?~Z0vJd@6^7hc3AHVM03w>pp6B)IO9ZSPL&v>fgS1bFayY3cHmtgBhP FHZu%_FxmhB literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0090.sha512 b/tests/sha512-vectors/0090.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..5bd57c3bb3ae23187d94c9cf1f7569d6c82ea135 GIT binary patch literal 1782 zcmVv5@b$mw%pbDj?kQB>{~WYmu$?~GVa3^~dI`b=DJ@PAOwz&Vf-DL0!_ zwP0Tqamw4Nt2_BA4v7&5+gh9(-m-%TZ3}BzlUAn_dy7uIes>9?EDQw0elTu%h;dbi zUpzu>{8JslPVC{(&XA<~V;5{;|Fte>(ND;Gr~vHLygY0k-96yfy^dJK_EP9LFGdTV z({n}1*=^(jFvtUmEr@z;STTzi|0`OF`rRdWI(ers-QC+TQ`>7#U%{hKWH()y&{@CP z3@}0n5%J#A6Pg=7PCctAUv5_PPm3>eqR9*g8yUm;`B(-xDTmc@=xzbxI{3V)5m>-J zQX0!ubc+e;cd~sNJmA;F0b=L44a}pGOzWGKM2&yymwi+>oQ%^pq44xX}KT zpYd}A#`~Ur>(}(bg1^O{ix@O!L^f*XfLX{^1N`c{%c4lKAHI@(L9y+Xq zI^HlqBcu|1N^Aem29pxDJAFl+)}Hz$Z`P-TyJ#)uG>g3esmy=asxa(OL{~`XZmX>; z+Ct}3QhDw@9wiJteR{(1rIjX`MRg=%0$4SP5Eb=6VdhdUlaiz-$L#pCyO;;KA+8LU zg9_bK82{Oji7dvOQsroTpD~{6i3tahex5FIINo+bid~wpyee+5dS*p!aYrAV0HdN^ zPSc}b7;e1Svy4Q6)6+Dv6aUC1?>>KsO%vzM>npP8h6gTS#AIEE_o+3WKB2ii@BYem zrQYo5kT z3uc7*!`9$AaDRd-q>h-j4ed1}D3`FSS}$m1m_4i-G+C@2hT|1Qt?p`m`FyC_DH`?u z27@#XEig6xK#@fLjjAAw&C~Lexh-y)>ShBA;9%1wH0hrnSstD?&D3dY$1MK_D-Vc~o9#sNot^q~VrpPcUiw1pbMD7o zr{xyX3I9sk`#q_|hp>xp&LR>InI?8*v6WwpY_G_RrABmxX|TfOn}3uVbdflibCB+- z{VV|(o8ebWwB=xZAB<-#Lx-=`h01##kwjo0Jpf%2pmDfHEjE7d;r1$^Nrh0$9Cpm+ z0yUn3{8T+gRToOz*CK*4nTmGI>6jBir&}MDuYsOs?Ha4AxkxQN(7giRa;zYZV}WR? zS4h*wmKkQ0b@QbgHIj|4?uhjXDpJayeRi2xM9vj`fFN8-#$8e}NqJLI;g;X0V&ZIc0r+KP7`AY+<%0<$a3C&`|_#+iJl9M=c?E@G-<(6 z2Pt`%FUvR~8q0((BWNteQ8J#$gQFqCey6qwDb7xA1YKxn_rZq;V^yjN>|)_lqi` zyWnc}UzbD&n!+dXysu`qqvQJvZQLK9nUR=SvSY}c*eNLcH~z-)!HFrIPKhT&V3+Nc*W2&3brGX;cg zxF9)!;Lga3>pSqmJt5W_Y} zO2TTN4~Q5uaV*D<1yk`?61LbnflJ5o`$*EbMa(?bjHR4m$gS2S#Q;nqUX zOA=@>Wu=`$PD?0xbImnuSeLInO;$i>*_YLQ7_c}eAmKc)EaGveMTipvMaKOoOP+8S zUoF~L_5A;J-49vLzmXY|nHpKfM+DJfQu?k&zw&XgHk&MSK}55wfJ${}rmn2X#FI(y zysCg;G;YeUF?2j2=Tc)exc((zS3WNa!{Kol7-ZuRVj_CJR|GFZKJ<9$*F?G3wR9Rz YXvxA#1!JrhIw;WMd0gl(nPgtJu6uiKwg3PC literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0091.sha512 b/tests/sha512-vectors/0091.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..4a199b3433e68d4f55a1bd50780cbe7f5a0006c4 GIT binary patch literal 1161 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0094.sha512 b/tests/sha512-vectors/0094.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..70aadf1d291da41e0ce6fcdd2b69a5bb3597e548 GIT binary patch literal 2207 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0096.sha512 b/tests/sha512-vectors/0096.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..58c5092562b2963282c3bfdb14e0e424eed5683e GIT binary patch literal 992 zcmV<610Vd^J_fy$GLyJuA)cp5KNL0=o(8r3X68CL*~wgna&YH2L%0ABm{HFI2tf1_`g^C1#H&-ybR$&i>GF7nu#9% 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 f@B>o>Z-wV#{ z`WJJRuc!J>g>xkA+>4}{Uj)$3IMqF?^#lH~?yxP{sMuCql#lOI7@@;;C>`bbDgA1~ zS??ifa?xuh;%s8_`_wL_Y+L_~6$>&lQwOhFNx0737lseRaZjMVRA4V0(Zbkpm4mx>CNCEQRAxPF z=cHS~2@Ybc^mGF0&i-=Y7E8Z#ZQvWl@D&=~&~^Jn_@gy@-@C^bDL zrRWhK+Rg!UlcO_i0oHq-rUhgtfY{Vcn9*1vwL@-NM&YJ)bH6L3fr|VQNHO3r(S+D6 zg|nB_Z_>2BE)Xwu1K%Sas~5#!(Nr-Zm*P!T@;)a`)nY=OQ!MP{fhAUxl8zeixjdM; zS>RA?(l?(lwTidi7ierfWD3`aG(Qji6bpES>RNqmEw4U$Mc2%bbl}I-W^f|Kr;i6e zXzYHVVAJ7HXiSg!RjZV^b*(3m;?>7kw&{b~!G?z;!!S969&`Rhw4Bm4s4SJInwd%tYLFH2Mym}-%*10hpDAHjKLMi_??A2Uccu4Lr!y;lIGpTa8{>hgjMUy@W zMFa?x+(g(Q!iOuyirK|IHa5)Qb&}TsRvRfNq?rhbbqs5d&ziHMS4IJ$UTexTC37vY z3Fq;0s-+;hq#5+HV`vC%*_KYu!l30eWr_IHbQ`2m!q*3V33N)ei!i%r7&RP|9$l>^klwthB zM%;nGTMF2_m>H1%22rDGuP##98wp);gwBPuMH7XT4P@SM4o^;u`-fZGvIX>>;6*Tq^RU^f7o(h91p% z02%=Gg}`{6S~*5=>($PjQ%(XohR~h5eZr+6`r|p?zjdxDo?rT?xL}7r;t-(n)aqBk zS!%B0M4zg^TbHD zR|wK`(xK4i*UN&>!g4Ot3mh(ekQCiCqx2yhVV!fbd}_^uo#WZ=!n=e|cUwd9_0_Oj8l<&Dag%#oTDDfu^_Cj?07qTteYaPUGRTbJ>`9@=EG zEYOa)LZzsXEI8pI9z6gICs*aw&sXw7<06{m8r!yfAvRA_XO)=GmYDqa;Py zol+q*&E{{U#dG=oRTyP&+^#c*7LVMZ)liL5Q%0KoI`IKI&Q)6ld{vU!AYzId&lmlX z^DZ7AThtL7EzelaJqvO8;uU%XR$jAsARcr6D?R1hH^Io3bgp@G1k{c_VI(i$JX5Msw literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0099.sha512 b/tests/sha512-vectors/0099.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..58c5bbb8ebee947ddcae381d170ca22953d6fc50 GIT binary patch literal 169 zcmV;a09OC|M}RtV>WB#s;-7k$^{(@={Oc}1?MrJ=UZin6XIyG0ga9flxXd#}M6yL( zvCE0)7(*M*1RvG|)*-}OQk`|Y^~AiEox~$mpMk0)DN5MN=n^hSbd5zLGw(i+pZ@K1 z$CFSZTv%c`Ot$2Q$Hr~i{8102m2Z^Y!?$|2tCW=nKEq1B7QsoT=Tz|E#Dc%O97RkU XF1*9StoB?xyzD-de<+70!L@R}4X{>f literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0100.sha512 b/tests/sha512-vectors/0100.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..a277f02721c202a9c70b22b46b899917ce57f267 GIT binary patch literal 2361 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 f6OikdjIBB_Lsj+ zj`Jl=8@PLoUVIC6n_V2i=vMPpiL$V}&$k;`ZO|!JbcIx&58lEpsMO}`(K94i$4{BFnjrUSPbg^7L*aK=T@y zDzk-$*EU_W%eZZWTXY@P5ug`iyj#nr%_D%0AFzT-{J)!}P_2WW)Mi#+Qa{1tM-1*7 Bv|0cF literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0102.sha512 b/tests/sha512-vectors/0102.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f8641f33726ea6bdc31c6ca0b50b719a2ee3a3ab GIT binary patch literal 2150 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0106.sha512 b/tests/sha512-vectors/0106.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..55ee37bdb6cc7de494c706a28321be36a04bc073 GIT binary patch literal 1103 zcmV-V1hD&Sq%<0AS!uRDP^O>Xw4j^yR3o(g^mUDWh(@9}2kAeno z@A0WiNQyR{{}b7VhE%FF?NAeN?|dcmOZ}ZN_=J8b!QL&hDn^G5HtSAuP3&+laHKUK zIxj7+SRaP#CC5a{f<*#=WfaHy+7 zO!1#CD|EdELx3yp-rQqFs2r5&{lDC2>wIGf&kC&V4y}DS)Ur|0idC~iBZlFR=P>~p z%pJM+;p9%L^;6yB!%FZ=R#+jpHU%PHz$E_c?Pbx%-$-7=v%av)C}0+LOFYd?)1K|4 z{2Q0$D(GH>$%lIQ_}@?WQD?#HOD-9bKw@c7;GkekrRUNtqbrz_j0F)28+riT{S3^v z)PDf|TqY`XG#}dpap5h)BjpvOq`e0Nenw^POqt8|lL2ApNX=MggrF7)w@5_HUAV=% z>3tcj(uMhCo}D5tx!J4_jZCEamjs|@0TFwb-tNyFmQ(eDH$tT> z>z+%%B_?3xVT<`x)Ct9F(PbV)&k{S-zO{AR?qJDDa!;kaUia_-kpjaVcW=k78++E3 z{AGYwsN5|XHKMH+Q+YbstAO&i%Hm0+;DJiW1zvqT%Gf@^sMDTv0t%`iiM=kmLkHdX zVT3{71&@Qm0o=(@;^5vUe3!>B%Nf#7RDhG?)QB-0!#mx{Jb?bnOhM3TH~`|`R|&Kg zqFS?0Lny<{h6-inEv}sZ#MVf`6k%l+y7mqakv_{sqIx<;^xcFkN7X9TSUUDLqh}(z z-yp@VO)+x(%{*(ohGjEM$R>GI!u|Ha#lU6_(W&YaEC<<;#`FTsixfHzj!-&?sP%PGEvWP;un+E!=UBWCjx5_t}1WyOif4 zZ7~aZInCoLR`sl+jOjzIUARD>z>BX_H2lv<7Ra62y~U_%x66Bi{3W^X1?i z$&(m1W0-dPbUl%Zj=ML__tsL-c7iRP-FBDETHm)p?1}l$pSuQ#}!SmJ@n_ zmin=~e8p|SbOWvmJ+e4y=6BrRh@(W``5baS{l0F3zB6QOXbgo7V``Rv-&od9d%dl_ zVH{8S&f2j+{t7~>yR0L_3tI)|;iXGP_x}<5@dibNL7Si3#2|6I$@rV2r~T_E6VBNW zOki-npwxm#ReSw(z>old(U?C4IOY+5MI)lf^Juee>af$iM!LHIPy0qQE1o=Fy}@NT z6@+B#v%6H7;v3iZzLBS42xLprI7hEA555y3=_2e29!RleHc>%k4>CDUj?j`;WPk=k V&1{zoqpaqZbNu;@F(KJ*oMF-{F~I-; literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0107.sha512 b/tests/sha512-vectors/0107.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..2cd2960f30d358156025e73d4940c910fe319cfe GIT binary patch literal 547 zcmV+;0^I$HGKdZ#1{u)81i`J%V;QtN6*wK%6uuY0U7+6mJiG=7?C4+Go+2g>Er)y-y>O3*{Vh6Fkb9+Hd{jHX%g9Bpgyci4)Cl#Nwvo>l+>k| zGK*92rt%6rcjOp>$@sVk0>0~lMlZ)4=o>&ZtUPv3gFOVOz46A8_>e+?msJ= zFG{>+H8Vrus_vyICokj8~^Byl6*KjOId%~M@n}Br~{^UX1RYi l4<^GRINdqCc!1AcAlOYz-Q?mifAcsQ`$0k*Zu08EE>+!85xxKb literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0108.sha512 b/tests/sha512-vectors/0108.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..b69a0c73aff89503f1085cee965231175c168ae6 GIT binary patch literal 1642 zcmV-w29^00lv169+BWuB5(J}@=u!-=h1x>L;@iOrvZ?b7I`hS|HkZ+gI*OQD_01ol zOylBOp^UT$^TqeqY@VqKyob5O!UO|iMFEubg+mnMNeP80{sr8c!g00=8U&y8Rv6a( zG{<%WkupEa{{K59^-0nYtDxdUPL(rOBFXe7+BMm4IUDr2AEaHpX;iwMm;%dM8Vmxt z2V7z>n9ffve1WFKvp)-ZE+`wqr0o*{0fCXZ(;NlX!^^)$ym3|P+L7t39$Q(eb0UL z9dG)CM{UO8$@ZEU3y$Z>N{ik{pLiBwnn93F__|;3$CX@u^?7~o^?6fY5Zzl@gE% z_T;B)Q-5aK0l=Hbt?r{t(rEF;?1Zl#z3hn-?4&<+!8I9iV8FGvh`s=Hi5yGgiEHJ3 z{#YoBRVxa&ad`VRZdF98((>6D<81qdX`f5!oSUGvec zleLQ=o(2b9BJ;F2kfvt3d&Na12pq)A@SFLn@o_Q&Sv6#l@PY44Roo3jnv8?8EhmYc z-@ynZl@}K43wsJ!>h%6QlVa6h(Ir-=IQ5W$t9}jA*z{V`vE^b=XHn$i1}(ns`=L|c zKZ6Bia(ho;@gc={2Ng!Pm*xDdlncbR5L`iHy^}AK~I=TTj(o zF~eCm&n)ieFy3G`xQz2IaLS#mNf#yO>*7WZqKsW();5PwG;USAb~c9<70&*x zTUsfgQ&6j~eU1=w(_o}!QIcklhC8H9(jvDXGj9D*2=%;OiG{ad$N=h)0@%tNcAdZJ zhLr2%^y#k0weSF8i{-XN{dN4D9*+@vVCsYdUL%nGbny6gvB-=R6nMPNv9#qRHocntpKEX;12xpuCKL-`E5XQJbgSI^xMfG4Hs-w5Krg4isSyibFQUBUb@ke2}M9H@ER) za9)yvAYKtA&4DGLJjl9l7V48pQ#|hJteWP zFq1*YU4x-em$Ba$byG0_v)hLTyn8Diw&?3?SmXs7T+;#+J0GaL;GMKAqE$49bvH%5N4 z9_%mbKDD-qiTt_JiRjdD1xPqj!W~h;CrT~_ITwW?Gxm>y`b&?lx$?iZW0OAcrQ&B& zz6o^faEVPua$ok^Uk8cJi*R5|LfW?nCjU~)DnFX#Im37O`(+r^-m!^F$Meg!)^9TR z2h!?F|DPfNJjdQAjWMOleVz5CI&Pp19l`=W{rb0kErOp@eRb#D8hL;@DbL literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0109.sha512 b/tests/sha512-vectors/0109.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..645ff972b2cd4562c57227a3b382745da53f0179 GIT binary patch literal 2487 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0113.sha512 b/tests/sha512-vectors/0113.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..38d3d86bbd6e82337ab1fafbf586e2c60725422e GIT binary patch literal 1650 zcmV-&295bi&97nUW5%*T}*DF@G5I-t=zUgqov%Kj9NEDHs?$leo19D}#I)0AF z9aJM64E5d;wnTBeeN`*nDbxx+f=?QzDDnmO)(s5GlD?%Q~GrShgLXc=IMDr16u{wqHUHQhd8(Jdz*<^09tyIYCy404fUW`aYk?#b24*Y>u)Ve}0c-n&R zRYe8eFNGlI`5ni(TC}MN1gl0q%|RGKeoJJ_l2YX2bTarP>$REW#S~~DF`&O0SS7R< zsMAr|zQ>{Am53I?uK+OL#CXkh#u#YfN@ne@k zy__WRi)BdxirI+?&ypqomOSKH?Jp2Q-({wFwatxcawyB0cfo4bKY|RX_|2M2kOW41 zGNeDG&R69l5<+zd0hBNW51f|43CK-~QGxJi!D108);EyCxBJi-6?@}7+dU)DB_!bz zPT@!JEm?W6%r+FZx=IFVAmH|Oq7cVm^tH%ZMX#yjnr2GH3;w~p9>Q~_Gs?A}dk%Y8 z)x5+ezQ#|bVO{2L0ZfzZ$}0OTHga>>v;4#;*IBi*zQAb8g5e_>?7LZ*R%H@L;b5OW zE7>Dth#uArAFXTk%4|zOIw1iY7v7Ijo8|q>brjf66QUy|gza77*KiPtY)NJN zM%2NjS7c!+ZMPWU{PBg5Tv&9nqH>$1aSJleU+@lHZboOcnt4Y`hZXHw+&D%G4RzHG zq!b~NNZx5@6Xl)mfl*gHVaJE>{6G@E?rxow4CG7SYR&poSMMHsW`fX_0%qo3PuaJR?4 ziZl`^tR5b5v5##wQ~Hs)`DtqP#+DX)!g`Ga1-LR)jk7V~$8sSPFkm`*4tf=?((lPE z)zYV3x4qebU$t|7@6f*iI_>@ZGB%kPqsX+jHp`~=5^rurT}ov#c%aN@*$aOFWhZfI zR!JTDP7f6jF$wN9@KeDoH{QqDs&k=R_V(k_A=V4h*3c}2z30Evx&O;+V zyot2;9#3VuyW5bV7K5JNah6NgNHyi8n0%TWG54~T=Uj2i1xEO*aQET}(yt}`+AN)~ z>{%4N>LtoUynABTU)C)p0{rA2 z&zETtRkuLhb=@HBym)Nl7dB3$6ybOM;-%K7_+A{_XaMxrb79sTD0(N1 zWU`TT+dt;sUcZ(SwGMuO!(hSNXfimt`Z*F>Iu0h0Zvn=R^fz!>kdEUVcO4x2WB6>) z*%fUam2`PaNIEn2wrac5RqPoR)$g9t7OB0g(5e0)MzHMrrc~jJmq5v>xb#L;p`Wm9 zVHwY*C$mvOSmn;R+6aM wAVP%uJ)VIuqK{3mm=SJSs|21yha!$_vSis9HT(%d@dsczpB0Bx2pM~j;dewYb^rhX literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0114.sha512 b/tests/sha512-vectors/0114.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..66d98514ad693739b705e685ffae3df19b26d903 GIT binary patch literal 398 zcmV;90dfA_lDz)2rp{OyCnIm{3529CsV^zqfq z#3NsYJE3(Su+Sa!sDQ_gyPSJxacb((^*fzUQiJ0z*zgNx;Acy9ijN%w=#haG1tXYu>XBwUCj21mVZm&;7aBP9 zs*`A=OhEFWPh>wkk+?hNimoE2uc1V&Zr6_nMn!=(Q+Abe<0eUxlu(3yD7MSh^iOYh-@pO(J%19#}ih#X^b9KYr}91D=lI_QlUkCJ*3SS z7MIK@+la)0bs{CrbYZPPT(AY2?mtOyf|iY5`bFQ?>F>Yw zu3lJS<=K>rg1RGrqS};F=5YDt3GrQ6g%aEd$*mFg&$=2|-BEbUBu8HZe0mjav(b`t zl1oX{*PrG_XS{H(yL~0A?kYT92lBbM!9G-^zs^AZb*EB864{GX_}J9(p{3vY3oQXB zW0`svflD;NyFB5WF6kju0*Qfe+G)+)|ZDNHAfS&mXkon0*0U0&Sg4 z0=sI`x8=$Y;3Nsx6ms*Z5#G}fT1LuBxEpyr^U|)= z1>d*q>)}d%j=g7v80FN0Toucjb`P~=}^xPGS!Z z@KKPGakBK9++cmDtVPiU*v{!nbQSmhCO`08_$#?*asCAI!@p)cjvcCoEwV)A8#I2z*wfbwt$1q#mrZNWzbXK z@pm9QMn+a&9r6txkn+A5^>cMt^B8wV9RpbXB3Ubye<+o>uEhL)&}`%)J`!b&PUXYG zU_l_2E`@m_sBTEO-t9KcUHgeejSISCLS8Fmgrt`p)k8rH4OCy)w#n52GC(H^psn4v z^pAhw9ZNj8F6wRLl7iOG84`)4O*~g}%hs$slS@5<_Da4aMT%eaHPpVzjaf@S8~;bA IB;rMWje1O(vj6}9 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0116.sha512 b/tests/sha512-vectors/0116.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..98d34144b2cf821dd26873a9e451ce33b6a2c8fb GIT binary patch literal 295 zcmV+?0oeZ7r};gjaD{w0)hcSE!<= zA>@cW+B{FXsW4QUd2y}c5$#`u*eSMpVO9; zc!$(`fp=&h?clI*KGi8;z!h%*$_;~mV~p$nm2$o%gwZ^3vIq=RPUPXV7!e1#F}nK$ z+o;S!BaE&lErsJk+`##gooTH?4v=6TMlt){Ok)6%71o2flwchj#Pw~8@Y{N_K9QV~ t4Z���j+��Pʷ�1�=�s�.o�5 )wb��r&YU �:V�>}z�\R��S��c%��٠����ǫ�`���K_�Btq�9;�1Q�N�%D˘��yO�����l$l�\(�?��R#u�E��뵵���� ++�ܝp����eq�oUK{����yۘ��Ցc�g޾c}!��l�ʈ��t��O�G�F���~�����4��b�����![��q�k���*�� ɑ +�5-P�\�|�^L��)�B�1��r�}m���X?~�j��`r#�"����Z+ V�*B�Vm@���SM?~�T�u��˼���K��U���y4;�f†�I�ḣo|�h���!R�":e��r�����t�����+�`�E/[Bq�57� ��v׷��{��lU5� m ��e_�Z������.�l����Y�Q�@Pd��Hg�1D�kػn� \ No newline at end of file diff --git a/tests/sha512-vectors/0118.sha512 b/tests/sha512-vectors/0118.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..6f344e339ffc2de26d24b3869389c288042128fe GIT binary patch literal 466 zcmV;@0WJPADllG1Ap#O|M}TrSEmpB(3Y1vH#Ym!2@Agh?%*X_bEox{Ok7L~TPwnuhDTzilk8ml&(?`h`nHo3&#-3c3XlF$~7dF>?<>LxoMnJniCCL!uhq3*DfRcMEweYWLJ>vU6)r&9nTLt8~pB z<*-rXJn-o+IMqhSl*!jDil1B_=FD(c4YGvgOD_8XJ1MyE~M(@0nq^p}CT93hSvjyx63r IOf?^HxL613vH$=8 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0119.sha512 b/tests/sha512-vectors/0119.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0d9329fa98285bfea64f99ba0e72aea0f2261ce5 GIT binary patch literal 1418 zcmV;51$FwW#xjuJnh_AD^>}J0w2upjve#tIeEbyoLgq%wLz&+$X1x~(Qpc*%I)?Q_<3ht*qh$s7 z_M$63^T9jD>3<}QRM1+QPeX8_dSW>Ulnq z*L8REHC|0QZAG}v7cML!d&0A#%4NX{>XIh<;=?z|Czop9Y1SM$n#kSfJJ=ll7N%Yy z2zU<$kR2L}BEXK9r83J6ZyEC%7!{Zm9qh#sh(t%fS2%c5Rl!3sT`u%%%Q>L~Q<)J| zC#Ajrr~FP74G!6!3po?!9BmN-;ApiQ_$w4+dui>$_FSXO;536?6jz+HRW}6|YJ++> znBu|A!xnbcYxV+#JYsw)LYe__oFj}7Y42l`M4$^&-Fl?5P<2&WuMg+<8-h8$3iW*^ z9|hFi?_E@ET^(B+I`L4ak4I1_{YUw}+M=GwgUdHLdo@An7Uy&3Ypm7symIVpLWE0) z%?Ky@7bi0_J2!BaGylYL)Rojz9w*c!s37rE4)L{9nXgIKFr>w|)Bzq_lJ{wT8pP)& zTZI&9B(SABT0~oACxGSfDX*8^%!$??dk^pGbWmepl(}J_*5dFnn3= zgg99=A~1hfDO*{wx$OMkfr1d{jvV+>{69Jy9N62C?9q|*o0xa($BgM373Z7~Mopm7 z7|{D3ZW5NoWK(1%kTSHxwDqeBKDtc5Q@a&&w{q9)E-TKFnRD5oYxO3f*Zb|>5o5$^ z!J2mjHKEHNoqcDhy@RG2(3yDKm0R3ix_+)5I}syS&C3dSy`@DB0-sBCfX=x})VFY+ z(%Mo+OJ*KI2AP@CJ(tDJ$5#TlTLW;IVzCbf>^sL@6SZb395gescTUH~}q8@mQ5>hx_?Nhvzk!nJgmafyc~;)&|^E`WwMYt5iT=~116a7NPat8A_-IhMWRXnuWH=!��iC�=�&��?�����A悎�Iu���Ʉ�t(�yeF�z�".6Jl�f�]o��s�zw�S����FO�8���WS̒��J��_Zߖ0M� K�]Myw�֖V?Q��XP�H9���'+�|(xJ׍�?�*!"\U[9`:�s,�����g��W��^##�N?q���o O�炁��`�ZZ�]&'�����[:2:p���V�\���>��g�O7��J��r�d�\���f@m� ��%����V�O�i!4��q�X�a�6!��H���rci��� �K�`dZx��qr���$�<��� +����4 �%��2���.�I�a�۷��Wky�5�:�j�U���G�X<�F.S�4'|Y*�n*���D� y-ݷ|,D�׮4 \ No newline at end of file diff --git a/tests/sha512-vectors/0121.sha512 b/tests/sha512-vectors/0121.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0c55a922b7097aee72ca2c023f3276c7b0c7a98a GIT binary patch literal 1932 zcmV;72XpvnP>pN@Y_;}RPcrF4p-ucNxpK|zU|DlKGlYLwngn)fSt3Y zp%#mJ!y}-vcWlgkcPyi9eTu3zk~pq>*?z1CWj`(Qx|6=fl^z7^%`Uw#Y5|PQRXBeX zRwP0so@`lSdLD-IN1+PHzf1R43i-xN;rRT&a)W_*0(k|8#ALOZjcHB@9-$%u0|*lim|0|zGH zigDg07JcUpt%8$m|CX)lD5bGT6kgLH#V*O0GCl|$kk97JtkR=bf(aC4)_@DdAw z_`$Hb#?wf9UL!iA=fGSX8wbek7l77ho#3cm+N&ch-yNht$5E9_7_=%=Dg7qRSxB0x z$H6^>Z1gXyu;TbG4m`85PYf|pSrOj^s*BV$Ug?8lNt$WU#pn4~XrIub=X_L-_9lyN z9Hsu>pg@3D)RyPVXtih0Nnj0GS+8?Z^&y>wZRp;TffSLgz9h|;i>~cgU$2x>o)wvI zaw~vBa&;YE?`JL-2!+Z^`o)}YMP6F6KnV~1YUWk&IJG^f5Ke*6N&N3n8NN*yA~g<&l3hy( ziLVgtN$F9RXv$ir4`=o?&WhK+9hPkOX6=KPS}TK^`w&L#JZs6POVnR&i8HI zh!_gt8gBH8wwmq1i%6WkrhCKmNJfIwI@BBwN54r#Pur1g76jjRkhKH{BEBZwQ`TnI zg{_%aIfD&xuLTSzW>r#_0P0=<8{W?rPqYnM3Y00d1u+7N( z`aF#|FsQWnQeGfcN8UG-Dr6~;8E}RIla(F6`AjjOd%`oFn3&!(Pv$b(EnqZF=SJ;N z2;M#i^W>jlFemj*0tr!gG1-;Sy`Y#leWVb-aH=exr(e*f^}3SA5$*qRnZ+G9mG(20T>v2pvcrV zBs|)RpVY+IoWULPTo?*r*4-=kwalO?;CJue0$Z5ygP)=`h?*y&{wN~JBFu_OqS?7d z?~m^Dcuy#=riB@ZQ8C2AnqgB)twVV<3DsPN2`vZ-m8RlGhwV((E>V3-Eyh|Ma)8pde! zx&G-9+>AcFImEgsj3u~SkaNn;q1p4qM}~y$4m3C8mo?;glEw;(ZOPF&?tor1k2MK1 zP_eRKHKa~K!op*nfVx-0T_a_k-+R}mIdPJUTc(ge9;4M<<+eQYth?t&3tJX2_bPK3 z6B7sYi*RY$2Lo#YI5Eq=cHTShzl#c{A<9v?O3JK6a#w0==Dv(WQPD3ZGM!YN+!!0~ z3YD)$%Wv~0E#V6gecp+`zNpzqsW^>QbZW$t1v(PI13L#|+1Qoe`cJig4W9YP#<;RzbsdfGEXO1C)>(_EpDv!g%UXqMbq7GKhs) z8mHL;y9t-WvryE7L$rL`)`BTvxeL>;yW@^tJrhI0a{#GYdb<+V0|lpEWH-jiM?m8P S-*U+>xuJspNjhDKQA2tiP{4lx literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0122.sha512 b/tests/sha512-vectors/0122.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..ab9b033d8044648ef9df34d788d5e1c6b1641848 GIT binary patch literal 1394 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

&v?~a2{24 z1FoYa|E&Cqmp{=BvdoBJUsbW;GW8bTN~FT(YJ6qK9v=IE;-dxY-851M?`o$6Hk65f z2TmaJeFlE*jDbjQoCZ|w7r3`StPy;`*=K9w%Xld=U{32Y6(jJ z2tJUXL%bkt{}9}IBvxc4+gwMsYa9h8JgYq=6zL(vBq;kA6nj^v3AZ%`Hhyn>9G>r_ zFne5a0?9i)*MG&XAir=L%EOG9Se5WIZaY+E8yZ57;A_qmp;SjW^3|&tK;VReXC*o@ zV%Tq%NCI@1=tC}Wp*N;oL;%f4IWE!W*~UaDZZtl2;vAdY-~4mXF$2C3@ZK%IpepB` zNs)+`&VRSA-mpI49d{knGsdHV5b~?ao#-Wl(>$dOwweT2h%PVL!ciVQ`>2RHt)KN6 z&VR*$DaEu=SGv^Lxye(2-N0;<2(eWIpAJJl(Ac5xqUTtaT?Y7z@cPv(9ui zkfxna?vh)+A@A&jv9+CEC339K*$3dPmnXbc7Yf+&hFKhi!MXVUGtsq1@AybT>GoJ^ zBfa(c^xTs_O@@}4v_(bi=Y(Bc30y=GS_H4(k_dsJl^~Wm%!4aMxtxj@cyVnttPKG* z>yZIK0Y0t|!66Zl_VEKXB<&hHbv^`DjEXn7ZF*jxmmh56sL}ad3yDZL3d~3wo%LE; zFR2eYXxd8o=xvrPVtB5GgU(A}5Fwoh=mK;wJXYeg9Y=TSLa3wKLDouYu>6pCSI`qD zJL(UQ?0G^g^j}PIQ3a-p7l~^5V3VnH_lN>F^HI?gF7ZjT3E+43+2Dj{ZQZact|8~B zqSr17zv0RA4J;D&WJ3-aix)j$u0&UJD(7(2&e6QHRM(n6$wfx+kdlO-YLrRCnJ&f& zT9#{k^kY?$wyeDgTk;6T*u2H#B<*Ts#9?cT#(quk%yf>tq^Nw1p3o1&LzYl?9`Ze? zvxZ&^HPinU=bB{wlDoqBU6mR0wxfr0=*M>-aSWk(mUNnoz9l?lnN;mY%dQMjRUp*_ zZi5*0G+i&q>8#M|%(r_dqC}ZtE1qxk6s;SVCxZ5y>;{|kBx)mx)!IEPKLZnGk7B|b zORPb>MvRQbNh()Tr>OM=sKC~JNj(@rdzZ<FFC%xg?=p!-UHx#`v>ybNcgUs-cto5}Ag0XKY6l9j0azCyJ_-K8zR*a}vmr=UkbNZIw^TKH=6W}5u=)^yuqVE>(#!g6V%t6GN>Do> z$p?uUNb|Y);#1I++LB6xoQDVg^NBNkDs2es-Nv-T#>0hqR}ALa0lbt$V(z4~*X|*H zOLwXz=(v8W1(o6(*+`sLf(tv~d%zk(Ev`UvVI;f& z+H9a*y1VFoJ_()I8*~<_f7qrdaaw}*?sKT7*7`saA=!`^2cLVMQ0ojb<6T`3gAtS1FcrC?f~A#YT#vuOAlw{UAffQ~>c$qa zUMl^&f}(=?d84jwGOgmiroc>fB+9H`^SKLiE zwT*SX*Sho+0dD&1f^bH8+RvjU2!e|~Y&d0Np(ROS>%=iA>|rUK(2e#3%qCZp_HnZZ z1v0}Ybm@Ind5D;wUI<&l)(@&r&X5KN^=^}Yf@OQb{}1>zL}*E2$?j?aTv0AFO$T3N zL<*}yVt+&u)}}7WgIj{&C(l}-p$K1pf$7tWedVgLcLkr)MlHFr*j^EoZ`P%j2LkM= z#1Z9YX>h^}gGP?B4$O6!(}2g*k5UcMj-RrGpBZP1?J^6(%-C1K!yF?eVzE4(KHwF( zqFQ{~-GI6wf$${v!Z&3rR?x3i$`{dy9h9RQI2hC~&zW#z*_t(?rewu?>33X*)XY_>C`B#jBa^{BfGbC>k64jVcCj+I0> z-pU{pdAtH{yV!S0MhGr3xDz)5=*z-*?V$fuHX4BbH%$BlW=&(^#k&H+Yl){6p$ABv zL{N`s!8>6rTm4KHEiUnt;T&2goy+9TXvM%eALtRn44;c&*DtH@NF1X*wiR<$JgTMdX0H!=Wm zhs2)uiX(V5zIP}}Z9oodC~WXVofJ@K%Pk4%yDGvfI`Ep EVpNcHIRF3v literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0127.sha512 b/tests/sha512-vectors/0127.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..5484323c202a91a986e235303124b3a510afa9b3 GIT binary patch literal 1839 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 QGV|EaccJ`VUwwcuQ$V@LW&i*H literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0129.sha512 b/tests/sha512-vectors/0129.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..922bb238337a47d684023573b0e52a9101e58786 GIT binary patch literal 2422 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0130.sha512 b/tests/sha512-vectors/0130.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..92a59e9236263a9863b6ee69ded247330258c7a7 GIT binary patch literal 2346 zcmV+_3Dx$v|H$Aj$VTul#rj$+9umUOm8n>+fKA96-Izq$1=`b?Hlf|^kv4Q>B*vJD za3;ALo$&+!pJo^b*L+1><5FHiU9uRK;I96~=mpWzu@U5G`SdsHdhq0Re&kyh5r~Nbfu4Lsw z;igwS@J4QsTrIsis)U(Cp3Y&ga=3-{4*ixLW-Y~pxepg*;5Be|7w{Kldy_3&D+mj8 z+i*=>ik5`*A8OCYO=f+23f@zA6q+BM6L*Pis-U?sQ=(n;g@4V!vkQ?ClsRm)r8#EM z;0_rI^!HTx?JcJa{q|ybztDNJSCX8N^>Iy(kkpg#*yt8?YjqN{*TA9 z_f7xs%rBxAx<5p7On40-nzY&b^yJDD1vs1=`z5pXv;@h-@vVE zurfRLHk)kF^5?kyuM!-|bO#icJWIIsC;cp=8rbmyDb*|J39I&2>}B#ivi9nP1y3Va zmB+7f#VYJaBe|mj|FyCQqnejPhg{$L5=-z+#uP40Vo)g)*r%b(?z9^HzRHj1T9U#K~g*io(W z1!=Dpf!cQ)-;mDQ~;7SehZ6&wkJCOkWcQt@D^f~4!{fYSL7GCgOE^{+&e+r*#f z679UFmbipzSiw$I?-Q2e6f)&QrMA}1yZHDUp`z8iWw6j*smdh4rN!q+D-plm-~3@V zJfbDqy!?f3Hg9aQgBbcKi)wwwvz1yHkS-bHkb?*e($JYz-asp!Z;K~3R>+I#3zMjw zY-TxGJy7%kyCRew$z`f*n0fj%9j0+Aljm~O|9vuz)VSsqnmNXtp=W&AZ5mX}5J8~X zTybkdAsmjSrfDt&VjjW$3F9X;gPF=UxBYP`xJF;7-}aDUjT^@01{=N|vXG$OLzH0x zIEoKknTM3iP%F;$Bg_oB+xdZ)0qJbIuYrTGPM*I>hPn#Cf#dH&`YjrvDG2K(#hkz{*EXfKSs{Hz&mW*AkK# zpdKKDdjA*$?eXAS0dE1sH0|czUWLT*Me<9p+=IrvrP^9$3)Ar41Y$1{vU2tK)K5iv zh>^!=i&rCiDI!!^+Q~vPFWM3`@j2hbAo-dvHh~HqbgaJei_$S0i&8~pB+X%Tm^bMq z-+^HyZy(PGsfE{Dkea6SUY_>GRu2ABfIr4zO?I9N;vVIgoym837#-MJ!d*uEi>@(HF=Ab$0kL z>`X~`@|gMAlRxDP#zFU>Sa=dlha%khWz8KUlUO%kq~X7`Glu|@=|*%Aw%})-vOUQM zTGuE%kf9XBr|u`JNS*moxUXx4S=0E8z)J{}0#gakR=J!qDpwwX`U`S$P&U>a4pVSu z9JB;XzZ2IdB!Ke3iarDUQ>qI`|HJSGYMBR3=7f$qr;U zs(DEF05azes7g1SpOG%hmHtBb7i^;A=-M!`<%a3WHFQUY>1x_j-$e-ktq$64Y;oDU z+J}IVH*vw0EQ-hQ!ZP}+!#vwNWl;zFWY8@WprIT5Ffc}q!HBKT$$&^*i@8D1-@FcbkrB!}vK4bYt``pB)zu!=D zAviPj!(`u{CFIC&e!Y)O^-t1r7=6&+FceNSI=Nc%XeefY=V^0=DTvaE++6Wd)Cqtc z3(Zf{ObyGU1z4!N1VuVi|`3YRP-x8d1|jX;V4(ud<)6y?Ha?JEWtVX9IZe`ykVaY%r6? zj|jipNY+`PS0qgVETHc$Ay?OWn{7G(wy00)P#5J+lbmfC`K-MpRH!|p*eN(rw6(^} QqR+Uq_t3CV=FIwe<;ditSO5S3 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0131.sha512 b/tests/sha512-vectors/0131.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..c1259e52530d9a0ae1a49a388175fbdaec122422 GIT binary patch literal 1115 zcmV-h1f=^p#P)~tNYIi!E|V6-P-7V5uEx(mV)muYMQyKyDv11@)ra||&F#WRP#*4R zwUhez)`b`4_eAGRBPG1CtK{_5$PQ$vZ$s}dO`ER|@QzjJ%3z_i@W9`Xlv9DMhmB;! zf|@iTbbM@AO{OUdjMS*3L5FA5JM1)#u_Qmqv$-T;5`muKxeM?wM#hZ~B@^jQ-*640 z#D$K^HX6(fM@6rO{jB$GQ(+<{%d7P>`)DpxWvReG+@W{P&kU94)8h?KbDuisC49Js z$>_H(aAd(f3xk454=u(aB#sd87I5|`h?FaCcGBcBChz}0+(9kkZYdY+JQQiUc`lD% z0ch)HHyH!iq0HzNVHv{+x{t4UA)Kvu4T4azs96)k=G8uN?z>>R$m}a|L6{J_?RU3q9iF&m%;L zJ%u6+tIGZOz14%Ny!U!x2#1Es##uV7pb~P(1l=k5oXV4f0}ngte6nPENRLIPSIlmE z#MEg(B{_@o#T->hoDHLW@Mv4~>##6+!x*gKFQBW$dziNw!NhLamuV2*qX&!#FxBr@f4@o{En0ZaXlelpxhR zf=XP`-*CW1SS9QT9PWINB`!$GB#-P~kBpyn;X`X`lN@0C#o9)J{tP6= zctQS2TT3bom(@~+NDHLGAFVK>63F}%$1eXQu0;+w;CUY>txo%S18SW^!}MI=&LXN* zgj-Z%CBhR2z!xsHr;oJp5hgw|s~uTPp31cjfR~<4G2ZisQ$pLCCrFp6M3-5_lH@q? z2i#*&z_sB0gS9uDNmP-g*@v|w)RO)6ZfD@F^Tb)+zrZXeAfl=tP+N!lFsKfJl{`_* zfJ}X6941TWk7T@NBn+doYD1Mk`Eoj%(8an0NT6DdQ)5@O zb6U$$_TrE%m$ShlOXKY8^J_qREeWM#-PAchFuc`-T^^Gh;VSIJy{NtqRtb@0b`$T6 zjE=cy3tug#JKfRR{sx_|kV|fP zZK~JlR2eCIuTq|4;|?Nq9xso5N`upSe!))2YIin%`Pnx3Q>^}M@v=7$V>Ds}(> literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0132.sha512 b/tests/sha512-vectors/0132.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..57df2f54e858fba462809b18a80de4782b528f0f GIT binary patch literal 1919 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 M*`NzUKeK}lgVQE-Y5)KL literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0135.sha512 b/tests/sha512-vectors/0135.sha512 new file mode 100644 index 0000000..20c4781 --- /dev/null +++ b/tests/sha512-vectors/0135.sha512 @@ -0,0 +1,6 @@ +'�� w�=#i-��L�m�>���j�q�FU��y�^'� �_�r�„���0rrW���k$��'k��m����m��]��g#���^��T`�(s�����u� w�a��*B��WC�N���9O��/����S�1?ؼ;ݦ���xE��9�V��R�kf��2�.P��X����M{�Iuu��)��IP�쑊7�춭�o'-��ɼَ����a��Fȶiv������/�7���0��s��t"�����w �5�>���>n�F^*X8��!Ӯqq�aT:�C��yqW�̡(P +u�����ʞ�ߛ����sq��2�'��3|��;�WT��� ���X��o�,�$�<��mO�q�e>���|$��qm +34�a߲{@ʳ}�1��N�Li¶� ���FO�Ő��FER'���K>v���]8.t �G�g��~���:1�i&X��X�7e~۳�< W1�U��+��6�fH�����S� ���L���eM`ђ�=��#��J�Ji��c��L��DY�p� r)�ơ��)_����]Q f'H@~������0GI&Eo�bL���z�)G���BB&�A�|J� 5 +N�B��)�i���Ch#[xFO�'�M�)y.�O��Z���'"�C���#w/��<�L1��ls�Qj8�3�����%�摲#(�?�O%����j����KZ�ed3uH���op;@�,#e�}F+�+���5�)Iy������2�l�w�����Ԏ.��Nx�F[S��Q���x���XY�����W �u�>l�*(�Z�e�l.>%t"� +f�P �Ўz�j��m�AwY�zdʇY���; F�%H$S3�v��r+�K~����Z�����-B��g�g����ڎ��y ��p.:�'�C18N�$:�<��9)�o�=홷v:{ +5���pA密�z�� �]o���&5Dz�o^z}��$��? {6^g8k�m�c�� \ No newline at end of file diff --git a/tests/sha512-vectors/0136.sha512 b/tests/sha512-vectors/0136.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..8d9c655168a0bf53004c2e628281e054f72f4386 GIT binary patch literal 2192 zcmV;B2yge=A!r>CHdI!S_VlA94Kat?Z5X&w#c;$Z`S+^pI9i#`#}w^(s@|V!#u#?w zi!lY{=c4=FH=$D7^HK(mMGtidvD79b4LdBqFS?9o4VJV&x8q|4e*RN)r|u%YyAA5G+}WRFkinF%gzmeS3t$bKA4g7(tt&O6n$D$DiD!Fszv+Iu*&7UGS= zcNwEPmxQc)CZ{Z-`U~)OqFed-x22TTzw!WjYvN|X6~^1LxmCeR?UtcanhbwT>JQZ#LtwEY zjd|R|!^|iZt3bW?g&WiF?~mn`AS4x2ZTgkoX%Y4!*|jtruo{*|95HgYX*n?Fi695*6IVQ<(xw_i51%mCj|qpKy$Q`~7W>~d zwu)j9sD%*(d2}zNoZ_)~Io)5j0!XCzrW*jSLAo~1xW9^x@%v|H5+-0Pr-Bv7EMI)f zX~xYb$SVYW1t4X7_3N~g@~Xfgd!R23Li`HKV%jA>wJpd1?L9WP1lvmB!z~O?w|pBV z?c|}PQ`RMSTk4Y4SC;8-8WFm~>fYbl6r?oJdpm!H--m))a#72R7bu*^IzO0-D1Al< z!{3*QQAjPonGOqpF>fs?MUu@7ADD(iOs!$jt6$y0nSL(h_8Y6DpbX zV)Y-l1K8xb#G_LpN;Nq-CF};XL-t^25-Ew@M{vn!92oQBuBrsp@{Jcu4vrvsrRZf> z?Sy$^30PvDM57_LRP<3QJQ=)os?@?;Cu67!(z|?DW*5Tr+E5fZ*bKax=!)&PTp0nA zImTomE}K0!-H!DK>uwjAl@(fzFq&dyEM>Ey}E6r;sq%XJrWXMff#SOhDR4Dp6a?X_gJk90hz za0HUa=p>6{On?*@(GtFdQ#{%0P5+8csF~RPapE{sco8p9)dl zvC}Z4$BDSc-;XG=vUH(%*XCH9Mr09k@ct#nR|g}_3Wx25ML?V`x^uw1BLRY)Knif1 zX^nrGb8bf)FQw$U4CZ%_FZOBIaR4>_=cb7xpZ8)8dXOTQ zx{ophSvfj=C?W%iGS-Z7Z)Vik4oGV;YWOX`|A$d;tY9%CNL zHN{*0?QrolCImrGV?u~2PR6CxBWbA_onQb@okXx#>YuY_Wq;PWS5%#2UnNAomI*@` zo_a?VqkFs2zL@BtE=v#M`e%UNLMezar!hEpjB5hv0k^D=)Slf z7iBX1ckGWTfaGX2nINxY@lX_KcRSTI4K!_3Gc(S=L*b`uT2$@wZ)Yt(&}jhrt@5tu z->jtz(goZBIapl`Yw#2Fn76R`hnjB6kl;=_jkA&dJcAzXe41azO?{eDHb)>*nN-ECgK^DYum!Yk;V5cP@k zg>YM>78C7u5Db=X)A8S(lm|Yg)R|jSc8Dvoy-r<}sy9V_BzwHgrUM9clIlJUYDUo; zgCbWlb~bqPge$!ldQz<#UX4LAExqstEQ0EkOUL{?TI@I(B!2Z-?2+Y9C*`F~A^a)s0^$24((WJ=g(@tvzx4A3inzQ{Z&)ZQ|T{hGA!;u zIO43BBy7>vh|h8igjB7u(zdQ)8kiX&dgBm=Kwb~jf4|HHA7z5I?GRt{~D)e8Z(BQT32#2sEn+C1lfU*CWQjh;GYj%*vZB2(O+M#+Ip6weCGc8uv%`eY79d Sn};70@~?}ZwhMr*;fkQ+K02WQ literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0137.sha512 b/tests/sha512-vectors/0137.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..29fc5e563c6ad887ff589c6ba66e264fe7bdb736 GIT binary patch literal 779 zcmV+m1N8jM01u9%HHu@#qZkwjU{c2%OjV`~Wq^+@9KWG!@$lSqyi}B!`A$OzkJQu= zl&;L|re?%}%2Gowhi-TJjSyW8O7l$(7DwVOaAM zhHMSj=en{NIdX9kwwoGtq_AQ$`+*unq&)ep=`78_;VWJL=!5TZ>>#q(@UXS3QDs7v zAxJ6sD!XG3&O5%jzq1*LR9~nR&#MRshhI;241XA^Lz?CjUVdbEeUSG@J`5gtdz}Tz z`>|bBslk4T)n*staZPok^_ zmjr&DKuH}f8pZmtj8VExIz-&sv}WCvnQ^Hj*9c87yEEEd801JAUAIud3(Gk zU6OCrf}Fk+dfvZNXiIM?PJts|nLjVFn|Lu8kEv?rae`%Oy%qWVMQ&H?fikgM5!pd5V&<>E$t+lh4&U~Rx!{Vf?MdpvxEJCj zW(cql`cZXfxFCe3eVCuhs%JD@exYjr!?L{~(xk5-v{}+*IqDza0B&nbmFxeEgVt}M z!ZpNZud_#11O@E)b|&|Teii|@WwMj@O3IQAn#+X6D7haLa` literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0138.sha512 b/tests/sha512-vectors/0138.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..7105a33cd20fa38418503b63f529e695996e0e74 GIT binary patch literal 347 zcmV-h0i^!~RD1MNp0$g4?ETGRyJpBP6 zNd(^4R=JARTBj%Yl5v??)N`@C6DKeU+EW1%`t?-A=(tMYxJu%m-`CN}*wW(z6V)Wa zOhVZU(UZ?8Sj>vIFz*bkqAX)Qx)D_qGcg(wj_`VyoWhv@5vf-KLfD54V`qo7W5i9a z%KXy?EK@(}Q&53CJyAgI#0MD@ZjH*4C4T#%oIw2yxPT@X2`KYS&)FGHJ+hOG-~|^gK-x>6&K+-5^EUbL@G+S! tkZ{5gNtMwJ*bJ(2n8wiz0ForqoUgfZSVMF{=<7~mhot}gC61wRKu4_{;~Vi@D?R~)EO0_jwrEa)kd`C_*~JJa|z^8Gw4)b*_Z zWLBc@Vc4y0K$b>g38X?jOk~+{E!hzr=>G_*8kWsE_lXc&`4(RUreK=dqJVpdW^`n{ z`tl)9_`uDHsQt~hLB7|#G9aK-@e&FERa{8knL(t%DC%(;95K#0dOQ!T;@Fq?1oW04 zYuL6;`^WKAO4%7qO=XhMq!)n&f20xr%|ETT2~op=ApglICL#@?I)FHb9RlL=!0N=U zOA2YLf3v|-f1b811C9XE3m|XQrb?9`m)5Nh%OwKE{mV#Xe*75|rYk1-4AGrFL8F}k zbPy@t%(iOp9y19De#{Q*@DTmNUud6bj~si_%VKi2ZYO*n;rvsY8ShhH#ihRBj>sY( zeg@ftduv>Qh#Z~u6(D&)(}9r1f+PV0Tq(saZcW9xzLRY}c(!X$(kN(V;BP?zf1cJ}1OCz?X4{4P2k3p}4?&QbSn*<-H8BG%6~O&zTg zyMSHJ%%X5L=^(h0po(FO)dbYK;4WIQCIG2Tf3r&cfpJr_TuY%D)-6`E{=q~dq}(go z=zr>H6+|P^mrk-6ynhwQYGs$(foF}D2lw&*ay&|q=Zqc_rf){%3Zge$T6;{?*bPqF zX)^XS@mE-hauB+K2{IQcfS3#luw)oL(Qw(s*U+MR+x6d>IgZkK>Pms(PF>yyZx#C@2)n}9g3`tC4qrj*kfyX)+1fKza(_B6|5}Yn-7(Tj` zv;Hx{Md$$(2X!$gfOo%wn-VUKQWkX=3cH#5L zS@-5QQ%CT_+>ht^LB-k#sFX9ro~*z6NNk9=xBRpLl8??S?Ho6h28=n5?V4KK(D~*u z@>Df@GQ`V0SpGBrCO>T?=cw~a=N$S>!U&dHKg34l5^zNsLcMC-@80S=*J$$3tQF;s zTvGfQ*=h&oJjIx%WQM`hlhAxR`4kHm@{;bP?$E)y`q$uQTsq|@`Pn-so2KnZq~V@l4VQ&WV4AfZlwAqSA8DspqhXDy%K!PDhPfXrX7SXgli> zu!vgLv!hBj4fkn6EjNa26En)CoF72G{53UBmZZyphvSNkKJ))1xa@Y6_cpA^J6U!$ za*_C+xYoSUDN6tiFJCk8-xP^|ichWsBN-7i?Edq9)E|O1@*#lMM8-pZ5>`7=RAw z!aj0BxYnq==iwxR!O1-~5V#?KX@}4dr8Vl5IvBbgwR-aZPS+M6+6{DNCfBWCxaKY# z*{bH8dGE1mkRWj>f*X6p$rAtaE24V-yo}g@{Pz;@AO;CHc`v3DKJZvk*cmQw`mn~7 nFDNDVl#k~d+)oqvKt6VXIdo`KdGH*dop*0~;dSTIBF8f#xz>{d literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0140.sha512 b/tests/sha512-vectors/0140.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..fe53ac59a91babe36e1305521ed7b54851693c19 GIT binary patch literal 1465 zcmV;q1xEV(sw}862TOMtq@|Lm+URP7#B*T~q=%iJ*~w-K(9u|=zvJIpyLP0xw0r_@ ztlH9`US%e7TLNzq(bqLf_{7IFJB`67bfChS0I4!iaB0aS-FNH4Pz)9D!yHnkoA1PU z0~I~-GkM1H`~w7TdOgF$GEJTRYlpKWEK?@M$eZr5SNVZCo`6Sp!%?`vaI59hGkKk` zEZ;G4+0fYa?eeP;(+ffTd5nV$KrqvLOWH7h>#zYMP31_)0HGdjSYfF>*@@5%xO1SSfR597y(m%q z*CniqxD=kLy*o&vF1cLA`2Q#*f%WSeYe@@3{Sv{m=cJaqJ(V`?qa`Q6zR4+c!I-x% zSI++gD&}44Ikai)0BvPWi55TJg%6Q|Y?Ifeqo7aCC>Ca;-kdP6`bfIo&)KXrSXXN7@SvMRW272+LpwO7a^3jVUBoi(8{* z>5QWyK0c}zxrSd$J)haT1$ZV9n82SYKxc)`xzp3F5Bm=A9lqgTp0x(c!zn1h&bbbj z>FoN+0rY^IDzDvm5G} zQ$w+vCr-Y99SMKmGmWM@N3hfiza+F%jkN z)(XDHzKviJ6SaG`Al1}dqNvpL1OM4Z07`ux7rMeCa$2eBVK!co$BK>)BfFQ_AY)y& z&DRDceww5aEtR3RV%lIEl>7^wM-inAVC78xRy`x=2{3-r7 zX;h4Gzphf#Kd$ZWQ@?0s!1g!F#pFU>{r?vz29;>3%AJH4}Q9b}V|Z8v7) zfXcZC@H7Lm_L`JQRLUA~Q9v!n+K*+g1w*7p9CZORy_)t$FF!+?cOwlH(nz-8?uLU@ z->n`iqvU4-C!bz$fF@^#5+f_UH$wH?8$}L;y@!1gt10i1I(+vzV~NfNzD6W5B{ydC zHDw^Q+ujyZB<4W=#X6zsEZQ^`QrN!Y4H-9I57x5J;Mn?UC=EgqB4CT4s3qLU5{$C?$z3np> zzHB3}Kc~m^B3Ipaw!(h_HJ|Bu+5dhacOk^(%g%D~6VOkQBJ>NI6cNM32ntH&_e5fcPEb7@w z8M%3}itdKjz85&-W$ObT<66}AKM3)H&e0^GDvRD-iNHKhb~uiYM$0pjUzht$%00Dp z5yQOJ4)p(5ai{gu?l9Sp89J7LrrjX?Jl-Gh@{1#^8E32WH`jP0sQEQsn47qDwG*}0 zO0Vh%5?0A`M%|9Ds`;l2OIWOx*>4)pw&u;jEEvaTeD>baY+!=&g9s5jswOhOcVdXoYQD!>fg3G9gqiyeAA@zNMsm zaacEqgf^ciy7|!Qyg65mTmTLSw5hu@k52HZC*2CefBVSnOSrQPo4Aehs7z%mcysMaR}(96x4v`pvN}%S7Jeo|E6IxF z0rkOMz@Q$Sr93!}(15a#q>F^568_+gi`Yj>HH6hBqYPsMKc<_dN>}ZrjU@f8uzJWU zUm%eWhtEIbEuW&>IcH7K+8;v~uoKzsi`h`+8us*wiIHN50wy%)6|VxREWS=VI~*3N z+9ost47c{ctwUvqp2EVhwyGFUNI&cj3Sx;U70qvI1RX$UBqnqmO&VO4d6}fD7}ni= zLwg|2;KnWDSQ@q|tN=4JS;$#%TYa2rfNtx$#r!qBc&s8KR>n?&A#Bri0P_yJkPpi~a@WX)qi_uS@2YH#jI7r@WjDxJ;U4 zCw1K6aY|3!U%k2GAWO`cj+T z6rKyo$Q6ljbxm09Q=^gac*2yJ^B^81%L3+acI%nZyAcHp8DxiMw9#V@!AT1z6L4-1 z4g_l_t~xFDhicIUJZ=md!z`YVZ&;7)F7W66m-6E;U9vJ&5zeKGUq_6&+7^#mlhfkI zp;A=-6dJa&tLB1y4%^S4kzb#~2%cFQ1t7<)9PhM3&M8av4h0U~30`J?uf{7QfC=BTczYr3N`huwtsFQ)szV>)Vbe#j6&Bh~VQ<#%8DY`k^jc@-|?) zD*gkh$<^wyrsEimP_q{r*aCHyS~OoJqyVcufgJQhW$Mc76|BV*?(A~Tq8Aqrqb0qs literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0142.sha512 b/tests/sha512-vectors/0142.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d54d875a2208f656b7e74ecc38dae489c4e1039a GIT binary patch literal 2075 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 BevbeE literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0146.sha512 b/tests/sha512-vectors/0146.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..811d0dee49246bb2c0d9657a515ae200be1f4c0b GIT binary patch literal 947 zcmV;k15Eq@5ZPh`Xt40x0bbVg?R(72cmXYgFIR5h*~0c=TGcWMw2kT(dRv6iWoPEN z3AnXzdLNb1e`(zBBt~21oMam|?;ZM^jBViWp?*WwZHZ3gx#tRJ+kj+ZFG2AP(T!PZ z+wilorEb#{>}v=F+Y%V?PpDl|RE(INC08F(fLq8nqITDadrAQ3KH9E)@8|V!yx3Qj z*w32u%BMw6rO5dVwcER7?x79^z#J%H!)^!SRwJ(K3>T=_cudfj5u`&U0HSXk@m*@0 zYo2&IfZ8ME`bzDvzUzU8tBkE93HH;k(vvqWrno+Wv3nMiw6cT5ZbkpD%?>Z43P#SE z?o(rzvKNa{&?6i(9i?#JM=I>@4 zDz;S|KccgaivyN(1?EpmNs5UzO5~DXU$hXAQUzkw^XdrW(t}?NIK01;b^5p#hL^1! zb3TZ({hZZZHuhkPYWT69y3~rzp7P_mjR2=Ah#P#+8)?*I^w@JM87Y?tXe^ZLiQtdQ zy@GR4?gu@Q<}>02lh#ObluRDb{dL@vrr8JqBb@{5`tJ*~kk0Z&8-D4e>nS(%>7t_L z_}5UTAY!d;EHw=9oUYqf%!)Z-^1cre&uhx1{iTxd-*ME`WZkcs$z0X|Juj6oe_y;= z2C3K&p=Vv^}Ilg{RSnXi|f;ZYs<4tTm0DL&uk~-J6Q(v;!EYQw{aM>6FuO=I;;LV;Ks7KCL%9@farO; zSijP==sfQ^kj*M@+MZBwo+tV^!=DVHWK{SjEBVYLS#0$G5q_wxSrR`1rBXUtP VIT6&S;3Zgg))!YSn4COPCGodd>c0R0 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0147.sha512 b/tests/sha512-vectors/0147.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..7657deffa7a404d49a96c0dd4e55051e4c3339cc GIT binary patch literal 1265 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 E;S&~-+5i9m literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0149.sha512 b/tests/sha512-vectors/0149.sha512 new file mode 100644 index 0000000..e25e10c --- /dev/null +++ b/tests/sha512-vectors/0149.sha512 @@ -0,0 +1 @@ +��_�8�GB�#� W9�J3MI�n����v\0@ \ No newline at end of file diff --git a/tests/sha512-vectors/0150.sha512 b/tests/sha512-vectors/0150.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..ab4543c8fa25b19a5712c1e87f8e7baf7355cd14 GIT binary patch literal 2074 zcmV+#2<7+J+4Heg|5#gcwt&Kccv)^cxzXE!>ImhklZ$zt6QSc*^Cx*Yd7-~*fkt_;!a#Tiq~n>tM}MSkaOQW^P<~Qj5m7tLsiN1NO@ITQEQU5CBZ?RXaEz*vL}8> zfvUS!rcYlrjCQ$&qt$xD5EXLhj6@KB&ZRwxdb50Azm98rR$5Ire;SA?1e!DV%VhVO z0cYiU!nNgbgb4m9B61pBAEIh5y&=f+_aod5VAgL8qFwfq18?`TPbu4PX?lE&BI^pz z**<|7C{^DJg6EuRY0^Nql9Nrl630InKWykVuZrBq-G`&gZ`9O3Dw#BD@W6XV8ALIP z%|+%v0&O28QzZS5g@xkX5l3cr6K0Dp{~L3TpHIHuWC2@@dJI&86KI1WEQos=ycU>< zUcqdRTT3@cr4azo^_vWI0RCsxkxoo(JuNR@GGAroA6*TnyEn&m9WA66&>H}0DYa|S zq_u!Q7|ls{yk@$PWASvO;Xex_MM4C26Hi)?gi*}E3!3DQkc`2iLPFo@tbpQQl2^tt2Lx+nKqq8pNL z$sfOJS^pYQ=e$_USU$@iGWNKO`VvP?5|3r_7r$*lN0r@gykMvgG}G1OvTW)HAOYeq zRrq09qeAL&-1mZmL9Q)U5wz*OCpZ>9w%E=+8+PobcE_M`vnoc^j*}*R&{ILNxc;$J z&~IwivCl{#Vh7*GWnSi_X}K$M4~Jm@lYbyoQ4p*IUD;s7gY6ZxvlqwmTjp8g(q8L0 z-TW3laY12D+nDh%P6uVYo{o<-(lGLL^RA$}X{(WN|j1~Qn`f~h*c*l!S@SabC z{M8&DjB|qeTR<(ydS{gbIDKp{EBqrlv#(;`;i;plQezR1?C&+fS-+3w?XRi}^k|Vn zBzft&bz?#qq*laCbOPOf`{1}wPL5YH+o2xqrm+uiS~kF-nX%3y*mSWz?;ua!4fidQ zM%_2RfI%E`_Iemv8~hi`jK_y_mgdXF7}N|r*3cS@72puv{yzVW2Gln8>IDYZcLIQc zd+suCYO>v8s+Ju0IXR|51s7?OHU4L3nYOSfos5O?Or_47P76PUjcyMs5NsjVoi|N| zdC$QxDGhorYAOw$eE5M1XwG!q097%RbNRCyMM7p*xv99@oev*u4;RJ4q9g<79A#Qk(e2;&7qD`_3fV)Vhz^J4>?W>e z2D&k3%wN{zw2-UhyT<&&WT!-)93zd)(X&Qw&XKTa=k&^Lw1PcYVULQ4`r=iCOhN~I3tP5(SCj_AdR6VGoZL%i5+1U z@&IB9P2_NWpI>&Ca;A&X4DB=ezh2I=e6ME82JKjEa=Ced_>D~rCjU&WDoX!r0jE&y zRlo+)FoFuw_S;P?*Q-~bNwa<~*8*_}Ktu&=MX)T5w%d>6=BD zV(?+SF5{yjpUUwxq2a>SyPe%v7+EwH2DW*P|6|xP(o|)4I|R8x)tJ5wB4ZCp-(f+Z z5_?@^@mL%tqp%;d#Unq-n>k_|VDa5$3oYt?%Jc)r+tnpkv2^e7xtlTuI_eg5kFZ#@ zkgjJ~-t?2qba!cI_PR283um4JCxDT;@jEKW+QFfJd)n=nAkr6)Q_x^&O>1t$r0KV> zxaufbjcZtxcr!$)uR!ZMOo3`^C|o9gR6zZNga%kUkvN2t|4*LRNQmxZ^^5Uck;|uh z;zkj}YCLucXk_u@`pn`sNON@G0ztys@BZx#-pg2W$*_D_&cbT`x6~YT>@c;k- literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0151.sha512 b/tests/sha512-vectors/0151.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..bdc14d51180aa90a0b3e1fb34780e3ba462116bc GIT binary patch literal 2374 zcmV-M3Ay$URc<17EbtegEnupy(rVY*exf91X2Q}IXTt|pBK9>2Ok^~U-aRqhDLO=b z<SdpgK-C9IF(YDBFGoFqcmj5%C${6zl@dH`-_o8lBCb z>s`xusrvcTdGyi=0+r8h(^+{0G-2%6f%flEO;0>zRxAt=H@!(zfRT62Xr;ZTqsz>` z4WIY(Z>gu!?vO9V_9N&FCpD8`fIJd_vV6!Ozz1D=!7g9K?5i51m-8?n4A#kzj4iy? zF5Vf2s=f9D8-i`=1K|)Yo2z}zZ~NYZ>!DqmjG4_+UBu4{7PWjmjfrGm1@w-D1Z}!u zc}DlL_5vA9Qq-JDyCdxCAjt|Fo)SXTzEB6jCI7xn&0wPYmyVfAMY{_2>hl#V-chW* z84AJ;A{}X$ERe-XKNcJHi5(1scuyhkLhbOzEiko9WoKa-h~vlzRZXth!Jn_XEc%$t z^3Qy9^qdp(f|-k8Qt%t)&u5u>>sP>R_C|D-0wVgroXd;mn7>Ea!Lc2jc!1U)2Y7Ad z0k5!sd5>`J->n>JX@+v&Y;qe`##ag~!vQ3k&oE|H$tR~NV_;dq($QT?<|~Prwev5u zQhGkVxljvI(&ux(-w3tOZLsmsHT5%dwmS}llEC?qr=zTtrx^7yyY-$j;@t8{`!mNy zl2ls*&?-<|BWwniVNInvkI~`mm%yb2vN?G_=zcFdXSl+}BKpdUP#o)V#Q7=e*c!q& z{BA#0WPbdWGYMs%L^~%nn*xD}*D!%s9%UdpQ?}2nEuX-a0vC zd19r?`E^9@Zc7cruj%Nosh4j(BGx=1P-37LjlYLk5ZyK(P-(#6{m_!OfBI#2q0{x* zzIWLPn}Vk|Ur+ge=33WczP(t2-^0pjaHLYob3*}Z%Jy%p^_&WYioj-%)Z-S2yC(I6 zq)_hh`ON|}B}(j=9LB}*{dz*q=i1}%B=S)$e$rJS=KWMw6MAsgiF$Y=#XH=acU)-~ ziRC5`)5j6fGZumYN>!lmjBn@akF>>iMy_E3pdgXpR(M7o$X$nJ+W(mhFfTOz37#~G znw5N7T#Xoodckp9nx;Dcs&R%E*h7$kJn^R`6GqIiB2Sy!R{~;`aEsk37`%`=4X{2Y zKYBiPjKpITOo4y*nY6=in*ncD%dOV74r@g?^3xf@PS`%7NEYld+O4N z$RiQ7Do<*uVxV!#X|Ly4Hz-M_6g`KS;U7*7D_w~h$ect$YS{{bB`^kEte=iO9HA4x zO)j8_ulhILf-pRz0Z8UJmO2&ccMQy)JSH`A5e1N@?3id{G3Z4W=a#^8_l&9T5lM%s zlslayp8A=+LfP$ zAy8{nE>rb4v>CO6;dDUH>SsDL*^XST6EpxRgI8;gJ5j9%N|-W~k1t*Y!rh1ZeJfaj zGNBpw$nc-$9XT3lYkN%eRs5GkJjC&M_y-hE!t|jY$F8^BJEdD)Dq#ozY7GJgkEk9o zUoniE7SF*JL_IY)TBQJvI$Ove=mXfEXienWsm(AGJ!|x*ymx-N3G8`(+LG+hm5Q_P zQFgYEsX7o$ycP(T$ANzTEsEG=T6}=+)dON1=<8B}dLsFGXQkr-3d;)oEF@TNIeTQ6 zO0xF$E0M)^C4loj@qp#uQ_|Ld6VRsY-EW}_#7#5mq9qlK6AYV^oCc(9T{;0eC8HSw}}ycE&{oz8b>m*UZK$c{P*_@agU(t5-~iA z-zoCD_1SBEL?l#%0^63LSnNdT5A=){%2JIL0Ci~JXeP<8O@5L>&MM9S!noK9G4+d@ zO}Ee8PhKIOn)N-qcVcFs1!IC&u-le!^+Gy;0|N$k$MqeTpJZhrlS)l?b^BW%#xB#e z;IP4VC*q*5Fv`(>#k$D_BEISmpLFSBTm6Av@m*#=o-dlC4pvq+fTr8+*BM48P;?hA zH@NlwsTt$m z1?1$i5sV_zcpc5jm_h3Us+sgbrNjC@0NN?4rxmLY|88V;`-@lBjcdTLEveL~T_BcZ z6B9&fjfS~BU%VGnJRSucSC_CRy=lr9h`TXXyp{&0qUVeg)7QK9RiDO7i;M6#wyz3N z-DC$^+RFrDa(L8s&BxhVJ8932F;AxzV`-XN)zs-QXYuk3xtB;I5gc$-WJ#Ygg$~cf zoUm+RHYZ51KDa6JoE&>WFOwK1=|esGb$CGzj|g%1Zg)Yr!rzAhWnEhbXvyVnbgi*1 zp&4tG9h(SslW8nJ5LACSYnxz8Y|@3aBp?}nb=Wy)Xj;Qi8N&<9HE3Hx&_h2q0Q$#E zixA7|Oi_GkT)4HK#e?a4bJ8D@iw|0$HqcJ8YP9I+bohLSf!8*FeoU7bbiO2d^m8h0 z{(N$JMJhv%Win{W7H3hrZDJFA=1J>$1zyD7E+} z>H%mdWd3MYq(Z-|O^lk*K=L@NNq!P;ie;gTNFQ3&~CX01_~py9O~JZaWpDWPK8|v sH8Tct`Uerc74Rqkah|oC?I&UdrK3&x(8>pe$ML*L^2`7AoN+6rat{`dI{*Lx literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0152.sha512 b/tests/sha512-vectors/0152.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..45b4f0abdd4b6228f4ddd7fae4e28cc440e5544e GIT binary patch literal 2497 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 Ld>?SQ^Txc3z2f2X literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0153.sha512 b/tests/sha512-vectors/0153.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..70b329fd862eecd374b764f992b076f47a875a8d GIT binary patch literal 1557 zcmV+w2I~3a&pG+t?_)GEd?C59#Lwe9tG@KuN7<8k#zemp;3J*rNx5ZX4u2|qRQd(0 zF!xwltqnOSNCO=iG)kz(l0xEo9L*39R|pLgVyDA9(OCpTNg*6O|v-!8j7zZ?P>M;1*l%!CYQY5uQXYEu_+@7q6yyub?hU1vnn*0;{YTw5Y z@TaO> zn{gL}<-6rI9Uh!3-=7+B^*EsB54E!W{sks*l)MeCEbP5IU)X}3j7F%_vw50E*+lJF zALc+O>W`z~?DF;R8(zlgy|{edKA<@1mtc@Rq9rflYua{<7naf2m{HXO#-US(?t@AE z(2t`5-K5A{HFn`l{`ff?(`N%ofl>$KJJvZQi=i^$L*u(<2z)g>9+YLmatXi z>mlAOR1l=J<0~FNroHT4DXcV+K$9D(8H@o;0N`>baU0Ftzo1<_PRW8ZU&gCEJ42_o zslbI<%%yC*61-r3zjMn=9VD^Y=;0`Mmu+GwUd>&DJG=#jQ!~Ukbd%`v#=-cPZU$zptqyK#dbaKv=;&grC{>?}G zN-+Am#J`079@qoGX+JhQOXUh9R_uc7Wc=$ym8`!WqO6rpR88qnDvef7v5{~?-z6UVnj zlUSNJ(!m5I4fH@C2hAL`v-xDYG>yguuaOWRtLO1|@_q%$R&Bz-){pmsV zC}-OP6p17O?yUjn%XD?-%~p#JSE3$ZzjLHT-gE^lr9C>)&ErH7p@7zSy+x z?LV6aNrU)#P*v3h5jW&0sDo^kG4wU+N-8$5V2FJ}N7VG#6SK8zmezeAZNKvc^rBhx zt5>xW+KzYFyo-Ocy8eePqP7;UNki5ewpil-95}}^OGpby`U=o6!*tMu5aP*Vs%`+t zI5C7`y~~68CE3jEOaic{#2a)Nwu;$jev=W%myCIeb0+SzIv+$QNtNkgoR|>WZnxK* zK)oyP^P;p>s2lAGjG&-LkHVK{Ipq?RWhy7`DTCcXMs(Q4vZR6J`e|Q1KpXr3gA-Jf z?mt*us?4&a8zdiiuO(}b`ye)NU!q!!yoT{du=|-LZ6i8R>p;~&@S4cTIWjI#vW$0o zTIwgys}{ZXx>zWnW-&cWT7kBqq7wXb89OiT;A#mbMWKU`+*yBTi58zyme_J0q!LP$rv8c=^73KZ?0ovx$aoRe{0WIZ_uZOY`D55iv z_|%F02d5OCIc;6cDYAca6Vor>GxsIL+LOQhw*c1OzE|3-nfg~(Wr`lgGT=|2HWIO6 z?hR8dkoGrmpnehQu;{iH>E6CcP&JrJI}m)_nI$c>J|M=KcmWp%#{KH4u-8uV><%5s H;RuC_ndlu| literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0154.sha512 b/tests/sha512-vectors/0154.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..dd62ada14a8f1f84bdb82cce293108f316b601d5 GIT binary patch literal 677 zcmV;W0$Tl91U*}g;D4+g{+(+XaGtl)-S?vaOz&NK&9K|}ZDNGoQE9kYGmLlAF>A@2 zUTC68Q@0~}C24LwZZI*OV^C}nMjk5EB^yP~z6hF>!;8JrY#l(--`^2!6hjxab2sXO z+X9RKx+OBJ$~_T1pYp}3BW{fAFOc*@_Uy}@N5m05ra2rbr-BHo*i3?%$5I^!Fugy> zkS1U4a2^$-S9&HyqA-|=bc{EsBvj7!faGWEMDsYk|`ep|)L5|NF$r6_v?xVKI$X+_SB~P1}BZuiUF6b|v zX^#1dS*`nL1`+twmX|iA{{_F=anptzJL@rhQhIO>;gk$0AdRT3&_n2v>DqggTyz9z z0!u@G4#B8EuRhUqGh+vkGfqV}zLPGAHx=M*VUC(Td3+qNljc&(v5MqZ*B=}$yu_IK zqyh9rZy0yBh)#7tmr6jK>b=xD@hNuMM#hkhS}n1uUk51EIc6^cT}&#n0gr^HQ9BJi zmt2q{cCojL+dkm*_h@v?9Q>r-{8=_m!dK%TS-(5pzw@X0+RUO~w@A#^|J~3$0(E5f LzZF1W;%=teQ-??k literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0155.sha512 b/tests/sha512-vectors/0155.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..6a9055b6416ad685664b4be7e26067c9696fba20 GIT binary patch literal 1402 zcmV-=1%>)*3(0ww!K4eSR3!dqe-J^10bhJV>=6>#yF-78^!!o2t(~Ykbtoo=*RNj0 zC?+dJ@?Fti?r>5vOQG)_trtA6!N04E3Fm)BYeWWe7wty(PX=ofxJJ~{u)cdZ)Fb)c z8lq#+F&RLhVxYe8fq)X3e=XGKAh%#~+|`S4_bocY#vL0e;=1C&^CEl(aX$6n{82dC&eQ$*HG(xlr3T3Zxn1L0#55GZdRiHX&Ik5HRr& z$P|s_v$}iNeb{cm=Wt0)7+9#ZTGTe@uHDQU!Xxx^6#l zGO{um@%W3{I@%u^#=Q#ZvLLPyLJzcevBHsUk~R^=7wGgC4S?mPwS~bGE|*M6G&PGL zK?(%SC?|H;h}Ca_z2AIm)(y?fa*Y)%qRI;v=t}C50n&M>GQzHgj*Xk<9hbfCB^2s# z@<**s9LLyE9}aRj*dDk*AxWaYSo^@)WC1o_&^iv;ME>qAq!lh^x&SRv27Acj7)dI$ zsminLX6jKJB>7&0T6k~LNG~t3!6?*y_S=&ZBK$fw( z0!qn3qzBJmg-r>;rlad!r=-tUJ2^p7BU;SLxkcg*tU9@B3?d<`?R^hTyYWi&kn7wS zKVPwEWEvukX;vBouhNqXtsNy?L&1XlbM|accKHA>pRhVX(j2D0xq2Z>v2Ur%s5P=S zUAh^Gl0bw?Dz6m!L8C2F5(Jj%_M97h9|}~Y0@KME%ll8e&3L@TY-xm0&L&7SPA^d! z4}yk)PAUcg;pdFA3M}0=U!jO1-5+>o3|O^wJ&7R>zw@ClOa~}eJvR;#Pb4Q(4(XiH zRdmj~x9dXULsLmg!GK?{%xh!Rw!SwMaxfv|p-y$tTU?2P<)&ohKHFpIjvB=t+8?cn zYh##b3iK(}b++n$%(78PC+a8Q37K)d_I6`$Zj0cDcd$TDUPGb1BD18@uDhLh z(Gd5CWD3&fypz)}LMmy=|AWd5zyH+4Q842(3RiS#qi_OP@k%;YBwa2+xvpwgs~EMU zlP**3y{m6r)VGe+4IcqM&YFeD5OOIWG`(=fRf!1O@-x=a_h{1}l))Kn>a> zLI5>(YSq-b0FLORn6QJgLb{DbxB_Nt2WlRykisKa4=*i};#^)G3e3-FGbm0TXc<&y z5;ZiVCNX!qQjFDTSJRl}=b*N=L~`d^dr}O3R({4Gp@Y@p;`B(zR-7@oS> zc9kfOL}a+m2KLkoz2c9zz7)Zl|J$o-d3mcV&j>lqOHv#hYL`Gzd z4D$rGiboYGO!v+@Q6P`j*0sgQ!}k3h|ICqR0+zi_tV$Pl+$>1NgJc+ORcxb1(y`y~Tx`v9lNO@Ew==hwDQ8pbx3B5&Nf|BGp ZKR;{z0YBl~mYeE3u>YY>jHznY#3ev9(Ek7c literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0157.sha512 b/tests/sha512-vectors/0157.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..eed6692a8068c73cc24bce80207c65f7595bfbdc GIT binary patch literal 1802 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0160.sha512 b/tests/sha512-vectors/0160.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..4684dd79111537cc46a5ab2e79a3140e256380a8 GIT binary patch literal 1633 zcmV-n2A=siN{tGmW?ZLMfK@IvtB$^HBn7V`DrL|hRFiIawW>M2>HhSTNR#2wY}M^Q zn{O0hZh=y;+hjBDsvNJl`(J%cMgRA-lepz6x+ipv_Klv{6_r+Gn3EYPWq~{1at)FX z7j$o7V(@5PM*9=&YBJK{8w5}j-pQ;Ish6nEK27-du**2-w4Z4}FU-n(55w{Rc&rQu37lx_>rY>2uu`%L(LvNWtxjUP11Srx))!*LR&osv z9wQUN;qwrzr6;48!<)@f1!f_5m6SZ%RGiVb^OrK?G)kn59dlmNf8v=ym1f()(PVHn z9}ow#U79ss3cA6conj&D!d0h6Y%k~oirpH|NCgwOBq!A_Eqf+L&{_B?ChlZd=(P|r zVg8D8tp)|ts85@?2VoApfBx5q*)A7%PQS;k%&KY}t}*zeE@4gw@d^z`C)^`{d>yq7 zx?4ytpwWo>#y52B1wiGW)@{7$kGSE7%^R4TK}o^Bw79s{wc59 z4owF7=-(6+=7=k^MJ+Q4%85$_^xSpCz>Cy{wFjf{R`_?YXe_aUA+&OfJg>jAc7N+yZ{z1r*^%QkARmgmg@&sHmb6C!}QbX(A^DdKR7ip zizjbsHfbWOwDSHb_S8nCdsA|VbRqeP?qH{G%?A<2*p=V|Qh^MAFT<=x;pAfn<_c1I zMIH3!%pMmhs%xE;v{u9|G*9Y%yCi5z0Mv3qQbgEn4M3dID=Kg}JBILNk70T{&HE@n zcMaUooL>i(%x>fzkR*^VE*$lrX;@h$LPm)>N{f%k*N}m$usqc30sR5$#-AU>V%r%b zAFgq9#I zCVV!yhsqt$WD601p`|JyCUga^IuT@uymwltdq*4^Gf30iVTk%6oBR2RhDhn|2;!#t zKh6ZMPjk7l38EtbjxiX6&|R=CD0XyC+zlv_!T=N)m>NiO4~{I?W*HiD{*APwHaZQAauV~7ucWl_O33>NpBocCfl+vW zi8eiz0bUg=e)|8DwtjT|OU_Yn$aZ&v$nq=4nNxp{TtLH2I{;QZ43`(ko#d-_*~}0 zoeEdGxk^O}f2|Bfzgg`R<;T2o=~B1pCC3a&V53||m}pPhrq;aT#&+fFOa1$F#t6Wxb}h}{YPLKL1IyA26-R2 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0161.sha512 b/tests/sha512-vectors/0161.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..426e3779610e5c21ae1836b0feb45fd006ef3ccc GIT binary patch literal 1848 zcmV-82gmp=DE0~60@xEGSypo8P>LgI0+6}(pbFb z-BR=xkWT2nq_V&VB|?1W9e0XPscnps-YQ_nj3b5(SN+xflg*Q-m?9 z&@ps5s7b>WV*k^T!zR~D%(3>_7L)DtF1I6BxF@TlkpyJX+Mp8@oZyA17l3O9 zxzR8FI#3#yboq&b$V*Sv=X{GWG$7AnN^5rVmhYStG_739Wk2Veje#}+54ACdOL+;C z@Hq*!e^{8Gc;{zFoK=MigTmHu$zVpgsUHQ@ zDO1Ewc(eoINH zK@-z(Z6r?uAQ4;Sf9LDmiS<`@zmvlSupK2q(0bGalh^6^a?O{Jtziu zYk9H0Une4I*}3Ra3Efe&;8{8DEY`&cIYe*7L%ph!iPm!9t29@n6$|Jop_6Pf|ECU< zP;Jg{q}JZalseHg7IKE4JV4vGS?7`JJyUx6&6GsDpdQBH{t7wwr~RT&}9& zQ5jX!qb}L`5o(z6PSTG7T$Wv&6?_)I)lTO=6ztE&fEY+^c3{u=%vpT+S_(9#Y?iz7 z;P*raskHl>w8^6XfelGwwP=j8sx{{NnA2? zlSB1N^CYFrrV}kl%)rnY)av5|{wVaqJ%nBIFsHjf<)bGS_kL}v`~#J%Fb|+$DLFhR zwTw#j90!I^eQgH)LIHv;J*#Zk#4^#5*?Pe_tlr^8@pAcvHY|(X9SyEt+aPkiU^%>f zWu7vMN>c@GMU2ROqi>hW?t6$hDK4UV0K)y>DX8i>NfM zRY&@dN#=aK^kU?Uu6`|c5H-js;8XU3c^fN5mk6S9*w-OZbHEQq&+4p|uuu1gBx{`!lY4tmZcohM7H8dLZAvnWVgm; zWsmQh=&jPO^o?jVo42CXxVPzrriaa_Tbx}-z?=aa1)`TllHT$0xpMb!>?`SK$^?!{ zOPi|&X(zVOUS`uq+u}Y~bP>J$=*UVAg{=Tb!#kA7u6s`aZ{Zd}FtVGBE!u@BFm4bm$pkkM<$+GzX literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0162.sha512 b/tests/sha512-vectors/0162.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..6047a209d7aa37ae53e40cb1ec31a623c7004b7f GIT binary patch literal 2342 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0164.sha512 b/tests/sha512-vectors/0164.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0a6c5fabf271cb91782500f582a1a848cc7dbe61 GIT binary patch literal 657 zcmV;C0&e}MdX}>V0m*}mTjI3LCy8vsEh5Q(Abi&9Er&ZQ*zpigR_E>uB8Q z=ox7m*Ra`Hu`w)gVc)4AYMICMp^qU006S7ibA6sA9g6i>xVa}jP!|{S+xRQ9#3Ht| zt^@Fsj^Xn($t=aO){L@Ce(%ytZduS_mD=vSDrm%YZAw4McbDs zmk$D|joQTDh&{*WX##>WEj|o;mb85;~ePt43eIp$TKB z!CVyvGyB9XEKtB1;E7ixqSi7ZR%(}P-vsEM*RUBQ{z9yvU{M9?l_GXTgLM|eRzzN^ z-EoUcpkXpIN7K-bFkg3qN*!bW(hZ0QCJB%`*7I*$bX_(4kEtA$sm3K$^#ZY^J-JYa zT&ZhAb;!D5A|{F9#bV2 z1|Hc-=HHlBe~Rc1Z|8e>#}y{<_T+6=KBliCFx49DWhH*_y9V65*iB*QdF#M9H<(9| zGE8%@CE%h^@K*I?HWF&DKw>n_LJ=J%!_X1dkiHx_grGxELnsP9Ce|HacBDYpyxIgw rPn(k6#P~uw+IYQ9cegPyD8|F^2(Ew`ji8y?Jg;0^wlHs2qr+77%2-9n literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0165.sha512 b/tests/sha512-vectors/0165.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..31fe20fa42bfd0109c1a49397f53733c83d4d2f7 GIT binary patch literal 2021 zcmV z3hEFVCmLtnL`)l1fTu4{&bLlpW6eHDW+QD&v`(5fyyi!P(`wGUBfuxR=0f!Q9XON9 zabDh#GJ&CZSJ|%*hCZN$A6*Nq*kjzV%8#fdW*&$IdNDJWy9MwiTwghu_RgE;7?S-u zH^^|nF3Rf%b$VMlB3G~4?KEbmkq0#C=7-*zN0Q*>o`W<|CZZWL&ppZ}aq{KH6Q zWZRZr4ob5uVl#@0njk>(A9RzEX9diPBQ{x=p0qiBe=%Vx5}Hsxa7*Y;NlMM~fv3Fz zSxGrZia$M!hx6HQS>Zx$2Qc>ozwY|j&)wil>4#(gBj_wdG6uI!S#Qiqf~^z%cy|+2 z*0P84po?0R1+uRWeof{97PFS@%!B=UT2ovOGVVmRL>OBwEy-r?lExGiFY_N25Mb4n zOZ{I2D+FBrRjf2N6$yyc4laOFD6CE(*DswvPt)`yBzP9dcg@ILm`vVW9@OmO?=go0 zXK5=5Ns=|d*@!l&sxpTTc>T~ryxZBYTBl1O^YKu%$y2hcKd)7C7Ymr4TfDHemAA%XRLI{KRt7={6v)pm!LsffgRe&~{+5{1>! zrUEdmgr=)ri6s`rT72R!D9R4PMk|)}RNpE`l<$s`YZ71M41Y&HU)Ju$vdw;llV^Tq z@8dn^EE;B1C1LkB-um?JXhLpt=3{Y%;xPCG(+?SWjU@_gB(|A4Xz}(OtzpSDSb=JB zlVPqBr>+CRsnl#SRPMLM(_v$JvW!3Se-w24^=TV;_7axnv6zfsiT_y80U^;-;^TXd zUPuOjLFlh#`dbo`etkdIGUHBLI~<_SYnI+ze34WdAK8Xjtw;V3*VB9bn`Tl^0*gLb zVI*gl>65i*K=Jm|U#6;-oc#s*Im|2}l}6Ate@umL=S(+e8w+vtHo_?|orQ!4I4PD4 zq-DAoZoNFxiCBVREn&ArAuYHRI9}c^k?H`P>ezW)BUI4e7sinCo>+F2!!Z`tJGI#{ zC>OtBj7}KfebNPG&FUuI*e~y)K5&clRjN@ER~i4EC_TGXTB}C`5+NB5G?tkGBvECK z=)8v@1V`K%kgf2yM()01Bc@oxFJyk87aZ||ZgyZBI zm#=)i_^x)kyn*D~DoIWPt4Mo$zigl~{*o@n`g9omkq=YF z9GaQZofGZmcN>&evn7|m_@Irwu5}ePR!|z+V5VIY)_tWELx$%}=!!^`=6o}8czwbv zmTnp2EnSLD9th@+3;9r)Q$;E0ej22~Fum`@A`~MFhZ{bty1zzf5G5HNiF>l+@C+BBni|0!Q0dzeZN>q%bqPhzoK9;Mk0YVIJzX)Wa48>> zy$g6=t`gf^B-A#JA2q9}{ z50QadogJAEw2S9!6|lSIcY1l5oyAFn$}$ zSE9U5(VTxl9@wIazKdP#-OCCdLTP@e!|0_mcN`$8)weRixJ&RG5cL8GsH$jGjy3^; ztGdMa9J{TR-{AtV10ojZ&P)#3wW%%rUTDT!2B)X`YK-e3QwjX?0rD1ARWOFB3T$?$`g} zSDpF{0Mc@}jlAx7ND3nN)p~KVH4>jLXR_FDuyvPVkg#NCN994wpcx4#O~p0OucViT z6nbtUg;gbn431KVL|5DO@AL>QpVY^kiIY@I1nI<70$1&mxKMtA18n$17 z)bv1*;Z3uq9}%v<0_FyKSCwIp4pj4FKq$PVg*J{j@eUR`M*MG=dFlCmFstat% zV*n|vh}KUZ%$$vI+OoT(;wg8fd#l(SeZe|)PODyV|9Xpuf%AZChC@^t4F{}5*98l1 z#xM(6H6nkwww=5BM9DKU4Sp$z&*?%Onxp4(Q!cH$fvo;$Y;Nz5ihqP6%alqh9E8n; zGEJR4RLk?%n%D^Hc(7755#)R`scNO!vjAR^{3wfb9i8k4gQY&ddLIteL5sMU_eDz9 zslXC-Rq>2?)|(kvu*_J>wL28PVN=j3^>bA{2FW{h4fOy3 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0167.sha512 b/tests/sha512-vectors/0167.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f97769b874d441469082712e33587593ec1b11f0 GIT binary patch literal 1892 zcmV-q2b=iX*wTk)HgJ*EHQ)o;+6Nu2A%-(i zNL)`=xOu=1nY33FR;OM1t54x9X@pFIT}TlA9|1)5%D@zodowzG!CZv`Ly*gkvD%oh zvv=zAuJ2lAj4L+ifCkuLf7VVIBv#=|Oap$wD zxIz@7fxmsXHXw|$*2q$i{|dY=j+TGNG;Fbd0mauIV3>IQ^@<}$a~FCP!O$VSE-9|J zJ@#yGp?M!XuQUXNmuei1hY$WkEVirgN0S#$x% z2zCjyJ<^ub(QQSm9TBlFrp{`~#(8!c))9EOfR(Liwnp*8^@5iI&eTwD)MFYd_ zk!A8>PUrBBPC={=ReyD^?s}5UYZ;v4%~e-FPqcwsAPp75PhyZdSbcNm8?OvIC_3^a z+dO^`c{>N#yyesZ4xLX$)~WV3^Aq#paA+m_C=1vh+3|by4~o6a^UT0UFLjc!Z3tdX zHE)|DQ0S4qDpL z@pX3^g@Fe^7Dsu)OoEAFT`D5c{^Lu9)ikBTr)UjUb^V8k-fv>_Xh;t!b2KU^Kw1S-ykwFqck@gBa1`>y?u}raG7CFAqL`a&Z3azjgY6MgM!Y@- zrVBst>|{pDCibVBr>guujjF;_1nSO~6&WfG<4t3bJ=B7BVD?`0){f_gaxt3*1q6Br z6qdLRGP?UYyfE-Dn1W-k*dfjd@rAXjM#XzZC9K7q9cXMBw2<#%{_L2Km0aM`e?X(m zHD5qTe+^46c6Nw4AQCm132@RUviEAabNt~igo-*tkW+#gmTr?3HmAH_m05PlwDkl} z-Rp^Ci6jmz0ljk4L01Hlv}|ftzQ~g2^*OtOGpC0x9WS}pyzTN(x1W*9sCu;bSQKh$J0U*w)acX3uWP-xotCW|T$)AH{rjWv!OH9Cln5%7* z@04!Pe8v_pKOe)D`+U5QiR9gQjN&MFQ)UQl1=fk=x^nsc4qLR9vv~26CLPu3v-i4o#vl6?n)pw7HSWTq@BQpBXeC-i5hf!9V z=@|rgIk?)&mD1do)V3_Ci5Ww{#tPn^Tx%GA`Gb|gz=5dZ1IAC{Sr6PVICCEAacB!w z^80E6gRwKgV;hhLL#V>e85T){N`R+zyc<*w_E21Q=Y}NnI)bt>sT+LAFCVe}Ed7sq zQOR7?@hH~p7UVxVN1W}`?ks3Wgavl)+S0#V69Gv{1%zPpuzU|f=OQi903N0IX#YFl zmV9q@j{Jzkz4r+i$ z?TG3_M1lh@nn|YIvPd2*C%Y}AFR-Qy%{Vaj3I1+kX^ literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0168.sha512 b/tests/sha512-vectors/0168.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..c213337a332da9de750367c6442de621737a622a GIT binary patch literal 2217 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0170.sha512 b/tests/sha512-vectors/0170.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..be6a63d97a6221bc6cdb28dc47740da0dccc0050 GIT binary patch literal 1927 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 BfrbD8 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0172.sha512 b/tests/sha512-vectors/0172.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..e6c6f9b8ef8396943d507d3f385f8f28975701d3 GIT binary patch literal 1118 zcmV-k1flyz-W;R7j1V9USnYU`rpLudqCwI9EdvKD@vI7_2$vS6hD23jTMD_crhPHK zE@R@jDrb~i`C#v^KccxDj%O?xd$3riAuS}`160G^VKZ)}!AZPF*P-UHY_r_o{>`F# zGnLJ1q+n%-xaCjAcno=Ht2l_)fW)%(FQEU7>;E4|dyq7ajw<1r>rqNt!Xs36pb=`R zJ#;97gvN-8fT-|<&6SWFE6KKkGT1swFJGWxRD((9PEp@VZbZKKKgieQVKsxViBXc) zoVUpigB!7~PG9aLpKZ3D6&$Qi?Q(oZD3m;-E71f*g2m}I*MD$0e4b)h3Jf_&h#f1| z(fQckJ%=uxn4%eew<}#a`d-JZvA;D21U!A3%VNK<;J@% z0zQqhbt`dd1M7r*7T_`p^Ewd0_1nO4$4<6Tv+=!V9T*0*T55t9u%A0Cs@KFlJzq~k zItHv{Z%%vnbLNBk#$+XprDCUSV1WH>gjQkM?BR4L`{CNJyIF7487V!GNYpjL!907p z6%SY?FlI$gh0M|~rtPb#TH@*hk}=cD{he3=f;Ku+HYa`JLavz9eEWBd{^wa~1o^0e zrG;|aMIbSe6smg2la!fN-v_Btu2nvOevcVZm4*#&1|`Dq1wMd}`=$B7(rZ{kzpFIw zN(OWobg5PuxITJHC7J(D+`^==f>5L`Pv@#?C<^0QTzoWg8!oWMsU=JkZtjZ0C=bZe z{T@z$S+p{>6IDJLLso2QHiwT?%buD3_sj3luPs)}{1~dp(@-`2#igusZdPL9ET3T6 z_$N3Mq63&TvGw*v=!7N~kePr;-5y2UhcAMm3F59L4(D3C`eVX-0zL%Jck~6(6@;7& ziT%qUe>`vTMpOuEhMZtzji1FG3yEuprxj7jv!ZYo-6P-(nSQy{O6wc>j>48teXOa< z1VKYsQU12^bBMEe21lK4p*Azc(ur3P)@wF}Xa~fuH}mYNvZ9G;pNlRQvTkK1#X5-y zInBVTZu&EYa0}s2lcull2H|wL=%SkDyXH9A27)6x5+iDN5m{fHt?{zN`wg-Lb&Y{2 zP10tM$0XzBXj&17iJzpCZZv9->VHHQG14-S`vTF4Xw&Ed;IdLkx=A#(G zZPe*`S~11dh;bSo1WdddMyJh%F5}GdfRPB5+Z<}Av^w3!RO_zDX)pC`4PpArb2OP# zr!cJb;3?4rmthulO&%sWz>rg*QVS#S(r;KnkKr6dYb`{=I3qivzbY&Vrms(a#bS7O k8&PVPhiN@A?2ZQUn1H5uJcdh2&GZ%Zc=U%-cx*vGYeaq`Bme*a literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0173.sha512 b/tests/sha512-vectors/0173.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..78832e37366be5fdc51f13523db9c9e83b9ebd29 GIT binary patch literal 268 zcmV+n0rUQ~{LrQ0Ckxc{;+DL3-5teAtE7{(u<;CMo;zc-?Fbqs<=|+UGi9Q?7ymJc zKJ5R;y25d|9|ErgnZgAyv*Oo(5H6K60O@TcY4KiWPjo29uBTd-N!|R7+Op$+Lmj__ z=(n#Id3|5YB%x~Xz^jtJ7NYL40SqeYzR@u}qdG@Y;C_xF9ghzj_1mA1vf@{yUO0 z>k-jvwkB_(+BJ9;SK#Q^`Ilwi*cqk6nV@lag4%MsY>!qxLWF6C2K9*5G8L2!HaGRo S2|q&t!J^4n3%7kz0Q|8|1Bdni literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0174.sha512 b/tests/sha512-vectors/0174.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..321b707ce4d28dcbac3323154dac6167b6c26111 GIT binary patch literal 2180 zcmV-~2z&P!wGkw-D_%5|B&yU5(B7NXUyCPC>bbEi!^}wUb5I*wv;GgMlDkBWJlNxoyh@g+$;xik|%WX)I38 zDk*(SAWMbd8XZYGdeq6Ry{*q@(Xv#fRB8-|gHR*;Sbhsyhgo8>eNZDotWYRMbA zI)sjPF3`zUY4}KOes6fv_*5m5gT3n%X4jN{%}Zf98FsILi~ZbwFd+$A4jKMwAP;So zI?Szt2rTA{qvY;_MGwMAU$cYEx6V{M8^00)9mWO|3nEKYV!?_-FwoI)31s-kE^dvh zn4D0vd(X^k=D|;H)-&Bi_vCZhk>}|#2#Tv8-EvZ1h|3OE$fgdu{fE3A*Jr)N%=n7) z;~yGeLfF8jqJ9dD$+uQ!VO% zSEAKo9K_@WTxKB#wflRR*q>P}cH&V+{d!_}8YfJK;TQUmqqdR0+br+hw(^=qMz1$W z*1c4l4RDZ{7e3hnwh+EgiryPq!Ik~*C-T~R^*#;t@C+Uyq2bDHsNMY-7)ZlT%f%Me zl;kOWxVN2GoEb0OTvWYhr{K>})$>4Z5hCy~I`8i~6LA6+l>L%-m~j>Hbn>MP7%R$8 zSfTz1v$(PWezJ0&i`pcdjfc{ahO_fCIMhNXnP`Cl77C@|yz}2&g-#to`R$_d`SWEB zw!c#i>D-Tb4DAu>+*?7hCxqm*v@Snp<}SadN6 zcy4;{Z{uK9bovea5>$~DA>UkZgBKR?OZ~j*$#vMxt|;Cv4?ro|$?B|}F5U;of5e6Y zU>!qLN{DhjJ`H4~iUaj5Misc?&7(oz`Ucd9EOwkll%1atdNXw#zCKmR+OdmUKD*Uk#f@FC$zvYA#Uyvfq=7CUK4Wr6aLiV za`fBp>QnU=mJ4%OQhi8a`-KGb*v#tMmS9WjX3|qDQgrM=$nr8_Z1Me|3o^rbA?w^` zLZ2Wney;+=oiCk3YLBDkQC-|aUoQa(qnRB$7?D^i>(W-~SqB5KGkwneyngm6QTz2& zf7&S!LIGL`)xSUJ9b0UrxqtrSb(1Vyvb#F5Ci_zgfqW<=oIHBc=Mi8_$6sSboQ1WB zHOK+8M@fXq6-tfTGr3vxL{c?h`GaV81y+jF+lgF*o&I zZ<&6BG9CzHtZ@+`q!S7*UXnQ#3;6vVUUL-F~V!}jh?wkooi$UG^vKaV3uac^|U zIEMt`xGOEP>p9F-*_R+ww1#q^&0xk9)KW(chlR7_YD9ykR(Hic2TVx9xMG3x5|Udjq#Nwj|mj#RQZQsEetC7<_@{4f{@)D zw=41|S%U^nMU`;nvhr_VrQQ#}?#MHX9vh+|w?~a%Y52$^jg|}Ax=FW6EeT)OGO@<$ zPW<6mUb?p`ft8FMAxyamr5FwzR+#-rvxfT?8Z8^q7PMQD_#aqT5Zo8UaC*n_Aq81ioQ`s-R&t-MgB|}=Kv=*OC*Z-9uH!!$(Af+nAN3ELdZsPR+E7EFR~RAs$a%4zU129P7GBDdSK|pjGV${Vroz9J{g`A7v8q zLQ&@Q`3c$so;i#(*j7(5Jax83D>gc|yI>CzFb$U#;>wX$i)kuD>yh;|VZ-~OSq2PHXCkVB z4kB^hh_d8<8;(U6L#4>%OehJzM>fgxpxZrQF|3<<3*O2H);MxS403PSrdtdqU(fd$ GB_YzbJVA>9 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0175.sha512 b/tests/sha512-vectors/0175.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d05181a1d897cd940f76770655b3c138e6a8910a GIT binary patch literal 1757 zcmV<31|s>oO~e-r>rkveZbIitMN6MefxjQST3VU2eLI zLbU2}1H*AgL>ni&A5f|zN-hRR6T(5D=TQY|AeYQhzPC{+-hFtw3s}#uu=FY~Y}rNv zR57tE3f#Px@N|I@q-DEp`M>+Hk;!e~SMr3&f@xA@UDKq^y3z~e1uNRmZN%awK0UDt zm;ZJtn5Ad{=?sqj0R2wVIR}{YI%l58Lm{ zVb2cOzQM{m+hO2+3{2nil!{wt5?mB_@EE;fE=%VM@Db4Abe z($m2NHb5c2gJmPFp>j`Yx}h6tMxe#h)ApRIk>d9+vD2P5Bx^8BvJX4NL>|-MHn3B} zP+3(-dO#4x)~%yQ2E59o;v0>{BG?tjMfJman68+<)a~)&hci*grgZ3Sy^v>#_npdijqfW)A%T%sk0{2M}GnX|S$_mcpyf zPaJ*A>ZK4^r$({a=a8G(O8xHuBmgQejIT{)NPv6v)xIe7ahIUYv4j1N=xffYQIWC_ zwXmo7(iH(P=A!Qch_p0`aNRK~gA(vO7cx_rPC>@}eYEJaEz>5SePA-Nb~Edv+5^$H zj|G5DQIi>ne21EZ`}xW?BU)cS#-L6TTN3L`M>Y1BeqwOfw)o8JBy28^(^Aln$>c#sVw>eeRH z;4lFHQ&HLml{7?iX-3n2!hWINxUFAly|V?RrE^v|7Ry5ZJv3&=nq6ECB02S0e33rl z_01J9qqaA)eIL0{&qz>Ls1!juzHQca&^sVo>_t}#fe^IKZ&YThb)J8MP zG%*N`odV9^q6<@29d?)x6L5a2$y5T$L}6t4S%u6dx(ybkRad|cn^ZrO^74U&6m z^2lvLIZCG`2W9BihDnTjIC-}zaet5-r87C6jJ8rjni~5 zu0%mj%Ca}v$^zOb!7L?fC{To~GymlaDJuQFyCC$Wd=N&&hEvkHQkoNjCt;7%3lLQ& zEWyO2KzbRhsZuR)r4akY8FIwpUy$M#AKd|g?*dqoTnz|IfR=$wQYie%SXE!&7?v=c zNZ0L9BPgU&txDBw9K_KwjZ1ldtYu~Bq5fMo+OnAJE_(>kiTe#id$^wECQYv4n_ zCx}wSRi^tqBGW&+_cuZR3^VmL2gDuEs5MU5yhs(G?rr7D)#C>C(kI+F!+e zmp>~N&}c!qi{r0GYrfq*oZr8?FIvEG|2%xBmEwIHw3qwV7(0C54pui?i{QN8tz39N zIp*KgE+flKh57%tY5cWXqv+*;wJ%Id=802H0sc>>1tPdp>5KeLY62w+j;z=#zG)K`T?X zWTq=;m#&IQRAYY@={)fHpVR-gQXHUyL-_awDLXqVfTe$G<*?7SJnYO3Dib9Twg3N9<<_&TB}$hya(k0EVr u4e&gl1X->NBr&)>CAFB|`3HnxZr!~E_icw2`2|3zeh3D3UG9KNT7C&b_l)BJ literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0177.sha512 b/tests/sha512-vectors/0177.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..4604813f884b53e6eb46570087af2fda9da93032 GIT binary patch literal 1265 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0179.sha512 b/tests/sha512-vectors/0179.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d8187d5f9d4b8d86e08a5d540387a9aadc5cc619 GIT binary patch literal 1400 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0184.sha512 b/tests/sha512-vectors/0184.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..b3bd072a527db3f96afc1880b62ca647f435a60d GIT binary patch literal 226 zcmV<803H8)Tg2^opP%P?Zk%pTm@ce6D_8igjmmEO}vM;??1B z!H>9J{cju^^+(XdkMUVwYnh0XsrQPHI$5yOULL@t6s}K zj>8@T^=?Nf042|Litv6sU^$tkC(8ZO4X%+H*utk4uT)^}*ik@TkrVd}E3-|^zOhZJ codravazN4O*5uK_RDJ^qg+IN2b->ul>C6ss{{R30 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0185.sha512 b/tests/sha512-vectors/0185.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..9398046ea545f204ae1329b51f8eb9cd29d6dd5d GIT binary patch literal 1152 zcmV-`1b_Q?4W9;Ys=9c}zk*^GfTt^z5La@k278l9TCw8*CB~;mC0fWHNU^3VQXrl< z^~#)o51M1RtDdHenJXsLw4h1m;tfc7|+*>d(MwHi4K_89o4P$i$k_#NP- zEIudUqdEOAR|pfEFM6&siJXsEkEd^UVvG^`39ucmU?!2^vk~AP>uk?vTbO>u-RV6l z354*JNl7dx$o-j%hYl)PU-JNz>8KPrnHLyV{AKMNilO-V-~FY2UvH{EyqS^Nt+yW0s#z4QD{@ zK;@($f4AoMQ4e9-?!I3LHI!S*^fgE3J_Wj}M)OYalB=yn_zd48ps!SdJvl)gm6 zGa;gL>h`6x&~2PYPd9))#!S$f`n8`pPrS8VfQZ7 zD?9dO5yeq!bNRgfJ7SuoJDDuu5DRy0rN9+%y*hSUc&w_;>0XTw`^>C1K5H3%muk*VbHvaf8aB7bgVq7u0yX3tnwi> zS{_DKFQzXZoEB@5Rdz+=zgZ0wucZ;@NZ^+pqNr3Er%G1;?}7qBtpJe}wCa{! zMh`esL)!6vw2?p{*rD}A2F3(*$hZqkTFR|?N;Wpg)|<_or@ulZ*J>-{N_g@MloH%43PgnBk<~@B!>3w zgr0``amMG~F literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0186.sha512 b/tests/sha512-vectors/0186.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..8824f67ff80c1d6453077fa51cb483de902b9aa0 GIT binary patch literal 506 zcmVN+cBppF67r|K!dSyFt}~k zXmv1ddd+N#(a|r>4Goh4&L@hd{2SccG_Bk>tmVO<*TeS!(v~kJ6+YXdaFfRPTA?B< z(%79>>lIgPpHru31ohM+#@zdk8S7ouMi0P$J)}6P@x2=&BgQ#0B_yiNEnWA$Sx zND6~`>n5HCJ-t9i%X-_fk0k_n`zJFH2Y-wT6k?!d(Qtow@q} zW##sKt%u=_-NZ19nn9{O!@qHV9o<0KM@w-qN|d7Z_`n%e15vPA2GW@apJmdtV#Mda zI!Cb>u2*gBzKJ@K&zB|1vwl0(3n#u&p#w4t@vASS=-9h~nwHDYjL|mA-EMN8&NWu2 zgZ4VaUBgTOJ4(p;kv__bO@44CHj?=bSLcFDFMV`~0$orsfBE}~D#nvva5IWn1OtGi z-a4NSy60g>efU&~Q9I#V&1o~tG8Z)9RHHsFqT~P@I^#*!0phpF?nO*%W=vBH(zGYz z-k$gmYkHUWQrX=}P=FNzWZ_4s!c(TLVOdUCv>M`Nqp!Ybyp`bV5eJD=P?JE&wZ= zAzJgkr~C1$pKw(~0J^xAJ8OV8cwo+|#^I}q&W$ggrT&SccMQ-ak3~o4)RY?}q!t#J zKR&#?EaOu(uc8T*%H^jemwmlW2C}TUdHp6l;zSw2~t<@mm+GRHv@qVc1hpGlhkw_apDEZX~a%)V%? zGM=Fl)Cu(0WAS?Q4B8C6$&>>O8vo)+I7sDV7VGRxX0Xq2T2DZ+vvT`SgJmp((7RVKaReB0@b(gRzP`bK+1tn9?*Sp~;ZlYdJq||6X-=vn zuvh9=!OoY^6wvtC4Sd%DBNw*TXmQdOFA?c!qWr3Zl|F?5S!ZM<93M(R#j>-}}+Kf1i>)hU?t zL<_UA60CTAB+KKY0OJ$_$0q;TUWG1W+)ER9O-!YH@HA%+c~5M7N@_kWiY<_g47=!t zN7wM`X;X5sp15S@rof5hv^4$iQt@;p)9QZDE={*^aQ0N?Dy=ab*IMGlGLu2w9AyAC zj8!;`hwHYj{iGAWZzx@Ad24h7zXFT69V!TJ#{Uze{Pb0gO#LgpKU@?(M}U50Y5DjM z|C(dL8Mbd$6zE3MY+CQ3bW{_ELz0D0%9vHg^dni~k=Skc(fp5Md+6>I{#J1xsT>VA z0|^JXvZX!owZPqSi+B-tTtYz-H4+h6wYWe>$V~7&zX1;N4ZI5=^K!AC;XQ6cu@+Cxc>eGGIPi#fO4-7VKl`< z+T}P>LA$cJWv5sex;N3-n zVLJERIQK0m%n~FT)NDC%R}|q$)~0rk-uS4xT}s+}>NB0|H2pxX9iC{d2 zbQ!9zfEYUwV#ZMBX+*)7g|qEHTGc0W!z03bTVwr|U1|*hi!2zKYT((M7DHUk`T$uf z@Hy{DoWIH9YIC|skrT=N=UC2YY#QTGcFR={((RCsTCP3K`LdVXUek;JIZL0sx5JG! z1w#I;{LuMUrsk_+d}leQi(CnjgB;d7G1CBZF$>Nidux!xTge*W#$c&Ek`a5M9+kDj z9v}G~Sg-5B%;na$5Xcar?gqz{`x#Utwp?^Xx8!8kInz2RvQ^> zK?gQX7UoqomLpevsX<2$m4&AoO?R0^Ts(Lw=%-5mP^w2Th6O`8)l3mK5OO49=y^PksopqB+hmcy@BxrA-Yk)8e!~C& literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0189.sha512 b/tests/sha512-vectors/0189.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..76924422518a3afa44c8db75d58de108e57f18c9 GIT binary patch literal 1677 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 literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0193.sha512 b/tests/sha512-vectors/0193.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..5977f2bd15cb181c5c5d701a772dce51b9b07650 GIT binary patch literal 1347 zcmV-J1-$xRILg~vx!fn3Q+vmsjD5bJ{GyH_6w=n)`=_2oq3qL;bTs zs_x?hXxggHotTvP??8a)8eQzjKZRGZaI)>$EbOF0NO zvl#R6AKm68Y#)!&e82fa^VW!cbIgf%cIv}=(|t0?ELIW*0m4_3VIL2iUZ!B3_0Ec} z*fvLd1=$0gl*N&%JGzyLXa&SH=CCD~57v+}R^i>{71$AYY>aMnG1Avk-y&JMkm!6J zq{~{~cuuVtI8~)vH1CHgT}thaQFqo+knz-wuo#{F_@QfjzM`$&u_wT!UvDM*{tc&= z1u7kK95AC$!7|Vu-r=0kq{IK#;O+l;?Q991VjYElVG<#I5|`}T_t4V9c@0;1}2Su%b0WW!%rJBi%S#HZ#tMhQtEn<|U2FBpfwpNu zoBFQAVzQsO7|hl9NYifPQ9$LRHPmViQ!CZB&YjM;cbw2A6a)R3UEkzneRZigqC>!ev$=3k{gz2$LI1=aQ`_ZSWWn0whRs7p@KSEp@tEi`1QgW@R`0{SMk_-F9LmN5Aw)-OK!eABDk|Rc_V&$!j|y z6z|dy2{qJT3PzBj$T+$jd94EE8}JnQpRwV={FWnInKE;(&;UW1~lg ze?M!kwl3}tl^t589n44L3ctdjj3U=&hPs=#^hsi?dAsc$s>^JeuTfoaus?<=$-ZEb zTZ&+pXwm>`Sc{>QD|*AI_9rM8N|af+MO2?qeM<|DNejHQBG2FY^Ir)#G!^1zPMiT5 zhA?yAxhNgFR*n~GyvQmhf)a(^hkkhyl#c#>n!k=+gpHXa!(hokBM0ZzeGM}jrNRKl zGo(c0ro0EPE&EwH+FGHHaW&9jXNmMr5rjXKXwC=QKd-L-%@)2HgC&0lr%p))gd)_g zN?lC;a4#fK0d$KRpwDRp5Vbc8+=5o9T)y^$e%DM|*R(B8gY(O%>PkTS8fbz_Qxz{@ zju;)f;hL-V4gJa>ejpf7#n_>U0c(iXI44BsYoqqGw2Rw^-y!)X&3CTY-Hcs4bg7nz z8$Fn>Q8nBMStLAu>D^h@VW=y1#3)`0N3$Uia`<-uL0#SW6=x#&uONX8!6Q}zGu!v1 zk^WVqJBxqo`%ibUkadpfKQ@KN*&}l}RjUe8CV_S;7}4{K)7JU#>@&m6+^Nb;Uz&$! z7IE~T4O62jjVxxGA0HGRM3PXte)H5+&~lZhq*dX{Hb2QZ1mkIB+oHfSuICmn!) z5*eIrJaleSpYp)DX;h{h)Js#nNsSJ~aHa6=h9Yac2?A{@e^91z z{*bQgq7Y$ahcb}2Rn8TkJ+!d-XL2lUMI?JFo;8uWl~B<|GYLbHn0iwCgwn~B(fI*7 zhxNPa2_Q=dxfU!c{ORZO&%|=qNYlmt=P|=zcjW&32p`?^CX-nS?n6?ii3d*LqSjE^ FPgi52q?P~x literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0194.sha512 b/tests/sha512-vectors/0194.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..60a2a53458a3565cfe870e7cbc0befa4a9a5e325 GIT binary patch literal 2081 zcmV++2;TQ*a8cLyCzl!bAAdT#;%h$XMlUoaYuep76}TIn;R=kbyD{7F@v;ZL4-JJ^ zmJ4y{%Pfd1T0|Uv%WXm4lmzp!Z8@!uQWhe10eeDb8ty;{w-Di(u@}?lo$0X8KVNX6 zL^j_gk>E+0Ic;kjQ)mog>@$a&5HPgm0@1o?JC!mdfTwo6)|>G5rm2s6+G6(mnuFsB zs94@)I_hB#2u_2!T%m3y(Hqe?+3Zf!cgw)K#4#qe1M&^-0pi%!kA5g?cVPf5$ML7; zK>Gu$k739DrIT(g*r#kS|Fx0(%Qgg#eo2gbfx=+jo}t4=ZC?88eu)iNn{)B?fuiv@ zXP(wOY{!+&vQQEf9*Xh$U!EEEZxRGS>anaNqk9Th`1+XT2ICKlP|JMrJ5DKQ#ea;U z{9@%*hh_(o4$7EA2!Hc-5oD<^u`AAnb(GHqJPnO_P7_ovF2%j7}gmc7J#msmCso>}FY)!BOG$&|bq!y9EuK!D1zQ z2d~sV>X+O?5aCCRE;rfBN&8*_TQF#|D*VjSSL`g>*OI z<6jxI*BZ>;K24eGTGRQH8p`wG1TQy%%U2Q*%a zQuIx=&BwuhOj88^LL_!hN-Z--pE`t(G5{(KR+vE@B<2WVo78agh(^De;`1q?BE8-G z89g9}Pk8s#Gb|3a6Jhusx9^1{tPW#@~jY#zCN7OWqsH!uU-wmDTE!A(m4GX=d z$C*O@p;wO=6NxW)fiRJngBK9Ib~#cIOmm&|H_mo+hq8jQSK$koKCBZ?V+wXW!w(N; zRz`7Kpw_E0rm{|TDu-@a<6TRprtmz!)oT!E$$RRdyxFl|M&LY-`2DTi3G;M1!KBih zs3ZgzQMoY;HDUNb$g>;LTW45Rye9!U?AR1fe*v}1P&FaUnAVa154=V!1q#s1v5vhZxFAHDboOHzG_@X4aK2+d_KXi z|I+ubVgdvVLFI?WecrpoWT+pLPhEmsqLQ&FAG{5u+8VlKq5s5;%usHPA|7l|8&9@g zzg)3l@fDI}ze@rJKQ(F??U-&kAzypaK8(8pYF39A7p%S^-lh9mh?&+Lfh2(W>oTgC ze<_ZheoR*mI&VN`O4$r956#lrcQ->4;}Y$thYTx;Ca2uRF8%O(<=q`3Q})aXlfXRm zt$u~9H}d4-3(9~%ReCaUIfnA>w6_^Qj5H}tfQi8`i!~M6Xy)~+9*wESdsncls=6bt z;brF&vZ}g4(KapfQMZx0c^%~apKOZq|Mw9H7U;fSnA6fbB zeu-W^lg2gq_cTiFs@(Etb5XRxfX=gycMzLjQ&U9oo8gg=o@y~pBYd=hwjzy%vFKjG zr=vdi0ixHxRj!nIDdh6wFMs39a+fxg>3Qly9R7mkTu1s8ZbSSksy} zs!7Wx(}Zz>?z#CeZ(*=1UK|FNG7L}3>?bJIkw+qe5Jc6i#|%XVY!8r}^l*iSs3bwP z3+9kr2rPNK^(}ZHG2ZO>0>2GLQp4N~v;C(wRppkr zTC}q#6AmRB6mpN2vIjJ18`i-?r0A#5^k5CdAk}}QXwFjWqhX=Ou7{*uz}R|EUu@QSDxULPJ>eL;3aF0N`#EhTET@ulYRyEd)dF5s}J&U>9i z+<^S5fE5ax(Y+CXD-XDm0OFkoX~-Z34IE)SCSv>czKO|(hPCfm&8XgDb}JMVDghr0 zq!1Hp-R(}7g{8AQh~i0BKH8`?cHM2g)}W_e!k$SI0D$DDHXiAHhEQ7ashhwl6G3qsRv3zt1Tg(gc4Lj$KeYR2yvs;Of?edyu^4dOnI?Uaw4pXL3a z-X#$aSC~&Q>C!uqe~B0)HZU&AzSC`Dc7s5qB_%hA*U4|R@Gbh>`)YOOE*ISkzg8K+ L7rjCLY>S(nAqo-A literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0195.sha512 b/tests/sha512-vectors/0195.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1e0f1b0efd057e0381bd0a4445efeccc86eb267e GIT binary patch literal 2275 zcmV<92psn*Iu3R!&_5y8eBrxluUto}!q%ot!0CKuBh>w^wSye4!qJ@XMTKk{9+QTG zfGs=Ht}Lp24_aJTS{PuKyj0WuCVYB59tJlOUtq8TU63`aY=Rh`;I0{J#I z2@5UN=BQG#v;TgjAj)G29BJITbKH#r+iRC?0T=R9bItSB3`=lR0~pn3@Td)0qVD z&NmpZYve2m=WC8*S=eNn_08m+zsm7*zcB8b6of8@G%AiG!xozAB?>a*Y_7mku6-qH z=bNySVrs+6X~`=C6c5kd_LHu$WUmDAC4sP4>h;;lGU+^ceT!2Xin=QI;H7E4k}1cP zP)uhO9Q|Fgx#nr`qd@qO(%_VgS$KDhs!0FYgun3C0+? zmeluF<4f^K4Q~Q-N7HyHj*;TxhWv-^ZJ4`rJH&c=K00Uq^RdQ*k^T^{tj-ciAn_fh zDT*k`Hqfe<_Kt>dXR%~)lL1T{`0zO#x^1iZ+G8Fb;&oK`+s67>@`*l}5KJ&97!smi z0i4NJQyUoUSE$Rcw+jlscR=f>U^2B2)fp2HnRm$M8oNrLHs$h@E-XViBKfQjS~N(npGjCWae2`fl~WWC!d~60B+-1Accl1{iXz;LlBXAvbbJbRfwe$3%cOy<8s> zibCK4xmO~v!!05@Z~S6HDQQyvIw`(Xl0b7>Vl)>A$ovvV+aRG4yqfizA9g*3k)a>S z6ptcbDO4ex*)r7joE4VL@5qrZJO*QFIt{mSDr>jJ=^b4hPq*OsLkB%doD0xsp02d` zSR_PqfcVh)c=43y37uZ`0q0{-62L-QZPd6Le;EJ{jmEzo9pK6jwIFW@GlFS^`5^?X zwxb-P!2;|;IEHBqYX+_azx^7r`wl9e#LSD0-OW-@7h437Nhwa@W#AV#j{^dy+)8H} z*-V&dZKAk_bf^-z6TX#Vi9h4yA*BU1nl@)OCEZ1I}b_U$z^?G7wsN19LXXd3wZ4>Ay12Gyggm&TFF)V;L8&%$d37O96x#`iDYmw+nr z1~UPMl9u6XSsBs^UwS(uCJze{NG2 zD>=HMqb1sF5vdsJmmquhF0SVl4)8Y4RGPeZzlw{+VfGoA0vO>Uy0u_3p^oMsUuu20 zp&2Prs(!R5Yj!EO5s1>(PgXJA_2Q0nLYYn3%jzSg>L``q0S}m;gHlD=$+2MqFLX{c zV?OKEvGsFWm#u>Iyl7}P#{RxLph`Jh znqDTOi}{eDHLv9`WiP)@%z?}qau9S zUp1CzdCQnpUM5WEsSEQ45}#&H{f6I6&vJo`GP*H0EhLZv9bx*JYY^xL5T`2&p61VeH!(&_PGg?|KijRcJ7QX7Y3 zeIP}r*z6B?0*zZ{TRsPpN1*0Zc|;-Y_pL&C%O7~Xw1Hs{i~~usy@88qCE?nWWg>D!skGuuKDJ&DO_rCC zz$GbzwWImkJZ8ukBDxH4yXxWwx$9I?$KJ%I{yGL^`ZhQk&a|S=oL@*pGTy7ytkO literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0197.sha512 b/tests/sha512-vectors/0197.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..50fe673bb4a2dbb9217174317ec103ca29a57bf3 GIT binary patch literal 1174 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 PlXLF~wE7Xd7EB19mWRwO literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/0199.sha512 b/tests/sha512-vectors/0199.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..484c4a908d589ec12ecbe6922baa237f3fedaa4f GIT binary patch literal 1640 zcmV-u2ABD2DJpN8{N;+}c01Lg%6C!(A^qOJnyqc zMCW0wu|b5si_)U0Y(A?Ql=4(iLhbom^%$J-S`>6 zR(oBTDKmMrlzx`u=;|>NL5BV9pA!>aaujlv_+|Vg`gkK*zf_^ngT4@VD1~Qp40I&F zdcUB>fYckZdXlcItDe-She7U1Drx5=P7+nu^JAz`5WZAH5}}a%B#?SQ&3145#wjmL z8`!BAc;yOCXm;pi8Y!BFj=6J38S=@(ZG%iC6~Z@%(xk0U(3>dDgGo!UhP~Zq(LYkn z;-~q96Wfu0$-WkYo&$383UG&lNJOU1Q%@2@JoRTRxz=Sku@&R9spM_eY~$O7UFb9l zd9MHWTzxwTMU2YA%edUFrlWq~0TJoz6O}{o-ju>F?b_SW=C2Xd@_mi#M7_Km4jAK+ zt)`F`FKPl{`~wQiLSj!%w~vpq9JYNfKkEBM8s9=-!1Ub&b%!Es=362DHRuR>xKcru}uP6k<{0Ol(v`)!I`|E$N*F@-;Fv<__odv=LI6ErgDHB0IB2Gwra)0Aw;xjrq8qCQYB0eHf3=$LLmBj1q~Ily*+-2oT(xl@N$ua}~@;CZpuwCqEFHBpJ zFN9^Qr6UbbS{)0}9E)^O(??nKsDh-oyAfU;Au}C)@L&g?1dJk90H})wy_LA>D2?{$ zBX79z$AT7MDSj>QfNaLV`dp5%3*2v^{N($M2D4xZaIrXBddBFk62}52_68gv*o&K^ z^EK(=S3F<7y%JV1gyd*U?++KCC#&F0DPlN67dt*ZmCN_s_B7+nzD4-=_QXR;I0&a> z9#5(S*LV~Or0x$E&$r9Z8`@3D>D^In6_wDnp0z!FfY7aaa&oxKPd-A#&k1Q)rXeiq zT6cSiEPqHJUFH^H_-f*7m0qww!MJm5up{0^hMn+TO#>MbbBOL0A6E2*l4;iI={o~G zOMB`gpNwn^A%d|vD{;+qxM?#c&od4xk#xOkE?WhC?#p(}5gY(OJ0(E`TbY#W1|7<8-b*U5Qbu;t4WioTaBYn+(XERZJHhUQd+>tuik z+89O6k;FuW8zU=TcCZ1z?4!p!iY;L{h+^R!L!U#*2>d!|K%DD~uAO_H29Gis4lUk$ zPhJ-hQkq#0E>v%L!VJPZ2xO1sRyY}ncL*>6~_%T*nlR9)Q|Cw7HYC||JyI2U7orZ!; zZ9Bb%N3SS;QB0*S3?S%EXiFlnfBjV-m<`LxRs`g85i1OWqxDmZ=G(}#MKiL9J`GPA z%X*?baB5Qcq1FE3m(_m)^1oEmaLB>J*(Xj++G#)M>=z#Mi04owZY|!!%eW;X8^huGgkB;&QRjUH|e#p(lr8UdM mE*Cy{fxMtZ^6`?Nfx~VmcIyD+w}7W2MVJ`BF}B=H3d4k>jWi1Y literal 0 HcmV?d00001 diff --git a/tests/sha512-vectors/index.sha512 b/tests/sha512-vectors/index.sha512 new file mode 100644 index 0000000..0b782bf --- /dev/null +++ b/tests/sha512-vectors/index.sha512 @@ -0,0 +1,200 @@ +cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e +4b0cf446a59e8319341e3617a5af4eff176e16025da31a71b332468344965e6c074270db2b6d4725331468a60868f642352de248f00ec1bb7d617bf9b7616d8a +eb1fa6c17cddd7fbd5cf568c28257ecb1c368306904bf58f62ffbd972f0e6304313949da017810cd25ed6aea20f1f850c6e0b519a74bff410fe0f3fd8b426fd5 +1002f8c1aef15edd9a89694d6d69c7991d80880f2c3b48e2d9341c352a79ff472a2b1332051807d5ad5d317945dba1ac9e748e83b6dc392ad6150d715e6615ee +3670129010ffd23074f16f641fba53a297e21751bc76c8a0066313d3c8c3362235f7f792607fa58e2b2a77c3959b40a964c39fcec1c296d84cabdd127abd016a +33cd2640afad36921bf0383c0059c33d914a973bb88bd4d2b11cfed0efd306fb8b56b69fd9cc5530d463acac9981fe6ebedd4c45a7f6c42ff83107043fff8cd6 +40d7f71358ee575ba0a37054d525f24837cb892f74817de1b516440270d8f2522993e36cb40378ebbb24438238d1fb220816180126b4fc3edb4d56190197dd87 +53dba8c7ff6a248d1565364849075e6c7016887b327ea0406aba04e89990b79487cd070de5729f524aef53af8e8a9686c670152dec347bccfb860f9e9fb49f73 +0f23f47f8c3cf77837aaae9ab5c6db6b5e67059504baafd105eb4d5757466de305279db63d8e19c50b9f03645f5cf1f5d9c014db2f91ae94c315442bbf8747a7 +25275e3c6e2e9a4e5ce73a1dcf4694b26742ad43d09144dc6c8f8d5176a21616abb9298ef64b6275fa5200224cae6241e9601bd17eb85906c8f39d8617f9ed49 +a0ba1cf5785151399a8b4ec8042c8521a389dec8da4d0fdef0b838db6b06deb5dc54f8886295bf9399e2bc72a6a708a92e57ce6ccc9cb58eb362432c28d8a122 +810db78cf97288289511ee47c9ac1c791a0c7d2465a1e2ee1a02a0f0159f31d3a01d69eaa753a45d2457ed9e2005063f764faa0417b4baa6c5a58446e29385b8 +84463ba2557a2b9b7c9c934e9aacc31114609944fca750b037889af09a939dbb4f0f05b134ed80632adf2ee8c2ac7503a4825c8b390de1bb03b5b78cd81217a6 +fdf7dc50f6ca971f6c9390b690b3d02b68b7e29f9e71e2fe121a01a4d166240e76dc63b72c2e533574b8fc69457759d209572a489e452f5da3c68a44ce1c345b +8f74ea143f8b04daa15d7138f87473051a562c30806a3fe53d2abb402ddc95b46fc94d7ed6bb0df7d9ed1b3df7305d583a0825cd34bbc6313329bf3271f8931d +95592d2009353affce6b3542e3b2a83abac8a41ff8a5df99350014bc350c52b5266db297b0240935175d1cf8b787df63c9de09447862f7a6e5aec8040befdb7d +f36b3446f1808e1c6193d57eb9e38e102d998b7a7debc497df96b5af594c8445e5c2a4e0c18f0f4d6e434080539a8c7e3214d0e2e8fc43c56072f0769b44933c +7c02ed75d906d74c4f70532c002c12088f7dcd2c294de1780a06c4f40501fd0e74091cfe117fcce47b5ba219f158963bd625c4f396d6b9aa361c4dc5074e96aa +65c090454bce18aa32b0c907384dce7c82e786eee5764e30ba5fe1b88b14252e8ccc9dfc524db6275296a596becdc436c2d349b1ae880304c36ee6c3219b3128 +b48dd17e86ce6e03b6665f38a79126e74b0e6e0c0b2bff19c72de3c3eaca4c023a39d7092a8e39c064b96af2ab59c9b3f346ae4aaf71bb19d5f2037b2b947adb +74b627532ad4d13a907ab04d88c4f6e22d55a69fc348ee955f979ff85a8930f2350ff013d9d7c6528a272fd1264181087680c77206210743cc391f861a01a3e1 +1fae4752938a505f42c995cc60795f83e6dfa5a8068b9a5e0771eb467dd41e2654aba72b50135b1a5ae4bfdecc3d7e4bd253dec67c755db272265fff3abb09fd +a0186724e6653d2a8bf5cbd60879fd0cc7e52694b79cbae933f78457eaaddb502470635b8f77ee2138e0f56bc3e2a9404e3a1a000a5f2a13bbf8ebf71f4e313e +575c403423b753b9d896d665651a73c32b02d41a28d4fba934fde43ab72c4627bec5b316539f039184afacfcf336d9a4023c8e4aade28b7864bc357bb98b027f +6a5fa026f968123ea4bfe3168838e3ef999ceaf353202773b73a76ec6badf1171a884349c6c098d70e19e1a13a55c052b653405535ccce8be514225f3d3e2956 +f20157f0e740fa6df507de73f546306bf3edd002195766797725032b43dcf96ac291eff8f9cf5a79834490932da1f18c610e6e2f918778e9f5ec57aa83c21f02 +cb417d8706017d0400aabff9fd6ba2d17322a8ccd2c3e9dd1647eec4fe4468824560b51338f7c925ee3e4ff48ccfe02a87cccf161201a9981935499acc6fe920 +d257a6854063c6ae73398997af181a4f3616c6f910f58885d9023e84c1d206a7c02496df71fe30f69d4ae86aa99a7a10aa7079452ef571348e1347d2633cf910 +323aef4772fcf73daa4d9713146d16f45896a8b652f45c40cf5ea8153dae9380143450ba07880c180944fa02a3dcd4ed7f3f3dc6de70fe222880e7544e6d1b00 +51f57f3b3b304365e48d4d1260d73e42c9fd1d4957f6be595041aef11c42db70c7e8120fe4d52d06898c6d230117bd28091dd9e958ba09b623a8d2d2c28ca8b9 +dd2db3cfa475c0e31a6ca92e63579f5b294fb21ca1b5f41626fbd4453f71ffd50288f90c712702a398b059194404cb333bdc3cbe6317f27fe6e7fda32ae33fe3 +7bdd184089581e315ad920c0376a898dd2f252f863b1c55e8674793a30c29cb25aa09e763dca0ef2d4e432ebfe65e8ec7cfd75a2ce460f57d153be2690e78c94 +690f430a761c4b9147ef668fa311355627b4bcf741bca797c008cca3dfa561f26a3a722d1e6c28a9acf6c8123118531fa041cda9f4bf85fb086c2b773e61e9d0 +43512be92cc4f1f93d5ad6f1f1ce77ca27426a0d651168c9830408db6c365f2b5d9ab4b33a6a8a5f8e556389e38b60a7a3ea4d2b52773b9a86bc0b53ee43af58 +d68373710a02d1817832529aebdd7bbc0eeddd3c21772a965cf10343d7733e9d5ef7d8d54b371945e4998911ba695a715451b299ce3683fcb1731e0ff3f849fc +62fd630ed0f841dbe8ea4315ac10a7ae936f728357dc8f18a6889fc323d5097d2ecd8aa07125ac3aa2ec0050ae13a061687bf58b0955c376c4908f921a350840 +84a5694b9dfdbef7619b0dbd121a0bf87b6b3ea97e4306f875b5ee59a56cd066a097cd6bec5f308d22a9044b2cca3e85d05294b529c61e2acf43f8c681f0183a +d4dc3ecd4d2c3d2276cfa8f97e9ea291f5a17c54bcbdacb1564c1a11accc1cf490d570d6b7aa06ebd389275a1b223b6f60e9d77895f5939afb779362a0b1ab20 +7a0987c8cda54170035f35e61b6e0e6ad26775d2b78855dcfbb9fd1593118b06736cda5c42c14e37f46b6356afa8d2ec2c65eb4bebb36d515a26f9eb99a18ac0 +634d9a4e739f1781c37c8d248f04c0656d85eb49c09818c3c48fa33acc8aa502d6a86c4b7b8e3454f46bea351a1f9aef25457ccc61f53d70997af3ee4c1dc725 +17b61bb295cffe84e6c6c53cde93c01708c85f86caeefafac32a943307fdde01fd7eb99bd3d306691cd714286da8eec2a96f51debfb322d487568070680402ae +19819a7b6fb6f02e3bfe567041485929fda029e278fef424c9d905f49bf7019472111b0f04eca09c23e80f5f599c7911491ff64d252926f47d5db08ef6082201 +229bd8ee53fa21821c0a20f33cec4fb105fa4e75cd4268b61e1c3d443f508cb9157b828837239a655a3a3be607db6b05d7d21e72d1170684e597bbf70940077b +d58b8235de3a91ab67e03b41ed99b51d536df46ec252615d4d4ece6ea5d57d0b5825735bf9a1d2b111ec979665df459cec875431a4fb8874db0b321ae2a3e9b1 +7845f52442e0d1d6d03a7e89a94204e26e0e0bd95a6b97d962207e9c6c416f3c796381afe1463aa4d4ba25ff605c0cba3a97da1bab08a8e134bd4ad779c9e8b2 +60367cfa47d3ef66d7b8140b0d2af898d39c554bb88c439f10ccad6da5c97d0d62fa5b6a452da92b0e3a3df5a1fb3651f28247f14075b7db0e1690d105e96ea7 +e4610a4d269e77a3e8f6bdc5aa8c59bb079ca1407738815a17ddf62d239c26c0acff0ec375ccea0a27a69ce85221cbfdd2794e6f6778f3dcf0b5ae4e1b7debdd +6de03db0307f5c33da4bac295b38773de6569a028e96d4f5106c7941d3578daf6551a5976cec97eeafdcf361221ed4ace846d75ae5d0266a8a23ceb4be5362a3 +045fd8dbed33fcb634f25f983406b3b1c40e380508b9772fbcbd45d6f394ff6fd5b100bdc13958c2547255d500c0d7f82b790e4329caaf2f2a9fa9ec7ba0cc01 +46bd1ebd7c77564e8f5cfe74ddd377405d376ca641ab393fa0734f242bf88518ea72eff6c22a5caed9a2032f0ffb345c64871cdc78f26f8c6dce814b08193518 +d1a9f46575fea6eacabd154ed176a4d0ab3b75fafa30122e9aef8e4e6e43b3e596ad50ff0cfb8faf768e40f89efdd9dfddfaba517a5c2c3db673e48c20190bb2 +3e93bfd75f1b7a3378c84484e27e4ffdb39b7349169aded0a517d2bd8e5b33a88ae2698e9e9cfd947f0621a9d29e8f486151d46dbec2d399e2b0372c26add587 +a4bb8872337965e780a4cfea9f6875b6f3494fa44a13da1f377cfea889eec3ce4650dfde208d099fa91ba18289f4285c31d254c8b939a40bc9b3b65d21780649 +19da3c92e798f764b328e6da9567b3208a2199b337a2ef508605a1796c277ae3ed387eb0c49cf2028e9c1d3e5eff523eabc02122d7108c9a7c17ac51ea7db01b +4dc99819c8e9a8721bb7ce208cd774be1a6c9a65a9f64e787e09c1c89b169737f80ffb97f41236787161a75ea08de9a459634d3ca465a86068402c3c3ae2bb3b +605996128d052689f19b077b26864b0a692f020609e71e25d36d76a8b69ef12028d1ae562d554b4656cbb1827374b33a66161caa61cd57191172f580c2e5f52a +cf18abda9caf3af137c52b43c3ca5e1f813696b04a5022d9715a687a23378c3fe96d3f1f9263550a70521b0cf863db4bfa42b374b17f91b4fe966668219329ac +bc161a5a4446db753c1dde3cdebd26b0927cca27b74c1636a2cc84517ebfdf05f4a42931f75661a9bb732a23b3385206d642493ee4a998310aef3d6758628285 +5c7f0154cd31c21c1bc39b19574345ca457ad9b643d88e1a80726721317e9861611d6343997ed62a859c7730f22d75c61e7d24b5c7e36adcf3de52db523416cc +65894cdda70826cb5cf6a18fe9b65e44ea1b2ca0d5e8fe63baeeca818e98b1d96ab2076a3cbefd3f2ec44df63ff2de9a920b3941c5269e82f7db2024a4a36334 +2606fe0a1f4b0920a72e70c275f0746cb518c30a09d85dff57f04357c03d9f58d55cf1ad934f4a082c35d8082bc64d077c7ce07cd902a079219c528f09a204d4 +ad049d54cccf963a88d7728905b3a6bd7319a4150771805c4748154290527aa5785fbc9aeaff9baaa1f4994741ab761c89adabdec89418bcce4eaf7db9f5033c +ee781be638075387eec3b3d97d01f3b98e08f98091d90c164561249f8d6a59a186e0508591ab0b2cbdc0d1020ce8a1cb3c32405e43108bb9f9b13fd2935d2ac1 +4b59de4cc9b5af25f513c72bdea969d745007346bad36cabda5828d5a9572edf1017381ef3ec9d86d2d378560fa3f21a5ddbdfd0332b21f01bef7d2643f2603c +36bd28e598724e92572d7bade98b5cdb6ceefe111a491847fc887d1d3f790a17b3987672ac68e1353a86ac2e642e20f542acde068db061ad1f5ce13304dbf5e8 +1a6e301653903ce82cad55ac3019dbc8441108675b1b6bb1ed8137791067ac8b72d4a967ae77fa24643701e5af1cb0a6a243bf747a2a28b2d0d4429e3497f9db +c7a8b42a3761c62b5685c8872975b3c72f9127323778683b703b6bd6fe0a91b46b7eca17bbeee07a6e3d93e3a94dd2c4731031c2fa115ce124e891265bb43826 +41bca76afd734f074c30745ad4a29926eccbe2f8cd6f11b170788f56cb158dbecc17c4d5ec707fb037f8751da3d8a494e7ca78493d7d061bbbd50f356f38307e +dedc5d8e5baf9f3d89808d7d602d0dece8e0a9123ef6d43a669b615a9e03961c1cef287f74d1fd55febce478c84f9622ae3a122bc91aaea2edb3bb761c5d8fcd +ae243b6a915ab8f9e3da43409cec98062e6f5b778ac51cb4a8ea7321945051e01dc1d8e51498b2f586ec5cd0ddb479a8752464f2ea62b46cc0be5414d687359c +728737360789212a50963afbb4ed351bef4d0eb754275562902001f8383207aae098f660344586e7587f608db69634d1a76262932d0fa88b61432af7d89dc005 +1159432ed0439255f91a5efcea85784b2a45700cb23eab454c81b52ae866af11a77b768083929ef315646bc81100b6336b1220e55f19349bf18949dc8a0132e9 +a6cdd583f00e9bcfdbe8f34feaaeacdc6eb55ddb6cbb4bb978dad89e6aa9c5077e74edbf59b71da29868add1be5bfcbf04bffe3d2deef23d9984ce8c100ff29c +8127a031581600bee59d0b8f39b5e41397fe23b218b921a11783cfbb0ea8fa25f2f51114b1d5915f57817c1e3aea020096b546a5b873e319fe4eefeaeb591cca +6a0349e35ee38a2c1bd519a959287fcbde9c65a2ab555474887ed0a5d77ddb1cea31d069d4e417c682f24ec9a95a491c4e47f083747080b8b98fd0968a35e18b +5013d297f864a6f07f78f3b78f8fa03dab09f3de79ce9712f70102e762dac4648ba089d562ed818f08706425c8f8ca3be1ffdc0a72a46f42541c1af22594d64c +87a7091d6e4ddfebc2726484c4c1659d05c8de8b63d0b465241a3300888afc41fe14dbbb2948ecc191e58139d873ca2f4bd9ca4604bfbfaa9d0596dc5dd9b4ce +3253a5ae4ed1dffd9a6a4963379e1333d3ea0e8d433517527c169c4ba880dbf69b6cc3cd372319f48fb977e9c843e06381fcdecf3aa0686ff47e0a95a97012be +58cd4309f7413c00c816d9400f29396f58a21ac450560a4ec58ec65fddd89078aa08fb8b94553eb962bef7a21d406a754dd198cd2b7beeda93901a488cc295a7 +b6e49271d707a0c047e511edbeb207b8d04af3743ad6f02fda900a8282154e07be36c5b19cb5f1095cf4f01f2a877eb6075413f6c092da3c053f4fe8d0247452 +45471d44d2426b0dea5e8007b933e70d6d08b01edb6333b22eab5083121cbbdb8607fc2d8879be8268d085a4e162bc01e66ffa9a2da79303c1c3fcecba2ccc0b +611ad8c1b787405cc35588350edc99336595a87850eadb103e69fdcb0c583c74a11ee47a9415c8e4f8fe6f1ecc043a9c6df7c05511c382ee717ce7d703f42d86 +aa7de0afe6bc7a02cac3ccc04dffe48f496c8e1c4e6ba8381991055cb76f3453064f0ed9216887635f6920ebcae8c0d7dd05f657ff6c7e9f7ce5e92dac779e2b +b7b30b1b368ff046c0a7e85c2669ce1e175f15e0d7150fded3164ad8fe1c59a4201424c8d38a4e37d4448ba13ef1adecdefaa7c000eca4219c88cdd4bc772672 +d80a088f5782d3e36a4bbb0a57f4f95aa0f413ff3428dcf379016ce4ac8dcec811c84a50c819c16ba8db6bc3248aee9e4805cc3a1c260cdebed3cd511237a72d +177c8ba1992ca4277bfe4b3197f973c27cdfe20652aba5ac480429add71c52713b1c4158e8f8498315bba5d9d2b8ccbd91bf43bca38a1797e7f59bd267945436 +39ddcdc4205102af15ca21ccbb8e11581c595db8497692f756210c4901b890a6cf12f7ca7e8b53ef3c10baefaf097147a590606c9a91fe83dcd5a9a4ee08c10f +79a59f633b9625227cd4cb39eb088191a191cea641e06424cb623e1ee355bae11ed69642e8ac591f5734e6f42d1de3d66944385802656ff1888564b39bf4622d +e018d8fbb4e3736dd470c3ac5b71e1e425e019c165730635b57d08b016a58b419692ec975d6a4fd7042d44db73556f58bfe39c2818cf0f16b9ee5fc4d7bee0da +ace26dcf9a3e5dd973d969de57abe60f45e66923d998b5cc489a790f0a0b0a5598083368b1bc274d494efa694a884aaf15aaaaa7a854e0d0588ca5f996db8332 +9ec2c28efdef2c945225b88b3e3259bd3f3f2a472e2f3179e7ef96611d185ac4379966b92ccdc10740b9a973a0ba4771f405ae07d84a7beab93b034e3644c15a +921b90739c86db029c512a91f293b829eddfb95b2297378456aaccc3764dcd6716217f24b223ff937dd6622d02f6b5bfebeb2770f0021ff222d69b06d2ed6862 +9e68350aea2fe9f33d848f7157e4b44b1e50d8b2cb28f2ea4a28c45eae83609963b731d030e255e69b9fb88ae467c97c85add76c4b1eb453c2a4c5f73af6ec00 +f17838165076469d52367cd9f9d7fe8f414274a59450a7a7483896c61427397d3af2a5dd5d1d8a523c19a0e3083f0d8ac838cfa29dc393403201ab11c86f4c95 +d31a0fd5cc85fe94a44733f1db4613263154ce28ceac6e5256adbed8a14898a34e12d18615cb7362786de787f4df8006214c829e27452447d838f2d3d18ea1af +5fa9ddf3ed8bdf458f321111041cca966fca049ebdc70878612499d5ab26e53d96437ef66ac6f114d88682ff6ef4ac671ccd9325d68566b941fe03d0faa71e27 +f5bd4e1b9cc33d36915081ed13f7b8bf9c0b16cdb7603fabca8ec1e33468f4da0a69e771cde55919fff0965944a4cc47a81767dec3d7dfce125484ab79d0536e +cb7e7cafe9164b7c2789956167c018063dc585aeeaaa867002b2e0be01ffbf0a92e7ad9735cfffce982092f082cc06e09de2e64f3efa60b1235d61f334ab62e4 +faca3e244794170aab0126306181b075313dcbe2066af35d9523e0c3f29542eb5a9196e0f590226076560952f1f1bf86d49bf5abe70f54b420dbb62ef40aa380 +12c6f5a3e804a27b69eaa1167a6115304448b9b168350dac778dfde1fc4fdacf25a37cc49c0ed9438ad210a52c4131436595c01bb220da407c922ae2197d6aab +2ae4558fcd58992a71b1262a6bac4b49d0a12981f7b1f57e778beaa495def527b923194c79ff72cc1630bbac886fb4486635da02677c4a528a61b871a93f38f8 +dd0ea052b81200a54c5aaea0db7c954f557aafe7c34540aed952f9e1c803d5a491f41ed1b79315eee273a8ac035968d919add2a8e5aa7eaa8e87b97e3a2e5cdd +447a4df7a4122a5a2446bb153aa1d740ce8066b3406d146f451673fe1f9d9544dc34ac961a7bd1eb791e605ed29d66fe06a01ad2b8dc227f5e73b86a786b52f8 +85d15bd3f14cf1251aab27c4307f370ed6a99410fe428981e1108af7768afe14b8db42f6820a98e5eecae3e2843546845a3024c7342f94ca4cb8f1ee611260ec +26910ff022537d0c2993e095dd219fd649b5533e93102ff7b80bf48a5dd7f4ff47de4109ed2bfa2e4a5f37b9d328fb9fd7f9106b761ac13c4395115125c91af2 +0115327515bc939b92452ef197fedfbe9d440b13c0af8c5e222277768947453409251da18779e1597097abfc793ec82754e45e79c0dd128fd68551be583c662b +e43bb1fe620b664984899562dd890f4d2733630649a40990607f41ad84df682b80da444168f6a1d82da9cff5cfb533185d377cb91e6ebf4854186df355de3588 +53efbf58cbe233e9b64d172d755bf31fe26e53c5bd41df5819a22c6a31983e3c5c5eca2a8960ee7a43faa3ac4ae3f366ee1bec600453ba4f9025bb15d2bad4ad +745e8ce0841c8f8bb8e7498fc8d5fae8c4dcacce29cd5a8f5340fb415bae39bb8f2709ef1b5a40bcdbceee8fde199a8406b641c58c5aff6d77180c1fad8ebe34 +2828ce47cd3e9407c27ef671956e3a35dc1e7161d80609d689abff8cd1d0f4a41889f56317fb5ad3984cb65c8ed1e73567acb4bcd92c78444eed8e29a5cb5ce8 +0a7d2f767bba60d4c80c20108d93fb3f6aee26475a58c34698529f2968e66a56403ab7e4bcd00c64c48c693e167728116c68805c6d7bde1f313dff728b432e9d +ca5551004575b5f50a33ecb49b80b49b16646978e585ac3cd6cb75f0b75cce526ebc2704c59712493efe9fd5492d399ba5bc76e46f53d168d1b1ad366780b5c4 +2aac607a62052a54530f61d129498ddd0668622d140874942afd9f4f84aff21557a33529c7fe898acc04c2bbdd660a3fdd81e3af5b9c4b1caed7c202fe8fa027 +00f55b38395bcfb88d32750f52a5405a28e1a83ec779f06187b4b4a7bcc094ac78605f795d68a4436d72dce96cf1fd7c1e5a09ca28fb32c180d27306a056b9b9 +b6f5b4812fbd7570fa338bcadbaa69ff72eed673d48b4db727ebf3f0100a01fa61f2a6250b5ad8228614623b397d36a1b641930b9a2b39e714e811b0422fabb4 +2c7a29a2865986416dc7f3be54d98035325f5e5fe6d8214bae50de500d161923c4e5b37689ee8d548e372e57d633258fbca1a1a6d0e8cf633ab3bca0b23a2b7b +0cd7a18c8f351ce030037ab2023a6b806a89dfb0d319b49be19efb353f953d52aa9d367c00a9720c1b8572059013a730d50ce76f797650e954e0cacfc990caae +fd617f2fd48bedc9ad91cfeeac464b61d94ac0e9795987ef0496d5d6e8427d8b295093c0ce9378270dac29349387d2970fc4131dceabccd2f64fde33fb4aa556 +87c2becbdf7657ea53341f404dd0f893de7347d6155f19a8b8f666f97a5645d2625e4330e9980ec559eeb4466f6e4319477a615754edcef205ada31959da4875 +96481997f480d97b617dc9327219e204c9dc8c3dd4e539820291ab2bab607f3e416f6e63d5dd68d56d1c8816d2555b4d51a729dff3edc2e43cdecf074c3921f7 +f8dc842f41d7d2873db44dafb8785965fd3bf325dc6ef2ee8ad56ee649580fc2cc8b6008a48ecf90ff500b44ec087c08db01af38b1f15f21a9c6b1a54832b52c +9a1ba56056e3d027bd7d6df86e3c8483eb3633510afa5d0aae32f4c7c0d4c7a20af52211d5fea48241875efcf65e4b38854551f49d4343703d906412ecd4c028 +49c7b7325af3a8ed99d555946c7493aea017fd11ddc4a6e9834ae46284b0122c67c99cddf2497a8e5c277b4c9a4ef782334410c71a6078d9c963b5b6446b1834 +01bf606c9228d6ae2b8a604e7e9b3587ab5bb38fb322fbee6c6ed62532ff049e49565b7efc7c5e9fa9819f08a6851210f42e052e0faf13cf8739f5607e88e5e9 +1f806e92f68f0613dcd78a0095b8c8addec30d8fbc8e56d3be7530b5bf065a1549358c54bff8448fc40d4754cdd678724d9e9ca9ae23d5392ec0a963a26a1884 +0eb12b62a2593a7da3e5fa08689fd712d4d36c6a963c84d6b13e2e3cf0806e7a3d4628b748a212b715c7d397b524f8905dc8fa2c9787c75cfe0de044d48d7bb0 +402233c8b014e18c8c7394999566ce60e5c729c8e8d2ae21c60bf8ad4be2690d319bfc6b6483771962b5bacd6d294ce0c92ec223198b84bc1b56aad8d0ec193e +fbfa855ab775ed0f931fa76182a1132e161f1e700f9445ebb7e4c12abfb223ac13da234d40486744c0dc9d520cfb84f468a0a6a6b4f7bc872d8d1c0f76f8d5a3 +f6a030a3f7c82818cdfffe93011e9375648f8e78bbf0d84733955e068eede01c88563a99e25da193cce8bdc67f2491e2802db73b4753de09a1f25773b0d6dbbc +08a50ec40088632462e3741fc80404ddd5264bdd9b580f20536432620256985488817f9c937b7fccc99d538034a61befdd2f394e1f6fe413dddd787bf7af6983 +8f6943af3f37d4a4740018fe28940dfab0dc930e02a924492baf29062ed3cc785f2a99e97005513f2cf4df1103adb14a9447dd247820bbdb7167ec45ebd53e75 +c7e343506abefc9e72ab9137db00836e705aa8bb715293f520ca4074958c3a9d8eb3975de3293750679e38e90a9cc93e16141fc6658e1ff59374242ae686b64b +fc121671239167020e36cc2e626d14422c66aef023601470574779399f5d4f61813c119a89bf3fda8110f210312dc23de285cd5339866ccb6cdf69c01d978ada +7c1789272db1e02bc64e19a7776cef7df1dbd868e3045d387cee3789bc88754aafe3736a9669799056eed1cf04d3b15d42c31b15dc2c18022cbbc525b2efe9f8 +00fc13263964aa0e6ddffd0d2bf045988fe7174e85f695c3699708eb6246a6d6a6b2856107ee33e5eede01902741845da9427a312c13412bb9fe971e8f3e435d +68eb2bfa3cbee0ff392cf3b8736a5077cf1b702b1e3167a5c037bf6e5c987a3ad8eb9f37e0d602e7e8ed4795935dd4ad6938b5c4167e42d49b6458a62726e94f +a300fee813c111cb7d52e4f6185b7ebbb579050fbd233ec036ead80154154b3fbc99a4930932ae54e9027a414b416c7798e97a5e5e116ee635585fc0cbc3a770 +efedefd05c5e43adf5d1a35a6468c17290d13c14a676ce8aaf04177b9b6b4041b319ffacfe620cfdfe1de1c72aeb52da9e1e5f82de9cca8aa448d5471a255956 +1ffabc0fd7430a64cf611ade2cfcbcedf5b6a6782b3878ee14e2eb2446baee189e1a83c11eb558f6733f287eaefe26a6dac39d6a83a81d34669c19603e79b93a +2eea92f1c72760272151ef605258dd27476fb7e5ef83c34928530fa1a21b4d1ef0c06eb5dd5b51b20d215426e0c25abad2b22f24c38ffe2e375fe5f662ac7cde +49b8d10e25cd41a97c86f867a4c0a88caf01a9b06bead00fff90cbd374e66bf8defbb30038a639723daa5852ac19102a0bd0d95a1e9f1dcb37f13d7e399ba385 +fcf4b8dccb9f1db7e99a5b01c36f6a854d52ee4b6d97ccfff8256284eda1f4871895f6a35d78fa68289bc9e00354c54230e6ab6951633ea516fed72d951c2b0b +acadaa8a0a3079e76d5d7f182bb3a9a7f2ca686da869bd3ebc65214d48fad9ba7e65851b9d0b1d1ea038987648b7f31cde44b69b5a4d1089557df9ea1c246f76 +31a34b52c3080a868a8f70b32a34f0e5be34d88004a3db5a6066af75a4caee08fe7cadfd6682d2ccad14dfb14aaf36d652ddfebb105d6df4e2ea15f9d4ddfe0e +256d98c43ed5244cb29face754f02fabfaa80245dcd836ce99535d81b84410ee06d65b289711aa1a69c350247d4a97d3b15aaceb00c2722eab5f0df63247659e +22eba1ace0e6c58d43121d425740d50883568d76914bea0cfa5efab52141d5e3d91a9587bde72a33e4d2e1e0fd890e306bc3e792645e6a5f99b20742f0344f45 +54891be1d80e0aedf27d5070054a6f41b8a2e7ef41dface41fdf378c172a3b61096300f19f8ee5076041fb11951bcf2d4224555ea250549e4ad2610e7f8fd30c +ebd84275a70aa5c315bab74c74082487e3e47be68c2e3185c467995ac8ecb96b53eb604713630a86d9e06e157a150bd018ff463785b9c392e19f067144c7abbe +78a05e4058cff32336c2f8e7595f1a43e0c83cd52b4d4164fc40ae77734718637510fc85871e50adbc8c567bf1ea2c0dfb9a5d6991d0480f7437c45814e7e34b +897af9d96aec128c27b67036ebcff4ea02b261ab4435cdfbb61cd1bf2099dd75b371606013690b2a7072a892e63ce33d859dbf0cb6b6172826e051ee97d453b8 +b754e4ba0c9d5fa9beea6111749c50bdccb60e5306798bf81a8ffd9d53d2059a9f162fd48677dcfe74e06f2dec31917a486fc59ba0342859a700271df2200912 +59ac683670817a242a970253441dc487156c92b9707a1c836e2f126ba55bf0b50391e39556cec989396d413d01a24ea8bde302d4aa46724aa3855067820d0f21 +f11723f71e8d826391eb46a9f41d534ac381c4eaef209535c720ea0c9f70b9de0e902763b07ce566cdebc3fa662a9c3c87ebc222da11c96b8954d97c4deae8e1 +e3bcfa9fdf29c5360af4ea72c39f10d44f0bdf6a7a4629332a09aad8ee1a02e44a912b7e2c0dff412c3b0cbf4f5abe3e55e901de1bde3205896e791f9eaf7f85 +6ffc013643d58c9395d7315dd4011125d09cd04f69136b730546cc9011ee8baa9d7b571b627f9f68dab5ecec13863923ebd67c2a58c2cb2c4b3a97323f54771e +ae13fa1120d794fd386917f647201f81eaf0f65144ad689bc2fb154bc27da17cf6cac6702e77366ebc0c55ac9cfa9e3bd7af69af5c846733406f8f23b7eda4b7 +ffb475049298ff12704f3b593bab42b943ba2a92489b9eff79a0e7f2428be29ea03084383b4b3ef89e5d379647aae959c5adf8ecc3fdb20ad19257eb0f14f60c +7fb43e08c5d0fcd7522ac6ad87b2502e491d882b446154b4149ec3089e61dbdb09b1d8480b40f6986025ef081d24edb09d3d8abff2004e6b82089764604bdc7a +54734639f9c8276d1221f569d2eae1abbbf3bd78b22a327cc63628d44d65db0abac4e3e292f9b9f06ace9093ed0ab6be8e596c076170e45b70ed3b9347aebf34 +a955bb857eb82097afcdaaa81db928227b7976c17374a5af51a97f3e967149147ad6fa31a26b0e0a8209bde21468e780367114c23f1035e56306308f995c5f5e +ba19d8aee4cfcb214eeeb7296be0c382b029deba8ff53efd7ff614ed2a6c05ce7a6b436ea1279475349ba03d0175e8387c6b5996e251c0e85e0edafabaa8109b +29cd61e44d0e6c9c3bc81e09c7907fe8a4ec95ed815bd8d83a29aad09872e4dbe6be461cc13a0874a2bb9ef33fa084d02c56771715a79b799a420c5f1c75b19e +2793dcc11f50d2e065e32e0cb16a330c90e72459e7fa0f9c1ae71867f7bbc8e5c60577973010b2a8e370e11451ead77285db1a156517ca40c6d4ec475058308d +7c444fce5ed6aea57c9b29055062726d17224f6103ed62fc17292fc2ee186e20be85de903d0849fd4a7bc4100eca73e0d800e615a33b923cc3f78c8690b8390e +40feee683fa4fb9d117ff7c316903d52a6fabeeb7243478faf5c2b6fc18bb9c7648187f1e7d6f3bd8fb41c6b7dde4b344024547d1f2ee91bc1ba1c8adedccf41 +04c10e057cb170633d12d8752c437c80889e55c8254e97bdf218d02dfd07d2af4aa502d1210232dee6403dc404ec9966c011fa0764c4f35d04dc1a83c47a5ab2 +f2dbe0d045ea57d25b0d08ae0a9fb25906e88bba47c7495fc60ab45a0f44a9e9e3c6aff3bcf07805ab31d2dbf3db6b1a98e7e0b3cf9a54a92ec87ef521ca7277 +bfe02c333b7c0fa8f7eb8c5d4ad7d254d511a0349fc557da861e7cc05a2bcf538ab405feab274bab59d565801258d06f304e536b589fa6a492eb0b5cc0df4c82 +5ab386bcc7b733d0fef8ca110144ac7a7aed1602dc2f591da08de09f9ae6671c58844429ea1cb9693f8e41191289988ef3ee9c2e76fa2957ca8c6bfd34302616 +d161238008cfce2e45b19e7dcd206a8d5d09f5ff540c1d1119c9f659a8ad9025d598973e4309cd5eedeaa183bed31670039279b25811a56c8d6a31fa74e2f600 +40e722a2db3285977525c6b88f69a7492d6470bfcefee20f1d273d093b8876029e0f8b9a9825b52a8740033c78fed6b0f5da0b74c1ab1eb6997c5663972a1799 +679a765c11c4e542df30bcb4e408aaa9e94512720f60e87ccb8b2704e1554032e07802592dec9ca8ea871a1f997bcb10c5bd2fab4dfb5381275d516350d4b40b +6c6b8868df28e59113b4b9227cec4bbcc09b9b55fbee204e4085d874e8b64df1c0d07c89da1a0e88809e3c55bafe4a852107f5e45d5f089641d279723d333dcc +772b999e3c848229636c60305edbca93790218b337febc8f9df6da04337ae098bed6f9d2e50a7d8394192ec4fa6f6beda88627e7106ad805dd31d772bebb988b +1f23bbd75295164c777549188c12bec3996bb5c65e4e4638d3c06afe0066f2f4c06997f9c606fd56019e24199b32d765fabd265fc21d2f9cc2b0ea7f635e0b0e +62f68257b77902946e22b1643c06a762753622f56af56f2fd8ae8360082208090e3b1a269e606de5cd5bc72008346bbc23cd715986ef6e95ac58e23331d59dee +086ac3b80eb40cb73c5ab4d17510a919a69376e47174aa1df67f975c4a4cbd14c0d87e063df26c4d93ff1ff9f1aa34c709638c60fcf774c52012b707989a206b +ebf943381dc660996426a11aeff5e849501a8a1d2c8b20c4a9e882b0ba77fb7ced09749213ddba5567742b916ca2df9b371a6c3ae2432d785e1c4e9a220d5e40 +f6b10cd5c151b2e56d5a27ba155fea9c5fad55df663b1ecc1d97bdb7e6847dc3ef7a64a90c94019a0c22ef8b613d24f8539af0395c027b44fc0c011e418cc86c +ae35e0594f2015b5421bf241bd2d03fc3d4e790c89fcec53b955034a2af4ebfcb1e854a3aa97c6ddf90069474b835c98375b307a941afcebc7d49c247d75c302 +4811f80ae7ae172e85a953ca075a35c74c41c5955990b7cf191338e760f997f84475366036688cfbf3d640557d80c44b4488a822fdf8722502db3f1f54808eba +e7296933e93cbad064a2a1e4b6475a60cde2037cfb9f21c6a15ddf45f1141cbf57990f16b1576a73b26a7ce38cb88719b4d66534b724a043bebfdeb33cb344dd +1edb7b78052b6cef7f6559f837f94b5c3feffd2ceb94568602513d4b1e6d553768eebfc6915455920064b5b72030572e5447e1950b550b826e590f6e9320e39b +dae1012353654f024f2987a9babc598d6cdb8c2cdb3673ce5befd3efa6781f4a88c11a92ff58a0c19873f3d0af7c278f01cbe01dfc2d29c443e0319230190a67 +7afe4e9d67fcdb26b8e1fa5628b1282519bf68c01807b4898f82314fe1fffc966ab2aec79d009533a66536715bc5b03bc86ff43d88285ed6a250eb6c2afce08c +06ea9269e8e3b97ca8a1ef66d0f0d191d070d8e9371efee151f2437d053ca2bd93a283f9230307be686415bb2918708f239b5eb2bdc01183c2e2aed9eea8faa1 +ddcacd24ff54232acbdc2754f2f30a4f6c3413011e6401625005174545f336b467a1d088cc58a6dfe04ddf4acbe773b3355644eba43bc04267273c2865e60d11 +b5fddb53aee69d56ae27ff8e7a5f7eeadf6557322ec861f3440353db5d386b0da0a0395cb0c3185b0a088cb82e5e99a99504ca9397a33ff7adc15b70cfd56f57 +fad3a897ffcb7a81ea96577ebc365eab3c8642ef3b285e56ddb4146346c69e60383d5b9f2bdc4d9fc94c7596d429a9d74c6e6120ce4e541619434f63eae78569 +f73c4c67fccb93e8a217bdc729843e22a3cad1d0a8cd95ab2bd9c512850f0f73eef278675d019510b09180ed878ea88a9086831486667259cddb0c58cf3cb77f +b93698b7468421584dccc23482c4b047b4acb8325bbdee0264adcca17733ccd3871c17188303d17a76a115b05ea3760c338abf20f8218d16a1c6d02d230fb1bc +765e167ec19539f703aeb187459a9c3e70d93af31e227bfd57e966f2bf3bd90f00ccba9c9f9883bb3f16957b5819ee7a48b5f965d1bb45dcef5dd4d2dff4ecb3 +1f481c544e8a2edd103b058fa864b3593f27683e9becc22ba14901c81922db9f8fb50e6514347100c5d5f024b8b2ac44cb5b270cb687e71ac4d50c28ed3848ba +aaeb66922d7536eeb61edd1c0b5bb8c2f3f5662ca747024706116fb54fbc97afe89596a8f44a21d025ae0db363e13c7771186d86ff7b0f676c0b619bab75542e +0a7585c9ee2e6045f05e1bc0e5eb0371b7afe2204cac0c0e70e396be1064af315279fd28206af7dee827862ef10dc4740a0a3f9383468690f605fea283c88620 +8c5ebb3c1d4173f4ee436aab4030193c9344c9dabea9b8be769b00c0e8fe5176ab16a0d4d9310752b5857993aba82a856edb5625df68e342b04ffbfbae1a5826 +30af41a652377625a484ac34568c2f5bd6d1d66bfa71b66f9475bfe0b627c52c5b6b7cf3c0703dc07ec9df4ebb1f7d0bced1079b944c7be3baf594a37bfff447 +4de16b8c0010ce17383c19586ee1cac5b4dd5d1b257e469c4f55ce15ae3e44115ea22b7e1099102f39413a9a774383ad48c8bcff8190cb86d4990fa1028cfb77 +1ec81f94529fc33ab0435976094cc47a2bfbbe2e5d071db92105c96d937d12953975e2cb18c5e8acabe2c26d067526c9d5194ea3d0f904d755441ffc8923317d +743cb670d564da1ebe31ddb45f057c662d1c8ae22cd0af4103145c5b0c100d5aadeed755505b32b1ccdc0a184e13db334a607a9ed3885ccdb1eb27d703cee804 From d6fce686442f683be1e7b8a2c8e067c61f3315ba Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 25 Apr 2018 21:31:09 -0400 Subject: [PATCH 18/40] Add one-off tool in "generate-vectors.lisp" --- tests/generate-vectors.lisp | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 tests/generate-vectors.lisp diff --git a/tests/generate-vectors.lisp b/tests/generate-vectors.lisp new file mode 100644 index 0000000..e6fbba7 --- /dev/null +++ b/tests/generate-vectors.lisp @@ -0,0 +1,44 @@ +;;;; generate-vectors.lisp + +(defpackage #:generate-test-vectors + (:use #:cl #:ironclad)) + +(in-package #:generate-test-vectors) + +(defun write-one-vector (output-file digest count) + "Write COUNT random octets to OUTPUT-FILE and return the digest as a + string." + (let ((d (make-digest digest)) + (v (make-array 1 :element-type '(unsigned-byte 8)))) + (with-open-file (stream output-file :direction :output + :if-exists :error + :element-type '(unsigned-byte 8)) + (dotimes (i count) + (let ((byte (random 256))) + (write-byte byte stream) + (setf (aref v 0) byte) + (update-digest d v))) + (string-downcase + (byte-array-to-hex-string (produce-digest d)))))) + +(defun generate-vectors (digest directory + &key min-size max-size count type) + (ensure-directories-exist directory) + (let ((index (make-pathname :name "index" + :type type + :defaults directory))) + (with-open-file (stream index :direction :output + :if-exists :error) + (dotimes (i count) + (let ((vector-file (make-pathname :name (format nil "~4,'0D" i) + :type type + :defaults directory)) + ;; This is to exercise the "zero bytes digested" edge + ;; case + (count (if (zerop i) + 0 + (+ min-size (random (- max-size min-size)))))) + (let ((digest (write-one-vector vector-file digest count))) + (write-line digest stream))))) + (probe-file index))) + From 374f8a259f6f723ab66b8a4ac382521ddda730ec Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Thu, 26 Apr 2018 22:55:33 -0400 Subject: [PATCH 19/40] Tests for openpgp and cdb. --- tests/cdb.lisp | 32 ++++ tests/cdb/services.cdb | Bin 0 -> 815677 bytes tests/cdb/simple.cdb | Bin 0 -> 2140 bytes tests/cdb/simple.txt | 4 + tests/cdb/test-index.txt | 4 + tests/openpgp.lisp | 31 ++++ tests/openpgp/keys/76d1dacf3155465c.key | 54 +++++++ tests/openpgp/signed/0000.sha512 | 0 tests/openpgp/signed/0000.sha512.asc | 18 +++ tests/openpgp/signed/0001.sha512 | Bin 0 -> 879 bytes tests/openpgp/signed/0001.sha512.asc | 18 +++ tests/openpgp/signed/0002.sha512 | Bin 0 -> 944 bytes tests/openpgp/signed/0002.sha512.asc | 18 +++ tests/openpgp/signed/0003.sha512 | Bin 0 -> 1811 bytes tests/openpgp/signed/0003.sha512.asc | 18 +++ tests/openpgp/signed/0004.sha512 | Bin 0 -> 654 bytes tests/openpgp/signed/0004.sha512.asc | 18 +++ tests/openpgp/signed/0005.sha512 | Bin 0 -> 1336 bytes tests/openpgp/signed/0005.sha512.asc | 18 +++ tests/openpgp/signed/0006.sha512 | Bin 0 -> 676 bytes tests/openpgp/signed/0006.sha512.asc | 18 +++ tests/openpgp/signed/0007.sha512 | Bin 0 -> 535 bytes tests/openpgp/signed/0007.sha512.asc | 18 +++ tests/openpgp/signed/0008.sha512 | Bin 0 -> 1486 bytes tests/openpgp/signed/0008.sha512.asc | 18 +++ tests/openpgp/signed/0009.sha512 | Bin 0 -> 1935 bytes tests/openpgp/signed/0009.sha512.asc | 18 +++ tests/openpgp/signed/0010.sha512 | Bin 0 -> 807 bytes tests/openpgp/signed/0010.sha512.asc | 18 +++ tests/openpgp/signed/0011.sha512 | Bin 0 -> 1877 bytes tests/openpgp/signed/0011.sha512.asc | 18 +++ tests/openpgp/signed/0012.sha512 | 1 + tests/openpgp/signed/0012.sha512.asc | 18 +++ tests/openpgp/signed/0013.sha512 | Bin 0 -> 1438 bytes tests/openpgp/signed/0013.sha512.asc | 18 +++ tests/openpgp/signed/0014.sha512 | Bin 0 -> 1855 bytes tests/openpgp/signed/0014.sha512.asc | 18 +++ tests/openpgp/signed/0015.sha512 | Bin 0 -> 1354 bytes tests/openpgp/signed/0015.sha512.asc | 18 +++ tests/openpgp/signed/0016.sha512 | Bin 0 -> 1249 bytes tests/openpgp/signed/0016.sha512.asc | 18 +++ tests/openpgp/signed/0017.sha512 | Bin 0 -> 595 bytes tests/openpgp/signed/0017.sha512.asc | 18 +++ tests/openpgp/signed/0018.sha512 | Bin 0 -> 1078 bytes tests/openpgp/signed/0018.sha512.asc | 18 +++ tests/openpgp/signed/0019.sha512 | Bin 0 -> 1812 bytes tests/openpgp/signed/0019.sha512.asc | 18 +++ tests/openpgp/signed/0020.sha512 | Bin 0 -> 1992 bytes tests/openpgp/signed/0020.sha512.asc | 18 +++ tests/openpgp/signed/0021.sha512 | Bin 0 -> 1279 bytes tests/openpgp/signed/0021.sha512.asc | 18 +++ tests/openpgp/signed/0022.sha512 | Bin 0 -> 709 bytes tests/openpgp/signed/0022.sha512.asc | 18 +++ tests/openpgp/signed/0023.sha512 | Bin 0 -> 523 bytes tests/openpgp/signed/0023.sha512.asc | 18 +++ tests/openpgp/signed/0024.sha512 | 4 + tests/openpgp/signed/0024.sha512.asc | 18 +++ tests/openpgp/signed/0025.sha512 | Bin 0 -> 2196 bytes tests/openpgp/signed/0025.sha512.asc | 18 +++ tests/openpgp/signed/0026.sha512 | Bin 0 -> 358 bytes tests/openpgp/signed/0026.sha512.asc | 18 +++ tests/openpgp/signed/0027.sha512 | Bin 0 -> 1909 bytes tests/openpgp/signed/0027.sha512.asc | 18 +++ tests/openpgp/signed/0028.sha512 | Bin 0 -> 897 bytes tests/openpgp/signed/0028.sha512.asc | 18 +++ tests/openpgp/signed/0029.sha512 | Bin 0 -> 1817 bytes tests/openpgp/signed/0029.sha512.asc | 18 +++ tests/openpgp/signed/0030.sha512 | Bin 0 -> 1600 bytes tests/openpgp/signed/0030.sha512.asc | 18 +++ tests/openpgp/signed/0031.sha512 | Bin 0 -> 1372 bytes tests/openpgp/signed/0031.sha512.asc | 18 +++ tests/openpgp/signed/0032.sha512 | Bin 0 -> 478 bytes tests/openpgp/signed/0032.sha512.asc | 18 +++ tests/openpgp/signed/0033.sha512 | Bin 0 -> 1467 bytes tests/openpgp/signed/0033.sha512.asc | 18 +++ tests/openpgp/signed/0034.sha512 | Bin 0 -> 1181 bytes tests/openpgp/signed/0034.sha512.asc | 18 +++ tests/openpgp/signed/0035.sha512 | Bin 0 -> 505 bytes tests/openpgp/signed/0035.sha512.asc | 18 +++ tests/openpgp/signed/0036.sha512 | Bin 0 -> 1836 bytes tests/openpgp/signed/0036.sha512.asc | 18 +++ tests/openpgp/signed/0037.sha512 | Bin 0 -> 1871 bytes tests/openpgp/signed/0037.sha512.asc | 18 +++ tests/openpgp/signed/0038.sha512 | Bin 0 -> 866 bytes tests/openpgp/signed/0038.sha512.asc | 18 +++ tests/openpgp/signed/0039.sha512 | Bin 0 -> 410 bytes tests/openpgp/signed/0039.sha512.asc | 18 +++ tests/openpgp/signed/0040.sha512 | 1 + tests/openpgp/signed/0040.sha512.asc | 18 +++ tests/openpgp/signed/0041.sha512 | Bin 0 -> 812 bytes tests/openpgp/signed/0041.sha512.asc | 18 +++ tests/openpgp/signed/0042.sha512 | Bin 0 -> 1715 bytes tests/openpgp/signed/0042.sha512.asc | 18 +++ tests/openpgp/signed/0043.sha512 | Bin 0 -> 2096 bytes tests/openpgp/signed/0043.sha512.asc | 18 +++ tests/openpgp/signed/0044.sha512 | Bin 0 -> 666 bytes tests/openpgp/signed/0044.sha512.asc | 18 +++ tests/openpgp/signed/0045.sha512 | Bin 0 -> 664 bytes tests/openpgp/signed/0045.sha512.asc | 18 +++ tests/openpgp/signed/0046.sha512 | Bin 0 -> 528 bytes tests/openpgp/signed/0046.sha512.asc | 18 +++ tests/openpgp/signed/0047.sha512 | Bin 0 -> 1071 bytes tests/openpgp/signed/0047.sha512.asc | 18 +++ tests/openpgp/signed/0048.sha512 | Bin 0 -> 623 bytes tests/openpgp/signed/0048.sha512.asc | 18 +++ tests/openpgp/signed/0049.sha512 | Bin 0 -> 649 bytes tests/openpgp/signed/0049.sha512.asc | 18 +++ tests/openpgp/signed/0050.sha512 | Bin 0 -> 1999 bytes tests/openpgp/signed/0050.sha512.asc | 18 +++ tests/openpgp/signed/0051.sha512 | Bin 0 -> 410 bytes tests/openpgp/signed/0051.sha512.asc | 18 +++ tests/openpgp/signed/0052.sha512 | Bin 0 -> 231 bytes tests/openpgp/signed/0052.sha512.asc | 18 +++ tests/openpgp/signed/0053.sha512 | Bin 0 -> 1890 bytes tests/openpgp/signed/0053.sha512.asc | 18 +++ tests/openpgp/signed/0054.sha512 | Bin 0 -> 1010 bytes tests/openpgp/signed/0054.sha512.asc | 18 +++ tests/openpgp/signed/0055.sha512 | Bin 0 -> 1765 bytes tests/openpgp/signed/0055.sha512.asc | 18 +++ tests/openpgp/signed/0056.sha512 | Bin 0 -> 1669 bytes tests/openpgp/signed/0056.sha512.asc | 18 +++ tests/openpgp/signed/0057.sha512 | Bin 0 -> 1786 bytes tests/openpgp/signed/0057.sha512.asc | 18 +++ tests/openpgp/signed/0058.sha512 | Bin 0 -> 1725 bytes tests/openpgp/signed/0058.sha512.asc | 18 +++ tests/openpgp/signed/0059.sha512 | Bin 0 -> 1064 bytes tests/openpgp/signed/0059.sha512.asc | 18 +++ tests/openpgp/signed/0060.sha512 | Bin 0 -> 2284 bytes tests/openpgp/signed/0060.sha512.asc | 18 +++ tests/openpgp/signed/0061.sha512 | 2 + tests/openpgp/signed/0061.sha512.asc | 18 +++ tests/openpgp/signed/0062.sha512 | Bin 0 -> 902 bytes tests/openpgp/signed/0062.sha512.asc | 18 +++ tests/openpgp/signed/0063.sha512 | Bin 0 -> 1561 bytes tests/openpgp/signed/0063.sha512.asc | 18 +++ tests/openpgp/signed/0064.sha512 | Bin 0 -> 1548 bytes tests/openpgp/signed/0064.sha512.asc | 18 +++ tests/openpgp/signed/0065.sha512 | Bin 0 -> 929 bytes tests/openpgp/signed/0065.sha512.asc | 18 +++ tests/openpgp/signed/0066.sha512 | Bin 0 -> 2006 bytes tests/openpgp/signed/0066.sha512.asc | 18 +++ tests/openpgp/signed/0067.sha512 | Bin 0 -> 2281 bytes tests/openpgp/signed/0067.sha512.asc | 18 +++ tests/openpgp/signed/0068.sha512 | Bin 0 -> 1432 bytes tests/openpgp/signed/0068.sha512.asc | 18 +++ tests/openpgp/signed/0069.sha512 | Bin 0 -> 1406 bytes tests/openpgp/signed/0069.sha512.asc | 18 +++ tests/openpgp/signed/0070.sha512 | 1 + tests/openpgp/signed/0070.sha512.asc | 18 +++ tests/openpgp/signed/0071.sha512 | Bin 0 -> 1517 bytes tests/openpgp/signed/0071.sha512.asc | 18 +++ tests/openpgp/signed/0072.sha512 | Bin 0 -> 1355 bytes tests/openpgp/signed/0072.sha512.asc | 18 +++ tests/openpgp/signed/0073.sha512 | Bin 0 -> 547 bytes tests/openpgp/signed/0073.sha512.asc | 18 +++ tests/openpgp/signed/0074.sha512 | Bin 0 -> 1110 bytes tests/openpgp/signed/0074.sha512.asc | 18 +++ tests/openpgp/signed/0075.sha512 | Bin 0 -> 1914 bytes tests/openpgp/signed/0075.sha512.asc | 18 +++ tests/openpgp/signed/0076.sha512 | 3 + tests/openpgp/signed/0076.sha512.asc | 18 +++ tests/openpgp/signed/0077.sha512 | Bin 0 -> 627 bytes tests/openpgp/signed/0077.sha512.asc | 18 +++ tests/openpgp/signed/0078.sha512 | Bin 0 -> 534 bytes tests/openpgp/signed/0078.sha512.asc | 18 +++ tests/openpgp/signed/0079.sha512 | Bin 0 -> 1417 bytes tests/openpgp/signed/0079.sha512.asc | 18 +++ tests/openpgp/signed/0080.sha512 | Bin 0 -> 1807 bytes tests/openpgp/signed/0080.sha512.asc | 18 +++ tests/openpgp/signed/0081.sha512 | Bin 0 -> 1481 bytes tests/openpgp/signed/0081.sha512.asc | 18 +++ tests/openpgp/signed/0082.sha512 | Bin 0 -> 1173 bytes tests/openpgp/signed/0082.sha512.asc | 18 +++ tests/openpgp/signed/0083.sha512 | Bin 0 -> 1066 bytes tests/openpgp/signed/0083.sha512.asc | 18 +++ tests/openpgp/signed/0084.sha512 | Bin 0 -> 1390 bytes tests/openpgp/signed/0084.sha512.asc | 18 +++ tests/openpgp/signed/0085.sha512 | Bin 0 -> 1256 bytes tests/openpgp/signed/0085.sha512.asc | 18 +++ tests/openpgp/signed/0086.sha512 | Bin 0 -> 37 bytes tests/openpgp/signed/0086.sha512.asc | 18 +++ tests/openpgp/signed/0087.sha512 | Bin 0 -> 658 bytes tests/openpgp/signed/0087.sha512.asc | 18 +++ tests/openpgp/signed/0088.sha512 | Bin 0 -> 994 bytes tests/openpgp/signed/0088.sha512.asc | 18 +++ tests/openpgp/signed/0089.sha512 | Bin 0 -> 2179 bytes tests/openpgp/signed/0089.sha512.asc | 18 +++ tests/openpgp/signed/0090.sha512 | Bin 0 -> 1782 bytes tests/openpgp/signed/0090.sha512.asc | 18 +++ tests/openpgp/signed/0091.sha512 | Bin 0 -> 1161 bytes tests/openpgp/signed/0091.sha512.asc | 18 +++ tests/openpgp/signed/0092.sha512 | Bin 0 -> 957 bytes tests/openpgp/signed/0092.sha512.asc | 18 +++ tests/openpgp/signed/0093.sha512 | Bin 0 -> 2380 bytes tests/openpgp/signed/0093.sha512.asc | 18 +++ tests/openpgp/signed/0094.sha512 | Bin 0 -> 2207 bytes tests/openpgp/signed/0094.sha512.asc | 18 +++ tests/openpgp/signed/0095.sha512 | Bin 0 -> 1911 bytes tests/openpgp/signed/0095.sha512.asc | 18 +++ tests/openpgp/signed/0096.sha512 | Bin 0 -> 992 bytes tests/openpgp/signed/0096.sha512.asc | 18 +++ tests/openpgp/signed/0097.sha512 | Bin 0 -> 2465 bytes tests/openpgp/signed/0097.sha512.asc | 18 +++ tests/openpgp/signed/0098.sha512 | Bin 0 -> 1793 bytes tests/openpgp/signed/0098.sha512.asc | 18 +++ tests/openpgp/signed/0099.sha512 | Bin 0 -> 169 bytes tests/openpgp/signed/0099.sha512.asc | 18 +++ tests/openpgp/signed/0100.sha512 | Bin 0 -> 2361 bytes tests/openpgp/signed/0100.sha512.asc | 18 +++ tests/openpgp/signed/0101.sha512 | Bin 0 -> 355 bytes tests/openpgp/signed/0101.sha512.asc | 18 +++ tests/openpgp/signed/0102.sha512 | Bin 0 -> 2150 bytes tests/openpgp/signed/0102.sha512.asc | 18 +++ tests/openpgp/signed/0103.sha512 | Bin 0 -> 1882 bytes tests/openpgp/signed/0103.sha512.asc | 18 +++ tests/openpgp/signed/0104.sha512 | Bin 0 -> 2386 bytes tests/openpgp/signed/0104.sha512.asc | 18 +++ tests/openpgp/signed/0105.sha512 | Bin 0 -> 76 bytes tests/openpgp/signed/0105.sha512.asc | 18 +++ tests/openpgp/signed/0106.sha512 | Bin 0 -> 1103 bytes tests/openpgp/signed/0106.sha512.asc | 18 +++ tests/openpgp/signed/0107.sha512 | Bin 0 -> 547 bytes tests/openpgp/signed/0107.sha512.asc | 18 +++ tests/openpgp/signed/0108.sha512 | Bin 0 -> 1642 bytes tests/openpgp/signed/0108.sha512.asc | 18 +++ tests/openpgp/signed/0109.sha512 | Bin 0 -> 2487 bytes tests/openpgp/signed/0109.sha512.asc | 18 +++ tests/openpgp/signed/0110.sha512 | Bin 0 -> 1918 bytes tests/openpgp/signed/0110.sha512.asc | 18 +++ tests/openpgp/signed/0111.sha512 | Bin 0 -> 429 bytes tests/openpgp/signed/0111.sha512.asc | 18 +++ tests/openpgp/signed/0112.sha512 | Bin 0 -> 346 bytes tests/openpgp/signed/0112.sha512.asc | 18 +++ tests/openpgp/signed/0113.sha512 | Bin 0 -> 1650 bytes tests/openpgp/signed/0113.sha512.asc | 18 +++ tests/openpgp/signed/0114.sha512 | Bin 0 -> 398 bytes tests/openpgp/signed/0114.sha512.asc | 18 +++ tests/openpgp/signed/0115.sha512 | Bin 0 -> 1350 bytes tests/openpgp/signed/0115.sha512.asc | 18 +++ tests/openpgp/signed/0116.sha512 | Bin 0 -> 295 bytes tests/openpgp/signed/0116.sha512.asc | 18 +++ tests/openpgp/signed/0117.sha512 | 3 + tests/openpgp/signed/0117.sha512.asc | 18 +++ tests/openpgp/signed/0118.sha512 | Bin 0 -> 466 bytes tests/openpgp/signed/0118.sha512.asc | 18 +++ tests/openpgp/signed/0119.sha512 | Bin 0 -> 1418 bytes tests/openpgp/signed/0119.sha512.asc | 18 +++ tests/openpgp/signed/0120.sha512 | 4 + tests/openpgp/signed/0120.sha512.asc | 18 +++ tests/openpgp/signed/0121.sha512 | Bin 0 -> 1932 bytes tests/openpgp/signed/0121.sha512.asc | 18 +++ tests/openpgp/signed/0122.sha512 | Bin 0 -> 1394 bytes tests/openpgp/signed/0122.sha512.asc | 18 +++ tests/openpgp/signed/0123.sha512 | Bin 0 -> 2214 bytes tests/openpgp/signed/0123.sha512.asc | 18 +++ tests/openpgp/signed/0124.sha512 | Bin 0 -> 1600 bytes tests/openpgp/signed/0124.sha512.asc | 18 +++ tests/openpgp/signed/0125.sha512 | Bin 0 -> 1558 bytes tests/openpgp/signed/0125.sha512.asc | 18 +++ tests/openpgp/signed/0126.sha512 | Bin 0 -> 254 bytes tests/openpgp/signed/0126.sha512.asc | 18 +++ tests/openpgp/signed/0127.sha512 | Bin 0 -> 1839 bytes tests/openpgp/signed/0127.sha512.asc | 18 +++ tests/openpgp/signed/0128.sha512 | Bin 0 -> 1930 bytes tests/openpgp/signed/0128.sha512.asc | 18 +++ tests/openpgp/signed/0129.sha512 | Bin 0 -> 2422 bytes tests/openpgp/signed/0129.sha512.asc | 18 +++ tests/openpgp/signed/0130.sha512 | Bin 0 -> 2346 bytes tests/openpgp/signed/0130.sha512.asc | 18 +++ tests/openpgp/signed/0131.sha512 | Bin 0 -> 1115 bytes tests/openpgp/signed/0131.sha512.asc | 18 +++ tests/openpgp/signed/0132.sha512 | Bin 0 -> 1919 bytes tests/openpgp/signed/0132.sha512.asc | 18 +++ tests/openpgp/signed/0133.sha512 | Bin 0 -> 2220 bytes tests/openpgp/signed/0133.sha512.asc | 18 +++ tests/openpgp/signed/0134.sha512 | Bin 0 -> 1302 bytes tests/openpgp/signed/0134.sha512.asc | 18 +++ tests/openpgp/signed/0135.sha512 | 6 + tests/openpgp/signed/0135.sha512.asc | 18 +++ tests/openpgp/signed/0136.sha512 | Bin 0 -> 2192 bytes tests/openpgp/signed/0136.sha512.asc | 18 +++ tests/openpgp/signed/0137.sha512 | Bin 0 -> 779 bytes tests/openpgp/signed/0137.sha512.asc | 18 +++ tests/openpgp/signed/0138.sha512 | Bin 0 -> 347 bytes tests/openpgp/signed/0138.sha512.asc | 18 +++ tests/openpgp/signed/0139.sha512 | Bin 0 -> 1329 bytes tests/openpgp/signed/0139.sha512.asc | 18 +++ tests/openpgp/signed/0140.sha512 | Bin 0 -> 1465 bytes tests/openpgp/signed/0140.sha512.asc | 18 +++ tests/openpgp/signed/0141.sha512 | Bin 0 -> 925 bytes tests/openpgp/signed/0141.sha512.asc | 18 +++ tests/openpgp/signed/0142.sha512 | Bin 0 -> 2075 bytes tests/openpgp/signed/0142.sha512.asc | 18 +++ tests/openpgp/signed/0143.sha512 | 2 + tests/openpgp/signed/0143.sha512.asc | 18 +++ tests/openpgp/signed/0144.sha512 | Bin 0 -> 1562 bytes tests/openpgp/signed/0144.sha512.asc | 18 +++ tests/openpgp/signed/0145.sha512 | Bin 0 -> 771 bytes tests/openpgp/signed/0145.sha512.asc | 18 +++ tests/openpgp/signed/0146.sha512 | Bin 0 -> 947 bytes tests/openpgp/signed/0146.sha512.asc | 18 +++ tests/openpgp/signed/0147.sha512 | Bin 0 -> 1265 bytes tests/openpgp/signed/0147.sha512.asc | 18 +++ tests/openpgp/signed/0148.sha512 | Bin 0 -> 1866 bytes tests/openpgp/signed/0148.sha512.asc | 18 +++ tests/openpgp/signed/0149.sha512 | 1 + tests/openpgp/signed/0149.sha512.asc | 18 +++ tests/openpgp/signed/0150.sha512 | Bin 0 -> 2074 bytes tests/openpgp/signed/0150.sha512.asc | 18 +++ tests/openpgp/signed/0151.sha512 | Bin 0 -> 2374 bytes tests/openpgp/signed/0151.sha512.asc | 18 +++ tests/openpgp/signed/0152.sha512 | Bin 0 -> 2497 bytes tests/openpgp/signed/0152.sha512.asc | 18 +++ tests/openpgp/signed/0153.sha512 | Bin 0 -> 1557 bytes tests/openpgp/signed/0153.sha512.asc | 18 +++ tests/openpgp/signed/0154.sha512 | Bin 0 -> 677 bytes tests/openpgp/signed/0154.sha512.asc | 18 +++ tests/openpgp/signed/0155.sha512 | Bin 0 -> 1402 bytes tests/openpgp/signed/0155.sha512.asc | 18 +++ tests/openpgp/signed/0156.sha512 | Bin 0 -> 431 bytes tests/openpgp/signed/0156.sha512.asc | 18 +++ tests/openpgp/signed/0157.sha512 | Bin 0 -> 1802 bytes tests/openpgp/signed/0157.sha512.asc | 18 +++ tests/openpgp/signed/0158.sha512 | Bin 0 -> 565 bytes tests/openpgp/signed/0158.sha512.asc | 18 +++ tests/openpgp/signed/0159.sha512 | Bin 0 -> 79 bytes tests/openpgp/signed/0159.sha512.asc | 18 +++ tests/openpgp/signed/0160.sha512 | Bin 0 -> 1633 bytes tests/openpgp/signed/0160.sha512.asc | 18 +++ tests/openpgp/signed/0161.sha512 | Bin 0 -> 1848 bytes tests/openpgp/signed/0161.sha512.asc | 18 +++ tests/openpgp/signed/0162.sha512 | Bin 0 -> 2342 bytes tests/openpgp/signed/0162.sha512.asc | 18 +++ tests/openpgp/signed/0163.sha512 | Bin 0 -> 2158 bytes tests/openpgp/signed/0163.sha512.asc | 18 +++ tests/openpgp/signed/0164.sha512 | Bin 0 -> 657 bytes tests/openpgp/signed/0164.sha512.asc | 18 +++ tests/openpgp/signed/0165.sha512 | Bin 0 -> 2021 bytes tests/openpgp/signed/0165.sha512.asc | 18 +++ tests/openpgp/signed/0166.sha512 | Bin 0 -> 551 bytes tests/openpgp/signed/0166.sha512.asc | 18 +++ tests/openpgp/signed/0167.sha512 | Bin 0 -> 1892 bytes tests/openpgp/signed/0167.sha512.asc | 18 +++ tests/openpgp/signed/0168.sha512 | Bin 0 -> 2217 bytes tests/openpgp/signed/0168.sha512.asc | 18 +++ tests/openpgp/signed/0169.sha512 | Bin 0 -> 1486 bytes tests/openpgp/signed/0169.sha512.asc | 18 +++ tests/openpgp/signed/0170.sha512 | Bin 0 -> 1927 bytes tests/openpgp/signed/0170.sha512.asc | 18 +++ tests/openpgp/signed/0171.sha512 | Bin 0 -> 2331 bytes tests/openpgp/signed/0171.sha512.asc | 18 +++ tests/openpgp/signed/0172.sha512 | Bin 0 -> 1118 bytes tests/openpgp/signed/0172.sha512.asc | 18 +++ tests/openpgp/signed/0173.sha512 | Bin 0 -> 268 bytes tests/openpgp/signed/0173.sha512.asc | 18 +++ tests/openpgp/signed/0174.sha512 | Bin 0 -> 2180 bytes tests/openpgp/signed/0174.sha512.asc | 18 +++ tests/openpgp/signed/0175.sha512 | Bin 0 -> 1757 bytes tests/openpgp/signed/0175.sha512.asc | 18 +++ tests/openpgp/signed/0176.sha512 | Bin 0 -> 296 bytes tests/openpgp/signed/0176.sha512.asc | 18 +++ tests/openpgp/signed/0177.sha512 | Bin 0 -> 1265 bytes tests/openpgp/signed/0177.sha512.asc | 18 +++ tests/openpgp/signed/0178.sha512 | Bin 0 -> 1379 bytes tests/openpgp/signed/0178.sha512.asc | 18 +++ tests/openpgp/signed/0179.sha512 | Bin 0 -> 1400 bytes tests/openpgp/signed/0179.sha512.asc | 18 +++ tests/openpgp/signed/0180.sha512 | Bin 0 -> 947 bytes tests/openpgp/signed/0180.sha512.asc | 18 +++ tests/openpgp/signed/0181.sha512 | 1 + tests/openpgp/signed/0181.sha512.asc | 18 +++ tests/openpgp/signed/0182.sha512 | Bin 0 -> 971 bytes tests/openpgp/signed/0182.sha512.asc | 18 +++ tests/openpgp/signed/0183.sha512 | Bin 0 -> 1727 bytes tests/openpgp/signed/0183.sha512.asc | 18 +++ tests/openpgp/signed/0184.sha512 | Bin 0 -> 226 bytes tests/openpgp/signed/0184.sha512.asc | 18 +++ tests/openpgp/signed/0185.sha512 | Bin 0 -> 1152 bytes tests/openpgp/signed/0185.sha512.asc | 18 +++ tests/openpgp/signed/0186.sha512 | Bin 0 -> 506 bytes tests/openpgp/signed/0186.sha512.asc | 18 +++ tests/openpgp/signed/0187.sha512 | Bin 0 -> 1543 bytes tests/openpgp/signed/0187.sha512.asc | 18 +++ tests/openpgp/signed/0188.sha512 | Bin 0 -> 755 bytes tests/openpgp/signed/0188.sha512.asc | 18 +++ tests/openpgp/signed/0189.sha512 | Bin 0 -> 1677 bytes tests/openpgp/signed/0189.sha512.asc | 18 +++ tests/openpgp/signed/0190.sha512 | Bin 0 -> 1021 bytes tests/openpgp/signed/0190.sha512.asc | 18 +++ tests/openpgp/signed/0191.sha512 | Bin 0 -> 689 bytes tests/openpgp/signed/0191.sha512.asc | 18 +++ tests/openpgp/signed/0192.sha512 | Bin 0 -> 2211 bytes tests/openpgp/signed/0192.sha512.asc | 18 +++ tests/openpgp/signed/0193.sha512 | Bin 0 -> 1347 bytes tests/openpgp/signed/0193.sha512.asc | 18 +++ tests/openpgp/signed/0194.sha512 | Bin 0 -> 2081 bytes tests/openpgp/signed/0194.sha512.asc | 18 +++ tests/openpgp/signed/0195.sha512 | Bin 0 -> 2275 bytes tests/openpgp/signed/0195.sha512.asc | 18 +++ tests/openpgp/signed/0196.sha512 | Bin 0 -> 170 bytes tests/openpgp/signed/0196.sha512.asc | 18 +++ tests/openpgp/signed/0197.sha512 | Bin 0 -> 1174 bytes tests/openpgp/signed/0197.sha512.asc | 18 +++ tests/openpgp/signed/0198.sha512 | Bin 0 -> 2449 bytes tests/openpgp/signed/0198.sha512.asc | 18 +++ tests/openpgp/signed/0199.sha512 | Bin 0 -> 1640 bytes tests/openpgp/signed/0199.sha512.asc | 18 +++ tests/openpgp/signed/index.sha512 | 200 ++++++++++++++++++++++++ tests/openpgp/signed/index.sha512.asc | 18 +++ tests/package.lisp | 7 + tests/quicklisp-client-tests.asd | 12 ++ tests/sha.lisp | 56 +++++++ 412 files changed, 4047 insertions(+) create mode 100644 tests/cdb.lisp create mode 100644 tests/cdb/services.cdb create mode 100644 tests/cdb/simple.cdb create mode 100644 tests/cdb/simple.txt create mode 100644 tests/cdb/test-index.txt create mode 100644 tests/openpgp.lisp create mode 100644 tests/openpgp/keys/76d1dacf3155465c.key create mode 100644 tests/openpgp/signed/0000.sha512 create mode 100644 tests/openpgp/signed/0000.sha512.asc create mode 100644 tests/openpgp/signed/0001.sha512 create mode 100644 tests/openpgp/signed/0001.sha512.asc create mode 100644 tests/openpgp/signed/0002.sha512 create mode 100644 tests/openpgp/signed/0002.sha512.asc create mode 100644 tests/openpgp/signed/0003.sha512 create mode 100644 tests/openpgp/signed/0003.sha512.asc create mode 100644 tests/openpgp/signed/0004.sha512 create mode 100644 tests/openpgp/signed/0004.sha512.asc create mode 100644 tests/openpgp/signed/0005.sha512 create mode 100644 tests/openpgp/signed/0005.sha512.asc create mode 100644 tests/openpgp/signed/0006.sha512 create mode 100644 tests/openpgp/signed/0006.sha512.asc create mode 100644 tests/openpgp/signed/0007.sha512 create mode 100644 tests/openpgp/signed/0007.sha512.asc create mode 100644 tests/openpgp/signed/0008.sha512 create mode 100644 tests/openpgp/signed/0008.sha512.asc create mode 100644 tests/openpgp/signed/0009.sha512 create mode 100644 tests/openpgp/signed/0009.sha512.asc create mode 100644 tests/openpgp/signed/0010.sha512 create mode 100644 tests/openpgp/signed/0010.sha512.asc create mode 100644 tests/openpgp/signed/0011.sha512 create mode 100644 tests/openpgp/signed/0011.sha512.asc create mode 100644 tests/openpgp/signed/0012.sha512 create mode 100644 tests/openpgp/signed/0012.sha512.asc create mode 100644 tests/openpgp/signed/0013.sha512 create mode 100644 tests/openpgp/signed/0013.sha512.asc create mode 100644 tests/openpgp/signed/0014.sha512 create mode 100644 tests/openpgp/signed/0014.sha512.asc create mode 100644 tests/openpgp/signed/0015.sha512 create mode 100644 tests/openpgp/signed/0015.sha512.asc create mode 100644 tests/openpgp/signed/0016.sha512 create mode 100644 tests/openpgp/signed/0016.sha512.asc create mode 100644 tests/openpgp/signed/0017.sha512 create mode 100644 tests/openpgp/signed/0017.sha512.asc create mode 100644 tests/openpgp/signed/0018.sha512 create mode 100644 tests/openpgp/signed/0018.sha512.asc create mode 100644 tests/openpgp/signed/0019.sha512 create mode 100644 tests/openpgp/signed/0019.sha512.asc create mode 100644 tests/openpgp/signed/0020.sha512 create mode 100644 tests/openpgp/signed/0020.sha512.asc create mode 100644 tests/openpgp/signed/0021.sha512 create mode 100644 tests/openpgp/signed/0021.sha512.asc create mode 100644 tests/openpgp/signed/0022.sha512 create mode 100644 tests/openpgp/signed/0022.sha512.asc create mode 100644 tests/openpgp/signed/0023.sha512 create mode 100644 tests/openpgp/signed/0023.sha512.asc create mode 100644 tests/openpgp/signed/0024.sha512 create mode 100644 tests/openpgp/signed/0024.sha512.asc create mode 100644 tests/openpgp/signed/0025.sha512 create mode 100644 tests/openpgp/signed/0025.sha512.asc create mode 100644 tests/openpgp/signed/0026.sha512 create mode 100644 tests/openpgp/signed/0026.sha512.asc create mode 100644 tests/openpgp/signed/0027.sha512 create mode 100644 tests/openpgp/signed/0027.sha512.asc create mode 100644 tests/openpgp/signed/0028.sha512 create mode 100644 tests/openpgp/signed/0028.sha512.asc create mode 100644 tests/openpgp/signed/0029.sha512 create mode 100644 tests/openpgp/signed/0029.sha512.asc create mode 100644 tests/openpgp/signed/0030.sha512 create mode 100644 tests/openpgp/signed/0030.sha512.asc create mode 100644 tests/openpgp/signed/0031.sha512 create mode 100644 tests/openpgp/signed/0031.sha512.asc create mode 100644 tests/openpgp/signed/0032.sha512 create mode 100644 tests/openpgp/signed/0032.sha512.asc create mode 100644 tests/openpgp/signed/0033.sha512 create mode 100644 tests/openpgp/signed/0033.sha512.asc create mode 100644 tests/openpgp/signed/0034.sha512 create mode 100644 tests/openpgp/signed/0034.sha512.asc create mode 100644 tests/openpgp/signed/0035.sha512 create mode 100644 tests/openpgp/signed/0035.sha512.asc create mode 100644 tests/openpgp/signed/0036.sha512 create mode 100644 tests/openpgp/signed/0036.sha512.asc create mode 100644 tests/openpgp/signed/0037.sha512 create mode 100644 tests/openpgp/signed/0037.sha512.asc create mode 100644 tests/openpgp/signed/0038.sha512 create mode 100644 tests/openpgp/signed/0038.sha512.asc create mode 100644 tests/openpgp/signed/0039.sha512 create mode 100644 tests/openpgp/signed/0039.sha512.asc create mode 100644 tests/openpgp/signed/0040.sha512 create mode 100644 tests/openpgp/signed/0040.sha512.asc create mode 100644 tests/openpgp/signed/0041.sha512 create mode 100644 tests/openpgp/signed/0041.sha512.asc create mode 100644 tests/openpgp/signed/0042.sha512 create mode 100644 tests/openpgp/signed/0042.sha512.asc create mode 100644 tests/openpgp/signed/0043.sha512 create mode 100644 tests/openpgp/signed/0043.sha512.asc create mode 100644 tests/openpgp/signed/0044.sha512 create mode 100644 tests/openpgp/signed/0044.sha512.asc create mode 100644 tests/openpgp/signed/0045.sha512 create mode 100644 tests/openpgp/signed/0045.sha512.asc create mode 100644 tests/openpgp/signed/0046.sha512 create mode 100644 tests/openpgp/signed/0046.sha512.asc create mode 100644 tests/openpgp/signed/0047.sha512 create mode 100644 tests/openpgp/signed/0047.sha512.asc create mode 100644 tests/openpgp/signed/0048.sha512 create mode 100644 tests/openpgp/signed/0048.sha512.asc create mode 100644 tests/openpgp/signed/0049.sha512 create mode 100644 tests/openpgp/signed/0049.sha512.asc create mode 100644 tests/openpgp/signed/0050.sha512 create mode 100644 tests/openpgp/signed/0050.sha512.asc create mode 100644 tests/openpgp/signed/0051.sha512 create mode 100644 tests/openpgp/signed/0051.sha512.asc create mode 100644 tests/openpgp/signed/0052.sha512 create mode 100644 tests/openpgp/signed/0052.sha512.asc create mode 100644 tests/openpgp/signed/0053.sha512 create mode 100644 tests/openpgp/signed/0053.sha512.asc create mode 100644 tests/openpgp/signed/0054.sha512 create mode 100644 tests/openpgp/signed/0054.sha512.asc create mode 100644 tests/openpgp/signed/0055.sha512 create mode 100644 tests/openpgp/signed/0055.sha512.asc create mode 100644 tests/openpgp/signed/0056.sha512 create mode 100644 tests/openpgp/signed/0056.sha512.asc create mode 100644 tests/openpgp/signed/0057.sha512 create mode 100644 tests/openpgp/signed/0057.sha512.asc create mode 100644 tests/openpgp/signed/0058.sha512 create mode 100644 tests/openpgp/signed/0058.sha512.asc create mode 100644 tests/openpgp/signed/0059.sha512 create mode 100644 tests/openpgp/signed/0059.sha512.asc create mode 100644 tests/openpgp/signed/0060.sha512 create mode 100644 tests/openpgp/signed/0060.sha512.asc create mode 100644 tests/openpgp/signed/0061.sha512 create mode 100644 tests/openpgp/signed/0061.sha512.asc create mode 100644 tests/openpgp/signed/0062.sha512 create mode 100644 tests/openpgp/signed/0062.sha512.asc create mode 100644 tests/openpgp/signed/0063.sha512 create mode 100644 tests/openpgp/signed/0063.sha512.asc create mode 100644 tests/openpgp/signed/0064.sha512 create mode 100644 tests/openpgp/signed/0064.sha512.asc create mode 100644 tests/openpgp/signed/0065.sha512 create mode 100644 tests/openpgp/signed/0065.sha512.asc create mode 100644 tests/openpgp/signed/0066.sha512 create mode 100644 tests/openpgp/signed/0066.sha512.asc create mode 100644 tests/openpgp/signed/0067.sha512 create mode 100644 tests/openpgp/signed/0067.sha512.asc create mode 100644 tests/openpgp/signed/0068.sha512 create mode 100644 tests/openpgp/signed/0068.sha512.asc create mode 100644 tests/openpgp/signed/0069.sha512 create mode 100644 tests/openpgp/signed/0069.sha512.asc create mode 100644 tests/openpgp/signed/0070.sha512 create mode 100644 tests/openpgp/signed/0070.sha512.asc create mode 100644 tests/openpgp/signed/0071.sha512 create mode 100644 tests/openpgp/signed/0071.sha512.asc create mode 100644 tests/openpgp/signed/0072.sha512 create mode 100644 tests/openpgp/signed/0072.sha512.asc create mode 100644 tests/openpgp/signed/0073.sha512 create mode 100644 tests/openpgp/signed/0073.sha512.asc create mode 100644 tests/openpgp/signed/0074.sha512 create mode 100644 tests/openpgp/signed/0074.sha512.asc create mode 100644 tests/openpgp/signed/0075.sha512 create mode 100644 tests/openpgp/signed/0075.sha512.asc create mode 100644 tests/openpgp/signed/0076.sha512 create mode 100644 tests/openpgp/signed/0076.sha512.asc create mode 100644 tests/openpgp/signed/0077.sha512 create mode 100644 tests/openpgp/signed/0077.sha512.asc create mode 100644 tests/openpgp/signed/0078.sha512 create mode 100644 tests/openpgp/signed/0078.sha512.asc create mode 100644 tests/openpgp/signed/0079.sha512 create mode 100644 tests/openpgp/signed/0079.sha512.asc create mode 100644 tests/openpgp/signed/0080.sha512 create mode 100644 tests/openpgp/signed/0080.sha512.asc create mode 100644 tests/openpgp/signed/0081.sha512 create mode 100644 tests/openpgp/signed/0081.sha512.asc create mode 100644 tests/openpgp/signed/0082.sha512 create mode 100644 tests/openpgp/signed/0082.sha512.asc create mode 100644 tests/openpgp/signed/0083.sha512 create mode 100644 tests/openpgp/signed/0083.sha512.asc create mode 100644 tests/openpgp/signed/0084.sha512 create mode 100644 tests/openpgp/signed/0084.sha512.asc create mode 100644 tests/openpgp/signed/0085.sha512 create mode 100644 tests/openpgp/signed/0085.sha512.asc create mode 100644 tests/openpgp/signed/0086.sha512 create mode 100644 tests/openpgp/signed/0086.sha512.asc create mode 100644 tests/openpgp/signed/0087.sha512 create mode 100644 tests/openpgp/signed/0087.sha512.asc create mode 100644 tests/openpgp/signed/0088.sha512 create mode 100644 tests/openpgp/signed/0088.sha512.asc create mode 100644 tests/openpgp/signed/0089.sha512 create mode 100644 tests/openpgp/signed/0089.sha512.asc create mode 100644 tests/openpgp/signed/0090.sha512 create mode 100644 tests/openpgp/signed/0090.sha512.asc create mode 100644 tests/openpgp/signed/0091.sha512 create mode 100644 tests/openpgp/signed/0091.sha512.asc create mode 100644 tests/openpgp/signed/0092.sha512 create mode 100644 tests/openpgp/signed/0092.sha512.asc create mode 100644 tests/openpgp/signed/0093.sha512 create mode 100644 tests/openpgp/signed/0093.sha512.asc create mode 100644 tests/openpgp/signed/0094.sha512 create mode 100644 tests/openpgp/signed/0094.sha512.asc create mode 100644 tests/openpgp/signed/0095.sha512 create mode 100644 tests/openpgp/signed/0095.sha512.asc create mode 100644 tests/openpgp/signed/0096.sha512 create mode 100644 tests/openpgp/signed/0096.sha512.asc create mode 100644 tests/openpgp/signed/0097.sha512 create mode 100644 tests/openpgp/signed/0097.sha512.asc create mode 100644 tests/openpgp/signed/0098.sha512 create mode 100644 tests/openpgp/signed/0098.sha512.asc create mode 100644 tests/openpgp/signed/0099.sha512 create mode 100644 tests/openpgp/signed/0099.sha512.asc create mode 100644 tests/openpgp/signed/0100.sha512 create mode 100644 tests/openpgp/signed/0100.sha512.asc create mode 100644 tests/openpgp/signed/0101.sha512 create mode 100644 tests/openpgp/signed/0101.sha512.asc create mode 100644 tests/openpgp/signed/0102.sha512 create mode 100644 tests/openpgp/signed/0102.sha512.asc create mode 100644 tests/openpgp/signed/0103.sha512 create mode 100644 tests/openpgp/signed/0103.sha512.asc create mode 100644 tests/openpgp/signed/0104.sha512 create mode 100644 tests/openpgp/signed/0104.sha512.asc create mode 100644 tests/openpgp/signed/0105.sha512 create mode 100644 tests/openpgp/signed/0105.sha512.asc create mode 100644 tests/openpgp/signed/0106.sha512 create mode 100644 tests/openpgp/signed/0106.sha512.asc create mode 100644 tests/openpgp/signed/0107.sha512 create mode 100644 tests/openpgp/signed/0107.sha512.asc create mode 100644 tests/openpgp/signed/0108.sha512 create mode 100644 tests/openpgp/signed/0108.sha512.asc create mode 100644 tests/openpgp/signed/0109.sha512 create mode 100644 tests/openpgp/signed/0109.sha512.asc create mode 100644 tests/openpgp/signed/0110.sha512 create mode 100644 tests/openpgp/signed/0110.sha512.asc create mode 100644 tests/openpgp/signed/0111.sha512 create mode 100644 tests/openpgp/signed/0111.sha512.asc create mode 100644 tests/openpgp/signed/0112.sha512 create mode 100644 tests/openpgp/signed/0112.sha512.asc create mode 100644 tests/openpgp/signed/0113.sha512 create mode 100644 tests/openpgp/signed/0113.sha512.asc create mode 100644 tests/openpgp/signed/0114.sha512 create mode 100644 tests/openpgp/signed/0114.sha512.asc create mode 100644 tests/openpgp/signed/0115.sha512 create mode 100644 tests/openpgp/signed/0115.sha512.asc create mode 100644 tests/openpgp/signed/0116.sha512 create mode 100644 tests/openpgp/signed/0116.sha512.asc create mode 100644 tests/openpgp/signed/0117.sha512 create mode 100644 tests/openpgp/signed/0117.sha512.asc create mode 100644 tests/openpgp/signed/0118.sha512 create mode 100644 tests/openpgp/signed/0118.sha512.asc create mode 100644 tests/openpgp/signed/0119.sha512 create mode 100644 tests/openpgp/signed/0119.sha512.asc create mode 100644 tests/openpgp/signed/0120.sha512 create mode 100644 tests/openpgp/signed/0120.sha512.asc create mode 100644 tests/openpgp/signed/0121.sha512 create mode 100644 tests/openpgp/signed/0121.sha512.asc create mode 100644 tests/openpgp/signed/0122.sha512 create mode 100644 tests/openpgp/signed/0122.sha512.asc create mode 100644 tests/openpgp/signed/0123.sha512 create mode 100644 tests/openpgp/signed/0123.sha512.asc create mode 100644 tests/openpgp/signed/0124.sha512 create mode 100644 tests/openpgp/signed/0124.sha512.asc create mode 100644 tests/openpgp/signed/0125.sha512 create mode 100644 tests/openpgp/signed/0125.sha512.asc create mode 100644 tests/openpgp/signed/0126.sha512 create mode 100644 tests/openpgp/signed/0126.sha512.asc create mode 100644 tests/openpgp/signed/0127.sha512 create mode 100644 tests/openpgp/signed/0127.sha512.asc create mode 100644 tests/openpgp/signed/0128.sha512 create mode 100644 tests/openpgp/signed/0128.sha512.asc create mode 100644 tests/openpgp/signed/0129.sha512 create mode 100644 tests/openpgp/signed/0129.sha512.asc create mode 100644 tests/openpgp/signed/0130.sha512 create mode 100644 tests/openpgp/signed/0130.sha512.asc create mode 100644 tests/openpgp/signed/0131.sha512 create mode 100644 tests/openpgp/signed/0131.sha512.asc create mode 100644 tests/openpgp/signed/0132.sha512 create mode 100644 tests/openpgp/signed/0132.sha512.asc create mode 100644 tests/openpgp/signed/0133.sha512 create mode 100644 tests/openpgp/signed/0133.sha512.asc create mode 100644 tests/openpgp/signed/0134.sha512 create mode 100644 tests/openpgp/signed/0134.sha512.asc create mode 100644 tests/openpgp/signed/0135.sha512 create mode 100644 tests/openpgp/signed/0135.sha512.asc create mode 100644 tests/openpgp/signed/0136.sha512 create mode 100644 tests/openpgp/signed/0136.sha512.asc create mode 100644 tests/openpgp/signed/0137.sha512 create mode 100644 tests/openpgp/signed/0137.sha512.asc create mode 100644 tests/openpgp/signed/0138.sha512 create mode 100644 tests/openpgp/signed/0138.sha512.asc create mode 100644 tests/openpgp/signed/0139.sha512 create mode 100644 tests/openpgp/signed/0139.sha512.asc create mode 100644 tests/openpgp/signed/0140.sha512 create mode 100644 tests/openpgp/signed/0140.sha512.asc create mode 100644 tests/openpgp/signed/0141.sha512 create mode 100644 tests/openpgp/signed/0141.sha512.asc create mode 100644 tests/openpgp/signed/0142.sha512 create mode 100644 tests/openpgp/signed/0142.sha512.asc create mode 100644 tests/openpgp/signed/0143.sha512 create mode 100644 tests/openpgp/signed/0143.sha512.asc create mode 100644 tests/openpgp/signed/0144.sha512 create mode 100644 tests/openpgp/signed/0144.sha512.asc create mode 100644 tests/openpgp/signed/0145.sha512 create mode 100644 tests/openpgp/signed/0145.sha512.asc create mode 100644 tests/openpgp/signed/0146.sha512 create mode 100644 tests/openpgp/signed/0146.sha512.asc create mode 100644 tests/openpgp/signed/0147.sha512 create mode 100644 tests/openpgp/signed/0147.sha512.asc create mode 100644 tests/openpgp/signed/0148.sha512 create mode 100644 tests/openpgp/signed/0148.sha512.asc create mode 100644 tests/openpgp/signed/0149.sha512 create mode 100644 tests/openpgp/signed/0149.sha512.asc create mode 100644 tests/openpgp/signed/0150.sha512 create mode 100644 tests/openpgp/signed/0150.sha512.asc create mode 100644 tests/openpgp/signed/0151.sha512 create mode 100644 tests/openpgp/signed/0151.sha512.asc create mode 100644 tests/openpgp/signed/0152.sha512 create mode 100644 tests/openpgp/signed/0152.sha512.asc create mode 100644 tests/openpgp/signed/0153.sha512 create mode 100644 tests/openpgp/signed/0153.sha512.asc create mode 100644 tests/openpgp/signed/0154.sha512 create mode 100644 tests/openpgp/signed/0154.sha512.asc create mode 100644 tests/openpgp/signed/0155.sha512 create mode 100644 tests/openpgp/signed/0155.sha512.asc create mode 100644 tests/openpgp/signed/0156.sha512 create mode 100644 tests/openpgp/signed/0156.sha512.asc create mode 100644 tests/openpgp/signed/0157.sha512 create mode 100644 tests/openpgp/signed/0157.sha512.asc create mode 100644 tests/openpgp/signed/0158.sha512 create mode 100644 tests/openpgp/signed/0158.sha512.asc create mode 100644 tests/openpgp/signed/0159.sha512 create mode 100644 tests/openpgp/signed/0159.sha512.asc create mode 100644 tests/openpgp/signed/0160.sha512 create mode 100644 tests/openpgp/signed/0160.sha512.asc create mode 100644 tests/openpgp/signed/0161.sha512 create mode 100644 tests/openpgp/signed/0161.sha512.asc create mode 100644 tests/openpgp/signed/0162.sha512 create mode 100644 tests/openpgp/signed/0162.sha512.asc create mode 100644 tests/openpgp/signed/0163.sha512 create mode 100644 tests/openpgp/signed/0163.sha512.asc create mode 100644 tests/openpgp/signed/0164.sha512 create mode 100644 tests/openpgp/signed/0164.sha512.asc create mode 100644 tests/openpgp/signed/0165.sha512 create mode 100644 tests/openpgp/signed/0165.sha512.asc create mode 100644 tests/openpgp/signed/0166.sha512 create mode 100644 tests/openpgp/signed/0166.sha512.asc create mode 100644 tests/openpgp/signed/0167.sha512 create mode 100644 tests/openpgp/signed/0167.sha512.asc create mode 100644 tests/openpgp/signed/0168.sha512 create mode 100644 tests/openpgp/signed/0168.sha512.asc create mode 100644 tests/openpgp/signed/0169.sha512 create mode 100644 tests/openpgp/signed/0169.sha512.asc create mode 100644 tests/openpgp/signed/0170.sha512 create mode 100644 tests/openpgp/signed/0170.sha512.asc create mode 100644 tests/openpgp/signed/0171.sha512 create mode 100644 tests/openpgp/signed/0171.sha512.asc create mode 100644 tests/openpgp/signed/0172.sha512 create mode 100644 tests/openpgp/signed/0172.sha512.asc create mode 100644 tests/openpgp/signed/0173.sha512 create mode 100644 tests/openpgp/signed/0173.sha512.asc create mode 100644 tests/openpgp/signed/0174.sha512 create mode 100644 tests/openpgp/signed/0174.sha512.asc create mode 100644 tests/openpgp/signed/0175.sha512 create mode 100644 tests/openpgp/signed/0175.sha512.asc create mode 100644 tests/openpgp/signed/0176.sha512 create mode 100644 tests/openpgp/signed/0176.sha512.asc create mode 100644 tests/openpgp/signed/0177.sha512 create mode 100644 tests/openpgp/signed/0177.sha512.asc create mode 100644 tests/openpgp/signed/0178.sha512 create mode 100644 tests/openpgp/signed/0178.sha512.asc create mode 100644 tests/openpgp/signed/0179.sha512 create mode 100644 tests/openpgp/signed/0179.sha512.asc create mode 100644 tests/openpgp/signed/0180.sha512 create mode 100644 tests/openpgp/signed/0180.sha512.asc create mode 100644 tests/openpgp/signed/0181.sha512 create mode 100644 tests/openpgp/signed/0181.sha512.asc create mode 100644 tests/openpgp/signed/0182.sha512 create mode 100644 tests/openpgp/signed/0182.sha512.asc create mode 100644 tests/openpgp/signed/0183.sha512 create mode 100644 tests/openpgp/signed/0183.sha512.asc create mode 100644 tests/openpgp/signed/0184.sha512 create mode 100644 tests/openpgp/signed/0184.sha512.asc create mode 100644 tests/openpgp/signed/0185.sha512 create mode 100644 tests/openpgp/signed/0185.sha512.asc create mode 100644 tests/openpgp/signed/0186.sha512 create mode 100644 tests/openpgp/signed/0186.sha512.asc create mode 100644 tests/openpgp/signed/0187.sha512 create mode 100644 tests/openpgp/signed/0187.sha512.asc create mode 100644 tests/openpgp/signed/0188.sha512 create mode 100644 tests/openpgp/signed/0188.sha512.asc create mode 100644 tests/openpgp/signed/0189.sha512 create mode 100644 tests/openpgp/signed/0189.sha512.asc create mode 100644 tests/openpgp/signed/0190.sha512 create mode 100644 tests/openpgp/signed/0190.sha512.asc create mode 100644 tests/openpgp/signed/0191.sha512 create mode 100644 tests/openpgp/signed/0191.sha512.asc create mode 100644 tests/openpgp/signed/0192.sha512 create mode 100644 tests/openpgp/signed/0192.sha512.asc create mode 100644 tests/openpgp/signed/0193.sha512 create mode 100644 tests/openpgp/signed/0193.sha512.asc create mode 100644 tests/openpgp/signed/0194.sha512 create mode 100644 tests/openpgp/signed/0194.sha512.asc create mode 100644 tests/openpgp/signed/0195.sha512 create mode 100644 tests/openpgp/signed/0195.sha512.asc create mode 100644 tests/openpgp/signed/0196.sha512 create mode 100644 tests/openpgp/signed/0196.sha512.asc create mode 100644 tests/openpgp/signed/0197.sha512 create mode 100644 tests/openpgp/signed/0197.sha512.asc create mode 100644 tests/openpgp/signed/0198.sha512 create mode 100644 tests/openpgp/signed/0198.sha512.asc create mode 100644 tests/openpgp/signed/0199.sha512 create mode 100644 tests/openpgp/signed/0199.sha512.asc create mode 100644 tests/openpgp/signed/index.sha512 create mode 100644 tests/openpgp/signed/index.sha512.asc create mode 100644 tests/package.lisp create mode 100644 tests/quicklisp-client-tests.asd create mode 100644 tests/sha.lisp diff --git a/tests/cdb.lisp b/tests/cdb.lisp new file mode 100644 index 0000000..29a7d09 --- /dev/null +++ b/tests/cdb.lisp @@ -0,0 +1,32 @@ +;;;; cdb.lisp + +(in-package #:quicklisp-client-tests) + +(defvar *services-cdb* + (merge-pathnames "cdb/services.cdb" + *base-directory*)) + +(defvar *simple-cdb* + (merge-pathnames "cdb/simple.cdb" + *base-directory*)) + +(deftest test-cdb-lookup () + (is (equalp "22" (ql-cdb:lookup "ssh/tcp" *services-cdb*))) + (is (equalp "23" (ql-cdb:lookup "telnet/tcp" *services-cdb*)))) + +(deftest test-map-cdb () + (ql-cdb::map-cdb (lambda (key value) + (is (equalp key value))) + *simple-cdb*)) + +(deftest test-write-cdb () + (let ((cdb + (ql-cdb:convert-index-file (merge-pathnames "cdb/test-index.txt" + *base-directory*)))) + (with-open-file (stream cdb :element-type '(unsigned-byte 8)) + (ql-cdb::map-cdb + (lambda (key value) + ;; test input file maps "foo" to "foo foo" for each line + (is (equalp (format nil "~A ~A" key key) value))) + stream)))) + diff --git a/tests/cdb/services.cdb b/tests/cdb/services.cdb new file mode 100644 index 0000000000000000000000000000000000000000..f2be8a87e436e1a757ad2f78e6e6c943f20c1280 GIT binary patch literal 815677 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

<;^lYN+lH%JmeF4*!vd55-WG`2 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 F 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

=E2%aMd2 z7aMF7*8FWbY47pBPO}5+REG#2QLj<4YjY*VX>BEHeAc_>Q@Rk0<(X6a0#{%#n!8gV zonEa5xdS!uLIIAOd1m7WCHxfUP_Y2BbB}cO$fQEDcP-6i|t2}G$g~EY+-TzA4)2D$i2OOF3`3| zDHNppo5bMj!}5nlrCfac)<#Ecm_7}XG>4~v|)?G>nH{b|T-GGC6T)HJX6@gf8ULwLLQ0g24-YVrI zy3BuZCFmZ|Aze%F#&}d5Ea&rIqtkCKC9Q&IWEQNLeD7B{V?p z$xEsL5>KPHX+BWtBz?z_T9~koLGr1*ShRT JbU#I%nCiWfQn3I4 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0042.sha512.asc b/tests/openpgp/signed/0042.sha512.asc new file mode 100644 index 0000000..9d16e8d --- /dev/null +++ b/tests/openpgp/signed/0042.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifTMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcEVwQAMf/ +lUhoS5a6onEnk6HLxqCOGhC5IVT7AfmkUzH1yyUZ/2al5sG1ib3OSkttAi/LZpQJ +H1dF6Vr3DAgbgKbBiNSPHOuz8l13eX/UJgaghDmgloB/WFCOm0CcSo+wpAyZLV7t +vpF4o7V5bbJj8j+w7NPjd0e3F9GOJTHr8yY7j9U5tVvRbJT8Ff2cwavp76RO+E0s +F5bJ36pcQpXWVH33JrHx+08hEpzMFPTVmcdGKp1mPBe/tlsG1+rL3LURMEDLwBKd +QBm4Jn4EWXr2mjSxSFHg1inDzCrJRltRGzvmOZBrXOQ5Af/GkfgXykQ5eP0BY1+D +16qb7AKBNLCD5sijdHqMwi9gPyJ39r49t7UB2VKtt5lq/eqbkMNyhHscKv5O6fFZ +MSc+8kDu9M3VYFnI0WzrabR93ce2Iu7RuQDbpo6eX18hBBt+np96n6aVlByJppk/ +h7gnhvtIsvuyPucRI7Gn9hdGFh7JdUyrDOo7BF5UZx/DvyAakc8HTkpp1cUTBGbI +Xaeqk1vMxuqI+fiXd55SdYpanagw59cMyCQUSzo28e6faoXQ2hKbLPNd61XEijgD +1vdujWXgiadj/IL50AsMmXLVNYbLuNtFGldmn/SHMyh0h/XQoAQcvHB35zDdVQWx +Px4JU78A+TUHUmARYy6z+3N3OlFOCQ4tK/lECHGu +=1oA4 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0043.sha512 b/tests/openpgp/signed/0043.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..e23850bc8fe8e667841641b2015c12b89d09b246 GIT binary patch literal 2096 zcmV-02+#LVUy{HZLS6Nn{=b$4mQ4SbPKRR=C#y9tWarUbK^$V4!oBs%yOk#F~?vw~*IZK*!BVL!ijcWZ{g}U?~ zriH(0gDb^8_M#X*wUgxpR|V}w_VoO1*19ZE%uLxK*7-d-8}ZGtkn}>X9r*H$xW3%*JqLvy%NvvtK!)<=a~Jv-AJ z3eF7y)$?$p2vNl=1bxleuDgl52W3cya-AMG1J|7R&o#LxQeOU_My%Zy z-Z7PYoe}e*L>6*Bd$VHB^?T9G-Vq_57P82{RL})cSmkik%JI!i*)0%`ZgybMNJa+& z)ytDzLuUM8rFR#8Y1JDSnPzU(xx;zI)7~VEuT8p=Ii5d2sWA3yjT1H_v2Gy>wzjfY zaO-8segQu3nobP4ZArZiha@h{b?Ug!hd20J`E7=?e2_3@U8~GUD?Lvxa_npoPww`4 z$oKyP!66Y2-d^|I543zu#@X5?53R8aO1P*8!Trl%NDG{diA}47Q}wrs^bIzq($Z(P z!?kbwKYdyFH~hKa-PFqAj6p?{RQJb{L&J&0tr+NjKeT%1@cJgWzA|SC#w-sEylOL_ z%Dja0rjb~98^)Zy<@IWWLkF^D+xI_LnQmP@ot1`SEp@bn7e=%U-@PCJd{D_fJ9nIo z$-MsPz|k`lYdw)_gP$%9TwiR6a$dJv21RdxM6koZBdGveQvvNPPO-C3JYmuZ3ph&8?PUdf99>YDMQv) zFbu#n@L3hWFyCfGugU@r5l39JqOv9R*A+!yWpySTve%6i>JUUMnge z&wIX{Mq#lwN;gr5h}KBnTFSR94ENofv$~Lpi*u~JB8yOkP{M>YAaSU)JqAk_&Cjq- z2jTSoUZ5^=5qU`6D1>rJ^(7-j6DidkZYvh=XwRi~he|sP!~iOd0GoPmaI#>9v8w7? zU4~{S>G}pb=tEE$4VloIv;WJb3N_RxdtoSg!Lv$YFTJNL+ksOBz zM-X?eBjV#D_e^dA^f0xYsv@Z?w?0T&j9@j3mq8)gsw-l(1~mF;YPO569!0OTZH*Qr zoy_nPwD-U$FD7Vu#2fhr#p0VKJa_CAs@Wj|Pp z*8N63(n*!Zor;^vt>xlDeIQ44D+5RA^i)eT(FvQ7J6c3Pq|yvMD3EXv6P!ke?P|hfiwIt!Sp8^)*0$VW7>;om{-%Cxt@~ z6?q=aDUKUsh76RzkR~>o5IRQ!Nyv^S0mz>#_QHgTg%NUosd+^2ig|(qFh(Oau)d7> zjfD(ZhqMoDVoGho&)Fb9b0NxT(nZfI*7(8_<;`Ax#+Pux|t6N8ogJg|E z`R1L6C5qEi3!&gvoR{p9YRLr(D#kC8qIAUxSo$6C&G8L*AB;FM43g*Y)q<}pD1lSH zjOot5UO7BvRlcx?)oVt<9AwvMS=9~BRN$r}h9?fomQYBHOQ8x2X2Ev1!*}djB*PrO z{{?KGDX$1N8dZMfjrz&UjHkMXS9d4_v%om8v==JKN3p{7?SxL#G}5HgMP8Lmm7B#6 z+=sCaC<#%&xK_DAiPG+V#o$|{XSp=*&P+V5<>2Y&$YABH+bS`^cAI_AX zBp6m2^vQrqxU>dn47tEk@g45$D(RK`LKF`UW5waR3KuUrDS}IAqLuanMIx40DPO=A zCk??Q?{8IiuMo7ZYNHE*bF8rYnWA*}X0SyOi+FK@@fTfjas-SVOp$ueru1sIDU|#c aFB+}zV<9Y=SAL8ElZ-`c71lPgvew=qmiiF@ literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0043.sha512.asc b/tests/openpgp/signed/0043.sha512.asc new file mode 100644 index 0000000..68e43ae --- /dev/null +++ b/tests/openpgp/signed/0043.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifTQnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcEbgQALDC +yTf2FAXb+JkImXvSroSnrQnlTA8Ea4lRYRB/F2is8X1bJljW6h1EMcdOJVRNT54L +vyfCEK72g12zHcl7oa623Ei6gsQ7G4qXGMgLPz6TMS3u9T7bBYdxvr1TiEGScmqx +jyaOGrgxTInC0pvqzdKSLmMl8pSBGP3+XPn8YWk6Mbsk5RCyW9axMhVzNqh25QFt +0j1tusYP4lwdf4XUBArMcbcbzVjBXuukvtWXK8H63qLhaq/CKUNFkQCjkCGWwg5h +sEqjAWl9hcPQX6QvYGmiM1fF3SEL0Wu63Lp1J1gnp4aZBlz9X1vsmVfBcJ93kH/X +FGBj4/S0pNwfPEVkBVnGzqBGIvFPz8IwWlowP6oVZsjz4qiKVX7UOX6U3FoESC0N +WNwIjrYORuBxS6k8u7IO6m0vPCb0ZMSxWYGme7WumkrBXv4xDSzUXUUVi0+k8Jc9 +rW3t9NFTcQyx9Yk4uDbiTSTWqqaxhjJ2zfftNVgjAaRgxV6wSP2qNo+3SrW/y+hd +DYVve8XiknRorR44xiiylzzm/8hS5MdtZYfrRL4g/1uESBuFWHIY7KZKRUqxs0I0 +pWEJrFlndoMrN8vBZnexu7rjX//PxJnWz+nNf3NTMFmGkvUCfHAu3w8rBIIQkH2t +OnaU8pWgiysuHnwFMJMYZO8AcaepyXau4Br6ZOfC +=lEOO +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0044.sha512 b/tests/openpgp/signed/0044.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..7f639f1198c4301f9e7a83eec466a48e3aea782e GIT binary patch literal 666 zcmV;L0%iTHdJSt&`UE-Qih0>4`*NH0hSZ6oyG3e@*Em1P)lspo# zUJ?@^6gA{2Z_qc4!TJ9B5&gWTlc~_;I^L963lz4Yjx$NruI z+TaQsr5G-FFnNj5eO}7je?ahO-cwvz>9*M@JZ!P0*5Hx(UgM}`;IgG1(c_wRaJFst zLT`bh7ju>H8ZLpp%O`esx19f;hcnK-QZvG>Xpt&6ZqAli%sxgq-Oey|@WxCM=nCBW z*y3A6aJYy!+CH>l zF1c{!bX&pSC{u_>g;4_pCHRqfV6h-%?i{kwbhLT|BK8KHOQWXWAb1Y1KMv1T9_)SP zn5g(Q3PAP}1z@O`1=VD7>{(xomyWNF65lUGizydZ{@q8rap6Wy7^o8MC)(*ocDXp8 zs;4nNN>8%h!c>#B?D4ss9j=4?4Ze%F5~N9ARe&ZLN?8y?wPL@7=aqjOz)ouXR&+L5 zS0k<99o!w#jM~75JmQWKr*@b`f=k`5Q0+feQ#0t`mP$oVs%BCMP0*QX~*R|~tb zEQ3fm`QriGH&pAps0}``1Id<`1Q34@mssc~0YmNTPy(CNIgG*9L-NZd&k>%K_3R_+R}fAmJ~ES1rpj%+`kIgS=mMgFn)TAcd((kcpRg;uq7ibXXS3= zjf`vLnMhpPK`ecXPt8~&B;tZ0+-y!2op_^P>rOC*6=(?4Y z-E8pp7E*245)9v%_z59e=lUUR3~Yv`tCCHo+FQ@0lY(S-vy9aJZEajO3m1dbK$Hc` zVyRyPF+HD0iBlQx#C+1)*E1yDmIre!E7*jf4f*(9j)vbW@t{A!g94;<=9~^Zj_4`b zt#)_J)v_3hZp-RS@0CvZRm3%yhFpMDQ~5XU0aX1l1~Hu>YAYq-rH;YwULS0J6GEP literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0045.sha512.asc b/tests/openpgp/signed/0045.sha512.asc new file mode 100644 index 0000000..d51197e --- /dev/null +++ b/tests/openpgp/signed/0045.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifTYnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcrWcP/1fm +5MZ9wchGC1TVga36s6HbfqxSN1vPun7z04UgMmjxJyK7nQJjOZo5pZp6ldzVjg3o +m3sMV0+JjEGcfzIB2sm8R0+j58Ntt2o42hqTMiG6Pp1U1ft+M1cUHIEhoicwSExe +Ukh79A34Ippks9SMy+YGANVYPJziVajwpwiNoCGCGHqbotvhdniUOo5rqMXCCBUo +u34U9KjiRm86U1tnbrdfPn+QKH+Sj5b6wHdlga3OQVDFSoR41z7jidRP7ElNP4I8 +u8GlmFCPC4pKO8Kx14+sy1axtExDLPucuSgak6jnkI0UjLbSeN/Pv/wxbsUoVM68 +wv3cNiDhyNbPovPZXu3IMi571oyAW2kiXmboUYw24WpkqniVOexeJ14nvDmPpENC +NK0KqoKQ7iY4d7uE9raLxyTgJuANX4PZhXy5Z85tHW3tZ1RgPor2ouOjtVVTjtv7 +k7ao0+vVKon1KShOzbVGOfoSvszHdV9lYCFzcGQ3MdgkwiMpqo57VHhk3PwTmX+9 +FUsXyr2qDFVJtFQFiQtzcKsfPhTsLFAiQ2KJuw8mpx0zfwIIQzq9UEe4mrWD9Abr +ZVhEhyGxXPCaG15uynrVHqvNVY36sht8m8PvADzMLYmS0LJTue1eMGBR+16U3tRB +WtvaHc9UjsjugGKpaWaBHRj98kf4d7XJc3gSlD+x +=h2RH +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0046.sha512 b/tests/openpgp/signed/0046.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1f0ce9669fbdea365bdaddae3f3d57bdce8169cb GIT binary patch literal 528 zcmV+r0`L7MhwfNece_I&?eO1Qjs~)V7*JXXQ_T(zu*B8B4>%Ldo0_kfA%T?BV2unS zu~|CPI=HY6Qjxi)`^Kz}to_R<;xk5;4ZXlT`O9I-^0gX*_J#v7rLI;HO3#tr!?2h{ z%7DH0RSLUyaN7hI2o%z|@4cVKCDC3hh`!Y{!x!TcAHsvMZb+Vwc~PZ7>B%p9twt&| zxI7v>fH{d3TX+69iQ#o zkng)&g}I>s-VPA5Z}R0?v|`TjeD`DIe}H$1B|>D~C&S5D@#GYXTgD;B4e^Lj%fG^5 z`8hE4R7Fr&v1Jq`g^0buf3Pb8=G|-FRbTcHN=z)nopsjhK#S944yRnl1aU-)o;oA@ zzR2KvJ_hJ?7lHg`J~i?nKjDV!gbZ=QeC4uF{_9E|@S?--mT Sn-lm{_-3P+{dg{;vOe+Pz6ewR literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0046.sha512.asc b/tests/openpgp/signed/0046.sha512.asc new file mode 100644 index 0000000..a25ccae --- /dev/null +++ b/tests/openpgp/signed/0046.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifTcnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcnZ0QALpU +EN7UP8TXS7Z/3S/D4AmAnF4Gpr0BqxLNArxMuNCmUjNzsQ+yXOjKKe5HuGJ0MUXS +Xva6FxryyBdp3ANoTqP3lsKt/WqGTYoJzgVt8RLpLZQOqlfJVGmnp2Q2zX871Qvo +v+tCCpxUNyJhfxstljI5f90vaMklF3bH4B+v14d5l95rxiPzjGHvThB5D0FNMvqx +3HOj4vA+Kti+SfTWuqfrsyddWFyIYhZZnxuenjlxh8GDgK8f7QXfGT2tzATyLW69 +b/v2h4tRgwpqXgAxFcc/kVRKMXjb+9l2FAxojOivRUAw+eAekn5AJcjV9KmulxTg +BhAYQEMtvbTaOjLA+6BSGCNQxiLl66U/xGUBKkCSD6YB1zTYKnJ8ayaISUf1dJrv ++H85oFm3mctbZBoTPEZd8I7iDZw+JGui5RYehyl82eTAUf4jloZjhTqQ0n17zg4d +TVz2wBqomfSg7Za/3X1hKaBLOp8XwDrgtS7V/WU/cqUwkHWitNVKdEZdXECgxcau +io4pUzHBY2vWp4tEMdDc8KAoQvUW49vQmNz9bODyV/bQbg4VUCMC7dL64wn3B28a +2AXAjMdFzDIzEhwzJXyR5u5fjIIcDfug43Cv57fTa6NQAkuLQQ93mXjptPPsfvQx +ETag/yuYYs2xAA0ohvGwJUVBbrYQj6CEgcmeT9XI +=HY/d +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0047.sha512 b/tests/openpgp/signed/0047.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..32119a0bbe0b5a482bbb24c96f4011ac5173ecaa GIT binary patch literal 1071 zcmV+~1kn4NREu)U$st;aKQrbhWyAug9GNb3_^`~|`HXe*5tR5!)#}$`Y48lnzl4Hg znh$O#0robSD0t&#ur%DHS4p%v3D96HF9L4atVS?%AXE1#q!trFMzerwV9l8G{>RUk ztdu`FDlvl^p0oxp`x7K<6J9&U(k*os#?;OWv~bnk`A`|PJ8n^y=VyrRA~-rTBWQ&f zWaB8e-EA$#QdUQ?D)i~(P2hW*1F)8_;o9V+1I+&mvVah$+a~F?9{Nj z4=cql`Og?^+g`sNkqB^B=;;b5aV5i)bF+0BKInL3hPNc@VdejtphV@n@#{$EC{poF zUg{kY^-WpYr+sn|o`NX9nIgI}3~+mEX*gk_|Mi!+zjl5sql{|~fRbRB_CLJ?JTytH ze#hbN#y8F)n=hD{D!>6Nnqj5sB6yUR>slX+Z|)}3`XM*d(xS@&rC!{`EMGg6^QAe~ z5Hfz-(}zlD*8Ta3fUtWj2SEXT=P=628Nq}#I+EY}Pp##3J)V2@2yL{nX2Js;9?ul@ zrz&Cy$0`~Q;To;0bkC};(LmYbKBe;sZ!XcduREh!yy<3D$lXl&c#AK*{PAEQWLrDd zKRqfutT2@X$V%k07uBM2&IaoQ)W)dVkGj9ImQ?@mBdG`p4|BH&gX^c7x3U$%VxiXD zN7)pwrwtij63CZH6CnJHUTo-lSl)2GQrg4^~Kd+Zq3TtKUU^o ze7@=4qocc!$Xb51j1|-95$b>KFZm6{WJgg}s8Ax&W*LHk7%wnRNS#z!R%OA8WDxJG{5HShexd|?a*2{Z|^84bB{g>`=eX2LEkooW{VJg!`TSk6@-4g`x z-_BUE6~Zg^?cmLZMDP3M^vR0GI$ah`UPpruK3+W8EKc>L%{0wn-JE*GPCx6F&i&|a pAi8J`g22%)_xrQBI_m{G$%3P5>qF3>GN$1*Ng6ox@v%Bh(EV-~B4q#o literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0047.sha512.asc b/tests/openpgp/signed/0047.sha512.asc new file mode 100644 index 0000000..89a189b --- /dev/null +++ b/tests/openpgp/signed/0047.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifTgnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcyK0QAN// +MV1euTGgumQ5diLi9ymwMs0qEM0hq99cPhwag4kgusKBbnQyj6cdUPVyT8uYnS8i +yxVcFK+2iPNGeizRkpTWcSfVxMpBrpMSHy9fv3K1uBCWw1KqRvrzwYNzkoRvK4xN +WbUHi1Y0sF0ZBDASc2WhVbeODd771m/ylcWGdDLAXBoRrHVuZKEColEvpYVSh+fC +6m8InS9eHSz94knLEBKpFu4TNt2rXls/8wK03ElCOlGj2uZI/cIhBPIIE7KB3blO +UTAIuk3FELfCMgrBooqLP4Dl4f8ROPA8Zfgu7iS4z5L73Py/a694Tib1n4GHTnsj +9zy7F27/pVChO+2n+q96PphVKINc6R4byRFN6e1slP8lzYM+wb9r0Jij47/QdInU +mEguVVN0vpg7nmAgvrTYQESOaQQ6+1WhS9lYmdCeHQBYfdylotn1TidxEvE3PIXr +UO1+1J5ezIPND6eq+5eVqKaS/YAeXy03z2pNN8fzXCHqd/PMNZ/fvu49Ror+6fic +5I/Ml8I+JrQ2eeBpiTf1++SW9ptNmpFADW8cM/giU4XLDJrEklamE7beourcwpyH +IhcnK3rduJDtdEbxxuUKIcon76aAwBcSDwIt0tAkJGlGZem5ncgf+puOXMQYFFA4 +YMYAZovna0Jj9UwlywSQwuH0vfF6k6li9L7yYKyV +=plFt +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0048.sha512 b/tests/openpgp/signed/0048.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..e7969388b6d5355ca82666767e4d7b13ea2ac63b GIT binary patch literal 623 zcmV-#0+9W#fDlV%h;J-9zr4BB$&!rWmd8S)$2tbm*JqWX@~6x8gG9~R^6ZT#8WEt3 zYp>SwE09s;WFJ^&G?S^Ek8We2-uwiSJ8Q}r%gki{C@d2~|AK_Ip6=l;0Oe7@2E4wy#DWLO8|Ya5{ssiyqp@b9=)&e*08mgfgP`v%Nv8hpm& zBUtY@dg_QnA;eVIo_^d zs(koX5cF!|_i<+$6sQm66#{Aji0}fjh2-DMtuOB=B!8I)-4nvek3d62u&B*9)EhkB zr7CN}(&&{+k0Rt5sdh+GXdrm^k8eJ4bKe;n-JSJBPt8HD;<>KKpC*=C>;Y2 zg@`hC%r*8Y+>v@uY0&$QI%AOw=*$y`n{KEpb9sRJ_&vS79{7a#CY@XC)TC->r@+6-mlhj) JWDv@37I)SoIz9jZ literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0048.sha512.asc b/tests/openpgp/signed/0048.sha512.asc new file mode 100644 index 0000000..eff314b --- /dev/null +++ b/tests/openpgp/signed/0048.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifTknHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcAxoP/jai +7/iZt022VlL2k+yTx1k0PEcjUCt8y3/dCtrzNLchtZoiul2fj2W5Ouit3juwmrQd +b8id6+lIvxDyvb6J5ooCIkV3Sy2vImHv6Wf1GxBLeB4a6XbSfAGegtG4yT2DS/0E +qeQLhiph26clFtZ8VVNllTStx7ldKJoprRxMvWCtS4pZUNXB72QYouKOj3qJE3Ec +hqMhcq7jyeBHIQRO/nU1Wtt5VzuamnyHxKpkRhpJOhURGj8qOzCDLrAZkvYWdnVZ +kkG+lk8gSqQsdPt5rqd5pyXvkYbyy71hxrSNUG8GmRRaGQVAzd3nqHmhSIIIqSEK +mvbCKXqe17nFB3FjDNsrcJvl0a6AhVLpmoxWIGLlO7IxDBdfFpDaa4JnV+IBEZnE ++sJ+JZxbPdHEZTp7+Maq82OUuvwCPAdN95HV5hilourtSJ4zun6x+8sYPk6X+0wg +7asf0qpcPIYctZd08mX9gP7Y2LVhuo0cDGojVUIImJAW4tmsur5g3g9lEx2QTqLH +AWWxYxmPsbEqVO4X5cksRpTUlDOQiJ9O/+kMg/KhEV80eLcJ8aJYgglvZgTLMt6T +3/2JW3KPMvv+OWC/7NkgoTd/H26jgFNIs8716NVLjzA1LAZGh6/GVdqOTZqxqTeY +gthZATKVeRwm68BgoD3QbmFE+yok41KVUXFR/+Li +=TUbj +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0049.sha512 b/tests/openpgp/signed/0049.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d22c211ea4ecf7a6bcff5b833eeacfada2dc95de GIT binary patch literal 649 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0050.sha512.asc b/tests/openpgp/signed/0050.sha512.asc new file mode 100644 index 0000000..3dcbf8f --- /dev/null +++ b/tests/openpgp/signed/0050.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifTsnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc2g4P/2Ff +rEc/d7/ygh+8W9eIxJokM4mzxPxN3S+rc/2xpPgVXpa9OMrOTFsQLgYhB7Fux6zn +SVQUaLcgOoOIgEcj4s10R1SgeAmBYe62sqZhJtt6mumvB5b7YEA4Y73BsnExR5lT +nDKA6r8eKC3z8kjH14yA/1Tqc/utzlU4NJtzda/BQl21+vLbL9E3GMU3V6faZ8iu +PUyvG5mT8QR84kZAJPnyDFB+6gEOMTkso0Mq0Hf+iLYHHzakkj8ZZ2etfCCZSz3v +GqfKEL8IldgT3rpTfZVxFwHp+WfFV0aEsPUhRijlAatkKq4CLWvUSGrQvDRHWzWp +iTPyFwlBOkG/ONqhZku+gM+sPlb4jsVKuCjxTuG4eHnpoU2ozDKonwCnE3sYX6DG +HLxcXUTBPyvIlY5p/3XbW/s++ikffn/FobtVwfdjUwaizJWHSAp4yjhQnAfizEU8 +k2KRAoi+mditJgcTmeWknX8IMVpQg46fquKIhJwZKC7bV8ACEABN3gq5zIf+EJRQ +S+QhlOaP6nnfwOijkPY+iCvB4sfSKrMu7gX8EwLVOTXqzTZT0OINGR2Z1R6WUqYi +ypseBG5nEbR2oPcZvYyqdfEn6JnwDMCqE/p/WGuvvMHtwJQPbYs6WsLLDSDpHEGW +vFySJBE0Rff17i+t3bxjE/BRzz4XBWXFDOE4mQWx +=GRhk +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0051.sha512 b/tests/openpgp/signed/0051.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1d042f68a2aaa893eabc0e82e39787d548fd5960 GIT binary patch literal 410 zcmV;L0cHM>pyUSgTpzP>2J-;M*`_I&bO1~6WPy3cJN3w)(d5U;`N5d8Cd`RbBax)T zKP7ei>vnQAkK2EnSqY_;`XMep9c8AABFe4xDXT~X#gyE-oB0Z&I-jH@b_X7!+HR)8 zrH$_X6<~8Mxn*${A!8a`$W(T4O5+EmfzCT&f*b_L0y&XH3Md=nDW$hx)eKM*r^>L& zVh=$mz=$<<&NO5kAR9mdC~ws~W)*gsqE)T!2v`vJ4@iL%iyyYoPKL zAK%iiF`S685{+pYo(mB?TGtm-9>k&4vWY|mB3E;LobZt-F@xQ#t7d(PZRiFdKtCed zh_;!=-BA{v65e_PU;o2()$u4=^<2w@dMm2aq?_@lANqh2?tlMkUQA0o*hh zxOR&DBlYp@C-0c^wpWyea-c^DTxbE3o2MYwoM1)lhe*+$WrWB5C zIdl;s2rdz{9Jvo9hi6P*A8xfaBtfCk9%!6D4W2HL=X)GDEXHR-4{Dd_tQ1(&Xy#Cz z9Cp^u&LI2+it`)K{ug+d1bjppB;~C3;UA;h*Nw(Dy3zqMd<%3^!P%JE9rm=iDu#Cm zWoa4#tPGSfbKcU-Uqy#vh0I1v5K^Oa&n%^P`q4^ hdQxiaiIq5fZ0w=JQefJcyzWx`k3a-&UE(*P`dphlZzTW# literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0052.sha512.asc b/tests/openpgp/signed/0052.sha512.asc new file mode 100644 index 0000000..0797f4b --- /dev/null +++ b/tests/openpgp/signed/0052.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifT4nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcaIAQAM7P +HWLFiyQQ6TPzYo5mReqA5GlfAxHst6zAZ6ys7e6WyWX0RaiW+CUNsV/2H+o7lqIv +RKmoYAegRBDvkXSV2KXaFEdyU5e78WRgUO4qpxmRLzTUPovLlK/ErgaVDHMG5CUq +g5myUszeo7MJTjF63thbailMIAMX/FDKunFRUoZ7KeUeliNei2dKsInFdX7Yle3Y +f6SsewYwjOX2SeS+ltGHomLcyjIZ04Gq3ewhDTDemi0Xy5UFaBrlfz3lGbc8Qg5i +9yJYbEXF2ziCFW01NkqSsfBb2/1nc71gT9Yu87kh55sUJcVV+S9TglIfqcpl0aDE +ZZmTDAxLmlnW72KFFIRBNX3OxB4iDAq1Ypakzf1Rt+jiA9ACI3rWVHloo+ST/LaH +We+ZRfA/gNuWlo/73fweuCp6x7Gks5eqWeQYgb5h4QqFukjv14+kyMurWQBrAiff +1HP+JacxrPZOIYGERd/0utRpVOgQem8WncMavrwitsJduDXuGL/IyVAlxxhk+pHV +5O3bVdaSARDuNW0bmTQr4g/MSU6laUqFJv4UBCRqlHgrtF/16wVRcxq1ey81EBqb +yp42FJniRDPm0hY/19LrmC1LS0GtWVBrzTBYm9HyJsY0FhLSARGqkLCX6z37OoaD +9xvisp+0MUFO/AfQJrNHRB++Hpfa7f73y1Ta1avH +=NLeI +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0053.sha512 b/tests/openpgp/signed/0053.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..94b2ebfa6423eb88cd2c71c9a83538e584906184 GIT binary patch literal 1890 zcmV-o2c7t*wtT@1+fzPAandrFG-tj8>4De5^?;()7+Tb$HcFxSm%`R-1<%K}?OXNa zX*|FlC&kYs`2y`{^bTb2U4u1-|C)^^^vwB`eRCQ%0zzYx{jJRV+%4;sQTtv!fb~$l zePU^}#}R{AHa)^aLIxZX2R1f*Qj&2bOxzc@G?T=K4xA}BY6$q5LN7=Y4e@4;tzcNyo>a&8#hKYi3hz=NI1mATPmBPv(JYK|$KDeCc zPY3~trkoNYRbmwL;OVu&s-m3hwvTGH0N|F(iP))tEpn`o^_OlR>2*kTv#0cWa314+ zcTW0j6U{l>a)F)OUL0q;!VT1WWxBu>SoPL9 zm5djewyy?3Zb>@fx_Cb9jznb{^HD6<5O6*UJPyz-f{fSFi%-A^rz3{&*!|Y=r3smOfjLbzvj^ z$5>`1Pmb9jK)Viejw5BnoiUZ$Ua^CkEs^DS?tZ@E=fl1$DY9IvRgtOjzSr~PWHj@w z!e2(D-?m>uo*hfIDCk@Fn*v`bItDEKK~0X#FD{;ny8u8j^|l;x_lY3gsGiApj2~_C z=HF6zyiYACd*e1Miy%TO35C(Q`}_=gg;kVG6Qp__dlYIM)DpPFAlk>vZ4ZF-?+x}q zjIJARkQYZaM{Fx37gS)93gG#RDl}x&?k6!=+~yT|jh&gnzFRyE*f0o!JR-|<@ zj)Z`nQoEIME8(Q})Kq{9$1nlaAwD$?*Ezq+^g4a|{|)i_U^SN8fj%Fn3PZ}Kw1OQl zD8tYQ1cIP|J~(?;mO`J0G^g{PTnzN?0k`r}OH1uGV}7tSpBPS$NmE{4and=Wu|^M-5X#2|0&hik`FpT87Y3Y+daTFUNAu;ly^NbS(bjzJC8j|LuO!KohC%uo zj*^@3VGcjk%*POD1{b^)hXqKBSp(QfQNF6m+(itQA%x`L51|uzIhoBbApmYf-zejg zB{EU5zu;q4lXvu#ucrYz!^$RV$QGHxr3@xpuB%_bQR7X9(^t^u?mRU!aLkLX7MF(W znY2S=Pwb!&Q1W=2+gV}f`;jXej)2#gdw>#OFM1MwKCs@@Cznl^#ZXKMm969HE|E!( z6|qva{j<#Jn`L}eezU1^ooheLXFGy8Z$98rmg9@(4kJ+#687kKGVVhz-3JpzOoP=i zueIQ}NPqX!7PtA<}qY;-nk5QNwQF|2{BGTQN}_y7O^ literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0053.sha512.asc b/tests/openpgp/signed/0053.sha512.asc new file mode 100644 index 0000000..9bd5e84 --- /dev/null +++ b/tests/openpgp/signed/0053.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifT8nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcQTMP/3ye +vAJ5gmXiDzZQNfgWZomuatemXUSX1ktD9dwUVuo6RWr/GZLzY5A8V66FAJsA14SW +qS2mORkY+xUREWMsz2+xWvfh86xjsK280Wrr+loA6b3sLGJPrbRFG3n56Z36crF4 +dL4EfxOBYYFyql996MYwG8JSonlNOzxAVrQ9bqN1ES+QW9YVH82QKxHbtY8XAQRd +a+CJMyQBKOAp7xjv2XdD2+nTdumUsF39Pi3C1BrVskzz7TPrKvMjVfsEkZiBD3cy +gGK4jf3jh9jHjOi7I1Pxdh3VwF6Op4sIJS7ic2TjRNoOnjQLU0/rxHutnADlHCCD +IVq5FiRzD5idLSkcy1X9/cGnyIK7HTL7xrg6n7ChGHAdsTrXMjziakDetG2J1WpP +bQh+EGRYjXDkv+XSpCKxOnjQCAYU9CSTPes1SaR9Kkm0ykLGR2OPIDGYxEa+lRGO +fJBECPs1LqTRxG96HO6VCbXkB9dAxfqfvcpOV5n+nB3/el8c7GC0b6D34i/3buFj +gGJZTUqh2P/cYLhz88Dse/QrLIBCEED+oii+MOwNYZhaVGAhhZQXcpdpN7mgU2lM +ouA8l3DbQyojKzl1MpA9Ydy/ViFg/3/f9Na+C5bt054mk/3StfgUXVO7NJns8sEm +iDtLEdCRJtv/z01Z8LlXWMIMqETRkINK8WTn8gxo +=hOhV +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0054.sha512 b/tests/openpgp/signed/0054.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..bd706414e7a1a633248a0a2f483ef3fbb9414c9a GIT binary patch literal 1010 zcmVB3Q)?$6$A@(xzf^sZFEghA>>*jN8rN1dsa)&)^J#87(( zllhoOgw$!7zE7d+k6PaIN`p0uYq#^usy*T^O?M84PiqA%Ceb|=;X?$P5a{56&=eN+k29sW8pL3(o7jM1L zMDY?`6OVF^z(8q_#nqUHp<<8VES-A8^)E!= z35tDsDyEOA!$4|&GgW4>2P&P49w6j&^40kSe=Xhgx-ug_q#2J1U4zBOHJ7QmS47G2 zV1dnt(MD$B=(fJqrXU(W4Mq_%Q@^y|fwykN@~8R;R@ZlK%7yFvZY?Uf^oXNjJ~UV1 zjsI>GpTEZPu|yQt36c{~-nw4=df1 z9z^i=%}IE+_f+UbH_)#8GrPQ5XsFqEbmX#hTe!jIjQOG1k=nn!-%(RKo7eCm#2%yV zC-$*Txw~Np+@8qOn0fzsfq<>>KM?Uxe?q>btH&&*?-1sMNKBoWdi*YFX&W-D-UcpG zsBu%#`Tg9vi+xRSW3XG|iYGiO9f$pC41I26bkLWqT#ty!*%O;(_bkN8@1ICzL)l?G zoHIN5Pu%i$_?WWClRBscsXhPTmIObOJ!7Pnreml*M#p*_-)MD6x$2la%~? z*u}GQyfgMg9GEq8imjt-e3&`psEz-Fe>JF7gh<^(sGPcSV_Jd2yutKuYbZt+5x7%9 z^X?xr^MCkfoDN3$bdc6(rY0AFnfREL!ggTDF4L{D6ta%@F2h|lc1z>{K-pgbw_E~{ zjPbD@F#cB>q1;R*x_4l&V~JMMwDqwE%sgZUmg|Fu3x-j=q8J?Sh*z0&tl^u+kg-)2 zdnGX>ovQ+zHSb$Y-_{499X9Y6vpSfMGq^EluI?u4rRW6C6h2PP&t&QSY@~F&Vm@d? zhQA)vE4+8CpExImGV3vF$L~i);gVbeC(YK#ZPC4gKHYkK#D2Z)%kTu)`BUA+0&kVY z=|_K|sZ5;C1VMgDSV_I$2q!^5Dl+7~(;T3{C gQtR2mglO^se=AV49Vj};C7kR+JMh*H!?dMWS6Raj1ONa4 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0054.sha512.asc b/tests/openpgp/signed/0054.sha512.asc new file mode 100644 index 0000000..651e83e --- /dev/null +++ b/tests/openpgp/signed/0054.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifUAnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc3iMQAJiK +eA1FJZN7Ug9/otYLFiKrTlFsH01krvg2OXdUu9j79bpbsZ5EcMan4vABl0JmP2Xa +QVZ5AokMa6m5QCd3FdCkSdtt9mzemOpjAd4pROlHPe+V6es0zKOxSfOtIYTNHP01 +afFUq+cwTOEfKHNyBdUHgL3u4jjMlewgcJ97RCIXlET/Rp9Kl5Se0vv/BcElZ8jt +wsk9/cp+g/5hK8Tw1jL5Vbio6KcbJdWY+RzxRLxDvRzfK+p+ZJccHBdtqlWkAJxL +rpIXsV2xEoXz7uD0ush5y91xiK97RcLa3BPmt67RM5oeA9fGXrD0lAvSQ6g85BKt +/pkxBZ4nE/ST1H8cF9la3QRd6kcl2718AE66JUvjCbRnIxMVa3dB/+miZx8oLvaY ++ihD1OaruZP2FBUVKond6hW7EhUpKKuEw2kpwvufJsQENJzejyLH4MpUJE8Sr2wI +kgn6DVKDXdfpPRa6p0dbg3JtxdDlEBIffmFnJYzI0sJ78ccKysxtKsxLIh88t/hZ +OiNl0KCtIjLIR5szCaqKja2ImseW1tOrZAjLFreOeb7WvxP6TzEyYJ5aLHcs1bwl +WKTMMUjOSb1hTJ1x9NikXNyztQOMKhjtY1b+CDAlB2+QCHdXzfkKfUqGLdq7WOdb +ouvrhvHXxQxn1b7djMAO4p3y6b4x3Iibcqzs1K1A +=K12T +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0055.sha512 b/tests/openpgp/signed/0055.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1b221296eb1ec811945040866a913e766e7d90df GIT binary patch literal 1765 zcmVa-Wg3DM_2Gj$>w-WiJI>E~JzRD5`c09Ul+mO=R3set$_MDot zwzrOTPe8->x}=PmigHKl%+h@sAcE2vT9SX`GZCVPgH|5Pcj*u$ar?$lqz?<90)~cq z+>)Bpn!+5Nl}bawpaGvKm`L(1(iNg$4UM{DA0Oazh)+NS(pwA9r!c>2d0HpSu#(k{ z+9iGQWgCHaQ$?i_P&<|e(hO8>GDTp8JFRg=5}C0|kEbjFU%*mLYwAwPWyl*QcJSFg z_2KAK7g9#}xKc4QngH(f%JuyUxv6O^EA{NjJ7yR;UlXSP0fUrU8L5WhQlgA?*M~+> z5JE?Y}`>mJ3D!GvZ(;U{DhyIPsO&gF@w?SCiG}QJnsN+(H+5VfuXo#tKK2ZQamHXZULTcK4ApN$8R%{eNFYww zq*x!y+$AhbBMxv30{rIlRi_B1$eunl7mXj0J^X7@E>?y0N&;X?vfDux3W42@gJ7=( zV{){t`hocnO>!p?>j96hrf`t+j`EOxXP!kdC;ECg=pSjFA$D~jUc8*Y`q~8Negvp2 zW7oN%pLfrfM}Wwumkc8xROD4Oa97;<&mHO0K!|`9L8;v(iUETF9}?ltpbg9hBvaF` zr^r?WPD5+oJ&-1Hzt6?BOePgKR_n4Q%zW*YM$MQ6gDNtda4nk{)m0Sj9#}uBw%Vgf zKz@`Wxr+1SCNe4|4@6_$Zr7LQS>;FALAybJn3lJ7IThy6_u7KdeDjfkZC~FQ(ra67 znP7oo>8DUnpb};*oLqEX80%?n`IOQI0egzxA?tzRte0z_jY(I%@Fgqqsx*B~7sz-O z8&mU9r?)#{kFLznh$H9|8ss)qz3Az_u=Saxr`I9c$wU^|e^)oLaKxM*y3!$wRET+! zb>pQ?b&z>Fma)-hwEI=#jUKnnbdO7*>DgKFmVu3+rUH2!kVkY`Q-@)aN@@BRM$ zJPCDEoAtdBu-|{-w8$Ut6iy7MM2cvoWx&1#$PIk$zUb9mT}bbmLSgCUc1B1`B;9GlYHO5B#VOuXQ}slvy`IUrIU@7X zwen*d?t$E<^h!lQdVEe_u8CWSE-g|3+~ChsOeQ07xQ; zy-mMF@nNnw(aQv4QHalZNL70zb|HCv+!4r4=ncC{ z(>qnBFXMst&8ZIRT={4{IXi4hO{5TBt))^2M9Tbub!#X?NN_FL>`Vb;xc_f4nl$D7 zwBniF{y2)NCwm6Xtdt`yKo9qG-zo!^bTaXDKI{Z13T^C=z z%z0cbYTxGQ&xNJBj%BGcZmdCvnM$vtHB z%D*ZUHz0f6s4Vgp8`G$;c~q%|_RLz9FqgcUb%!>zuhgLRD?Ru_3MZD1^F0iABR1A_ zN0N^eKBZ2|CVjLfJWMFieFY<+Ya7JvWihtY@s^tu10oy*L>lm{V$v8fsM2*>lPgq z0diE#Mm|#laq9{c$I)cz4juUY3XZ>Yq5U!N^7TgYj3&Gdtr1gC=5OZG?rkNNc=>?< zRbk!fVWQoy<5no&eqalEm(pw$X@4e!q;&dmaYlj24-@AQTP~(YszYOEZTaoPIzxyP zqLycoj2*kbBj1ZSni{(Wl-3m2V6udnI&hG!%6Yn{kKLrmqsitYQvaCgA HNFuF9y)l0p)2@)~7mgL%;F3F;z2u&QUTr}!iJAel zN<@Ys-b?X>T$1~Uod6x4CjlvchRhbrE@|+= z*SOTf9PE!mPpBLIVCq}JW9f7=u5|Wsr6{wTH&S$ms?_O6IEQjR`3Of1R zxH3+K1U{p`bj=alzNT^C!RA4st4*Yxt#>`xZDGARlZU4#jAg*pz@am!W)Z#zMKxs3 ztfb$AgT-5dL9+JwSAt)F;PO0eii|bFB7udEXO6p~piwh_4koqGXQHTJZ(k@V*l4=> zzX0G|31bs|aWvn{Rzk_{DIvRlI_kAZ>`8uJsCE{Pcg1Fh@19%RNX{J9lXqe+>o+g*FgfV{{1TONq$v%oi4;f5i+SDu2_L>)JIDzJ zYVXRigZuEnmNDhg1M4(#N_8Md6^$+9Vi!>7#n#?eq`p5eZ|5_CQ?-7~be&dlxLvJd zOmfjKm32EXQNb6}#Pg8qnva*kP$N*B|zx5LbVd9fZX1e`Dp1h{|1TH^E%>*l@O zlv;bKU~tXoe8hXl06g za~j#332XSjJ%uRO)u4X^F5*$`j2MU@a($1xcsDZnm^L}5Bz)8d{T=d5V|06uVTh$U zR5uucK_764d0?quEqvWPj3u2=`={G6bOMi)})a}Z(* z7@?CXqB;Ub*wQhdG?`R8I=m(xp6v|_6QqabTNWuoo%GMQ7k zQPbm&Z22S&w%4aeWmRXYX#Ssp4X5D`v6C?+umiJk1U2ONU1mBM3=S>a!{Wi|>RfH@ z87c#tl}K$S&||d&D)IbkIWyW`P%34DGUSW+6nUQ&4=fC9T~y&MjheaNXHHq)eob@l z`zPmvyZ{JS$wx89SO*3Va_sV$bLH`Ix9P}gjJVGy41Z?5m|CW=B0WCV?VJxL2JbIP z44N;vZqU8i3~9HHgbl%lIPYYzxQN zvH?(qOigZ_Bjk>Hy5OsQ0RNSD^YR>=vGsPjJN`x|KPySk^hhyXOV5qh_9||N7Vi2b zYI<71Xjc>gjyNm~#4==*WGsHF8zlx@JMS$z)yzA;ll0rfu2KX^CyB7Dp^@XY5BUzk7vYVzUtHLMt< zfeROQh{{@NfHI7o8peeVxJS32cHNWhlT2N~R97QFNW-@2VM%=&&u*5EFW0@L_1*~C!WAJv} Ph_@%Xj=ZoewP7FV!|Fct literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0056.sha512.asc b/tests/openpgp/signed/0056.sha512.asc new file mode 100644 index 0000000..a63e6e6 --- /dev/null +++ b/tests/openpgp/signed/0056.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifUInHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcTPMQAJBw +HCfFYRfGecNuIN2mqqbPLVcr/gYroG4DK0gkvExzorhKJ2afixC5220eX8QbI76/ +2rh5pbkq90oQSjAvZoBL+cqfSn7ksjdrjp1QXoXIjt4IFelm3KWJboYfVtpG35j3 +Xb0/j2NNa5AzD2Xit15uoxFOzLQk7hGVlTcJY5Cg/XkEP1syJFDXA2rvu3A1+3l9 +O8XejUlSMtGjb+eqkIjpr5M6VU/qDqLhvzS5XnrM0KD/6RWm8Klo3mJtmM283Pw8 +ezYN499qsos1S30WycOmZ6unyz9nTyVWsEjrOHK+ZXfJ6TauSBHlio+kLJnHf63r +ULsyaM8EVkXUok03Lukm4BXFx0uKsU/ZMyGZo5vqdpCmg5cgv6MMZgraFWw8nGtv +nMM7gBtm/NyeWOfPHcagzYiq7pcmqGOvLu7vYaF/be9do/3uev4EjZn1ePyoeGqT +Q9F8LXxOB+yB29fEmerkIl/wRj7KiM2QfEp2vhPXG3moWxEM5z+TWVS8ZpqHRWUO +x9IXFqHCwVRCjvbbu+xLVVkzHgVQyVSBFlBUOYtJC39UL7XRN8ywn/4r9d2lfwsb +hkUOr4JtCldrItGfOfHjpnmuAc6T0DzQRsOIaUshAebU1/GPhdAIDnsNLW8Mvrb6 +ciE2Egf11uwXwYokM8tl/A2m+O2bdgQTZQ+pBVTq +=PLuK +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0057.sha512 b/tests/openpgp/signed/0057.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f3f1315a7ba609b31b9a8cc11b6b1d6088b13de1 GIT binary patch literal 1786 zcmVytG4*TVjbkYs zu$w(8FyGgGTTNG}e+fH4E=>rYmY#Vxpz5hB`~1X9;>-SXlx)!3;uhww!;nWzI7tJV z?HYe^Yo69X!Zu|*#Kbqc)|6i4gqkP=;HA`~x>58Dn*CYZtmXBn!Ez)^IJI$iT^oq6 z`0Dvycwv_V4pvFeaecZG`OO)gN~N~lyi zUQ@6^Xl``hjya?_u&=$oJvvJ4Lwk3v#7H9xY0F?&aN=M|b0HNxo0YOVvjVRxuDZ)n3A7|{@Q|)Nx-Hl%|unyHoFv^rk z90fKXLJn*1^}Hm@0nGvJ^x#FgjZv9_yK|=%Paa{th&bKG##{xu(C&(M@~1hZdsGp% zqZ4!vc){Xl5NY(89R~Ym8sFwOvtg)a4R;u1CUVJ%hk@Ki8W3B>7(D!UP?TL02yXw3 zV;D&*0eGG&K>z>$!VqyD;sJD9ZAD6shC&e?Q-oYCG(R9g64HjFcb8iIoWTMVl&Zps zwt4urhtY3$?Fr3@_o9-H(Mov~O#b|eeGWGj65cnm_zKYTq7&@RUO62J^G>Gs2Usl% z&6=Tdh{Xu45oby5%xBEq@}pC+i-I$}XdJHnqVBln#n0g3@&V=QqkI=JW^8)!{gn0M z<~FoAL7^)rAnTjq?%CK6#xEpW|51T^sttl5I@}~ZfZbDq!!N>NUBkmudAZ47ze4iW zm!#nAq3{0rB6s|*X6HmV;#gBt}CCLP#Hfk{5Iu(i5px0+4p{KoY;7@H;ys_Lgb7WB4KKs6;);azb{aX%#AF9#z zS;cOgX;PRA)$gYcP#KJOaAJxE03*8b?th~v?IqY%tFEn)*{ zD--?#KV%Kjl^q!D6jZY_y|PC_L46&%i>ObQ0`e&n#R<*fY60l>LA^xTr}(vE^J0_r z7=zPcI)SJQWV!^m=Ap3qb3k7M(N3m-Ao#B#3R&k;SQOQgsDWVZ?Yl=?N&0-tigHT&M$tf0Z1 z_qgj3sX)3`xtfAy&~Lo+p;TUJt|H?q-?$pwoA4!7Ti6m^aRH`S=o2B5@nSBl+4e7j z;&K8Tpp@eG6YEh^j0ncfv*CEJBi?jWdqouF5U-mPHyS=ykq!lHznZevQjHn`Do_nd z`1=P=rl8^|W~JLc;Xl9!W*39z<1Ho-ka=xKWG%;tUTRn}C?*Y~2tCNGR9sYi8RR8l zb+2?DdW`4$L4mnB>j%PgYpQ?bzj9y#F#J}dKgix6M$!lhpb7jPsPg{hTyk8}n-01# z&t}*3^T*hkMMdg))R7C)$=^sOZqm7bF4dN?Amsx*V7H!K`^JGD^vL3QnN>!0`?>=G zJFGNuIdOE}VF3ZrB-A_|Y6dl-Ig1Q>C#Q>f&~cb-c94cE z*}q)u@U78UD!#V&OM{%;DFnaFR+2$r3T;B}?wkHDkma)qEa!E$=aLRH4hK@4c`Z?+ z%TBJ$DKY!5l4zc5(75aphBZ395nN9qs;@pI&i|M{1e=#Ur@)4c)@=DK(}cZ)=E6x4 zsWnPdtxvk6LUt-RmLMn)8P!>3_NC%p=06-(!F$s$0xKn#^6o?D&x&3useU~t-W2|)^pfRwTu$#)GOC+#+52^?tZ zU4ICQ%y=Q^6cn@NrJo&9&k`)$@R9kH*zq@ADm(A^wcv1P!kkaqJSBi6ao8~)D@aa( z;x!tue(9pvG&rgC4qd6UVAvX3rB*1xE<%y!H&;cNbmSqxcVAKKxoPaLU03zMV$f?G z4pO@w{Os$wlc`&_qg?7xS#BBnH19@RP$4|2GmCD?6)g&2z8*!i8C9z1bJUfN2=GR- zI1}e!x6OXXxxL->0K?$hnI(FH cL@bC#oW~)V>C}_2KCKL8R^xJL|8XW|<7rTR?*IS* literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0057.sha512.asc b/tests/openpgp/signed/0057.sha512.asc new file mode 100644 index 0000000..4e36b8c --- /dev/null +++ b/tests/openpgp/signed/0057.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifUMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc/38P/1po +mCN52ygB4CsKBJI7CtbkBXvW5G1eZChIGWtosbtQeD/eAWVS1rilebBnupR+g/+b +nc4LEwmrzs5JiodC09qojWORF0zK8IwHo7t9q2w9ecDgCSVh9kGoCrZ4wPPlNk9P +sfyq5Fn5O41ly3+gM6CALGCz1ZhTyOMEkUS31NbiBlworPn1tf42H1WnjvXjU26G +6Kb0ybUUTbyHc7EXMx+NasDuLX598brepaHgRUE1KpQtSDP2hn9oAK5tnOYK8B94 +lPUIGPdAISc61msmYj6C9tDEsI1g5Kh/k4S4xUB6bdBZEMUQGGGooZFLH15IsFnQ +QavI946B7TfiPNxWeIQe5LCrhRk4cns1vBtQVGi9wSY/mqyQkNZ38o97RHGWMFtf +Us1Cmx7Y3cctLCZKthzNgP60VijE262wvz91UAes2rAMPJQxgH1sOh+tgJaoqfon +gPBpfEi7WB2ZG5pleKcWkkC9vFHJWMMH4xiZiWST1TkmsmxFCscrC8wQzUPw+WEe +i80MtLGmbqzYVCZHk1JFSMY4xZMhNktTrnnt4Wx0PJMcQ75SG3gfoUaFDyBMHjOZ +EbZcf+kyvUJ2lWizz2ugCZHFWE2C2HJA73zgtcUH7VJnSXEw+LkemnmiRM87GOXR +C/E5gWgJUSvQwi3HI5SJkWY2Xj/tJ+uJQI+mjnSL +=A7xm +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0058.sha512 b/tests/openpgp/signed/0058.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..b8ed7f7c564756b968e8f0b059fe687dbd3e1705 GIT binary patch literal 1725 zcmV;u215DE&$*lu0cq9KpD5ml$}mmFT5C3X`UJJ6bIaRGpu?3J;~}Qz6t>J}TXpr* zX1m4$woK#FEc*BQLc0?WajIPeHOuodq7eL%>!F9^w%-r#PzNhnIoHE#vTuZSHykZ5 zd#}w<&M&9Zi#Su2#8!m2uzFKAlo3Io-xG+IQeF~r3ia$HnFK2eT@e`2)c)sj$>V$6 zt8uehJ$!G_Ts#6<{8RYOm5fA!5l<_8lyNt$pUinbG+lPcHL&B@ z@NSrc>xQ)tf#V`DV`6yIavG%wT=<;Kqc245o~kAEK5y*~wB-Vl?mhqys50Tmi7EQB z(U0Qr<}Mpjb}*7Jfi?%KE01HHmb-|yR*eDMIP1X4f_A4Yn1AX8^x4zWGxA|TO<1B= zwkxsZ2GqE_Miv9$m+qIv_D>?wQY^*4#92?d?*W?wl+wXk9^f6r0RcnoKiNbOIetBB z6<4*+6u^?;OB4B25ZXTwRro8YS?XC}c~j%cNMa1f39=C0`>k=~OidUCuECp1RuA4} zpMOikX|3427wFd|5%T&z=%dH4Z0HSb z<C-aZ1V5r~$cV^|LVmr@Jg4cWwR?2XcM(;L;;JSP~P`LpUo8Eaq+^ zL3hR-t#-s^XUU~)wo^6j7F5rEbK3+7I7g{1zAjGj{bmY^S&`jj+!C$_HK7$Joo>5M zny>_HcI|uX2JFtK^@H5KfM~lkAec*@0AbocsQg%|IXxsB0lpnYf31tNJT+s&g5tcS z5aO2v*q4l`tl}dl#K2(qe<;gLEl$>jd?fZIUtu^~Dt#>~f!|g}{LYOfGNR^N4bHJ9 z(|b4iHf!DTS8V@#<5p_%9iW%G`^#+@d$)t{5d5yk@8eINP;p(>(E3b2d)-}?kK9m! z_3aPdX@2P>uYQQECune*d*sma{*rbx!RQJzUrx5CrgclGsj%boc3-Gh{jM^RFe_2q zA5Lyvn+&WTo>8(-9gr#y{Zti&`4Bq3QsZ%2L7@K2A+F2gw`*xP8sr*8q3S}5w~j4U zo0WXEr8I|dKFnL?LvA>nl%hV$!JHM@Rr4=Ftt8O?hCc8V2UO)%0->2`N!_MlnYtA#R zEN)ciQ(d&e{)%M6ZUmaxqXI*cDC_hzcx#>rsgT(Ef}tAuI)@~3mfK_{8?gm7;)NCJ zdCD|aAs-oFg!XY%-M~+uRWz`=h0}%%JL&L?<9Q+ZoKqBT3a?_&P$3~n{#t2D^=FOJ zV|>F(q^jXh7`Rhz!2rs8v*rhynXvlXa+d_%J)3N3%EQk#}h z66l}kXj~ouhrCsacJl^VVi%&NOo{ zqKAcpF+=s>tm%(b(Sumr%xM4TQ)a!v0ow6>DYB&@h@j76S9_C{`a542C41@EK7K~< z)p-r+AQ;gn23@g6aBg1UZQO!6`H?f~7RwKS?6u?q;qO!)4s$Ufxu&Y-TN4(=o zG#_r+Y6}kcS(7q5kfqnT2aTn0C+s@+S!lJfm8fLG8IkvQ46Uqf5;>gjwaF0N{l3{U zNA;bht;v8EiD81*)hfZUaEsoB@13QH$jlfZx_k05l+(+ufTN2lmHtwYHt^|j%1to^ z&jXatBVnfu8J0Vmth7;U-gH#*{;W?6Q7Q6(dCJoY+ASaY@J$Q?*e^^>pG& TRXuFT$(AdMi`Tz%vWO=8g707b literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0058.sha512.asc b/tests/openpgp/signed/0058.sha512.asc new file mode 100644 index 0000000..ab85db3 --- /dev/null +++ b/tests/openpgp/signed/0058.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifUQnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcR0kP/j6C +TDs7Lo2uqzTW0cN3quoXtssvPVp6UGMHLRkZwvc4ps8BYRN5+Ipd4Q6BOR3VTX6d +Vl7l3c/oDH7icSPVMoY+CkUzWW1ls1nLVJgywgaOSVlkGgOs8fbMMPxCHd4VNafp +1fVCwSTtbWt3gevE2CdXBX5UTnSfgeVSqfKee5jlF6tEhZeLsO4rNvsTOpvnAqz+ +r2pIyX3WXRHkKohp39aThRzTWxqCrQ10aKgb0tp06FWYlWDQ0QJdAOrGvBOisD1Z +p8P02m7WE7K5CPrIW3Uwo16LuodQgC5VieILd6x5gnvFqWYniKEJo6x8h07wT6Nx +Bb0YdMY7dk7EPALU2i8w54f/DaXd0QcYrXCHYFUnTQ5ngr0V5ZgUj1feDeNxjQiI +NYdP+YFa8Nm/KokIrqUWVYz9pNse89bxX5M/Uyw6f5XjYKTP+ATa80d4C5U2ZoHi +WDQS2Rdk3HHbRCp8t/nrRY/3CVaphdT4t9KbZvZaB64kPQgj18dsvHs8PSukGydH +6PiU7tfE290m+20fSN4IT2A1EKhY0aHNTJtfOlKNAVYFVZAyT/yXnOMUSmP8z17d +q4MTT4ebx1iUTTNFdX0iMz3wTPdGSE/hsZXleYKeaBikB6hChjxXK77Uwj4WSdEU +FE3g7c3WfiZ1r4u1OuSOVKToBmvMZHfGa421h8Va +=mnz5 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0059.sha512 b/tests/openpgp/signed/0059.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..fcc8e021548d789e9b9c1fdab30c5ff034352113 GIT binary patch literal 1064 zcmV+@1lRlLdm~X`t79M;@1QDX?5-&U9+R{ya&mHx1V?PKxEaxmxF59h)S8I_dGLyL;NA3g1E|`CONanG5$$c)L z3s|iPGBgvHnpe7;$i&GMAtCjcd&beYKVYo49818DQa*U!)#hoE0G2mvIF$1Jf-l!+ z{0{#sQ&OgH{?wV9okzkOXC8fDSR}I*#i2W~!~-+=(gSwoCE}Y2UGUm5LGAc^K-#DO znYo9$hAoH7obE&6Uwr=9&P4^lZ{LlbZ|pJri%wpDN?cb|^}T)lzt(G#vuKKV?*UY# zl6=MS<{z0XBg{h+geY=w@!)j*KSTlY&TTl|nEeC`L-q4V!e7bnWO zv6apoLVZtfNSr1 z-pTPaae8{djlKD3r#QJkZS$7J0az{+++>A?iKzHeGknfjE1Gt|S1Owmx)A4u>)qTB z%BH|C(|5GZz!B?EE70RSU7KVCz{C5L*;jnSE_N*z9r-{CuGb*u|J7k3amci_6~Da%K5o}Gzp0O+HtRmX5m=!Y%A@~RlzGh?s zWt4K6npNVc!;wP*h7V`JL(C;cn|Tr3*@H4zM4A3YR(|S`>kZk#CM_wv=Lyogko4|D z(eH$UbRLwE1+=<>wn;?;`yCb^E=h~-aeEuqFfygW*6iP$2Cn6ZyBQku)+jSx#iEwXVI)}$UN=rOetBo-6kYy4$RT@ zq-M~e`GuAaJvw6wL@aKfNU_a?28~24edztkv;}7z8L8M6CdZh})l&|dz~WtB{`A!v z&G&XTQJkDk9LP_W2zUzdOlj6f$5`GNj}-=A&9XEX^dVx*>TwTE zV~o92s`X36S(25Tg>B5`@8Z+VWr>>~sKuVSh*J#gu%7 iu9-D)y@gGs*~(qGoB$u*W)p�)(esg~<=Xwapk-JQp?q literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0059.sha512.asc b/tests/openpgp/signed/0059.sha512.asc new file mode 100644 index 0000000..f8d9eb4 --- /dev/null +++ b/tests/openpgp/signed/0059.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifUUnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc+g4QALFH +Id/2pq1dt0zW9lwth4A36n4RgDczGIGtRiIksmk4BiOFouRIPD0ojIzalB1PEvcY +ffHcRAf/UBQ2WBpBxFapfrK5rbygXVAHMT2en8U5hTuvDm4cIeZh1ExARkbvKEmU +cPu/4UqQ4pavWp5d5lUjeURiOBwE1EaajOJ58EEufYQVSiV2XfJLdQDnbQ5tsVbQ +IpRXZGVgf7UKYkqNqk0SDKZXCtm6YCY6ck0SjNfiYolNo+dZ2L5QgbN+bHBJvLOr +CVZzuxh/0W3odIelvcZAdvbqXemO8a7ySXg8CgOI4wIYgD72vqRPhsvAu/gdadHY +M3V6Tv58Z2GvIRgFdof47clu75HcN0QAmfndeNnRDocJ3TPApdvjPidWUHqLDjTp +WfMRWY+0bvimmPvyOd8hjqKbUnsdF5WPQiOTMKqTYK1CfQ6C1kUNKYFaRx3T3WBE +Nbikl0Hz6c60h0H0Z3YYccDYJ2kxiU0Y7jr4LPedSm8pN0V/PxY2ffSldjCZPYPv +QpFDxgUiU3oREOksmw5AwfuoGIr0dGqoDkE+NqbG6X3Fno23BYPsoo8al6TqXCGJ +xeaQ+pus2xQvj3E+5tZE8tY+dzj8eoJ8MDGASj+nisSQfjUw8untmh5YXLcYKJat +4flxC1KCgHJavkNGG6HlJMh6e0e2ya8R17eub/5W +=DIGc +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0060.sha512 b/tests/openpgp/signed/0060.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..10ed6d9edb2aacca6d61c8b398e431566e92b3f2 GIT binary patch literal 2284 zcmViJt4F-z?>V73&8tFR6lBXl8Z-$MR7>YAsa`g4I<-JMSJq6)Bi=^ZX3;c zZRjkR9my&}V-?5b_OFo|3Wi?(|5x`9)rr-=#TCESpp|O=ry`(S(*HfwY%Jn=XGN}` zcuPY=TSxZr- z8=UDamRV|i!;vAVW9NgkDDr~f#?d4qjvYHI?)LQU$%L)7`}~99yRfSQPI#A4_>8*r zk5A?~gRGZYfSC^{bn}9_)=tGPQ(k2E&!bimq~o#|(6OyQ>O^Md=n4OGmYz6jji=hP z^+WN*M+g$D3;eAx55P2UQ;lfC8ybZ{w~eWmD|;012;VxLrd$y+V{Y&~22+>yY2Mr_ zI4hUYAnyiL-j)zS6nV}Au_tmQfQOnA|20uv|F&DZwf$`C4jlod{{?8L_Re>h$Spkt z`@2PkQup?~JM}z(D+}T^40R$;H&JW1O{wURJ?=)L=r`4~v7CtP4ZL^Mj;-iWS~0f}!ILm;mOu>3blpUbS94WJ24zndL{%^Af&zSrNOLP+;V&Rb z3ca!M>{J zkSa>)GvP`yn#n+1e7jx`ncrtKGoN$dyrNi-Z|ngwXEue(Y)m|kj{2wmc*6OWcK57J zj{`w$uBA(3&-IsG1+d)^RqHE3C3;H}h?*k;@j96DIK|nY`4&@tqBf6(Q_+JZG@~L; z{m$G_*-ImMF%h(ZxaMcLBvEF{@^k|YJ8`QN8R9KAFN6+xO|G2QCdhu+6Ewg0zj;5MdrU7+&&azW>;p8R_=Jm{PKbVMgES!ehvXVtrlCB%aQo( z(i`%^_BfOIP%NBkE5`sG)kK#V7yt%#D^UIIpxzz?T3wi+R36ZuM$`WEDJL>RJ_VT(jRwG1VL`W2gEIztu2PSb!g#HV(!m z_YxU>JSW%moV{HE#K$L6rE}5E`+;7^}*rH*x zt_R#CS)v^wz;4&X#?ap`8ayS5UD350(OZY`e{cyYQylI-BtvuOW$7E^%+H2nP~84x z2m+yE__&p6LQ?F5Ur*;GQPPD`qmS0*nuahqbdWw8kY5ooJ=WNQg{Me?vt#j{DfnNH zcltUftn9@47|rJ3Hol`WdenY%NXgz;D`Tu}^&#ks!Xkz*p0O^dSNWLRQM18Fm8EG4niDO@QoMzaI}>$O5-k z#wHhJ;_5|6gOzrYVKH3gzByL%Qz{ihQ(`4l|H(!EVsXi@ck8%|-Mc(|=!F&WGjL3v zq4+F!rcxEtUIy&?mjQz{hKy{b;2KQa=Jgr#QX z$t`)F%Q=My!R(ZLUZ!3_nA&X$&5Y9gc$kL15P0i-0@PwB73*5Xlgg8?eR zu82a)gwK?_pbqGc=He0ZeqBS#R6^nzGoUo)rz4OFO)R2S>)`97ec~V zV2eq`4bo&R{CEg*9Xj%$Mx&cu+WyZL*d9%n3#xWxGD(XBZ{7(+|8ZA0$n0P|rs8{M zMvNHAR~osGLoGSn4?I#QSXc5p=YN_)L*kCGD10YNyd(*J;1%`^1OztFFb_czPmvlx zrC6gRYmdrXiI~aMt_Bb!Y8ihu8PG==#wyG*8@Cm{EdaqhWj1zGfRRXfJkwgYPOV7o zUGMOLy~n4IrL>uLDAgI`qlq��66��vL�q+� +��t�W�3�୯�]�2x���M�:3y������/8�/i>�����mg \ No newline at end of file diff --git a/tests/openpgp/signed/0061.sha512.asc b/tests/openpgp/signed/0061.sha512.asc new file mode 100644 index 0000000..563b208 --- /dev/null +++ b/tests/openpgp/signed/0061.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifUcnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcxogQAIB2 +BnnE02tIHMYMZd7JPtXjUo2AwgK3sbACjWvnBEh1wnpk2tRhKpeHnPmq8wxEjOp0 +tZwNbI+uRwn7imlnXTG913bgigWEBKM48vEou/UV9UAothZNFu/SPgmlP50R3ez+ +Kib504U7k0AQ9d52uwAYiNxghV6MW4brlfVeZrYpm30ks4sbFSpjvHjezBCHoejq +G6V/LQLUvmMDLNgNLYnPm73PBWB7swDIqoT6KGouS9iTkxNxzqF6eAWXfOTmGQPv +KvfjSF9h9dN/Vml+CEvsHIa0xxuuraWmH1yjvcFvU7jOpzf4iUra5XwWSs3X7y/L +3UTlEgKMRLpL7r5UfKZRfeDyZUEV54pbCyNpgttGDnaOvzlFZGvQsSz1gbNIShqU +TBj9pcs5QFH0nzXCiADDGQUeZJ4LuaSxwOn+MJ6e7o9vJHqGNXXA92ZtIUGgNV1t +waxc5npVSz7s+jUXPp3Z5cS/j/4+rS3M+I2ogh3dQO9tMAVra/Nta9U300FnzDYR +BwODB+2AA2f/g0SoEu/a05A2ooT6Dajbl3eKh7UuItYqw/q19sQVc6WZGXj1wrPK +lIqY7t/GD5GahBQNBTNJ7dazZbiGFgVZkfnj28iyH5EPhANl5k9P8fUJFZZDPUrg +e1gRqI4I0vCOneH/QxAmYFgBw2oS7qZgPjXnSoqh +=dOtP +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0062.sha512 b/tests/openpgp/signed/0062.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..4e51a4db7502ab20a7de2de0fb58bafc6afb75cc GIT binary patch literal 902 zcmV;119|)?*$@LBKTx^>zx7$|gKr2~Q}mo4lFH3o_&C$MIgoAd;%naOC8OxEzf~$A zW}v*Ah?ZHAFxg|Ua2w@xNoU(n21@3SPaG%~1&(0A8n%SOf;sx0VI$6NN5P-BGu4m* zzU&o_+3&~)XXHGL!U4n=0J6}NJDF=$Naiy^i*oe*ll@Xyk&EEu#pYD9g}qu6%05|f zr*{E*TU&PI4!-@jSV#%dj9GJ7J2lDqmtVEHRe=mZ2*;8rWTM48tVQ5d4Du83^4}<+ z=HS&%Eyxr!bH-Q~dY_FbZ~y(TNTFBUd7(Ot&y?}pkH`8G{^5295SIAmW#)sE`ls?u z<()vOm-dLHA~_U6olAAkP2@pJW8ru2#dy<*^_SARq0677)(}ZltIrx!ch%+#o9W4X z6begS;5t(V!U5<9jxGytRHqo-^n-IacIV|#_gg|tzxdFgb*)?809j(qyZH>jCk9IF zSh&N0j=T4Eb>H`T-DW;FPl!hPzssikr@4CuUIoXGaCY^4{8Pl~pP{$B<CC;%V@e#( z@+^rG{&}BA6iQK(V0sAtws!MUh&8E`veU5)MFFfPBA=uTqy9sLUNfn5$x#NbdrQQ cUHkAdlaIv0r!Jj-ejuv2m8uPeVB`&qMfTszn*aa+ literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0062.sha512.asc b/tests/openpgp/signed/0062.sha512.asc new file mode 100644 index 0000000..692700a --- /dev/null +++ b/tests/openpgp/signed/0062.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifUgnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc3wYP/0u2 +HV1Ak/tBHiZ69AnfnUxy27IyIhVfK7vFBaL/N+DWFWZGvhizWo8r/FMCfhwewgGV +Lqv7vqik1kJRXp2b0Qebmv7xyZznbHWk+vgBIYvoPhmWP3oO8iCJ2+ozpnKEXBIr +rjfsKAcP5spaBroy+Hi7QOEj+igDiwZSdPsxc7ZKTf/kXT6SKNcQGZCxnREF4tRk +zivx+2z/O3255nD95+zHfAhCy/Tn7g4hhK0PQPhn4uOr3w9UVpdwYA/xBzLpKyVH +IqgTs14jHFLkdv/hh4jYPnBzCwrChkV1h+o2t+dBBFFIlxkErUykRB7EP/75vwaN +hexfy4qGMNW23vbVP7NrLRqNFedOigSQb2bXxz6IeL1UhmmSVQa4c7KCODzdMNKd +7nfEO7O749/j0wJXFyTR3LJnkwiAMB1pgm9MC0Qv6/061S/0OkODdi60OFUwE4Bu +XF3CMl7CgFoHwrfeMuGUiZdRAEDdpQZgUNTaesoyHavZG5O2qvFw9fW1Z7Jz+eV7 +wUJdLLejDpql9DbzhOijURcRoCjrpsCDFGqMcN82Zu52tJbHjHl6F+rULiJij0xb +nHmuzLUVB0q9721fMH1kEPVHOiTcz/3yTaRgza0ruCBviZnF1c/+6c6CSjMTousr +qXLM+xtBjzemIM7EqdkVwpz138+0r9AspNOosW8J +=cTqn +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0063.sha512 b/tests/openpgp/signed/0063.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f13454b2e19eff2a0f34493b4b63f164cdc405c8 GIT binary patch literal 1561 zcmV+!2Il#51v|gHS7e%5L+t+B?Nk_Fh)=75L#b{Rc``U ztU1~~)D5!F+%qm(D}oU7yQ@ae%MfDWhW5H5K>^)^YMAzbqDHBg6JCViYtxa4>Y;69 zD>$#6(<7$1oQ;JlBx%)^_(g;YH;@m+G>^h^L2ixyl_adYZ8QL_v|_7JJ(p&N6qBu3 z9RMb^*c^yE+qTYxE1&ya?%OSClw>bq4R9)GwH48hd0j6V?XI$OvefE^q_@aPS%0J) zFDRTw&t<_QVmRX@8gbZ|(FEgw;3?y-Pee{|Qru6$h;LDi2b1CN1J!{)5z*)#^u++;TS!nJ$#+_T6TfvEiioGt<8T^C?aq1pt`+}=uX|cg$K@f=BUZ*zDujAB* zeM6+Hzvan}DD56+N_ofj??}HX;)Q({n1!pHp0)PGgng`kh5IaL19^elyQA^Vey23& zsGq2}`Q7a2{mo`jR0IEH9*yDoQBVWN+P_ewQjNNJf(S_y zU4&ghrgAv!84V&G(eZLvv}R;$hsg)AhjhSOGx2PT^!yQARWdu#sgdU@?jJ`|Q4HfH zjojGe9!)32Z24)^_#t7P_8{%I)AUbMZaJsYfgeoN)MYop+LOSY<+b`(&zx4mh!Zts zOf#lgmV@cwr7Wk^B1JN89^`H(z!riQqI+fg&P)=A+LmRYV;E(4hQgFR4Wi88A)^OGP zRe%1tu1B+9aWL`OYl5hB$uL3tnmxoPn*sw8CZR$2^9Hn@?e(`#aoW+oJx-|hDZTZT ze~5l8h9Uk1R5T9xkcDz{_+9n{C)*Cif)@+h#{lz@$ktMN(JXsx^u7zT)3u$W&RePm zvf5{bfJxGx)8ST=zeUxBws%be(-djy14p{Yan9Y&tCM(UL-kXt>zXof_b{Pm-h?Cc z>fAM_7Q_b)00ND)tEirS4Pm$}a1N@-<4JexDx>u$?>m z;Fs1yw(exG$5oT4A5|xDAeQI#XRZQbS8}3}o!m`J4Mt@;Y5YaVvNu~s(mR@}+(d$*df#_S zjq?t$Q4ahv6;DhUyoakz%x~iBRoQ2PfM+M<+>^IrL3$tGDlSSCW_NP`^M~cMjhZ%n zd}#s|PIw?2wt+8zQbcVH72fT}@_1vuNV6^q7aE~Vg?uxLb&I^N9I~dglta5RK^7-y z#8m%%Xmy#+$3LpYKygQGOML`KLIgxKHi{tSKGF@m#xV~1Wg%Omu!V=qQP)Xq$6L8B L?M?zz9rIE0wG9t- literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0063.sha512.asc b/tests/openpgp/signed/0063.sha512.asc new file mode 100644 index 0000000..13042c2 --- /dev/null +++ b/tests/openpgp/signed/0063.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifUknHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZci7oP/1kz +M2eKLrejb0wDN/NssGxfBXs5sRVnRRKou8QRKdnG7cq28c8gmulbPSX88rOT6HhW +Nttat8+y7f8R61wJeTjvt/NlPqLwSu9ojjNIKQrmcwVuCSG+z0XbC4rpjvtmNLc1 +vV/E3Zu6B4H419Ahj0ySs9uYbcEwO6VwOsnuE4F+7SsPzFI6vujCW4JYReDFPzEY +TEn8oyV1R9kELqR3M8y2ZQ+ReV3dSS+V2tKYLHPvQUG+ruyJp6ufG9bv3xohDhV3 +uug5jRei8XWwK+Phk3ZiJiUkn8IQebRXActCKnU6w87IlO9MFn1SKUcPlFtM7oI5 +2WvH+AyoOAX2JA1xNMYICiUOojxeHJCGnO46MV1fSDQ4+SnGcewkC2APZJxxshYJ +H7BQpRNZvdXntq0EIihjpJ5Dam8spHpJfue8/7+Qi7Rofu9gx8A9xwjJOu+FEi9j +V81oHquuOgJxEVmdSzwLocII3ePdVpTgXobr1+paaAkrkkVznZhySjYQB7x02WRm +HIf5G1y2O3dDc9OSOEmEs5EjktipyHAXUK23eJYKYtHetTQZKPE0Oq/7kmOo0vqE +AzVcO1DTV+A4zvScVnCj02c14Q2g74KzJPbi5rqI4Km2sfZnlKcPy9Qct1oW/Z47 +4IrB2MCzOkcR4hww0oh4Ni8fWMIXZ9cx977XkKOh +=ptcH +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0064.sha512 b/tests/openpgp/signed/0064.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..070785bdc93936e362232e5ef215148f29afff92 GIT binary patch literal 1548 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0066.sha512.asc b/tests/openpgp/signed/0066.sha512.asc new file mode 100644 index 0000000..9c72df2 --- /dev/null +++ b/tests/openpgp/signed/0066.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifUwnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcgJ0P/Ryy +KbaCgLMJjpzTKGJSd77HNdm5mq4lhr7KDMkxHdWi3JxSYu8/rUFp1fQJOdUXx395 +RZqpWKDOTYVe7VefvcYSFKz2Y1P0QEmJLcbdJBP1DcZrO5ZUD+S+B/2NdspsgGfv +Hab6q4OWiIqbtkjIjW/NhmIxuzmJj55zItQ5u2GZ1fSm5pgIEeznFKIfbu/6BFD8 +JntlWp+66/SGdZC6kk7G+FukCbQyB16tu6OIU4V7ujt14jgU7KjAZ06OVQFtezcZ +BKV6HvnivQODatlvJQJiIF/rG5lwh/IS7eZe+KqhAyMaf0u495rzK4RaitZJagWP +bceX8bNxTsdm/Mnc7+CHoQkw3ofhIQjR/Rxfq6OhKKINcRbVSIzER79Ggmw5oS6M +msuV7jMPwODLDlUMlX2ooqfIVdSAte/7V4LkS207yMgx6Nu2x9OkBTEmpm8hegZu +lyueJ2ZY5ywHX8zuv16Bv/bdVHkmZZM5L34BvwNZfdJRjMk60E3WEG48X15MEwif +yqP3Xxk0VvVkBXUWbZGm+UDjKaf97YZJg9SxWAuot0VVJzJreA5nMfWAcGJhODC8 +YbNOTlMRYDtiWl3tr3Z/Apc9T9PkrpUbR57Y95LKVgouMyh/Li/rwVFM55q/3qKe +Ygx7RqUzbR0dAjkv2T7QnsqO8S95N1lOxzFOyNFM +=5dK+ +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0067.sha512 b/tests/openpgp/signed/0067.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..5860b98fc4c717633188aef8f776fd5e0df6482d GIT binary patch literal 2281 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0068.sha512.asc b/tests/openpgp/signed/0068.sha512.asc new file mode 100644 index 0000000..5f2a38a --- /dev/null +++ b/tests/openpgp/signed/0068.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifU4nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcq3QP/i/G +WplbzN3mxP48abUpVQYkOBUwiHU8KGFtEMEBsBWbauPuPziZPVkhTW6+4IJpAwFp +VM1nThHfx5MMl02sNh/V+L8iJmFOYJNCRa0NFRsN94S2GTAE9GKFzdKcoAo7dUWs +0OqPIutLXieffvICF6U42LjiRthoAVnXG90mzaiqjoXrcDiK6ep4qSiWc3ut4h6T +wl2Pgt1Z9rkGcXnQlHBZ9jBMym4+JiBCBiqM/1HV5vBQErdoWLJvU5BQ+VX+1saF +id6f3Ete1gkVALbXqy92Li0yBhxDkEKaHl5+WPKURJLd/2btieYPLFPhjIBfHjmC +eRSHggBCaBgYAOT8ij1PaPu/CxaU517C6wEUaoVFNIZzRHsIBUtJ3Eu/jhUbLHQp +eNToptyYXs4YsNJ1z2i+WfbH4dIjbJVt0z4g/vt26l3O/no5eVfOuStJD+IL8yIs +awOqcqAbIXMsh8gRI/WGB3c2GBzVSdTzM6Do0gCAb5AgE90nNJIVA7xbWee31OqM +QJW4x6Ze9Qot0v6Ob3kg0nfO8Wq+xtsdQoBc4gyECsviLvr3TTJ9qaSm4L3pt0BT +1p1kOOGSCGqzu92m/7HiA8nlaoGhRpyTolceHK/Ca3WC7xxGDjfBHPcChnGQK4mC +EJmn9ks/4Ty8dob6nuzMIat1fhNSYt0IN9Q5GHYC +=AsXB +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0069.sha512 b/tests/openpgp/signed/0069.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..2625ff2d2f7b98152017ee59b2505b74e25db053 GIT binary patch literal 1406 zcmV-^1%djG3F?YKHUs)mh{>St!Lx08EdwesAw@&6T5l0RH4YFt^q8&TRb@dgceqK* zTvJf2puIM|9QrdDdl#@%Zz)1}2O+8mPS^)gemjWMO7Oq9=w^^?O3OI*oTE+r-y89c zVeW=03C%F$OdWJ}Ns>s4k0~;#rYYJqb_oDk+6m&y^udAxh;aJD*26>IoWvg3Hc9sj zz1l8iPt_l<`xq}O%{?esQB&|gGaybDP}%Ku%lo*IpSaF zNSPb`dfaC$-Z#Rc`O|@tDa4sTuPXwbr%xgUdYOJH3t%xWaXysX_{YD7h02&JA+on9 zi$qm>(wUd0>DzT39=+rLNZ|MCilUVNs-&jYzM~iRj@e=8;R-v`b27tAy?43gVQv^>V|D9nr z>``^03)gTSFl~kOzqkEJNHh{QDwxU=*{m^@(5X$YRkxo+MsUVBL)-b~th?M9C z?DR1%qu1>V=c{hJZ3YIMYOUA0qqg?G8B}#>4nrPA8PIGQaCEA?(C^SMVl#fv{W01< zL#ADXQ1?sV>#TiD$ra1$QB$xC!*>ayhpBMq*cnTW5GVy7Q$8U-&lhEfNHHxgYwAK?J*$IDP@wddi$XYE8)6p5@S3(Oa zPh-A)!>@PZ;idd+D_Vh5!Tnb}Ip*7A>$HhS36}l6@fZg@&8Y;p;2PaBah1tM;n2Y< z5&M)Yg`&ifs;(hX{6ckoy32@zP;}hW35r0fE(`jQAHhr%E2{5W$KG=sQE_MHGfy-G z3@l9d6Ey~SY_J{eMKe>oa7lNgfJaD8gl7}?(Y!?a9gMY614C$E^9+t1^@Qa%>aykg zg5Ob56>skL9=A2LJ|gu<+-l#yz!86jn?Eg=mWw_u!b=8CYaLi@Do(=?WW7N&fAU4~ z+U~lGI)%#%Q3(vWePDg%fUNs+BzmN6?m0K=u&(0;-*x&gkl)rs+8I$4bv0{%3|Vyg=517n+Po*3vP z-KWG|^Vj5c4k$ssIj6g6(Pz+dL5<5zIUneRT}Yn?=hO;{u7!2CY=L`t!9DqQNX5qu z=lp-;T@Xf(=+J)OILRd_)e)x_He;-^*&F6>&P!+EqDU6~tTfJx+um$aR8Y8KA@Jv(>UmOw2`Fv5}=F16w>aShd@wyH�-��6;Z���ƞ \ No newline at end of file diff --git a/tests/openpgp/signed/0070.sha512.asc b/tests/openpgp/signed/0070.sha512.asc new file mode 100644 index 0000000..fa816bb --- /dev/null +++ b/tests/openpgp/signed/0070.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifVAnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc9ScP/iDs +6NhjtXYLCbsQqwS4jMfQT2blcAPrWxY9doLNNixrFbrVx3dR44pfRMUmCPtkyLDq +uSVXHuOsL4K9CzXupZ6oso5mq8hZSFFKsOlkNbbsMZ4kkdcMfSRF5j47oSI8Put6 +aBprT0Unm5YOROC6XzTBzPzWvq0u2c8oA37bCEEowhZFk0hCbtdttTi5cJi1jcR3 +EY1d2c24DaM4EHp9U0gsoRyOlA+1wlUPYU/kUftJa+mS85C6kwVjIQSWnPDaZu5Y +s8Mr1Bpj6mhLhoqYKHa4LT8a6/I9qDVQWy2AFBSPoh1Lz/kZFCwY23taSn+sP85u +u9ThKT0lqwPUjcnC2ROadxXkbT0MawqxB7KZFsWbCU4yFAGsxcGUxFnm4OUNg8+N +j+O4al9HSJ6lYgTN6mN20ARF9bCIUsIWLIodz5a5VOjHmdmyVCH8IZpusDr5QcCL +rd5Meb3FXRIBCRvdF51gTrOIXNlFqWvObWWRK9LMRSIv9BeJICyQR/GKOAL57jYk +eWkSOJK4dSW7m2W7G4KuqX5cIKAqTMs/MFp276enX4CD2oaCPEPmQekD7hX2ZBGM +EGzRfQSOdqE7cIWU4eAGXn5Mja166g3G1P9fHMx95zBQms4JU4tfErlLI77Lhnps +j594FFMpXzDrHxUQo9SJxjeK/VSM8ZcjSy44rl44 +=vF+e +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0071.sha512 b/tests/openpgp/signed/0071.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..16519ffc59ec8685647164c66cddc576a4efe543 GIT binary patch literal 1517 zcmV9;~838s#{5`K6LeX-0}fj|AFC>={@E_Qw!(abq#ORN=|c zRH_NGt)s7V3B|;lo0YtMbhC)SvS(K*C@NRzF=OrajL$gsl0dxfx0l+GmcO0tY_?rL z{O^fEL6rdv#sj>W(!&JRX4wj*QW^F$)CFm64QMjoReD9Nt9~tc(5vWS;{TiNf#ni6 zbibVON2{}3)=sNe8B<&If_}}X4A`2Zc~!2W927K%wd?GYkDh?TFz@KvGRlF#5ewkw zJA`TS(?7a_@}{%{GqG(nL$lAXZ=9_Z>v@v@Q#kmEG)^DNt!}QhFt?4h5rio(kRRW# zh5Sv@$;uttSnEYNrsb2L(<=zaOG*Y%joOJ4(r;C-TL2Jl z&IVdDcuk03?3T$CtyrsIpGvIo(gaKaQ0-rKFW+2cdZu3$Frp2}d0A^X_VO*=M>aiPO*zI+>rbP=wKoh3j`NK6e=~7b06Um852o?UQ`6c z=EMwXr9eGg^N+1#bB$?${RrWxls!3&#pH&%N3aeP(-CqBVOve^2MD1bfZ8ZvM|2!% zg#WfO+cW2c&~lr@<)uRiiCnD7lN*nn*v0f`oaoAFcTWRGvp9^uWzGfrXqnNi17n@L ziI+_Kk&-Z6f-agAM{A%F7rc(h*C=dH{EKO#AAhz3So7Y^_ zBe5LBC{}?phsQ#a-vLt7>Xm>O()K)hh|};og!&a;goYpKS?$d!0JM>8$(NcUo-B$l z7i!hVimac(IYzzKapg3l=jL(Up|TsGWVL`XPJ??#_K4y?@+3d%MBdI6jN%Wed*?VXg4I#8sWgQ#C!mPI*F}<*eeiVV59r(HUu}V*?&?lG;<;03O z!*K10YYKksR7v=nS_b~v18T2q@N^KT)U`Y5tKZ&2cN=9XI3a!o!zrrdu4W1QRycq~ zq>d*xWq~mx5CM5zNdJ>021DW(e7AUoQ=z}PU>ZqKlE893-Aj$f4%P z3h2lquDJ*rYJ1i8$#E|Nd$OVTh~AVf0LsT#D=MA>%Kq!HjE5F zj%)K7%-ZroDf5yp=Dwwq@76P#O18V4MAA^{IN8WbGH&SK@~90q7ZWX`N0zgumVc|;SsLc`0Rnj2RvoYonEkN=y*~`a8 z0e?9JaE%)sHE=%q9WPFZ(EIx5gW3k|$mjyw0Og!Ib3TUC(X^l;afc()O>{XW%eGlu z&(I#|EJiK7zxrA4eSlg$awSq@AhQvtNpC;wtvl~0xez3cd*`fH%>Fq{bmieUty)fV TdPk~BGL5mPCQ;F?hppWf#J2#F literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0071.sha512.asc b/tests/openpgp/signed/0071.sha512.asc new file mode 100644 index 0000000..4dcbad2 --- /dev/null +++ b/tests/openpgp/signed/0071.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifVEnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc7iAP/iBy +GKDhxCZa/T7wZ45S3J8NoFPFZv1+87XVG87zZkpPXVW7l2tdVhll5I88hgBQYxha +XoQG/aX3jB49mtYVqGOLGRFhWEiIH+QKeGyzbzRyMEs10ZfPt2luk9fDSLLPqjNg +c+Hww49YqhJBae1ll9LkhPv+2c7MR/s1hhrLo4KW7p4SulvKrduCsYRgkP1IN+vm +d/xaWK5W8WqFoUnokYz2j/gdnahd91lDnAv241Gn9ZP2t9ksE3O9zbKOH5xMXTeN +iJE1oTxllDoZ9K2f8FChJMbwgcMPwtytXlC/+W3ZYUS0ce7StkpuGisy1A0JzWzg +5kgWsCRUka3wYPlTVFyVqUdwHLaR89lEkqCywJf9kBAQlh3fX5XqGLCD8z+FoHEl +nm9uspqORGgB1Exq4fuoAbl7xNoRnoCT2SbzSlcTPtRs0pANLeUTor1zW24j6RTL +TVZwKaxJPPrUbf69nFaB+IsDfJ/MD4CrAXCblxOSaTXj9cApkIzvB5qpB/zOkOB3 +UfbdqBpX5sJsh9/9RY3TemUP6maemOKlxg1zQf0ZFmA2uALAgfW4TW7cHgh49BSi +chP9WjtYbhfkzinNVroLm1jtWKSlNL0YkN6Pc0NG6Tdtt5E6Z5EAWiLcVwcedkuV +9OWK94/oEW+7cwDTq/Z5Rc779eONpsA4X6KtPLly +=a4uK +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0072.sha512 b/tests/openpgp/signed/0072.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..bfa551758566e8d516c151b06c326c82d567f1e4 GIT binary patch literal 1355 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0073.sha512.asc b/tests/openpgp/signed/0073.sha512.asc new file mode 100644 index 0000000..7214158 --- /dev/null +++ b/tests/openpgp/signed/0073.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifVMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcZg4QAMqu +UeCkwYJKOq7HaAa3luRbGFeSJaAUgYMhk5pFdhqa8/KkX76rJBPOC1FPeaeAqRn2 +5l7qKJfccp2azQo82FIheUfhBPyaW/PtjE+hYuJyoF8mYtd6zqm5aN9kLJBF+nfH +GJjK7PoSdP5XU1eS1EwC2PJaMEfM4lViCG2lOcnEEoDRZx5BRhoP1g9f1hJEvcm8 +e0dq4b0xYpebjFT9LhJ4zjgDtn4jkoOWkaiWFemmeMEccJNnD3My7BQHYVYe4NiK +alfk875KTcx1r/6NI6jGZ9YcOBAsLoEF/qYiqb5j8KHG0MBqqgUjWL/jXn1Hlu0P +QnG59HPMi2YK26lh9J3VnFdyh7jRfFfiMYgk2ALM1GGTfU2dNbtIya4xZEbcanQ4 +LN8rM5F57aY9kHEXN8NZCYIqZuOrjCp65s2uEIDjrkSHiC1Q9Ln4FW1UganGwpjO +ws67RqHN/ajYbysXWHSf2ZVw7qoEA/mF2I3pbVL0ZIswTWabzrM3I867Utez0ohb +YCf7E/3o427Euwe6G/tMA/B+byGjQb/k/IbYY2SpstWjrxIFBIu9hy5lZGEv4s4k +6fLIjPcqWJsa6/Ox+znhYtDdNCv0Fz7/4C2mY8jnUXhFEMF58XMAkqCX5vo3JvlQ +UM+IaJRB263PioMXB4+rbFrrJC+UGS7I34uBgoiy +=e6tm +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0074.sha512 b/tests/openpgp/signed/0074.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..73f642eff7311110eb85b068d5f6fc73b8bf4152 GIT binary patch literal 1110 zcmV-c1gZNYDJ;B+ij}ROTeAnsbQpi_Dzy@QV{10kHvBJTe71vOdX+$Isj;#NF$Hrm zjjl`Rj2)JG7{|KF3;5qq&uRvY$!?j}Zd^74!;5O!7WRt{_ zPj)oFmZakXAHi+6*?1~Z{6n6kA26#GnUzxL6I2nw&-|G$)YDc(es}!i`K@Z!zVJPF z;_t2FOtFF5))bNCF$qRuyLq`1*%Dd|0E*wKl!}nb2nN-r9%x*OhALU_h+%33YZJyE zwcd+9c4hFV9<;~6cbJo9g!m-c;Q4kzH;Usc*d9w%lXkW^ECt>u*MJE+R!W)~j9IFG zLbd45*=rl%ga_~(mW60+X3m63_~YwZonRb<$<>9KW(z`9?yJoaU9Ry%UA%%D<+2fA z-TP5|J5neCr_Y5hZj4{?-nFw5z!+(Xtk|TAP6Li3iO*4!ByAN+z$1Udw&Wj$x>%c7 zeVf|-6H0bzzNea-JSySpliOh4(-)wMwC;yA7+tH)A21>-mW~s_obpFjTJUnmWwO`n zU#~+R5$Sotbl+WrO%zWEK7;ZTo6BtOeTQqY1D4O#UL#fNR=*5{5g#;v>-G(n#uy`N z=~rYcJdRe0xX0^UpComf7_W>#<@r!o!-M^llQmu$ffO4{eoXDYDjE`@O_oKCi2w^W^?{W?j6PTn7GjQMw|3l=LP?p)uGK#tAjAFhCA z)Lmz_tXWcp^>mH&{9aBdOHpJ?vEg(^ORJrLPX|oE}0>pD!1~P_$7q77c!y z7Vmf;Ab{KNl*}p|cfe^(FH~1?aBYgGjjaZ7LBE%Tl3P&k>~k`Apy5w^F`l)q!y1Y# zn_x3PQQn9AOv8wZ4U!LeC82V(r&2QJL@kufi{&Z$(o$Y~Q;|J^Cv7o24S_TE5vY?D zv?yDEE50SR{orwevD6$P+m79R&TBLlGWU(M5m?UqsAFOWi(^Mt`j+WwpA8(Ila8%>Rp~c*!wc|G$aZ0DvuC c(m1v>j9~>~LS$Qo6mPLSm{d!(7=*0lt`rF=I{*Lx literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0074.sha512.asc b/tests/openpgp/signed/0074.sha512.asc new file mode 100644 index 0000000..2390266 --- /dev/null +++ b/tests/openpgp/signed/0074.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifVQnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcZe8P+wdo +PyX6+ISIpTRW/kKwQYHKD597JTrQ5BxkL+m0jxpoEbw1gq06hmGC6FUC2HQQFvTE +NytBCokk7BvPbTTl6vcF2wi9EnOurjy/RdIpdwAwS5NO3g+pSz5gxG8OpfDO5Hru +9JWcVLyM2jY7GiO5iTbvA+n5iUtLB6eKF5H/HLugkWGHFbX5TjoGXNYolhj95caa +xYUin4I6ULmghePBKZMoEG9Yt4xBIC3vRXKgi3xXd49JOUZAnLrwmIT/tSWnOtvj +bRzZKJ2TbZS2HTEexILh+y14fFLQenztiIPlwntyewCBBFg8TjvUCU1kK1Tudnn/ +EIHQckTdyuoDUUBE7332VpXqDu4O7MgGYIZTIZDks4XjmO2jY6/0vhtTdM+cWIuv +mVS33HsTky5GbyrfI1xZ7UU1WnCgNBE0soluIKVyWCMIFHL4ieoF8rJAzHgJ4CwP +AYF8IVsUDmkub9ApJPbEABSASA6c3VE2dwyPCrYV8DuStL89jELDcWgYgoi6j4OZ +KmloBi6vW6Ds6J8imRwrquRFUTjcQuxmY9kuPe0CzUxVL9/yhZaBpG5ScZvlxmNR +ExdakANdZoL2Oz/aWQVpW4e2O/1su5FtSbKZpIwmbckI7TWhUa6fkUhenza8XlYm +XjuPDqoMD5ztmhNX0WEZB4gM89grk6MAlQ3syUNA +=b/d4 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0075.sha512 b/tests/openpgp/signed/0075.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..79cf736d5460625c0cc299a1230e88cdc298758c GIT binary patch literal 1914 zcmV-=2Zi{fp~rj8C1++&YYBF-xO|#ph-$@p{-berT^qBCR^>~Y2k-sSbS!~rEmJ+0 zW(JR@kN?3rJ50&;dYG`3WDhmhvxX-l{2{~0Wbxf2s@Q$FTSVqk1zdEW?%b0c+Y7bD3_&1lB*O%+U*?VkZs6sRl(JpHO5o1im>ux?- zkTU znSPgul%VJgqOE%chF-4R3xY3T(K-C8`Gblz?9@AU&^rK<{+c)5Lz};iJCK@x@U6+X zFUZpsOE<>x^)kWh;Va>J2?jjN5iLC6WbYQeHnY65SscXJicbWqlCN7&DMC8>kZfh! zbE9Luod5-vnYK;HOtbBB)-<%@%5e$%!c#O6PcdUw6c~lO*j-S@GS1(JqX}Lgdc?p1 zJNyt)3BWC1zl5Rgz zb`&$(U#=}>&CJ?p3uCkFt}Mnxg-HfsLV;;ZtKdd0k8svkrh_Y{01Il=CkaQaXycu2 zHGNpZP6nsF%=b5<47u8b%l#%4CB88s3xGZb+Y1F9=oo({1iOi}b4Ou;QN(907Mx%M z-@Hz0;MsvKnW&%{qeK~GH~vg{BFP_H!YF2OAqraV9APj+hL|y%xU2NE!T2jsykW== zotY9T^Qna2iKW~q@O~D!5IUO-e%pSKufoZybWN99wfHU0+c;R?9Y!Iu)oMYW8rsKQ zX!#P1#{=I85L7WIZuk;oA75Vv4`{_VC#6%tr8u9JH(u`%9X+i>*(=7m<97o55w&mV zv4aA$`(8T;%Ya2gCm@UC%*0gaE;g9QY{45L)r=B2*FEedBY2GK-U5az-7*Njhs>&5 z58c>dD)KMUf3wLGsKVkx!)YojHB?$CydFXonUNMmTgQ4oBO)+YbZ`)=4Ihwp=*?-9 zuw3(MLQdYD?NdrpW+gn-0_jJUP(ZB%CdvRWP*+z>2QH9h-IMXSVC4`Fi4-`?tN~*M z;I$RR|Dc$#^8c%_Sxo>8HX`=l+-s-s(afX?ebhU6WvH$~YMjkZ(#*ecUqC1fBjJb8 z`bO<|AId&xJ#z9Tj{np*rDskE4asvU0nn(LcS;-#khlKO=1AUVwg!AN z73qznMNQwjQlw@0Z2h8l6gS1gN@@sN!QT2ah{vG_8LTy;8Uu^&t8ODW*IC0#zswQL%mI?G5vWB?`yvQ%J!I{n&J$=fUFFgIy>?f&)(U18b-#4lEMTeHr-w%38VM z6A6_G-(2oGjV~*3o}s^GJ8(K!YSofH=%?xb1`ZSMN}@$1@=X&CK@Z8-A|FT9mi4zD zSF6WK-s@SUBRW|8kA0Hd&HZ(=^i=!oY1(OOhwQ?5DSiopV!W^hPBf*O0$1yIsR6Z6 zX6Z&L|47vq(kN0bw!@H==Tz%$iVNF7_2}gX@BL!O%9UK>Dr55M=z9q21qg(D#zQ-W zCX;u?vA#y=VZ);^04*{~H3wxb$=fz70pkrua&&DuD21Aga63n2Y=Pt-@Qtk7jty4Q zvvw(4g}V|3Xsns`7tBEq08}1!8BP{JNw#HQfRI{@_yAI}v=n2sFiI+!8c9Tha2+g@ A^8f$< literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0075.sha512.asc b/tests/openpgp/signed/0075.sha512.asc new file mode 100644 index 0000000..de5332e --- /dev/null +++ b/tests/openpgp/signed/0075.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifVUnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcuv4P/Rc7 +xlau6HVidV5t2h4hkkK2vKXdv6a2xfreBuWFtRI+zCqlJbjkS9gBRtfcsaRmgBeZ +O91dhsJ0Ti/fCn5uIw9OkyH6eJIkl39BafD0ky56lx5PeNNTXPzGNZ16434we/qO +dN4oJk0ZgFEt6KudC9P5/1gqz0GjCChRrcisPDYS7MND0+anC/AGIGOC8IS+4K7i +AjVeLb4pBLpqcQye1XgPFPmNF0+fJvH+NnPKLgbU51RbUecQz3KJod0swd68ySB8 +P8G0E4t1uAJRkT7dNpgCjNNnxrGnoWFPce6rAOg7Ls0ZPNcK0jtgOoV4jThCAw0V +pQURqgU99AsLNL20XHpwe421rQMF8XMAAUX7FFVYt21JwDIPBPlkk4KWAa7t1oYV +lIGrFQRXfaPxinZVK8MQEyUDWDlmE9KWV2ZOuCvny4m2deKFf1ef2rh90pvL89iu +5+LKZdcS2pYe1mb6X8nkuxlBubapyANbdp9fO/86z7iVO7LtHpQ3lhejxOhV4G1M +LDl5WNCk+6vyzBQt5697puO/z9U4lRdtLdI2GHutKXzku3Ixe8pH044iAEb46qxA +GNbfyVLVMawVW2On7TJZY41jZrUyIyFjeyG4M9nQfwUJzmRhpMYTCb3bh4BLsEN1 +A5UcKWWx/ZhfkaccbRAcaX5pmuxBUxAFZk3iUZ2g +=aGw3 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0076.sha512 b/tests/openpgp/signed/0076.sha512 new file mode 100644 index 0000000..7ffa125 --- /dev/null +++ b/tests/openpgp/signed/0076.sha512 @@ -0,0 +1,3 @@ +���{��� �����h�0�PbNghvæ#���?���3iut+f.���}�E�;����Tx8��y���5z6e2m�h����ўJZ+�L��b�a��2���@%>�-nmF�߇ڪ���#�#rꞯSZ�m&� }��a���_$�ɽO�����V�p�qR��M�H���"RzF������n/��Z�ym��$�ͻ��)���F) +�Y��X���t�ϛqu0+9פo.h�5��f|���i�u���y�-� P��>G$��X������4��ڶ/��f��W��b js�%��h���ubR�����Հ֝�r�*r�p�>dν~���� +ʖS}D��5G;�[p�Z��t�m��x"%U�mK:_���]��w�(��Z�B,3�m���t)�|{!�;�"��Z�S��FROϳ�K}��0-� \ No newline at end of file diff --git a/tests/openpgp/signed/0076.sha512.asc b/tests/openpgp/signed/0076.sha512.asc new file mode 100644 index 0000000..38ecaaa --- /dev/null +++ b/tests/openpgp/signed/0076.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifVYnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcFVgQALUW +DPLl+DzXoRQ1mYftaWlQ9HbcDTy9YpghQAOkrhpbFQWzLhtPwTtqNZ5feLHd3RjQ +9QPBoCaGmr6AQUJ3Xavz3qwibctnVG0EBlpPNDJhQNt9R8VjRM2UA/ZSp0G6Rvkq +s0uOGk178rRvqcCscmg3ztlSenevfozdBdQmJB/9FUO8yOAkeobqy7Pew7vERozW +SM3e3cXn0DBCxi6TG6/VM2eJx5i5u3bUWLffDlxiTgrLKo90PVlpEo0wXx8i8TmZ +apVETXxpXMbrd8YFyxWXJUrPLgXOyMOAS73LYR3w0GLbIubFWD/sZ21qV2yOzu+f +E6ZRkhGdMAkZtg18GgzDo1ZqgQHIjKxObJILcEKpVvlPWJk4PTi9sfd9273oB1Nt +YUGibE/VTcO9VDPj9ZSpQj4rOP4xcX45P+KGzOCeaimNBO5480HJMu54VNJQV+07 +Lrh6YVk9+q/Y4QCdL7DkgtPE0tmkTEPihz0EZi3YV4FdNI4kvA/tgZZxpo18JTzj +SiCNy2O3ViimHGznMeErjAyCNtWdsVDvimMcIRWNO1HnhU4hbgIFOd9h1gl9a79G +Z+UrtHgza+7a9kf37r0v2p+LRHdmoAK6S22wKjBwFxHL/JiacMaIC+5s0xAh2K9m +/M3f36OMV/uSCJb+fQUn4chh/YGR6kKl+WO2uTSh +=9Nso +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0077.sha512 b/tests/openpgp/signed/0077.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..e5f7013fbe6dcc0258097a07a8f7828417791f31 GIT binary patch literal 627 zcmV-(0*w7ttW?^MRsuu?t%YRqQYHBY_-V_cA3_Du2zJ0Kc8@jt;mH+=n#f5YsYaO8C6m`bu!Fh0mvvEftAC=32fUoD9NGs+-L^YgVjr!y?^|hph zK|ym$`9&yVw{s(XH9z&4LKqA+^mgKz9Gx#4#?ifsh*fnIykT-Qwpx+_k#$?U9RS8H zy36I$FT2-y3MZM@;j9cc)=9V1XpFqHqW>wZ*nbi~8 zwL`Kv7@ah%Kp^uZemOvPz5)77wfR~)GYOF5p!EGlK)DbeeT=rslt8mZH&VVQ!n(d# zGoltzDP2DqXW5Hbh*EL}VpEJ2&WPw=v?8a!|1V+4h2;chCW{e==hLU}*;ZNPf%hY| z(n~+Wwiv;e#ps*(0*Qwf5jN762I;UE5_NL%@x%Ysjci8QW6H#2@N^4c^bt*h{yW+D zx3xxU6jVxp%|0nF^S@uBC&ab?&jGvVUZRC>=-<4#-JaeU{N!hjRCh@3BMu?i4*6H| zrY^_>8x(|4%2Yzaz=k;2g#;8Fo{JlS>1h_2Bf7sovGtaOWk;9RrUp1WeQJOIQ?&r@ zP)%PZc-QQn0}@3>vJJ6322kUkej)$@xu&Bc0mnQnzk$^f;?jhl6+Izk#s5uXB>0(> zdh9>5cmy?)aO*ji>M!XsolPqa0b-Q8=h(F<=bw;}qj{!p2sP1vJ<8Ba6zOVGw=B1m N6ZFiA(82DX!xsh1G_C*u literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0077.sha512.asc b/tests/openpgp/signed/0077.sha512.asc new file mode 100644 index 0000000..a6c9b28 --- /dev/null +++ b/tests/openpgp/signed/0077.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifVcnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcQ5IP/2ai +LGLwYuJlgDoO76GyLaNlRpQBmQIbUrPHZBLSu5PU1uJNidawPouVlE42HrLjPqwu +RqZ3hT9CxoT4fstouumN9x52MKWLu28iirY0ZY8aLGaaCC1Ju6O6XDr4pSY+EyLP +UT06yivgemN7Jp0c+mAiN+Cb90ljxvgEd1RAJwNT+z4WZtalmc4ivpIFxLEQpT4D +ZTOUTn5UIrO7ArXF4V3yM736imSsH7FKIMmXcFYOviYErf3hll8KHr4vMEHlMTkQ +7NmaGrP4T9XQmHoJcF9IOlq/4RhrrzKoT6SReVdZq4M2JznIaOmXRDR0j0brLvcV +f7faEIDIyDwSp45PdWue8H/FBv7d6IBIMQ6y2Ot3gHOciANF0Dj9NCiohlxWWKad +A8Fs7dR3auYjXWEecO9Fv5ZU242EcHmDmiM22NMjQbzOdUYj/rZXSMAUrXiCHv6U +Ks8fPZkg+KKjBiJjQcPybg1gFRr6YSUqavLnrbjZ/zEuZwbGkAmC+bE3TIEQIC7Y +Y357P4dkwH5sjQDl1lxwrgWBTPfijJbsHlxmu6iGEmjC5T9Mht6ikhKa38aLx87C +4XaavYSMXPcOONE5Ppf2W7LQMmZi5j6kEix1h2ZVa0lCqmy+IVOC89uhFNbjRS4Y +UUHFUTbjwGohkw9odzeIgdGvHepyRzop677IJ+T4 +=5qte +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0078.sha512 b/tests/openpgp/signed/0078.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..c026333cf2a6f8b2ca5576613897962f7d3fc181 GIT binary patch literal 534 zcmV+x0_pt|YIfJ{Vm*sO_!f))&xD`PCU_LE68n&3Wrue6VDqT*L$_V6NkH#fnpg3RvP3@TpdRKgK6w&1`b`=JJ<*=ixB3=^GmtZ7- zE;#Y@oMz($H&&nc3mhd1s0Qu_G;)nsEd;p)7OY@n&O^F)$CofUZR~{4#8#cd2}@r9 zeRUaucswTs5>o0vG;Y0S2Hj?Fv&dGrN5`W=Qy|sh3^TZbH{S*+UEvEn@r#tEEmd7l z+TKSVJe^8D$tz$fAk$RfgM>+KuG5Ua=DUl1q`yFy&9J;+wtlt*{Xxo_R#>SSU=_y- z!tB_yl#_l8AgO{)&V;@fhFKIPyC$VE)qZVXxQ~{@8LM+RaD9XcMwt{LHgSzFgmY#{ zU(X5W#EfcAp11QO_qgA>_M7Di?;ipJs~i3Mz?pdv!clwiH7lAJ{wCRI#Dx#`d%gna zs!zR@P8*W-lLmJuNK7GSNGM-=S-{4&OD^+c9P=fwdq(dC#k4F?iMeZ6`|hu^ zP;;|~by$DApJZcPo}^8#cz>_9#bVAPRwC7#XQr?>#Mmm@9gl5%e`2kkmmH-?3ttC) zt0(UQ%CoV=mPL-16CcH{kcOs$`Pd zX92ZW+TsG4&_$$ixRixr6xL<08M-kwYnT>luaN*&IFNsQml*|^`BRN@T|#e#6>nl?y}?73^( zt~NCH-?hPaZEJ-w@3#*nzag2oaPUzIaJ^YnE1T>uYCQKkP4ht>!m3BBJTZ@ycXh@n zGEdjM0(WC^sI{hi9c%Uvxk$<#Ny2C{%FwKA()>?*RrgS`hRV>Q8OKAlaS*V$ln@g7 z*x6+G_8DRK=SjQYESo6@Us1G3y7vk7|I-yv1`#!?r=@`{0)GQ}$TO&+*@q0@w^P_a zstWxYH5UQ9+@csAiO@X|Q|Y{PrXDVfpKx-%%t#zA zSW;^Xg2aGk1P$lM&zH?5gy=awM7>x$*aP!}uH|`pFu?tl`wa~;ZFwep3scOXd_@0M zN%#~Y07doMDjDR zO-dUxSV#R_rsg(#Q@n0U+5`Z%^-M488gO#@lP{*1HItz-d5){~VL(PEu=>=So99zd z`d?r;5OHOEgfWZS#AADab#>*H>5-l@ePo;B+;z{Q2GFU2-3nF`r zaJh9N%W%CT!Qm4h`KZR$;qd1!5e;)?6D(ITKVjSz9G5X5`AUM6x7@OE!N)E3eZD%&f{Kn`v`Ogmsx-hW8d$qne)y4!P)9q~DmjbzmEVk3Lbn$YK6@DOW z9(EsY(in|3>k2OI7kk=?pLW8bVX9OzR#nw1JSWTw21x^a^tvNM0VMA%=>6kL2Gk_K zUB8L~u3GiJE+^n&^UgZ8dE zUZ!>rC50KIsZg%2KbFDztcSVi0MCMDGy1ikDqvIlLtalFd&lUyBRG1 z%zRDzP3?&Tzvr(wE>+r!DkjT#3!?3#ScZ?jk{%HPb8SPXvX^-D*01USkmvLnA>Ta2 zarEhtF{Oxaf*6hzE#peq`2mr)3yOHk2(@;4%W+ytmXoIx3Ad3$A<2{ho6dinB z{|oDynBNMT>XE~O+yIS8(Rg975;-;E4>FN XBl@~iixaCTirZeP? zbt3pJP~zBL`1ufOccdJU-M_W|*G+y@FZ&a4WzoMF9D2o~eX^LSkf?AMZsr~Ff9F-C zuldFwzbQQEuGa2R$l*Xqp_Ut)Vm*ibut&;i+%0skusq1aN)D@He)xcvrjPX=u$xvd zuIOxO%qY7dG%=CwoTcc!!koUmkKEC!PzvkV^B9FIOn*$k&OH9^^=ZRZ$$I!-~#)N0JniQjtP?kVq3UXOh;(5pB6 z#+IgXaJ`pCbUD8FLTJr3rRt?7h`1G(vTm1BNzcap>TqlXmcElOAbv8{{?RSU+t*=O z?@z&HG1%S>pf{4_oUquU+kQGFG5^d48h1KGd8U5r=Gn(Y!*jWOU#*v$+Iz#yw))Ct z0vunfgOk(&tAF7YJUrS-bwOTjcnT`|vn- z0~x9mQ<~H6XdsHQEg1UX>0IBkk4jtx><^fIuKy-7q7i~{x?l42jsQEfNt(!wlX7U>%yAkQZLU!SZ*~qQ!p;SOHJ8n|4L)Gznr`x>WueQ zy9W~@RX%vuRogS}?i#^6-BqBl0M1upW&C_ey>VyHs% zKO!>`ZCAew9r*m2c6hj5p6BjvIi?4T6|ACdtcSmwR|?U5V*OM} zZF_N0g?jfwr{U0z>6sS{0h~L^{CM#cP*|0^sAf|Y?XOfxS*-q;56L}?R*jyVEaOBd zn;fRLWWcX94E@M8F@dUP)*2WcP-rRJ%xFZ?9AKsh4o_OT96@ve2=JBl6`@B?fGf4C z;2Z`t2_rOKhO79VQG0eNW%yrtzl3eXG4KReCc;2DIoflprnz1bXj5WGSJN2y z*7M`^V}m5Ik(K|k#f;#wbZ(ejoXwgGmqUIK=-%dKh93L(efxQH15>`p#S9pbWDNr& zFM>48L5G~%2xjhH*48ZsT)6N02KwIjfPBEnCmie@kvs^%Y9mqjUDy*!zVW*%*>*W^ zJkp#r>PHPmw04)1>2wI~C(4v00p*aKFf^JFa#BjMml4&D?PfKjoY>sv8;ED8HBFJS z_~j|r+$jRr5mRo8iO6Nuj^2DW(#0z1MBp)T1KCe3s;-e~jo&(_bv_fEb?)@I`~LJ| zK^6pl%>I*;ptUXAR+Q%Jxq$)UzA*#NULD=`=0Ak~i?6uwX_fTOv}O0m3-Z*$z>Eu| zWUJQTJO=5UiD4X^xR_PIs{^K`)rvt-;&uw}KAp>dasOTu}kOlH#U7*sI> z;NvgGtA0t;XVA>wOfF1I+Z7WP*u(wLze|GeB?nqT8>Gj%>k4{RBMbku?nx|#lm^l< zj$5hIuJfLlc#FX?)X)(7?C2vdWIgo4e^fKlw!8U2hBT#I{QZR-7oiIMR>4(eT31G{ z)2>1bs^luz*<>!!Tt=CjbaBfUPSVipJhrAuSAD)^6H102y#7L*GAzVrT7j_c`{=zI zZ}QlFx^FT7oc?cRqACL8#wyq8qohK0bF?_$;;M(U%hnIe xvl^bl0JHLoqIT=c=&%vtvdFKhi=H_kvSNVN$*JtCW20%zpK$z5^{z>@cs+3Vtq}kK literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0080.sha512.asc b/tests/openpgp/signed/0080.sha512.asc new file mode 100644 index 0000000..08b0cac --- /dev/null +++ b/tests/openpgp/signed/0080.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifVonHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcHioP/31/ +FSIAOHGDxCAHsGuDaYjRNSBRWWEIN6FMzd0L1cio3K66LS46krJ0PmfhyPtkDfmI +YoB0gCfSWQpQy98y8py2eugmkQGI3Wc6QrCIeP4rPIOoQPLNGJMCaSsVBBsCXQ/E +cGOTkoTEMR27TS/lTf7sDnqIdTGc1QOJDEEmoCciupoMLl0Yze5Y0sbVKsFdD+Qs +UxAss66M1p/CyR1qNRr4RNb8suhocmfbbwP7yjXcD4i4MD8A0m04up5GvS6YXLJc +5AI/9zOu2dzy9Cn0OWxXEBopjP0sRd7siNuZzcxlQh5LYLhN/st5h28zQ5P2ZRvJ +/4SErJG54a+6qA41YjBGpX8pq0iJEBa4/e7zEg3XSISWD1SxlbMzNLqEfIZqkaOU +I4h67QDknVhpkm+OB6hgfwtQNqy+ngqJuwCLOstrLNeGte3n0edP40KVJ9yKuCSu +8ldFQwcVMfOOaqvs6Y9ck4TKGUIef0WhvFjMuUXb/59G6/oY7p08tJsdmiF0zVVq +kqY8ZEfVl2Ll96vUr3FSijv9PLCzEJf6rss7ZjDh495gHtQbN5Jsi4KCJGiBg7um +am5lBZYfjApciCXwbR2YKx9vFPgR/Z2PRQ18RTjEdgmNNSrgNI2q5HJGSd3cVXE8 +ep51MuKiC4SbIJiZ+Z876N67vF8T1vC0YXBkQB/i +=KK5U +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0081.sha512 b/tests/openpgp/signed/0081.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..565ac88e6f661cee0a3361fbe4628d41fc25a619 GIT binary patch literal 1481 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0082.sha512.asc b/tests/openpgp/signed/0082.sha512.asc new file mode 100644 index 0000000..98b15c1 --- /dev/null +++ b/tests/openpgp/signed/0082.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifVwnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcgxsP/R3D +G/XIpo1ml1qhKIyTtkFJp6fAOOtDO6eqy5akPzN2QSgAY1nGvfYanqXPI8kCOUmh +0vR3h+iydLcjedLA7K/IFy9H8ak/n+F9iVwu82gyebkKcSZEEh8IjbMbUl9UP8/S +2OdELYU7QSp3y5J0uHeDaJVapx1mjItXSG3EjJos4vRmcA+irKISmFqZVXbdj3me +58UzMDvdx/KBGV1H7Inym39nUdH94+Mv8fc7EV39l/Svi2tDPj4PJnmrkV1PfyOH +Gyz7xcxZugZ8J+Z62fRTl9vLR112Ms9D6lghq4vmfV/c/1qGnz9QsOBOgajlN2HU +eJL/EXZkdL2x9l6PD89Gz9yuJJFr0g9jgDXZeU6u4gq86ec1/WiQZSgCy/H35QCv +ajzbsKGwqqtBeYNHW8nbWRLOufCPyvZ+UruMNV6XK3WZ7TvTAoXXjB3472TF4F1K +e1bZJDAzGP3+UTlp6BTqbt7A6zkToxxDUn+Mp8dZDJ1d5/pxXkzReSY2/VW4EtHJ ++H3t8rHC/rIuQsy6pG6UlHwlk8tA5Ug2CJ/Jd8db1zNsRY7RMCT/4ZMJDGbEbWHT +w69blrm8/rbSHCnqosBvESRn0TQHXjzDbVLT3oadOmDulmKNxmWbFY/SeAyGHMDZ +a892TTnHPJbR4U9Hegu//kZayu8yksJ0Cg8poFxu +=/2Pz +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0083.sha512 b/tests/openpgp/signed/0083.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..ba7ec70b91ebaad1ce5b8092d8da5e220d029699 GIT binary patch literal 1066 zcmV+_1l9XmS@^49=r1YiI#`ssOyHV7IKtJqvRGVw?o1rL!@8r<={puFf(;W3LJ?M5 zl2ENsk}gG7=S>*=0~>A**g7*lUzjWMORm^zVTTMIcv;GW*|1@>#*R+HHw6h}6$B_ttF_Z^2DcNu`1a+I1H{z{6!-py|19N5`i|2kCQ!N5iGS{L z^m1+5Eq+X}(l>JxWgGRBSQc8qf83a(b&I>6=;+(DKQJ6?koq)*2>D07;p{v@6tnZi zQ4IAKr1gS$V#OJ)Ask<>fQR3Th_UHPP<5VlHduyQCOK{k^Kvy*zyG7wET44hsBsd( zl@S58$YDLTGxsmaI|TruSPIOS0Y9!5gZTNdfARK{Q*Qp$17uDc+d?}>M8UA`I%Ju{ z+@!Hsr!jxg5sPB&&OIT8^C0_&&JbQtJeQ*|3{+E$zKgYm@Z80igucg{%bncj{PQ<` zri@^rTE+#Z)D5BUOtLpb9{fYL?dxba2OOE`Um}OmJ6Uu{Z2ygA16yMmu^al-!`pta z7JRJa!U)YMwgwpc>zu9=s*{}zaXt_R+h8R=>wpOK>lstcq+!L`(DO=~HnRL|so#mt zVPuO-|0SOQn??aIDQqL6pwM5BArf$xt z7GQZXv(tQC&MgaO#yeLlCDO#cTy)dZ~2VGuj%=sNyS(m70<;HWN=c#d4E&q@(_>0J|6azk>?qQ-`v-XsU7^?nku_UeAu- zDJ~_Z{x#y4sLgq3RX*UoZXv@t;27Y1HUyCLMh@+LE1%>XdG4f&y@v;8X) kj=1gDFMn1QH3?ba5%)9I?wsXp89J<9!G3+rv#@0Ia7Cvz4wP^opR z@&>*gwltKuqosZcLv$oFSAj#E^^TC9y5{bJP5Rm<(X}CZ*s3NofTBt^wAer3h_8`e z*BV6ThYGfwHD&~JIS5JoqKa1eF&6X=qnf9fdn`RC23b9P@ zSkzdm^+jw?pYa!|ksYH5P1y}0kdip0yhJXEYb@vMmh(Jhh}iCi_S6JrxVL=cutsUz zeWU@(_|bZcukJg?$6qV(@G`sgS3N*ak+b3BvgK-|qPNYYSWerdelYWFGP&RqE01mS z5D{UNpefb+VzRodeferB&`$F3+Dgixc#A>qCJEE<$ma{))?OYfl>2%|R=;((9qyZJ z2H>fyDh!wgXamIcIk0^J*{`Y#X`UkD^$WpwKElp#bmaScbvMt#mvdz~I?;114 zF_T>j_BfgTfPSg3KL3D2%&lQknL|nR$a#<;%v&)bKEu|34&sS(SKekhp`}CgoVuhJ z((eRBsh~w_RDRo7#o$ZlduS~!a!`k-G2;2%mBxqk2k zcsP;N1z~=rcU7dlbD$#cve@YkPU$)*e2{s;+_p*lJR|2jQCo+siN^X)TXQ72N!1MU zZb`^1eRiPMGbec66Kek)Y7?~0O}bb$U2w*Gw&C?Fqwt3<#)TqG)d<}P4s w6|hfnBMVxZMifgWn&Xy(eLQld_gSM@!VaS7mHeZck?CW4$hr6?#dt30b57d0r2qf` literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0084.sha512.asc b/tests/openpgp/signed/0084.sha512.asc new file mode 100644 index 0000000..0c4773a --- /dev/null +++ b/tests/openpgp/signed/0084.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifV4nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcQAgQAIsA +P3vuVxgr3MuK+n8+zBB0dplQcMdKokqI+NRMMPxc5E2TElNYTIW86/7b/xsc81WD +JeLu1S+bwCRPfdu6dgD8AB0RQyGASGWDcPQOJKRGJ7D0ikqtI45VkMoCmRk9p7EQ +pHVGzjX1xBw0NdINFdi3uY+jBhF282j5tLPy1nnvhu4p/c/D6U5hQJLVh1ldeGqF +YAuu9bUXAIBZLQgZ9bhRX6EvPGU1dOIBbaeBBsHSFjqSl2UD8FVCc/vfHNTT5pqz +dkNsBabtCrRZJfSTcdK2RB9TysogMTxOSpHERI5ThsAWme92ERTVhBVzbdATPgdQ +PpQubC96ZdaFiRT9HN7M19/moDWvBCrCz9aQ15VgOOyqmfGNlineLqKMABXLIaud +MrxRvX+9fx/TB3gqMRWXnAEihB5Ss0V9jDi3WY1w+T8RlXaT+y7t9Xdb2cLivCWl +xYj9AHKvFia4CPIAyrqIaoAy014YRoI29Gn/zJsA12FEyeOgIsCMeqR2B+S2pHs7 +W9YcZ7tEb/Lup7gFxLbtQr05IjR1xycunIqnuihy9VD8v5UqNVlegfssEmLAvXRr +Oz0V0LKPVxRWNJBhp+AsRlNf/qNYcggO2A1Tslh1xABZQ36vOUIs8k6rmsOxIi8f +9wnFAUWweTMJoCbKE+ZduGKBbrUm5A0iJwBVkCFH +=GSCB +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0085.sha512 b/tests/openpgp/signed/0085.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1bb65c6e6803e062938d92f3bfd72324cbc30006 GIT binary patch literal 1256 zcmVMg0eMw}%FgdrY4_cX3D{>6%lJ z;fC@9=Dxl;m2g6wg4navUnf5lfy)9iSNUvwW3DCLyK#|v!|~VbPt>J8Dzl7uD#_fb zwJ#Lk6QKvSPU@+fjZen&Ihk-ogL}lhJ|`?amv$dCoX3OIWrZ6nHZnAUiXjIGeLI(3 ze0*a9c?Pl30&8YlzH6<`S*LH>VOGLiX*B&W1+Y-Gv@(dYMee{A(y70R!xK?=3+|rC zcg?#a<#m(ZboDS4BrVH8!G@7(fYT^ynd7i!I!69Y=8zTghm~_F3dzFxgXoSL`C4Mi z)a$iYboU&Spz`|Ln|{1dEMCeezULbQ7<;)-)xx>+CP`Ich67zx?>p9rN?tO5&ECLC zpaoFjT^po-mgpj~Hf-XO;?Q$SK616TPfRV|X0rnfuWW#V}qSn(|An{Vn>4W!x%@`YEWvQSLw=&tPz zq$@>xNHDuuQr@3l!|m+5)i!qbJ~1cf?=ZcxUoy9baL>$^r4(gMMTNv*bt^WxbZ4I7 z3NQ!*>!{s2+y#8^^o7nhlzJi|+?`nPc^lR{Z*7Wm#{Hp3xrc8|Qh~nP*RzU}Pi|X(D=}|%vr>EQ9+e&L(d5`R0~OO_i(LZK8t8Du0?kT(+8RDOoo_PyO4jKOMr3uHPLd9W z*UMFX75O&N*YZHPdArqjl0!J>Elf9Are|fNS3VHNwjIQ66-R=^OrdvCPp^{;p>tMr zykD8`dve!8WSh1ALS|*ktH5OQq?%l;V84KLY-)%0 zZ2w*O-{j}b@tD4b-xn-v?kTb)$d5rAU<8u^73Sxy9F2(PPEz?8jq%n5ZUr_-22!|+ z$(-%t%kVC;CZ@Y==?5zvixvct@gBt81^(roOjsJL=!2;sQ90x6fPch*gcG$)^Q<5V z*vi~O1{C_KAOyz7-X6Crws5(TEljUW=(@nc-vm`fZh#*cMXji-|8id@w`w988#rXM zXdjAo`T;sb(c54r0CIYWt=;Rc{E@Csf9&)rvR;S`=rahB^^G6r%m7wDjSN z&elN+7F=9Zz#L<~eQ`AEOj?bV|UQd zb$Sd#4hpB62n%y#0Fe^27UOaJ87W}v;oAw5?Tk(!k^d8NXE~}P49%@_T>OkBlmr$9 z+-^qemq18{ju@0qj&0>5NUy6{2=FPwx$nG0%a;EDsR%zY34TYeMxgTabd}iT4EZo4<79UIVWXd}R5}*w#XbprHspX%BnSsR(r)O!PgZ0!3j( zXjLV%48Khyh*GjDetOLyoH+k+?|GuW?F%VehK&t!tfJQ8_FR9CO;)@k2OR8xT@TEv Sa;>!6L{+j<3Ld#)UBOVVRBz}2 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0085.sha512.asc b/tests/openpgp/signed/0085.sha512.asc new file mode 100644 index 0000000..05a404f --- /dev/null +++ b/tests/openpgp/signed/0085.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifV8nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcRZEP/0RZ +/NfygZwGOAPQmP6rMhI8Tj4dxHK7qdxH+P4vRlQ0tsYyKGSTw2+mcltemB+0jCb1 +zt75eajEMR/lOItAXx0EBC12eTkR91dkAQkoK7NThtf4aZzgZSqYHLfif+5rqU3J +xH3C4ykzbVuD0LKjRmzIaxQ/ap+VfaCAzYVN5IZf8e00WvzTmBIEBx0quviOLYOA +IcXFWoo5kVDBEYL8ALRLjGjyONfoEZWjt2Q+6iR8qX582isbA480IQWE3LmC4fbf +BbwHwpkErWNkD+NwBRZj3irLdT0IqWuO7z8bx5YU2y9RiRAYO24iKqlYewhgHGMc +9ChUT94+THil9jE7gOpavaUWGS+trq9BxxfXCum/Wshmc/8a3nywNytfM+djRrac +1sSmTWNO6scUZqx+cvFTkdDFPvnltA3wZBqDABqWmWovLBVJR6ljd2HTqNaNjUT5 +nDHLzFsUqlAjpqa/ij2SJt9pikg4XdoH6Vv2NUMmr8C3y+N+458AULIZM8sp2PAZ +YwVWtKU7NAueQ7YtWztlIPResDdms0XZcek1B3AnkN5ddJWqwSgrGeJ8MA05AX0/ +EYzQI3PuhzVcftU1mBERkMJ3Nc7Za+DUjaWmW+Z1b7DGxkf4xPNUknmiilduYLkI +lqaK8f3NzCDfF/1l4pw6KBtFOh1Q7PWajIHqhR0y +=MaZp +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0086.sha512 b/tests/openpgp/signed/0086.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0644bbcba4173f26d8599256d139152e059ff721 GIT binary patch literal 37 vcmV+=0NVek0Aj5B=u+gzB3uXge6ifn!h~+*9zcfp^o@y$NKyBPD<{iz(#IczoUB^+B*6`vZuQ9>t?`&dfP2Q<@42HD#nc$*WS-60)YJvG-X`| zsI`;wUYPxw6w~2JDsxbwap>N?ZqnA-ED_ejBrD0~S22MgMgTk7poNK2*PK zT`g$k%Pj5M8zD$u$6a+Ik&pywJw15UR^TUkw$_6nw&&3kv&IjZlX)El=6U&u6TIaE zGF-`!M?8F-d}{heG-qFhbV-6#k5@WqqQ@9cDKnZnPaIpBZ0sp|Hob z6q46kz1?i5GBhEy?BA6OeaQ)_a>uf`AMh#f%fLOM`D@fMS^1vi&I?x|Dg;pOFD`hG z?z$(XpNn9Rk+&Yo&)IkEDg{M=GM9ov z{)5ayT0j-0x_v>V=t1YH30#7Fub9xDi60F!tvu4vaH?g4WNA^@+sGbqXN+SQ8 zFHe*?P0#=6Y<{(tq2=TGH5E)njp5wT%bV4A9*`@i*ZD_uCjb{X0m=jWw`0jfCSKUZ s*Xn*kq`Wz)_N&{~QAUeBh5)U>ETo_@aUt$fz{i(8TU%bQ0vSlLl&BT|w`SfsLNv+T3*e zTIORHYYe-ukHs5>6?s%8QKx1SiNL=y|I%bNA8?1eMPkMa;E*|+wjur09ZbjtlMZ5Q z;|0iYIz-tS^NC;gX(=LO5%c{PGL5}3xdPUwb>Ad-qBDI>b)bwHx&sD^tfuk#Jhn^e z)y|=>L??pbsYb&Je22X(OTi?`{;yPe>-z-%0Q+UilZUq6PKC1^DP~(NVib&AvL-J8Ivm$RL+;{VLr5y_hgY zPqB$*^+81wb$8r0OIe9^<502`k-y-QU=dO0nQ2Z^Ku2|se+}7%HtwGYveDn%ljuZR z;J{AV6vm04JP=E|suT+gFHe|_N)?Um<@x_BH!1-(wksKxDoX2csbF+`N|Cc)#?H^+ z59tXelBYx;0=~)UCap4Y4Qq`kczZH3)g#C;_GhTd3vwnZ=}UnvnQN3PKnB(#vFzHc zLn8EwwNeL#K{AolP7m`w_~nxJ{e8#9bES_tj{Afp7^(}ZoW^3qnSBL>8>h`i9rNpt zhDeAv#I%oA3V@M>o13EF+6ef)$pe+I4Hasf$4U|mzi#=ekBM2fDo6z)YhM2}1Cy9GLmX z5hg}UD8?2beUE64R=W*`b({1?XUL!;z$>D_U1Z`pw}e7^5{7Gvoiki}fEttR2b^n4@5_leJ5?r{L&jkeX{O~~vIAK_EWcP;goz3P zDIFRd$pOTJywQplt#HFXB+0KAY=q*RWm_iI2WQV!s&^jV(annsv-vl_bQ2C3-BpQB zbYCJ=y2I+1xF9#eyQl5rK}Pjc=huMhLH)mv3t_uTvX5l!{IFXbnSC0u0E^7K*4Kxv zJ94Chee@F(isMF1(yEsR2=MFZ}AG<^~3(*Kp%dH4{zhFJhs zO*{Q_+iwC>q5})(!{tof)gX`dgxe<#p6?;Z{$3pOw4cjJUPiziJ2oF@A%r*}srH2Q z?8pXuC*s=vVpVd6Y-D>mBh*?*M@1vsc{Owwm)l&b!=EhUD8_Z3^Aj;L?s>Y{o`gEC QNRxZuRC)32IjsJWqEs#K{Qv*} literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0088.sha512.asc b/tests/openpgp/signed/0088.sha512.asc new file mode 100644 index 0000000..ddae9fe --- /dev/null +++ b/tests/openpgp/signed/0088.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifWInHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcw4AP/i8n +diMuwANd3bsISkjDXgLzsCFimTGr+dKfdRCNxdlAoB4voXxiAA+otL5xHhxX5FBM +yhXR5sLfdV5gxddUJkZGtvsCguZhsaK73uLybOqTUKUmLZtIElNehFMr3Mr+VtmF +FI4a/AJJ68TH5MazWXb5g4kGEaD8QlH5bLFNJfY3ZquOvgRSo9SPMDfHdq3c+qrq +uRh24SsIJkW1NoXb1bK81+H7YPR8l0Z5kU4aZamz8ePZvCxVBu561prSYk8sTl6R +VT7k+ZbFXcmH/vZEBgsgapCcXpZZySWl/X9nWA3k6hOvvueiKOrbFwbI3sBQPYcd +5KQyPR7263ROXAsFLjyXctUQgNNEdBP0E042EBNhJ4MqeMAGqES3oyoHAmePmwgo +9RC0mT4WBEeh+j23BTVWsg4jABe3abz4FpqYq9EXaEVBCeoVpNuPCCLgJJAOUaIp +mrpkR+dZNTWJj1GxQ6ory2BQYI82Gyk9p7d1aJ/gyQQjhNE9CxZW1PhiD2M7V3aO +CEu687uO1HENg3HR8k+Xp5/nNFKoaP8mAZotnZffsZ5I8i1qeQeG4u0J+9fnn6lB +5T9NH0zs3NG3GTqr67wnLcsBTzkhywJcTbVVryxQ2yAgrFavwIfvj7RzG0QYJTqF +RsiGy1mGCnrtIVcAb9RoQprabdbVRHrnVGExIa2d +=qzU+ +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0089.sha512 b/tests/openpgp/signed/0089.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..ad124837feb3ba3511285ceab78bc1f083476546 GIT binary patch literal 2179 zcmV-}2z>XmX;AM!GEq0)31LtRF|H_v24jc(;#}z;S=9UTEa#jEw_4R0Ix0|9K?>4R zMKE?UKF`2pM;=-Kvt_Pg1^m|)$ysIxo?cY{#OeZqq5zhvi%-?z(HqnQ&i7bb9g7}u zKDc+pEU?6Pv4Iw5(hr#CJ)&g3s}Q$SBHx6Bqx3)yk}-#was8PwiR3p@&thXYVszBD z)W=TWBAlNn*zsGplsF>~XpUe>zvP3tJ^+`FxPQtiWI_c(!kb4BhW)O1U-(M;Ajv}n zbTPm~*~gaxV})hNozPG%`>e%2%$xG`l15#xY&eb6u!_PcxW1=?;7i3NYO9ao9X3a6 zqwi28Yf7KYa~4OreKerIet0u#5iIR>PRE5cUgA91A~~qA?j-E}j@5$%cI#ShQ-<=| z7~;qhQheIpy(Vuk;Z%C^rU-zOqbQU~0(?lgIRQbaPy$yTU^HX~*IGg&ZI5ERr?}e} z{SK)~=5xnuY9*!UhLy`qcF~qQI`XfYf=h&$W+n)PZQP_w(+gs-Wgc{B&X^Pg7m-#v z?eF|_8OTd}TsB-1kbp`1rhv2{rw|$w#F~9JnDkQ#zkjI|3#Sf_aCy8#hZtvIKY$bt z)1|^C*H@d6r7{G*8+zLK`pFuW0qrnmZ=tD+m&lG#(hx9UYI%aI3Cx(=6&xfMmIr(f z4Zu*9#$-cA zwGM%L$pI!hvr7b77Sa>4OU2+6wonC`@soOSwoYG{pjtP}u;zwHIFHGipNaa98G| z#WRcf%P+DQ!nGI%fDOCU4MYFbm&V;>CIusz|~yD&mVhNX6RG6 z)wGQk++&8k$n)cjUm3{*LakBli`%ki?g{_FI$`%|DP`Z7Lq>ZUo?G`|c*J zKeUd$O^z@?WMH$2;K|+5wi63>Zc{Cra4w2uI0{Dl0#Jd!u6T6T#W-iPjM&D>QbnuD zH#gedwaA$zPT}RtOrtZW9Fzotr`fCgyO$rVUvgGBpfh}b;4FB5b-cI->DsT@TUHg& zX7{zW*E~x*nmEOBLfy)m7sP@=C(0Oq4?^r~tg430gw;7s(Pm5$7Lh)e+Y)|DNt$c7 zTVt&e6JX7+x$rE4U@tCVHk{zr=UN2`JH`!)e^F;`DY@KIp^DlwG9(!q_iUasEU^dV zC~8!BQ90Tg&o?s8i0tkQVshXXgUFL<{-hLMBrE6TP`MQ8W4BW7EeUQGRNh6R2wdEayPTl^~w}O^2Q~PZD#bx!dinw%6TU_>{ zP8!5T?z=J(wWJG-Ei2pB4Vvomipy8mnKv%bG^&Er+X!A8{->cooX6;aaicVrzx^}| z56C)<&A3)9Tcv!y2peY!8T;hr&>J(7N1V!DKHfSe40*07Oo&W8q17a!HwYCUiHp7Y zodQrAPm#O1`XRKUQ4yNh|N8|B#zf09Z67HNq;v@ArG{mgbS$`yKCt~bH!#hxq5f`} zK#p%0uo*GP@mUO+tprJ5^S|d}vNxzZa^AohgnK#Q-k)b@E+j5Y$m`R#7ix>$go-vl zD%Y~UI;d(hEOn&WF1eIajAHVO?~Z0vJd@6^7hc3AHVM03w>pp6B)IO9ZSPL&v>fgS1bFayY3cHmtgBhP FHZu%_FxmhB literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0089.sha512.asc b/tests/openpgp/signed/0089.sha512.asc new file mode 100644 index 0000000..7a7ff27 --- /dev/null +++ b/tests/openpgp/signed/0089.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifWMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc35wQAI2c +IpBpoOTpn9e7H6zVCQZLRwKz6CLGz+59Fm4Y+q2ynw+3casaL8Jd2lNjdEfEJAjY +hFpPMJl6tt3ZRJzK9anlQ6xUlUzXPgTEX9Unp6drw/vvzA6KTFygzfuUSybhyB6K +6LQzsxMxKfUt+4dXi3/9nZn3oJv4KC2uDiJQzOqbihZpn08g+94w7utFK7tZU4C8 +SMdVpLq1s3/1p6zXGM++gM/wvHnFFh7WGHTm9GHLyAuPBguPnGFH3Vn3/vdCMBSq +1BN6/0A+jS5Jp57Jcz4dYKfM/hREdXbEx14CvZ60H+EXOtdZQTMtIFSzP/byE+eN +STasAc6+y26pOYQybIISEOg5pHxkdvD1tSuKM86flkX9CjuA2dWsz4W0OMuefWvu +AkVRPI1gdymkdtwuFrIsnzCC/BjsXMzPwtWow0vi74r/fK/9/NOLocwE7ZIj/8LT +uepQhTwmerKapad6AiVL/rkgRsjZrjsm0NxMCRD15V0Xbytj+864XUyRF/BKGocJ +f+U/w/51fJfTfYkgAQa+HmJCvdrL2qIAbMb1tgKPki915x6iTAEbfg16CstBC38v +zjak76R4+q54/yDgxDuf5Q/nq1OsyBbFuL7nww8RDpq5bFCc8InWzF/a9dYA0IPX +1GvMTZM/nM6GcOPBPjH5C2e4ASG9Hj64Gjbu+Ji8 +=QcRE +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0090.sha512 b/tests/openpgp/signed/0090.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..5bd57c3bb3ae23187d94c9cf1f7569d6c82ea135 GIT binary patch literal 1782 zcmVv5@b$mw%pbDj?kQB>{~WYmu$?~GVa3^~dI`b=DJ@PAOwz&Vf-DL0!_ zwP0Tqamw4Nt2_BA4v7&5+gh9(-m-%TZ3}BzlUAn_dy7uIes>9?EDQw0elTu%h;dbi zUpzu>{8JslPVC{(&XA<~V;5{;|Fte>(ND;Gr~vHLygY0k-96yfy^dJK_EP9LFGdTV z({n}1*=^(jFvtUmEr@z;STTzi|0`OF`rRdWI(ers-QC+TQ`>7#U%{hKWH()y&{@CP z3@}0n5%J#A6Pg=7PCctAUv5_PPm3>eqR9*g8yUm;`B(-xDTmc@=xzbxI{3V)5m>-J zQX0!ubc+e;cd~sNJmA;F0b=L44a}pGOzWGKM2&yymwi+>oQ%^pq44xX}KT zpYd}A#`~Ur>(}(bg1^O{ix@O!L^f*XfLX{^1N`c{%c4lKAHI@(L9y+Xq zI^HlqBcu|1N^Aem29pxDJAFl+)}Hz$Z`P-TyJ#)uG>g3esmy=asxa(OL{~`XZmX>; z+Ct}3QhDw@9wiJteR{(1rIjX`MRg=%0$4SP5Eb=6VdhdUlaiz-$L#pCyO;;KA+8LU zg9_bK82{Oji7dvOQsroTpD~{6i3tahex5FIINo+bid~wpyee+5dS*p!aYrAV0HdN^ zPSc}b7;e1Svy4Q6)6+Dv6aUC1?>>KsO%vzM>npP8h6gTS#AIEE_o+3WKB2ii@BYem zrQYo5kT z3uc7*!`9$AaDRd-q>h-j4ed1}D3`FSS}$m1m_4i-G+C@2hT|1Qt?p`m`FyC_DH`?u z27@#XEig6xK#@fLjjAAw&C~Lexh-y)>ShBA;9%1wH0hrnSstD?&D3dY$1MK_D-Vc~o9#sNot^q~VrpPcUiw1pbMD7o zr{xyX3I9sk`#q_|hp>xp&LR>InI?8*v6WwpY_G_RrABmxX|TfOn}3uVbdflibCB+- z{VV|(o8ebWwB=xZAB<-#Lx-=`h01##kwjo0Jpf%2pmDfHEjE7d;r1$^Nrh0$9Cpm+ z0yUn3{8T+gRToOz*CK*4nTmGI>6jBir&}MDuYsOs?Ha4AxkxQN(7giRa;zYZV}WR? zS4h*wmKkQ0b@QbgHIj|4?uhjXDpJayeRi2xM9vj`fFN8-#$8e}NqJLI;g;X0V&ZIc0r+KP7`AY+<%0<$a3C&`|_#+iJl9M=c?E@G-<(6 z2Pt`%FUvR~8q0((BWNteQ8J#$gQFqCey6qwDb7xA1YKxn_rZq;V^yjN>|)_lqi` zyWnc}UzbD&n!+dXysu`qqvQJvZQLK9nUR=SvSY}c*eNLcH~z-)!HFrIPKhT&V3+Nc*W2&3brGX;cg zxF9)!;Lga3>pSqmJt5W_Y} zO2TTN4~Q5uaV*D<1yk`?61LbnflJ5o`$*EbMa(?bjHR4m$gS2S#Q;nqUX zOA=@>Wu=`$PD?0xbImnuSeLInO;$i>*_YLQ7_c}eAmKc)EaGveMTipvMaKOoOP+8S zUoF~L_5A;J-49vLzmXY|nHpKfM+DJfQu?k&zw&XgHk&MSK}55wfJ${}rmn2X#FI(y zysCg;G;YeUF?2j2=Tc)exc((zS3WNa!{Kol7-ZuRVj_CJR|GFZKJ<9$*F?G3wR9Rz YXvxA#1!JrhIw;WMd0gl(nPgtJu6uiKwg3PC literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0090.sha512.asc b/tests/openpgp/signed/0090.sha512.asc new file mode 100644 index 0000000..ce42f01 --- /dev/null +++ b/tests/openpgp/signed/0090.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifWQnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcwgYQAIDp +yd/bLLpyR0tyNR7neEOKAjrXxZs0fBjt6HwUeqVQswyvKhskNfI8hGOq8zaubUVp +OM7REDJpCkGeZ1hBYOhm3IuGIMElQDtUuCOEjbH/DriJdTbm8nFVuD9eLChdxXZu +eyGhuLaJk54dAKF8OHzjdpO/KD/t3gUTj0hQd/EdHHOo/7d/0vrbBsenstZNt6KC +GbI58My3FUXm4ahaSuaY70oXde2ytbRq75BYYRuVHyv44mtqjgxXGAz0Ap9+FQ11 +a/L73Sf6s7BSdhC0L0Yo4rAZz439KBtGiEL/+NGvApSMGNggKZvhUa6jaPRcwLE6 +jngy0O+eZIVMN2K6QK7RXNKAF4GEO9lXPPycTF56EYEvMjx6TnMKasPTuSnFdAL0 +WgiA1UzF2acdpEYM4q9AaxlS0GXCyNr6BH0RoMlQ7MLhNZjN4vDU4Yx0V9CdpR7u +d2VaNlNwdm6l2WCM7rdi2oRbwuuKaq48fU7mSy7sFWnlV28Dq0FLZejkANJ5dUrM +iSLU+0Mb35Ki8nDNMQ6+nMNW4SmP59VOCwXs6o+hXIoVUBfapWRD3voCQJi+g1A5 +IWdVOUTwIam6Rcts6mquVSC+3oUuqWBP6Ci/rZyp6RJb4rLJp3bG+QxJxsHKkORW +y1Zn1ynsSHtEAd9iS+r0BZA0Mz0rcyjdxWn/MXut +=CQmI +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0091.sha512 b/tests/openpgp/signed/0091.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..4a199b3433e68d4f55a1bd50780cbe7f5a0006c4 GIT binary patch literal 1161 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0093.sha512.asc b/tests/openpgp/signed/0093.sha512.asc new file mode 100644 index 0000000..90246bd --- /dev/null +++ b/tests/openpgp/signed/0093.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifWcnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcIr0P/jLZ +lp1ZFZqoofaGCP7XR+GMrDttfUSSvMcJC7sqAXRwXI/xRle/sB/CL+fW0udg2Z5K +8x9+e82MDOFayG/6SqM0+j7eC4wQE2hvBnNocpcalH1ZzZD1ZB/vkRCLPabe2hwh +xJ7D8K6/3NR25wWTrcy2ZcgkEbpKKGsV9jkz+XX9CIO2QstMjijFtpcHzYB/UHde +kKpOEGyTzYlet/gt/xpzSUybIV5Bt+ZVyLHU+kY1ndF1zWHMsbzieYuo4u8iAHX1 +n6TmxfHDA/sWUdN7rv/1/XOoc+jZz6rz/Bn3ODzPmLTCiDYcWd8f/b0tl7+wlix8 +1eK/LiTKlOQ9rhyxHHlYZgPJ6fPKOYRM74Iv1VEmyZg3lOPOvApZk+oYDdjnDX4F +WmlTzQo3d0OPjTM/FbY7Ee3+7r4+OsoC/528VXLb0frG/zwiPOxDNQcdihnGyZfG +J4llPtfiJkgT7epsJ4ZWKFSGSv3IIhU7ktIjynfpWxk0DPCxruuoIy45y1H0m8F/ +sAMt8jO1l73s7WWqeAEaAsGKIYuei/3CWxtDPDJx3SgopHKIoE/6Nm9W5RJw/ytZ +3rjyGR77zTg6CR4X8TYooAnxkaeKeD0Q1YJ3rxJ3sTVAgzxY88RQbfjj4WyWeeg1 +0FSAfyESLqg8xjuubmBhsOELG5NF/kOCfNVPHPnn +=Ey+v +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0094.sha512 b/tests/openpgp/signed/0094.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..70aadf1d291da41e0ce6fcdd2b69a5bb3597e548 GIT binary patch literal 2207 zcmV;Q2w?Y9M&(#xDc5qPorV)HmX&(Cjq8A$9Z z%?P3CKfm%rhc!SjO!=k1^5$Cj0sbf7ha@tUeQ$|Gry;9sz%kc;ZuN7uRZ$!ibmEQ} z1O*}DYxe>06I9`JO5^UOl)nm&k?7b$ekhppO)i)@VKE2eOXBIdGpc!S4!o{1ikZ^@ zsQ-7f0aV-53=~&T0M?4dF2r4BJQjw8c~A4KxkcdHq9I0l-yU9x+$2n^>EnBA|IKAg zLMo-+d$yd}fLrNAT&ku|U6a;pYBoF6OW3*Y3qb=1g@EDl+WCi>ahT>}s<}L zNyK&ePa_&D78A~OC6?wUBl;ZA)=oP%^LM{crOj9 zit0-8CyF#z;OJ7U*T%FbjX0nW15@>E0v`qPJ}4m%gn}YmA?>qVw3Qq)0Diy8ECt*^ zLOcS?W@c|SPE>+int))79LE@ib;;LHEf`JAw)Yl1Dcfh9KInl6`G=dm5Hb%pZ2SsZ zX)q{sW|oM8ZDG+zDXVnGnp#purisHseR|MSYW##UKc3-AX>L;3S94=^>@?@$b0XMq zm(8MQm)(RRJk)i_rwO)*B+d&4MNQgwhki*vpTe~iOwA?i*W*)MQR)guIzFW~=vW-@ z>o^HOZL5i=8uU9k!Be8=JqytdZ4uwaM6EruSYs#7*J4xtx-}8&(D!9Hxa=mRGk?Z9 zGnI{gWRGzKpp!Hi51;ymnHLY~VVND1Oo9F-)M-aBi1Kpzl>|Ho#QL?^E6U%DbQ>Ji zX1dl%wQ=!l03y|dNX$1As)e2Nyb2QhpoY2A+gPCMX9_U;#k+I+I=6Mt3OSQPPDH2lDoHWbLaLT&5th;iMJa_*srb`KSgl~}l1@9ClojN}b9Aib zrTt&5XNF8QM9BkB7sS%NtKnZ9j}Rf4;*G6!#u+i8 zR3KibB#dV}2bbe+0*5VM;g%398b*bqTr3&5KW0p0YPn_dMy70%!UyL3ylxqX{z?rz z)&a*e6;4=rQZuuq5z=P3ucKtXuqS!3K3VxQT>9wQC@K14gF7(tcac!|B6+J&&t3^q zV2s4+7|`o1f!@2T{=EpGQmj?mDp?oFGiTvH%vEl5di--^pwNg^2_P=8Hk3+@YHM{2 z_s+a-6V5;K`gFJ^ie)$6_<`WK)EoLs*T%(XR6}8dpN9 zWl2WJV|5v@S446fc{}CV0*!3-BJg!LPz*R_4x~*)G((7ovt(-W(^*1M-=Q7I7$~8l ziRJ}H5-xVFC=mOt_>(7U=FmbGK_OJ3ok;|wir*kvql{56%g~mOZI&5O3GdF*b_>a) zKUC;Uouf(ZWrT>EedFmenA|BcW^A z-H+R;LYUo5iJ3}xR&Q1(K2f%u^1`%@TkmBDuYTF{A>+rT?Q|rN9iRR34nJ>w;lKF8 zeDO_Ru;&9H=t{f?DuFvN`i1VatYaq?e8JXW_q$on)#Q$HOq9{{byCl|0~lwR$; zo;CiZLlGoP%NoLEoGZG<=041wbOKK``|7{o3o@XgMxQ>j^ZQ}hk0cDSE9>qK~h2^U;892Xlu1J5Zd)9C`o$tR>oe@sY1 zIYR-^{cg>h2u9?dm?QOEGw;cCqiN8}_W19<^w#1@3Y8ZI#X~t%o!?1mZxuS$c;l{Hdh|5+_0^)u>H@$bNA<` z3VE2KFNms7iFWd+5 z<%b5usft$Pi)foKEAP`3F4@Yx%DGb5aKcq>aPjBD@Iv;wtJ@gJh0+L~jJmR6@G7Br zDz)tklgZ!?j_9Vr;^S%JTt$;UwX0--E+M874K^*q;pz&?b=)Gs`Qdf9EoAoYBFTnY z+7LH?txc^n`@0#{Vkur6sVMUWXIYQGV>>Q$O$T=!Fs$4J@RLbfRMWub6@8SQ4^;kl zC?z(omWK29pz|1@wbaNT#LTb(xxP;0xBaEwM=LxJ_L1I~b@9}M z#X#g9AHPq3sJ>W&Kqtlnucy`zkn+JLnLNaD*V-L`L^e4#3>z}KqOOHE<_s*O=C&Hy zWeMRKhyH%+mH;?v69rq26Jem|-;pfTIsw2_o|&3f$(Z~6BCB#u@5mv$4qxkB8-TMO zGGvwq81J*Z#{!?e_j4Y_1|yInr@5ZvE-a8bZ%MKr^ee%VrCLbRv|F-Py)QY^U75l| z^TPo2qK^wHsdlS|468vX2cx6quszdg^&jC}i1&%FW4IZskONXX0dZn8O2y!Z@Kluy h!z|nYvz{qH}GB}3yz(Bc$oEn}u$IGjkE8f%0R>imEx%mp8iNwQ4 z)CFK(vlyWi*H`cxzg6Bu-JB6LRZ9Vv3|DXGKFKS8kp;PWv1suDw;4H6BA4#(tlTL> z&XqV_KVXY>gb?njkIZ@KZtp5dH2pK(+V#AlKX|-3>{bX`@y< zk@BFQ02tbZ1YBv;Ba{iuvzAUfQfxNKzlCSG}oBHQJusWynaaT=~|QN8NfW-PBBauqhfVhHsL3! zygwl{?J1AEvXx~oGtNp#)db)-Cz-&s_Fu*U#PnoF#g-fI>23fr+!iAS{|ZcPc-80N z>rPtlCIE(x*yw~cD7$k?NXY9^#wHO8Q4s15ee}=%t&ZcT) zq>*YrN>aP9Zu^rwi9k{vt)&U+yh)eR;eU{KPga^k~n&WZ&H9vT@Ht%%x?@uPN4Sp5Ym7K*m# z^J{il(;z_ao3@+^;=F1c-Pz(wff+m;TS`3AV9n50OVGF=QL!dNLRRD_j!619e(?!N zO11x!V^hvQDEfix{*h-8GgshVl(C$h#b~{I%zL{=toxv_>;NxwnWO2K48X1KFK<5G z29_JLJ2t2^P8Lkd_aiWxc9f^ISp!ONPSNs%Ea?uQnCfF9IUfrbfOy$6djy+*26%Owx1>W`2@P(&z zHRZ*x#$!h)iI7;Pf#^E1dGF1?@=--@v^2&5FS1Jt^BZ=*pDj#S5e7?F+&*|$>Lr8N zeHZ?B@xOu)1`^bjEC|{ud!`epmM`Y*UCD$@cFTbc0$v0jXUSiVzI80@FZ`iED(?09vaCFuI9!M|`(K^|70in?nB5$+suwpP#9TKH zI__0KM_p$l;fZ>gVX3k7u*#2{R-=tm6gYOvDG_s21h|$+b(-%xpIZ+&!vtDKNcv@1 z3Ho!gbF{Qr=Kqp=1wkWB^c$&1kBkm z6tbZX)#;2SiOO|K9xX{;A1OFwFvo@@r_61?`L z=0IEmc@aUj(fN1jMb7>XW@F5P9DMC+iVG?lxSMl%VUpV^EYq5Z*KQA1`pA?do#qV? z5#cjCz^+^nMflSojw?ev6G^YO)w^aH8a$l3>y}i;VUpo9&iwrwxI=ca(eO7%g3syRAt1_tmHRIYCC zF2owN$kI1q6!BU!nSi$);&WEv!=)&?0Di7#^4~6>b>A+PZfwZdDNEFG%4`SL0?VelTHTs`88~mjDZq}=aWnzo zH)u=`scykl}9JyYw>sz9Zaxng+7meqhpr`Q8|m6c(l8W z-G`j9U8HKcCGjkad4hAikwmaipdf#Bcq9#kn}z;@x=c3Dqb}wBjJ=HZH%eBSUo%_g zTva8we#Q7+p{8XwGF5!Z9b7AVO?6S;-jBjd02ZMnxE&jQ=JX+QqA_s$uFaHbkZ}4q x@xYVYSxQ6mW?f2TR09WrJ&#hBKF9f&eSc1@WM(pvc<-idVHv%T=)-0!xx1$_vq1m= literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0095.sha512.asc b/tests/openpgp/signed/0095.sha512.asc new file mode 100644 index 0000000..25222fa --- /dev/null +++ b/tests/openpgp/signed/0095.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifWknHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcMpAQANbM +SSGEV3kw9DM0dXzZufSLHAGccefCuXhuOyztn/mvOI8i7+F4hbjcBgkZ3cOmhfs6 +stqj66bcKGxED2ZnvkroYnfrFOEbv6GFgwv6c57MOHbgPUYUonlfRxol/rsdA+QL +vJ3xBay0AS+I/LR4iui3IRMf7q9K8WMu5Ufm61mOEdskOyxCxrZRuNomraYhqIJD +kQy1/nHEcQ9QMfikPjvLWrznSTxNIcZci3HP1UfT88d2idVYvOGMQB/LqPP2AUC/ +q5hTMvsIkfieuKju9PiFQ758lqWK1OUufMpj6AMhdbkRGGCUbC2E5ZHr9oLFBKzK +6I6nx35CK5MjAwVLCpN+Hd+F9tcd4xRx+/6+1lnzojWe1HrsNIW32STfjzSgMTwg +9hItix1kbdQTfW2U+2yzkKwDD99WjrXL0D1KV2pI+zTKen344PO8v2n/SLogUPAr +F6GDuWR1wZmufcA/XjTCrIUNlT+t7/63nJgd5VJrcqlvRDHLxAh717p7qaY1vBdG +D+IWJOfKzuGgjhcZ8LKX9sbiePOzZlHZNZW9ztuDc8YVq20KMgohBg+GsNi4eMhP +sOxdCdtHj019R3Qd0DvHEP8B0MAF/ub6oU3bt77GeUgb2zsiEdLxkNLg7S68gjid +gBuTvVZYT9NtdG3ncd5u70Cjn9yDkbs6HNk5NTWh +=kGKv +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0096.sha512 b/tests/openpgp/signed/0096.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..58c5092562b2963282c3bfdb14e0e424eed5683e GIT binary patch literal 992 zcmV<610Vd^J_fy$GLyJuA)cp5KNL0=o(8r3X68CL*~wgna&YH2L%0ABm{HFI2tf1_`g^C1#H&-ybR$&i>GF7nu#9% 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 f@B>o>Z-wV#{ z`WJJRuc!J>g>xkA+>4}{Uj)$3IMqF?^#lH~?yxP{sMuCql#lOI7@@;;C>`bbDgA1~ zS??ifa?xuh;%s8_`_wL_Y+L_~6$>&lQwOhFNx0737lseRaZjMVRA4V0(Zbkpm4mx>CNCEQRAxPF z=cHS~2@Ybc^mGF0&i-=Y7E8Z#ZQvWl@D&=~&~^Jn_@gy@-@C^bDL zrRWhK+Rg!UlcO_i0oHq-rUhgtfY{Vcn9*1vwL@-NM&YJ)bH6L3fr|VQNHO3r(S+D6 zg|nB_Z_>2BE)Xwu1K%Sas~5#!(Nr-Zm*P!T@;)a`)nY=OQ!MP{fhAUxl8zeixjdM; zS>RA?(l?(lwTidi7ierfWD3`aG(Qji6bpES>RNqmEw4U$Mc2%bbl}I-W^f|Kr;i6e zXzYHVVAJ7HXiSg!RjZV^b*(3m;?>7kw&{b~!G?z;!!S969&`Rhw4Bm4s4SJInwd%tYLFH2Mym}-%*10hpDAHjKLMi_??A2Uccu4Lr!y;lIGpTa8{>hgjMUy@W zMFa?x+(g(Q!iOuyirK|IHa5)Qb&}TsRvRfNq?rhbbqs5d&ziHMS4IJ$UTexTC37vY z3Fq;0s-+;hq#5+HV`vC%*_KYu!l30eWr_IHbQ`2m!q*3V33N)ei!i%r7&RP|9$l>^klwthB zM%;nGTMF2_m>H1%22rDGuP##98wp);gwBPuMH7XT4P@SM4o^;u`-fZGvIX>>;6*Tq^RU^f7o(h91p% z02%=Gg}`{6S~*5=>($PjQ%(XohR~h5eZr+6`r|p?zjdxDo?rT?xL}7r;t-(n)aqBk zS!%B0M4zg^TbHD zR|wK`(xK4i*UN&>!g4Ot3mh(ekQCiCqx2yhVV!fbd}_^uo#WZ=!n=e|cUwd9_0_Oj8l<&Dag%#oTDDfu^_Cj?07qTteYaPUGRTbJ>`9@=EG zEYOa)LZzsXEI8pI9z6gICs*aw&sXw7<06{m8r!yfAvRA_XO)=GmYDqa;Py zol+q*&E{{U#dG=oRTyP&+^#c*7LVMZ)liL5Q%0KoI`IKI&Q)6ld{vU!AYzId&lmlX z^DZ7AThtL7EzelaJqvO8;uU%XR$jAsARcr6D?R1hH^Io3bgp@G1k{c_VI(i$JX5Msw literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0098.sha512.asc b/tests/openpgp/signed/0098.sha512.asc new file mode 100644 index 0000000..69adf96 --- /dev/null +++ b/tests/openpgp/signed/0098.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifWwnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZco+cQAIfE +nTyd9mHm5GbwtHaK6TBzdJCf61CKx8y+5T8tNGQRV/PnxVXAjNKz7CJkAjYn/PVO +KoO2mWhqEcsI0VECAdDHkxk5NX69n63DJ1bHRuKc30H9mjvMq1u6v/e/7ImAPazl +6K4t9HkUAWlRS1STEUkFbzBxEZKDuo1EtoJcVL4CDvydo4hs/nte31xq7BcNFQJO +1NjXdYcOJhik50LTBwBT+yvCBWBTznfgIMwyrE30nY6SLyqCs0Vb9n4diEwdRbql +qdWBQlVgD+WOZjuR4EUQ20AeeraA4CfgYPOaZRJV1NCabODr/E1ZBDiHsSH6FAKi +n9NcjU7Fv2lgWB7eFnof4V4D9uvJrOCphtUfjPNn9y/a3AgfnGiNyTTXmlVMYo3G +TOfWEC5aZXYNb15IahJIfYyLPUqisQQQRIv4eTsYH/CahRQI07AqhA418KImJcgY +YY9IAkqObJfOKh2trkX3wXP8bKs5MerjZq8qVyebNjVdRSUo3DqtRUSBNKa9WxTN +I/jNElL3nyhgom1q6ZgRtEKLIWup5h0PFLYWnhorlz1O/HdIATaFBhCDYBZxlTrt +sRsfcRJT0GBcGvRZ9Q7vhh19yKesF9NgZCCPAUjVK85uR5Y6316H/AW2Ki5usrkw +9Im0jn/ZwIj98/aBjKnUG+orqhz2IWKyMLisEwMF +=hxo0 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0099.sha512 b/tests/openpgp/signed/0099.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..58c5bbb8ebee947ddcae381d170ca22953d6fc50 GIT binary patch literal 169 zcmV;a09OC|M}RtV>WB#s;-7k$^{(@={Oc}1?MrJ=UZin6XIyG0ga9flxXd#}M6yL( zvCE0)7(*M*1RvG|)*-}OQk`|Y^~AiEox~$mpMk0)DN5MN=n^hSbd5zLGw(i+pZ@K1 z$CFSZTv%c`Ot$2Q$Hr~i{8102m2Z^Y!?$|2tCW=nKEq1B7QsoT=Tz|E#Dc%O97RkU XF1*9StoB?xyzD-de<+70!L@R}4X{>f literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0099.sha512.asc b/tests/openpgp/signed/0099.sha512.asc new file mode 100644 index 0000000..e8354c8 --- /dev/null +++ b/tests/openpgp/signed/0099.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifW0nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcEXsQALvn +wcfIznhCyjMaY2dHCA5DuVJ429UU1vyDeIyt8QvBXi3Mq/6zOG3foCWzLG3x3+71 +TrSVBBrmP3v9X4w1MKOdrXMsaAvHR4hbPrWUGY4ziCvF0kCLpRohS7CdwFXdSAR9 +8u4tEdvuf3SzIO95QELDYWcdGN+egnXd0X22mBO5HLH60tf2gqzN3aPlkVujQiX1 +xhOSXtLd0FF8hgvleDmNohFEHzn5OZVICym7fHE8kan63gEqEziDERxf+ydIuyoq +HZxg2NnkxdLYvHScHWzrutNimOtxoKLuACK3ibiP3H79qDuQ7fFfbef+UStG2DjJ +vo0FOHeqYM986p8pdcRyYg0cKXuvuAsUci3bpBeMdqTCQDWgHylyFY5ywkVfLI8E +nhyzlb1CHW9Lz3e5EjP2m0xnyYXlE0I26drIRsHd0bdRt2GYZLwxjYnLIMl26Pd2 +1QjFsye9JsiXUQQNJw9FhCea2BcmNu2GrUKavHd5J1wCqY4T9YaDGfg5IBTQbwPu +F+E3pDHAaPtv+Z4QrqBdJdIKPwEA7FEpi/f9pyUyjQ6YVZTbm3SQ/EKb9ZRQ54oO +dhstqNYdS/kcW/hgYFBD5OPtlhWiETJfA6u5e7b85ObfGUy54SRCPU80NL9hrpu9 +XDGWzBqBzQa/sZ+5UrHezanHzYd+U5FDaURGR/GC +=3pls +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0100.sha512 b/tests/openpgp/signed/0100.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..a277f02721c202a9c70b22b46b899917ce57f267 GIT binary patch literal 2361 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 f6OikdjIBB_Lsj+ zj`Jl=8@PLoUVIC6n_V2i=vMPpiL$V}&$k;`ZO|!JbcIx&58lEpsMO}`(K94i$4{BFnjrUSPbg^7L*aK=T@y zDzk-$*EU_W%eZZWTXY@P5ug`iyj#nr%_D%0AFzT-{J)!}P_2WW)Mi#+Qa{1tM-1*7 Bv|0cF literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0101.sha512.asc b/tests/openpgp/signed/0101.sha512.asc new file mode 100644 index 0000000..fde845c --- /dev/null +++ b/tests/openpgp/signed/0101.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifW8nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcc9sP/26G +DkyF+yUnXLyt5CBuqmtps4Q8GwbE7K54nj1E+wl1yeJ+glQ+sC/An1ZQ9+Rq5Dq+ +SnzkKUw0Qq9l5k1M3wQo5//KP4wG4tQrNkKIMxBh81WK07SJyRFsgXZYQo4RCCao +hB2fN0w+wULrxDfDD0WaIqYLqvII+joE1AOsFFPpbmanRg87wbDf7CTHpqTAWcdD +/b4whd6xoJ70P7eujw2/IHEaG+vo6tZIHpBTObcyq4ojTw+na41Sc2wJhfsAp2zs +FKtzSvfZ2RFn7w17ymN2gCfxERn7PoX1pnp29/pwKrAPNW78OdCFVmg2dBmC1yF8 +GnMvq3J09VBmhg68GbvF0t9JFqS/RspplvXUrBwoe4z9sdLCgEzuU7U3lZoBKmj1 +i1CZfyKL4WUVcs4zSs87wphb8bFK9DZPp3CNHW4bAvOX8FavslmfZyiH+IJN5HDL +6Y6/PaJf96+LX/hbThflV2OoFqlLA7Lh5EoNpo/xdHxlj25011iudHlvoW0TUaiL +YGWmQ2VT+pSss9idrUCDZK3HllbgbsCuvzn3mRBLQrjJY811h383K00lC8oBLV8+ +UIgXJnkv4YoxFV+q64tPj4SAGI63YIlhBBGJx0xj5H7zj9yIpvLeLlJbNqHOimF7 +iiaSnS/988Ktmu4jkCGh8JyWVGQqJ1b/5UL4CFu2 +=2AbJ +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0102.sha512 b/tests/openpgp/signed/0102.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f8641f33726ea6bdc31c6ca0b50b719a2ee3a3ab GIT binary patch literal 2150 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0105.sha512.asc b/tests/openpgp/signed/0105.sha512.asc new file mode 100644 index 0000000..e136471 --- /dev/null +++ b/tests/openpgp/signed/0105.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifXMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcLyQQAKOW +FBWwTJapZjFiBmJ3JIvcrYh7VBzTXBXMlHMd22gmCJOSK2+jkYjjg5cCjBfWR9nR +pk2gQGMYCSe0rgmOHcD7cWIXKK3R943tivEzmj9glf/eaaEu0z+bEXxHq6PjJ+7r +sV8Z2DSmTC8EJ/xDaYv82iqyOMpkp5Z2hD2LlQfBGSqnar1ir0E9WoSeSkA49f+h +HtEzUMcf7UFmTX5wVHw5jKN4TOuwn7lW+Fbba+YQKHqsP6PKNZqDs1bjXn0ez2Nh ++c0eeaMPB33GyPSmIe9P/ZXpbTFbX6DyqbyViq1hHpaWhjKjFDIBZ4zk2QeaOi2a +3Fj+kdnkxy4J2h+75uilACCKb5NmJnzLt7T4bPCqNs9WFZDkKnuU55OEdhmizkzI +imtUk8PHQtSG6aATrXe7h6o/7PY/qkPqgJ1gHYaPZOhKjyD7mO6e47q8WUJIF8tS +UOQY1rONTcp9I3Ol7ZOQ9zfvyZMvOkdn93Ie9CfuL6rvqMEhCiwdehsugLedPl8f +zHxpnrnc6Fd735OkRNZCOk+x1FA/0nqkxe9JU05GNW5CbYjU6VvNC7JYZXXPNs5r +0rCt/XYF5+pLDSGTSWoi5zOjAWPOW3Aiv1YzmBONghLPv+RjeAXAK5hYnfZoirhd +8H26F8nEqHr68R86Q2BVqd19u3PDiJ/Ytz+RffSI +=aRUB +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0106.sha512 b/tests/openpgp/signed/0106.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..55ee37bdb6cc7de494c706a28321be36a04bc073 GIT binary patch literal 1103 zcmV-V1hD&Sq%<0AS!uRDP^O>Xw4j^yR3o(g^mUDWh(@9}2kAeno z@A0WiNQyR{{}b7VhE%FF?NAeN?|dcmOZ}ZN_=J8b!QL&hDn^G5HtSAuP3&+laHKUK zIxj7+SRaP#CC5a{f<*#=WfaHy+7 zO!1#CD|EdELx3yp-rQqFs2r5&{lDC2>wIGf&kC&V4y}DS)Ur|0idC~iBZlFR=P>~p z%pJM+;p9%L^;6yB!%FZ=R#+jpHU%PHz$E_c?Pbx%-$-7=v%av)C}0+LOFYd?)1K|4 z{2Q0$D(GH>$%lIQ_}@?WQD?#HOD-9bKw@c7;GkekrRUNtqbrz_j0F)28+riT{S3^v z)PDf|TqY`XG#}dpap5h)BjpvOq`e0Nenw^POqt8|lL2ApNX=MggrF7)w@5_HUAV=% z>3tcj(uMhCo}D5tx!J4_jZCEamjs|@0TFwb-tNyFmQ(eDH$tT> z>z+%%B_?3xVT<`x)Ct9F(PbV)&k{S-zO{AR?qJDDa!;kaUia_-kpjaVcW=k78++E3 z{AGYwsN5|XHKMH+Q+YbstAO&i%Hm0+;DJiW1zvqT%Gf@^sMDTv0t%`iiM=kmLkHdX zVT3{71&@Qm0o=(@;^5vUe3!>B%Nf#7RDhG?)QB-0!#mx{Jb?bnOhM3TH~`|`R|&Kg zqFS?0Lny<{h6-inEv}sZ#MVf`6k%l+y7mqakv_{sqIx<;^xcFkN7X9TSUUDLqh}(z z-yp@VO)+x(%{*(ohGjEM$R>GI!u|Ha#lU6_(W&YaEC<<;#`FTsixfHzj!-&?sP%PGEvWP;un+E!=UBWCjx5_t}1WyOif4 zZ7~aZInCoLR`sl+jOjzIUARD>z>BX_H2lv<7Ra62y~U_%x66Bi{3W^X1?i z$&(m1W0-dPbUl%Zj=ML__tsL-c7iRP-FBDETHm)p?1}l$pSuQ#}!SmJ@n_ zmin=~e8p|SbOWvmJ+e4y=6BrRh@(W``5baS{l0F3zB6QOXbgo7V``Rv-&od9d%dl_ zVH{8S&f2j+{t7~>yR0L_3tI)|;iXGP_x}<5@dibNL7Si3#2|6I$@rV2r~T_E6VBNW zOki-npwxm#ReSw(z>old(U?C4IOY+5MI)lf^Juee>af$iM!LHIPy0qQE1o=Fy}@NT z6@+B#v%6H7;v3iZzLBS42xLprI7hEA555y3=_2e29!RleHc>%k4>CDUj?j`;WPk=k V&1{zoqpaqZbNu;@F(KJ*oMF-{F~I-; literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0106.sha512.asc b/tests/openpgp/signed/0106.sha512.asc new file mode 100644 index 0000000..cf668ed --- /dev/null +++ b/tests/openpgp/signed/0106.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifXQnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcf0AQAJ21 +oeFRZo8LkizQtNZ9zFZNfiSRC9o3LUjz+VROgUuHtdoYFagRp75BuSGqBlL0j6Rl +qIY98sOfUzsD89FCStq92mKjxaoYwsNArPIEJ0p5kc01o3atNjqGSVDGvAkKw8uj +Gw8n2//Tqxt8OOySAgk+YQRlakrgmNrti4DN4hAX9wECq6b/PaOM+0bt4HM/r2nL +kfnp4FpNRPuL1knz+gk557UkfDzZCuxbjECmUhXHdCbBoNoCfCLuiGIKYkS79vAT +k9pU+RmoNC/v6EhEkm+rE2d8diIhFZ5LEgF158Qae+f1Z4lL45LttJ+gZcD/YVIE +gf+rQG2Uqgev9ZRPkgYLvDig+YuWgk1ANI32jn3EY4Q/37Rq3HBackP+z/Yhci0p +EfHmFMzC9gkFS7iAVxFyl47TpLYDc8GU2zlE8us07JGXhZS0CxXTyjU6Nrhq0JIq +klOJc31TBkcZ/rVUlyTEMUxeId8rtpq8D6wpNVubjE8HSst1W9fcDIMvwPj/s8LE +5qNCGwRrAXYE8EmayNMQWX2Imcx5mU4V6RPkihFN7gteQ/cnrhLx6YbrMKgKRjKL +P6lEi/Z9FQAAfuTQHWJp+FY4p9cMkZBc75gMrG0DEvgzQUgFlkrHXZtUKlePiK8I +sBoa7GR2N/UXQxscxaF7lY7CV15uB5Y9Pq6kUm/j +=I37Z +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0107.sha512 b/tests/openpgp/signed/0107.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..2cd2960f30d358156025e73d4940c910fe319cfe GIT binary patch literal 547 zcmV+;0^I$HGKdZ#1{u)81i`J%V;QtN6*wK%6uuY0U7+6mJiG=7?C4+Go+2g>Er)y-y>O3*{Vh6Fkb9+Hd{jHX%g9Bpgyci4)Cl#Nwvo>l+>k| zGK*92rt%6rcjOp>$@sVk0>0~lMlZ)4=o>&ZtUPv3gFOVOz46A8_>e+?msJ= zFG{>+H8Vrus_vyICokj8~^Byl6*KjOId%~M@n}Br~{^UX1RYi l4<^GRINdqCc!1AcAlOYz-Q?mifAcsQ`$0k*Zu08EE>+!85xxKb literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0107.sha512.asc b/tests/openpgp/signed/0107.sha512.asc new file mode 100644 index 0000000..3b4b68b --- /dev/null +++ b/tests/openpgp/signed/0107.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifXUnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcEuQQAKuG +3o9fo4Ak/2Z9+wQZL8yHvbQGuh3kt+pruqBWmLXklMljBfQ2+66WnqHwPj8n8TgQ +oXLLK7c31z/tvthj+vIJk4cB1zKbpxHmQL3G0sI0bTvdpxvQbncQ9isnQO9o09F/ +3P56idDuWaK6SQs7PzQKzM2JGYTpwbXSTsrDP1qJUBA6+wRzkONgYXHFff2B0Lzb +6rMIdkHJSlILdS1+dhm8IrytYjgPpR2R0Diwxoc4E8fNC615FyQwAOV74EVl03r8 +cSLY3mayIOhekx1PzMCfrO4muh6SVuaqLRZVu+qn3qc94BXJe67nUkBsK0SHWwpL +LCIPko+tpgX9Dn65wH1+/IGX0cHdDsVY4UF+0H/m3fYJgLbRtCbhG5SAA4OmO9gz +pzSffg24zToFMhmAQYWrseJzG/c0scwtiOIIDKSUqpnCgHU2AeO0gGG9ZlyQUOD/ +6bsbrh77UXuJ581iDa/JVgDMbWQeVSpCFjLeCIkfRf0U1Fp/sxoqk80cWbTfe/d+ +RbYnJTOmgzHWH+SHPa10xk0NoiRvSK/+3NKguDg7YvOPusYafArnYWCXtJtQSkKa +eIPEy9l+QXTKF5NVVEm8ISUGORprqlbZ95AfpLKq73qQxwYMozgq1JNuSjHOKQyM +zXsKZldWnEjIZftdfE11wIHlLvEhVCzOYRuDCxlS +=HPSV +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0108.sha512 b/tests/openpgp/signed/0108.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..b69a0c73aff89503f1085cee965231175c168ae6 GIT binary patch literal 1642 zcmV-w29^00lv169+BWuB5(J}@=u!-=h1x>L;@iOrvZ?b7I`hS|HkZ+gI*OQD_01ol zOylBOp^UT$^TqeqY@VqKyob5O!UO|iMFEubg+mnMNeP80{sr8c!g00=8U&y8Rv6a( zG{<%WkupEa{{K59^-0nYtDxdUPL(rOBFXe7+BMm4IUDr2AEaHpX;iwMm;%dM8Vmxt z2V7z>n9ffve1WFKvp)-ZE+`wqr0o*{0fCXZ(;NlX!^^)$ym3|P+L7t39$Q(eb0UL z9dG)CM{UO8$@ZEU3y$Z>N{ik{pLiBwnn93F__|;3$CX@u^?7~o^?6fY5Zzl@gE% z_T;B)Q-5aK0l=Hbt?r{t(rEF;?1Zl#z3hn-?4&<+!8I9iV8FGvh`s=Hi5yGgiEHJ3 z{#YoBRVxa&ad`VRZdF98((>6D<81qdX`f5!oSUGvec zleLQ=o(2b9BJ;F2kfvt3d&Na12pq)A@SFLn@o_Q&Sv6#l@PY44Roo3jnv8?8EhmYc z-@ynZl@}K43wsJ!>h%6QlVa6h(Ir-=IQ5W$t9}jA*z{V`vE^b=XHn$i1}(ns`=L|c zKZ6Bia(ho;@gc={2Ng!Pm*xDdlncbR5L`iHy^}AK~I=TTj(o zF~eCm&n)ieFy3G`xQz2IaLS#mNf#yO>*7WZqKsW();5PwG;USAb~c9<70&*x zTUsfgQ&6j~eU1=w(_o}!QIcklhC8H9(jvDXGj9D*2=%;OiG{ad$N=h)0@%tNcAdZJ zhLr2%^y#k0weSF8i{-XN{dN4D9*+@vVCsYdUL%nGbny6gvB-=R6nMPNv9#qRHocntpKEX;12xpuCKL-`E5XQJbgSI^xMfG4Hs-w5Krg4isSyibFQUBUb@ke2}M9H@ER) za9)yvAYKtA&4DGLJjl9l7V48pQ#|hJteWP zFq1*YU4x-em$Ba$byG0_v)hLTyn8Diw&?3?SmXs7T+;#+J0GaL;GMKAqE$49bvH%5N4 z9_%mbKDD-qiTt_JiRjdD1xPqj!W~h;CrT~_ITwW?Gxm>y`b&?lx$?iZW0OAcrQ&B& zz6o^faEVPua$ok^Uk8cJi*R5|LfW?nCjU~)DnFX#Im37O`(+r^-m!^F$Meg!)^9TR z2h!?F|DPfNJjdQAjWMOleVz5CI&Pp19l`=W{rb0kErOp@eRb#D8hL;@DbL literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0108.sha512.asc b/tests/openpgp/signed/0108.sha512.asc new file mode 100644 index 0000000..125f58c --- /dev/null +++ b/tests/openpgp/signed/0108.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifXYnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcE04QAMHN +dAIAqNunWe2BrdAJRY0VWqgQTEB13rpw97ht6M8VpMmiu3vaRwjsM/LMc8XG5bbP +VSQKgPWTb5oXUUJSvHtydYggXmPZn6ItuMlZjUxiR8waYESPbnoTh8dEd32YbmHh +hJ7gZ7BNloKeZ3wIWrpRDw8OyfhZ+JYVcdgCAc4InZUKuNPOARmplgihBwP4ilfn +PMS5xYx0/ijIyjzRLtzKP5c4dIflAEqQifU1vjSyhfeOSvV0u9FaP8bMTSyJS1kG +CBWvtwND3XuzGjYa5h2iv3C0tffO9WlvYgp5U+LTA4iWuh7erkMJB8CNfpKo0TNo +OFCibJOFXJ3Fv9iMqc77smkCZOrN7C93+qk06CyfewBv2AudjlnAM47QP4ARRfL1 +54QQ1e1YFk8feHcjnEn8NifJH1v/L+nTFOwdoPaehHqvPLfZp892mi6Ax4e8hVor +47v0/Cscfz3bPnyG2yq9O9DWLA85C8vQDttcQEp4C1vCdWFb5uiMz00V7ePsGBjg +K9T2VRajFRV/eVC2I4TC+nqdS/4nuAtOiv8Hh1GqTtYIv2SBMZLgIZ0nDASFcWEk +ro+A89qwMkTtvtmeSXsNBB9Grb5gyoDPViw7VKN0dkPRKjCwKk2IMVtcajGKvV3j +amfGH+buCLh4l4c512qo6G9l1wjRKTaJpPc/5Dw1 +=FD4U +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0109.sha512 b/tests/openpgp/signed/0109.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..645ff972b2cd4562c57227a3b382745da53f0179 GIT binary patch literal 2487 zcmV;o2}t&B@c3I@EFENH%z}P^3SwxdE{D7Arun|CE#xJtvwb*^t9SBbm*@#)U@zFc z2MKi81N)qZkErp)^sfKdO%`G&X4^w}l8IWc*(eXk|LzS5W0MVuN^OBce1l%}tcSHK-<> zjb9Kb^F;Rr&?1C>H>P+Dd}XzLPO-@K`%b@l4f1CcBoj>oV)+3|10?U%Xx@2nvVz%# z-mGFRT^1V5tM?!PNd0mAB}_01l$1d0r9yu=67YsHfB1%Uy}MXZ;Aso5`m-Pou8b(5 zx+Ldnr>U{B7xt2>YMjIg^IUdyCNq318by_4yMLS9H5jmw8-|Xu+l)`*{-V!+Rz!B? z#n>mk7`Aef%IX27Tz-&C@nomq@)G?X>6@4TR$WwpO2kIxg(c1Ua-qzAeAwA2*I%$y zfxJa!O=pd-pXC^RyS?woSoEyhdHJt;z~ytww2+?S>aF9mUkxY2Ks7qmAp3x*o(1jU z5C~dwc_?`)v{+1^E6o#&+M2oqfJ&nL4L*(g)`#p&N#m9OftY{hy)AwHqu^@9>7n6Q zL7#Y*n2S8Vpdf1ZYGq+YjwAuOCS4C`?nnXNhK*2xY8%?ke0|k5F;iTNGre3P*U|&; zvt`_x7}NqSU=lkBbXKB+BEes{~J3td{3wNo44L%@gJa zR@Uip6GV?nG@;6O`OgN8Q+s>(-gMOnIu!sgTDiM(FadQmsI!T8;Gn#*i z{7nj{w_(R>jouljJ$8TT=|nT;w_7&lj?Pj7R&>`tm5Yn?97mf9m48^q@b{-V+u$74 z+5DRxlrHDn4UXvbSm;pLzb((^5R2e=damHu{`ykGXr})zH{lRd)NXseo$&Mt1WfE$ z?`>7T4`DvKccL&8WKnoIm-5YUxpo1v#HyVDOkPNdTOvej@<+ zo!n?I4v)Yv8yzIY=S*p{*$E=Ya?%G2-?Aq>JlP~l!^9CCROgm@rDWA5|D@z{~zmFFdRKfz@!5Ny-G?8Bb;Pvnf zZ7>oK8$xSh;?;WpyEHYTWp~g}X`NGLT#J4N(i=asSpg1z?Pb+H6{jCdtqh8-qu2EXmvH zCDV1TGq1$`_tH>D;plUlwW*#D7aTbkj|3UGie`hZ-_zA}mo=bsiIitS@^ktyiJ4%r z2C1D}be?iKt$4c{>yLc?9Vh%~QlECD8cv;6#Fak{$m2c*OQ3>AP`N%OwYwD~+!$E% z7Wv*2_;F-LePuKhR81)YZ>OHcJ{i0>C;2GY?A#)3?>L2qm;waf=}}D99ws6FX&EDuxl*yyUE$vcM5xbgqo}W( zVxe=#pnhrDkD#W<^gJpXUwbR zAR;SEU2JG>3FoEK31F_*{&2D1S$X43K?bt`bFaw^jGTp3qk@U$^@yzFBBFw6J2F#l8mb7*aPb zxR0G#pHGiq@V~f@NJ!}m!IVor&$`b+bI{z>kMF3Cw%t#q;g$A*jw%nj zb-$|cX+Mj@BuK3D%?iUpYoyyh@5Peu|8Ctc1&STm>CA<{;V{qIy5i~=DEVea10>UG z@Cyudb-%N(M1sBo0B2lgy!iDx*HMe^DNXL;@VNB`MQ=pdRjeFOJ#mC5OPlpXWSA9j;sa~pe;1>k-0IM$0xtXvB$75C(dE9<*E^bq^;D}0 zX`o;3EY&Kje-agAJXV%$nL&&B+2?@m9~S%s6(e8Hb!8ww4&N1Qt+?j`#3(kHvFDy_NSh^dT%&~QyT~>`QWtlTru;M zoDGg^mD0k%TK>|GhxdYH!1_VrPgRN>v1#b}NeeyX9Dui2Q8x3`k6We|tkj`Xt_Pvu zRb=_0acL@S#!KpMO_EsV=W0oyEt?e}ipaA;A5^Op$^q#SEZ&XwujrA6h4LM9Y>v#P z(R3vDJ#wjNh0YF@3EQfi1QSJ7_}3n={y z$=0Fkst#lE$6)uL3q%Uosw1?( zkz@&8(thQib%! z40S}7G0Zta3+vge`mu8NRwhJ!ZD(ijhyre{L1sL=ten1Kzw(*}vul zDz7K@)Zk*CGIlicTt|XTgFYxyXY9#TgcPqz^*fVIM6?zK9e~B z$$tzh(;WqWzr1S0GRhsrMvUI`?vcFDc0dIcDZ4u*-p;RiWcyG8tq31qgn#=W1iq8t;LQ^>~hsB%I0)TDm-f+lj^C}iabkuaPVuPpng z9z!%Yn=L!yCf#`vVHZJ9IhIFeunWA^q9J|nHh`x*RvMX(y_p-=A%L()5N1wI68y*| z?wj%#9x0?I3wTE~iHOa_;2>rHCoXn%a@g>fw}Pl$B!j?El_nhEd>B39y;a!PN9!2W z&v56e$aY$?B4g?~oc!|Em8>g!czVE-HB0E}>G9Vi7->bXClS>?fjj7 z>#8D0a2ZodKA#acuoX!Ujj!H_dW{xSh}F8;21a62>3x(vNxGgpv0ueNKDb0BT-MV6 z4mO^Z3+PK-YIY+1?7d>T;ZiiA13Flge)OZ~7pg`r*%oebZK*NJzXcWC=y&aCHY)#0 zh(IZBmUJDO(qHAziAD`ZfO&Ug*AW{)>(ixBdio>p!tf@_iNfVjKnx?^c=aOK)S78OT8FvYIq}uFe>A7Y3CC# zZ5WbBIrBB{6OZ4t5A|B&KiZ&6F3Q|5pI@AKWP5X3?%pqbbh0!p0xUTcc1Q?E%y}Bq z5dKQl*$0Uh|K2!0?ywr1YC%Gb)xds@dteuwB<1yT`dqB0lebmkzb2U`K@z0EBW=j~ zGnzIb^d0+(OV6wWAg^d>0Y`6(CA{o`$RW*TG3-V52HM8*YiZs{Pgmd77Hrpf_R{LU zl_OKE=ft#J*>RZ(a8Q9{X*X(h9y*Biv&xX)m;~cdIN+4>>{Wbm?_*B+>s{Px%G47kPXy`FX7PRGuvDK`WGB&2+G>-HaQRU6HIqy*N8yLpM`P6E zE6~IvnSJYvM3{WDSQKnrO_yodBYDFSU>(C@o&u|3Y=;7w-`gbnP!g*%4zJ0`G`igE znC^9doCTOp4i!zAHBC@aqczf&=DX&NM>VV}y-ZHuxKQB_{$8Pr3rpMY6iz_dn1-l8 zm4r^(<3E3#i|0`Y319~!pBC`Ll0j*k9BMDgm?Cf8F5g#xp!Ec*>l+x@F;IyIOuQ!%tzH-QuYsrE=GSYHqqQw%(Cjr4rb*1~_AyvmmKM~)n(Elcp;SFP|t)Tvfh0 zCV}_P1crsfHGV~`Yr8QSr6c^tX`$$7LmJwsGM3trazxPad^|{JCpYhZxYHu_8P0x4 z;$d(-HgXSBn0ibsrIJM65WSsDvQE z!!(W?$p8ogX8kG6FgXAV#^=zEewGSciWg_NQ9eeXZo{;ApTiC)ThEEG8#B>O&SBH> zf$QaIwZi)*DF-6Q?z4NQ@5TBqabH)Z_DwblF!Is0>pM3G5s=ay7?&G9Dj{Q`VUnP=788TX19Yn3YH zY%OR#q6Ch9y=PQ1nZTQafv(wZ$>I+Lrx9)4=6NCraOPA+5$QQck?qP6$UA>b`Q) z5+FyKQzLZ~r#|CS_I`l?dU;wrdsVD(7Tz#O+)%6(kYmFR|2DWG0buou; zd2a*UUBYt|$SltBlUr`ChCs}7OZ7st!^=2K^*w4M1{=>H+MbQ}$RR`@LZ^aMM~gaB zL?%)i8S`MP=4IJai@b*geK#;{WNv#Sl9N_R^s(_Jc89%6%a=_9!)9*c<#8nSn43N0 zAa&8VV54VC!Oyo;_7dF&x#?5C!9$jJRn-!&x;c!EhmaT%p#jssDiI`D!gS8VE5-@v zFF+eU3nkog^vzTCW)gaep+6Nj4Kj>@tK0Qsg|K?h71Yxk5Hq&_7;yFkeqKB>HZC7r6*iE*rFnp9Tt4}n6Y{I zGL$9F^?@CW{7Pqr))u}y*X#1`h8Wixb* z0r407cH@DIzE!TgsigMOY#A`^EzU&)U&Gs(yanUJ9!n2BOLgDM&|!~G^9uRd@Ctu6 zeDo5F0ZnEGS(0i8KfnAnX3b>&iLN}X46D>*J}hGx)l8)^QG`NMAxf%C_VKJNEP&X) z)t#gI+t^e)icQkG?%)l4R+w4jV}O8lKNHb#W1zL%F+xbb9Ee+PGJ`$BQJF4EJUiqk sSoE>5LVzFExK;jJv$1vy^P;pAWJJy07G^ihCu3lY^ak$?wP&F$7zIA4D*ylh literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0112.sha512.asc b/tests/openpgp/signed/0112.sha512.asc new file mode 100644 index 0000000..eb756e3 --- /dev/null +++ b/tests/openpgp/signed/0112.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifXonHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcR/UQAKIa +6R1HNuTWLbPk7AEEHt8Bm8QIGIS/AXogiv5Yjm6522kRHWrsGLUN/tt1Q0JAiWPL +CjjqGZSAPuxuE9u6DDKDvCI4j1/WhMZ5ldQt2CCOaCQR5EhgHE0uaJqA668ba7k/ +l3VJrcF/rZfdK66W3WneVLIbaSJas7sNZlWeOBGqSYeOC6QvEmwLtXNS+o0/6/r5 +rks5eCIfbsuZ2XdrZo2W0rCKInNSc4JNISf8tnY+2s95mJUgyo/Bt8E8pHn3Dgqw +0wygDXHNtPYpJEe0vSI9oX1qc5K3xJ65hnQi671BcSyX2H3311aStagjPphcAprT +B3Dx7IM9hZFv2hXzwyGemvp0TEAYLoziczoteJhQGbGRTTuy8aH9WfhybqhA8Cyi +nl2RnoSyKgU87d2lHE7D9f3pjR3uPm9yBrjy2auHcw4RW6VfGwWR0c0XzpEKS42W +tEFEZGR/jPsp7eNZ0z7UweX0ARy47zIqAzovLmXXlW5EJpQBA0QmSzzTNzPtuoJy +++5JsEcIMVi5i/PXhN4Sb6yhFi0Bh8UoMS27n5XJRdFtj5p7JWAAWrzSBCuDbt5g ++osUA5EtiBNNYPPWYK0vTHbDYFhGkO018XD4GjL9Gx0l4mx8TVCSYtGyJs3uVYBK +NBzxv0/pFJ6yUIe5WvKlGxKWqeGXpJ9X1U9f6DWa +=Tnij +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0113.sha512 b/tests/openpgp/signed/0113.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..38d3d86bbd6e82337ab1fafbf586e2c60725422e GIT binary patch literal 1650 zcmV-&295bi&97nUW5%*T}*DF@G5I-t=zUgqov%Kj9NEDHs?$leo19D}#I)0AF z9aJM64E5d;wnTBeeN`*nDbxx+f=?QzDDnmO)(s5GlD?%Q~GrShgLXc=IMDr16u{wqHUHQhd8(Jdz*<^09tyIYCy404fUW`aYk?#b24*Y>u)Ve}0c-n&R zRYe8eFNGlI`5ni(TC}MN1gl0q%|RGKeoJJ_l2YX2bTarP>$REW#S~~DF`&O0SS7R< zsMAr|zQ>{Am53I?uK+OL#CXkh#u#YfN@ne@k zy__WRi)BdxirI+?&ypqomOSKH?Jp2Q-({wFwatxcawyB0cfo4bKY|RX_|2M2kOW41 zGNeDG&R69l5<+zd0hBNW51f|43CK-~QGxJi!D108);EyCxBJi-6?@}7+dU)DB_!bz zPT@!JEm?W6%r+FZx=IFVAmH|Oq7cVm^tH%ZMX#yjnr2GH3;w~p9>Q~_Gs?A}dk%Y8 z)x5+ezQ#|bVO{2L0ZfzZ$}0OTHga>>v;4#;*IBi*zQAb8g5e_>?7LZ*R%H@L;b5OW zE7>Dth#uArAFXTk%4|zOIw1iY7v7Ijo8|q>brjf66QUy|gza77*KiPtY)NJN zM%2NjS7c!+ZMPWU{PBg5Tv&9nqH>$1aSJleU+@lHZboOcnt4Y`hZXHw+&D%G4RzHG zq!b~NNZx5@6Xl)mfl*gHVaJE>{6G@E?rxow4CG7SYR&poSMMHsW`fX_0%qo3PuaJR?4 ziZl`^tR5b5v5##wQ~Hs)`DtqP#+DX)!g`Ga1-LR)jk7V~$8sSPFkm`*4tf=?((lPE z)zYV3x4qebU$t|7@6f*iI_>@ZGB%kPqsX+jHp`~=5^rurT}ov#c%aN@*$aOFWhZfI zR!JTDP7f6jF$wN9@KeDoH{QqDs&k=R_V(k_A=V4h*3c}2z30Evx&O;+V zyot2;9#3VuyW5bV7K5JNah6NgNHyi8n0%TWG54~T=Uj2i1xEO*aQET}(yt}`+AN)~ z>{%4N>LtoUynABTU)C)p0{rA2 z&zETtRkuLhb=@HBym)Nl7dB3$6ybOM;-%K7_+A{_XaMxrb79sTD0(N1 zWU`TT+dt;sUcZ(SwGMuO!(hSNXfimt`Z*F>Iu0h0Zvn=R^fz!>kdEUVcO4x2WB6>) z*%fUam2`PaNIEn2wrac5RqPoR)$g9t7OB0g(5e0)MzHMrrc~jJmq5v>xb#L;p`Wm9 zVHwY*C$mvOSmn;R+6aM wAVP%uJ)VIuqK{3mm=SJSs|21yha!$_vSis9HT(%d@dsczpB0Bx2pM~j;dewYb^rhX literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0113.sha512.asc b/tests/openpgp/signed/0113.sha512.asc new file mode 100644 index 0000000..10ca86e --- /dev/null +++ b/tests/openpgp/signed/0113.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifXsnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcgH8QAKp+ +iUWKEKlPT3uqFFkrt+smt2pm+yE4IBEqUcig39valsrR2TfWl5UKMJ7/mCuA0o/v +m13QA8L3zG+XDx1SIfoqRKVROqLNPVgBhTXMEybURpCO4DeffrsUfyEb7NSXE3Jd +/fbvG9MQL4BWvDDvCElaLk1x/PFvXn13mU7tPI/Lb+Kzd38jmXKB414kn6j+kPFV +bDM1OVKFfuSsgK4BLwGBLNiqeDjTv0mTXWiz9biBPMNwHk6ye14JxBheGHRRnsZy +tkIrMuv1ZJSu0OAb318DLirtm6Ci2ypJoOtXROnWlhAzskrXtfY1gcDGPVP8kKqJ +yirvyJo41Gk4xA54X5YClresBSsN9oVvIN3y/ewxkKEo3mokZoJDAwWbWniCQtAT +IcX2gEf5SN+MTc9UHghYVeASTFJDaXBVbwOzFBodp13Kl7DTaQvMojHNhZtduQ/9 +j+4e5l1mMrZbph6lMUh3CGrIpe3n48uDnimoQHZUmCBMoDbCe/Iz+QT2Og1+598T +elzm+uW3NR8W9QedDqAuyMaj3mi6264/NdhbVon/ZcAXO3IMgmrFWNu/gOVRznJm +iRIMd+Ig3Z/R5exZzREzq+26Ca4IaiSmPW7SebU0a/YHPDbS5he7y441OYjdb9Z0 +EybDyU07xC9G1ZXPmLJNYBq+/idgJrsuOOfL+jVt +=/uvA +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0114.sha512 b/tests/openpgp/signed/0114.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..66d98514ad693739b705e685ffae3df19b26d903 GIT binary patch literal 398 zcmV;90dfA_lDz)2rp{OyCnIm{3529CsV^zqfq z#3NsYJE3(Su+Sa!sDQ_gyPSJxacb((^*fzUQiJ0z*zgNx;Acy9ijN%w=#haG1tXYu>XBwUCj21mVZm&;7aBP9 zs*`A=OhEFWPh>wkk+?hNimoE2uc1V&Zr6_nMn!=(Q+Abe<0eUxlu(3yD7MSh^iOYh-@pO(J%19#}ih#X^b9KYr}91D=lI_QlUkCJ*3SS z7MIK@+la)0bs{CrbYZPPT(AY2?mtOyf|iY5`bFQ?>F>Yw zu3lJS<=K>rg1RGrqS};F=5YDt3GrQ6g%aEd$*mFg&$=2|-BEbUBu8HZe0mjav(b`t zl1oX{*PrG_XS{H(yL~0A?kYT92lBbM!9G-^zs^AZb*EB864{GX_}J9(p{3vY3oQXB zW0`svflD;NyFB5WF6kju0*Qfe+G)+)|ZDNHAfS&mXkon0*0U0&Sg4 z0=sI`x8=$Y;3Nsx6ms*Z5#G}fT1LuBxEpyr^U|)= z1>d*q>)}d%j=g7v80FN0Toucjb`P~=}^xPGS!Z z@KKPGakBK9++cmDtVPiU*v{!nbQSmhCO`08_$#?*asCAI!@p)cjvcCoEwV)A8#I2z*wfbwt$1q#mrZNWzbXK z@pm9QMn+a&9r6txkn+A5^>cMt^B8wV9RpbXB3Ubye<+o>uEhL)&}`%)J`!b&PUXYG zU_l_2E`@m_sBTEO-t9KcUHgeejSISCLS8Fmgrt`p)k8rH4OCy)w#n52GC(H^psn4v z^pAhw9ZNj8F6wRLl7iOG84`)4O*~g}%hs$slS@5<_Da4aMT%eaHPpVzjaf@S8~;bA IB;rMWje1O(vj6}9 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0115.sha512.asc b/tests/openpgp/signed/0115.sha512.asc new file mode 100644 index 0000000..0b9d1a6 --- /dev/null +++ b/tests/openpgp/signed/0115.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifX0nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcEdgP/Rjg +KS1+g0ewUdnMvaGU6GJLcR8EoUDxdL3fQLeLT5oUZlcOFEI/DVxmz0lTWHvyTXvk +pp5DfKKn7AVfXaWA7Oaat3Pap0gQJ6vydmL0q3TOe8ubpSvjMcJDC54Av+zrVkMW +ZvyCpg+FVc219jPC/IYAfUXq9TUjVq3/UFoGSs8TrEqzNmQ2uFy8C8NmAeKcNv+5 +0PGSTiMiPNUAK9ry1T/wgTNGnj64Pq+s6FWCdEPhU4UuHa+/2ekzjkPFVjmgNYnj +MrLoBovKtQe60w/KzUXG6XjL4Cyl2BssmYEylrs7+ma14AHGokjG43xxjWTuMmgJ +HGR/qsqoy+jq7DXCyiBz9m6UwVuPP3XkUDfOqRxNqRDMQD4PCFEI8GNLZitGBYkF +l2D4CWXs1TxKme2VE8fYtWJFXDJKAELM/vPZFUV6Dq2b9cH8asOh6+VDI7L2ec0Z +F6qah+FXQtCYsA4L1T3P3g6kFqdi84nLV9mM07V+1tQ+0S1Lcrun+HF1bzpW9QpP +/h1WP1voqAcVitOR8YJKu7NDOaPyCNOmICg/CFOzLVR574CR7aevcPNprGq/YjHR +zrzfbIsDcTmImAkWBoVjO9XMBhiLNsX7gzhCyNeVSugjxE1VToDPh9loh4Ukc61O +53B7SUTkxAthZt2T9otZun+Fo3BZUw+9iMg+xfL2 +=FPes +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0116.sha512 b/tests/openpgp/signed/0116.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..98d34144b2cf821dd26873a9e451ce33b6a2c8fb GIT binary patch literal 295 zcmV+?0oeZ7r};gjaD{w0)hcSE!<= zA>@cW+B{FXsW4QUd2y}c5$#`u*eSMpVO9; zc!$(`fp=&h?clI*KGi8;z!h%*$_;~mV~p$nm2$o%gwZ^3vIq=RPUPXV7!e1#F}nK$ z+o;S!BaE&lErsJk+`##gooTH?4v=6TMlt){Ok)6%71o2flwchj#Pw~8@Y{N_K9QV~ t4Z���j+��Pʷ�1�=�s�.o�5 )wb��r&YU �:V�>}z�\R��S��c%��٠����ǫ�`���K_�Btq�9;�1Q�N�%D˘��yO�����l$l�\(�?��R#u�E��뵵���� ++�ܝp����eq�oUK{����yۘ��Ցc�g޾c}!��l�ʈ��t��O�G�F���~�����4��b�����![��q�k���*�� ɑ +�5-P�\�|�^L��)�B�1��r�}m���X?~�j��`r#�"����Z+ V�*B�Vm@���SM?~�T�u��˼���K��U���y4;�f†�I�ḣo|�h���!R�":e��r�����t�����+�`�E/[Bq�57� ��v׷��{��lU5� m ��e_�Z������.�l����Y�Q�@Pd��Hg�1D�kػn� \ No newline at end of file diff --git a/tests/openpgp/signed/0117.sha512.asc b/tests/openpgp/signed/0117.sha512.asc new file mode 100644 index 0000000..631b162 --- /dev/null +++ b/tests/openpgp/signed/0117.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifX8nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcV/AQAITe +Lh1vvpsAnjUJeIimiOthq/IlR8O5nClf5W86XVXg/3V0+oIrXG0S/RISfKJ+sWyv +sG5iYUa5hxh3DNhCUrkcQ/UwSXLoGeEp5a2QRqqAoigxB2XsNCM+k5uqNuY3B48N +Yt9Ei534Qs+TwtidPXpGC+tXCjhmgcUOvgA/jlwr0oAN+q6IpgXKzQ8OHpqCZ0jo +UQKyUlLpQ4iXpl4GEys2wcHEG6JAIP6+BxiIVHKpqZaOA2Ls6ZiMwjJXgyNvvT+1 +9ZxNcTYrJzgGViyS85lIHqlzsr5BG3pPGSZ2j1IrNs9zcwC1vrVnMaXGJkoDG27y +U0YiKbgOgl6ZXQ01Si4Cc+kTsGoeQ8KbI6w3oY36hn00edEgtkxwh3iZLRjATBuB +0Fnhn1bN46mEjTlxm9Zv1//OR07msm9H4FQ9tpVQo/8W/9Yz+0DevBMDwErZ3/jl +3trNq4t1MJKSEJrfhZUjZqtSjGx+OIeCcatWe64kaZdRaQU2+/r+iW1k/dHk6AOF +Z1F2TFp3xxrYKmvizLQLKR5xvnFl24tBrBDihXZGtzRVXoPMDOWJtVTDXHbUuHZc +L1I/KOnxGbT1DV6WEEyfTP6PpMTaULq97sB33i1a95oNHyuhY4Jv9AHxmXRce9VL +luQ8fdY/3sORjPRFlM28ZriJ5p5qDZlBIkXuXeYe +=cDNS +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0118.sha512 b/tests/openpgp/signed/0118.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..6f344e339ffc2de26d24b3869389c288042128fe GIT binary patch literal 466 zcmV;@0WJPADllG1Ap#O|M}TrSEmpB(3Y1vH#Ym!2@Agh?%*X_bEox{Ok7L~TPwnuhDTzilk8ml&(?`h`nHo3&#-3c3XlF$~7dF>?<>LxoMnJniCCL!uhq3*DfRcMEweYWLJ>vU6)r&9nTLt8~pB z<*-rXJn-o+IMqhSl*!jDil1B_=FD(c4YGvgOD_8XJ1MyE~M(@0nq^p}CT93hSvjyx63r IOf?^HxL613vH$=8 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0118.sha512.asc b/tests/openpgp/signed/0118.sha512.asc new file mode 100644 index 0000000..9d96284 --- /dev/null +++ b/tests/openpgp/signed/0118.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifYAnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc2v8QAMmX +F+YF0XNGLNJHUjxABgvlubD49ucEdZmA7eH3H99pTKMfvmN0/Yrbu+28FwZ5DBLV ++LZWtBaoAqbi7LrzZHi11meMFa+6NYv1SKCv574iSpxXjDwcFLhwFUdksEuSwcAc +FFso3nEYA0/R9hXeFtkeheFa4ATQaaX/e0deD1d2FBeY9VH2bzX2hqOriClJY343 +kGboZnAXMS+GosssoACwkKlB30axUT8qh3NP8xh3zb6K/sotz0dxmHE4dbf+Q2W1 +FvnvZ2CrDDtE2F3EGPFmyfUfu1EgG8ytQcSGvtSOY6nDzRz/Q2VXrlw4dbURvHpr +N08c5HdzaYA1rTkc2QNr40ce9paMreO3Eu3JkTZTagGr1iG8xbsbvRU6x6dMaFPu +MH9lXSM/Z1nOg+D5AVEiD6/4ImTUHPprey95Zwtj063GYlzoK6qY7DmyFBeU+73w +rOnRvbFUPG/aLGWIWCro6FNQZ/sHg6VP3cbIwWNE3jK3A5zkD/dPl9jSi8b9T7Fk +0wOxVGHiQh0zkpEZ1EX2I8Bf/dys/TMp/B8UbR9nkfxcLyyw3yTC0r7Ehzn1aKyS +9SqoII67zWRj8IJHbso28SK4w3yRWbhOySftEeK2Jxr/HV4EEguI38HnpkhJitvW +mTA96iGT0/JppneR9r6C+MUWDXJ1QvJZG/co3BSa +=qYG3 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0119.sha512 b/tests/openpgp/signed/0119.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0d9329fa98285bfea64f99ba0e72aea0f2261ce5 GIT binary patch literal 1418 zcmV;51$FwW#xjuJnh_AD^>}J0w2upjve#tIeEbyoLgq%wLz&+$X1x~(Qpc*%I)?Q_<3ht*qh$s7 z_M$63^T9jD>3<}QRM1+QPeX8_dSW>Ulnq z*L8REHC|0QZAG}v7cML!d&0A#%4NX{>XIh<;=?z|Czop9Y1SM$n#kSfJJ=ll7N%Yy z2zU<$kR2L}BEXK9r83J6ZyEC%7!{Zm9qh#sh(t%fS2%c5Rl!3sT`u%%%Q>L~Q<)J| zC#Ajrr~FP74G!6!3po?!9BmN-;ApiQ_$w4+dui>$_FSXO;536?6jz+HRW}6|YJ++> znBu|A!xnbcYxV+#JYsw)LYe__oFj}7Y42l`M4$^&-Fl?5P<2&WuMg+<8-h8$3iW*^ z9|hFi?_E@ET^(B+I`L4ak4I1_{YUw}+M=GwgUdHLdo@An7Uy&3Ypm7symIVpLWE0) z%?Ky@7bi0_J2!BaGylYL)Rojz9w*c!s37rE4)L{9nXgIKFr>w|)Bzq_lJ{wT8pP)& zTZI&9B(SABT0~oACxGSfDX*8^%!$??dk^pGbWmepl(}J_*5dFnn3= zgg99=A~1hfDO*{wx$OMkfr1d{jvV+>{69Jy9N62C?9q|*o0xa($BgM373Z7~Mopm7 z7|{D3ZW5NoWK(1%kTSHxwDqeBKDtc5Q@a&&w{q9)E-TKFnRD5oYxO3f*Zb|>5o5$^ z!J2mjHKEHNoqcDhy@RG2(3yDKm0R3ix_+)5I}syS&C3dSy`@DB0-sBCfX=x})VFY+ z(%Mo+OJ*KI2AP@CJ(tDJ$5#TlTLW;IVzCbf>^sL@6SZb395gescTUH~}q8@mQ5>hx_?Nhvzk!nJgmafyc~;)&|^E`WwMYt5iT=~116a7NPat8A_-IhMWRXnuWH=!��iC�=�&��?�����A悎�Iu���Ʉ�t(�yeF�z�".6Jl�f�]o��s�zw�S����FO�8���WS̒��J��_Zߖ0M� K�]Myw�֖V?Q��XP�H9���'+�|(xJ׍�?�*!"\U[9`:�s,�����g��W��^##�N?q���o O�炁��`�ZZ�]&'�����[:2:p���V�\���>��g�O7��J��r�d�\���f@m� ��%����V�O�i!4��q�X�a�6!��H���rci��� �K�`dZx��qr���$�<��� +����4 �%��2���.�I�a�۷��Wky�5�:�j�U���G�X<�F.S�4'|Y*�n*���D� y-ݷ|,D�׮4 \ No newline at end of file diff --git a/tests/openpgp/signed/0120.sha512.asc b/tests/openpgp/signed/0120.sha512.asc new file mode 100644 index 0000000..7ecd76e --- /dev/null +++ b/tests/openpgp/signed/0120.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifYInHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcGUEP+wTe +buvlaMUiQLHJIWMU8hcM/qSOlbhzGCcQW9rrnyI2JENYq29jb1+abLuy+h261j6H +wpbYfD6jeP1edn6AFq8tmxYWRzKEbY0amyPsbDEAYjF2baSHuf6szaTy8LEjX0H+ +ad8s4t/UTAr+EP/OMlR9ACMch4LR5U+B8OZsNleBZaveVUORkPvoiBlgM1S85J3N +E7/2LmhSNKewuToTD8U1Yj04FS9eAV0aXjQO9H/DZduEQ6YbTl2GMDmYSrYNOLyU +7qCkgxiNjm31wpG1jofaNChx91BSO4hVjG20llrArTEI8zB5X8dyggryassPtdMv +4IwYIU7AjO5XH6wB1VWRFJYlAxBuZEtldDo5xqVnG/N+BaQ8pLVokz23YY4u5IlK +IgpYPqIYevGty3IjslwFHXfpqNSCmYrJaxFMSRICrDb0BJPF2hQJhHTylJWeqhhZ +5r/R6idXxhFzBxN0JD048C6dwAk1ykv+vw1wLCjoXCfKM6YDW4t5NIytk/NciEZx +EfBOZFIEbZjyhPa2X+pINrecglUNRoM+uyj9u5ofMeT3o4c7rqPyjvDzRjhjKZU1 +m/YsfKCFxKaPjzflen0uEgCWeb+ivgPX+Q317BhVKehQqeVmVrkDirTVy6wFVbbn +TgF8+VjvXKRv2VyJFgFSnbbu6x11a55ukOxEMEFa +=rFzf +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0121.sha512 b/tests/openpgp/signed/0121.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0c55a922b7097aee72ca2c023f3276c7b0c7a98a GIT binary patch literal 1932 zcmV;72XpvnP>pN@Y_;}RPcrF4p-ucNxpK|zU|DlKGlYLwngn)fSt3Y zp%#mJ!y}-vcWlgkcPyi9eTu3zk~pq>*?z1CWj`(Qx|6=fl^z7^%`Uw#Y5|PQRXBeX zRwP0so@`lSdLD-IN1+PHzf1R43i-xN;rRT&a)W_*0(k|8#ALOZjcHB@9-$%u0|*lim|0|zGH zigDg07JcUpt%8$m|CX)lD5bGT6kgLH#V*O0GCl|$kk97JtkR=bf(aC4)_@DdAw z_`$Hb#?wf9UL!iA=fGSX8wbek7l77ho#3cm+N&ch-yNht$5E9_7_=%=Dg7qRSxB0x z$H6^>Z1gXyu;TbG4m`85PYf|pSrOj^s*BV$Ug?8lNt$WU#pn4~XrIub=X_L-_9lyN z9Hsu>pg@3D)RyPVXtih0Nnj0GS+8?Z^&y>wZRp;TffSLgz9h|;i>~cgU$2x>o)wvI zaw~vBa&;YE?`JL-2!+Z^`o)}YMP6F6KnV~1YUWk&IJG^f5Ke*6N&N3n8NN*yA~g<&l3hy( ziLVgtN$F9RXv$ir4`=o?&WhK+9hPkOX6=KPS}TK^`w&L#JZs6POVnR&i8HI zh!_gt8gBH8wwmq1i%6WkrhCKmNJfIwI@BBwN54r#Pur1g76jjRkhKH{BEBZwQ`TnI zg{_%aIfD&xuLTSzW>r#_0P0=<8{W?rPqYnM3Y00d1u+7N( z`aF#|FsQWnQeGfcN8UG-Dr6~;8E}RIla(F6`AjjOd%`oFn3&!(Pv$b(EnqZF=SJ;N z2;M#i^W>jlFemj*0tr!gG1-;Sy`Y#leWVb-aH=exr(e*f^}3SA5$*qRnZ+G9mG(20T>v2pvcrV zBs|)RpVY+IoWULPTo?*r*4-=kwalO?;CJue0$Z5ygP)=`h?*y&{wN~JBFu_OqS?7d z?~m^Dcuy#=riB@ZQ8C2AnqgB)twVV<3DsPN2`vZ-m8RlGhwV((E>V3-Eyh|Ma)8pde! zx&G-9+>AcFImEgsj3u~SkaNn;q1p4qM}~y$4m3C8mo?;glEw;(ZOPF&?tor1k2MK1 zP_eRKHKa~K!op*nfVx-0T_a_k-+R}mIdPJUTc(ge9;4M<<+eQYth?t&3tJX2_bPK3 z6B7sYi*RY$2Lo#YI5Eq=cHTShzl#c{A<9v?O3JK6a#w0==Dv(WQPD3ZGM!YN+!!0~ z3YD)$%Wv~0E#V6gecp+`zNpzqsW^>QbZW$t1v(PI13L#|+1Qoe`cJig4W9YP#<;RzbsdfGEXO1C)>(_EpDv!g%UXqMbq7GKhs) z8mHL;y9t-WvryE7L$rL`)`BTvxeL>;yW@^tJrhI0a{#GYdb<+V0|lpEWH-jiM?m8P S-*U+>xuJspNjhDKQA2tiP{4lx literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0121.sha512.asc b/tests/openpgp/signed/0121.sha512.asc new file mode 100644 index 0000000..1ceeb2e --- /dev/null +++ b/tests/openpgp/signed/0121.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifYMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcb7QP/0Kx +GKrMmiFrzgmZ5LCwWMgYtOs6sadb6+HhuXrpYXdXvPvFp4Hi2jOATaX4JO9Xbo6+ +b/80ls27dKW41GXjg+/hxFur6pMi/N6O6ZT5fAO4yX66hgTtjA8PXNM1KL0qOiAt +xoPHmPGckSn8x5qHCe+VO3qep7P23zHbJNGMerHhq4YL74VKNiuTH/dPdt2YNFWy +bTvGMDsio+1Z+DQTlnF5cuf7++u3yNwHuN+WLxv4Ty4HTANkVqHVDt/MTKRlGtNm +/iJ0RGZ1PiJAhVgxAx7r0moqN0uFEjICZZ4NDPv5VFkcVR078oOTJbVfJtk5P2T/ +2jfGoIv7aOxyRxwggb1GYlCcpM/2daaUmS3CBmEGx7Ik3v54KzjQQc6rtkX4Cdo2 +eBjPud29OF4xxNxgLZUj/Bp+UcVZTJfDswrssCtubJjBJd8jbx2jwHcM+VF+hqOa +jL7BEUbYJ9iwycMNkN/hfv20IwWRDbjh83RZUgWdHBDyXlMaMFaIs5EKvZJ6/Ca3 +8dMRF6R3kCf9HfHCbtwBe3rkntprY+9ALlEj+0GtGob8rLLPvo0pBlkXj0aF2Bbr +qxfpWGgqswNQ0krTyS8leIu0avXLL6nywHXkse3H+bTUBGACIqFznjQM3ezRLlfU +f8noUZ5e+1QpNQchsuUhiD8GWfPjncOQD8qckvd1 +=CHMp +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0122.sha512 b/tests/openpgp/signed/0122.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..ab9b033d8044648ef9df34d788d5e1c6b1641848 GIT binary patch literal 1394 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

&v?~a2{24 z1FoYa|E&Cqmp{=BvdoBJUsbW;GW8bTN~FT(YJ6qK9v=IE;-dxY-851M?`o$6Hk65f z2TmaJeFlE*jDbjQoCZ|w7r3`StPy;`*=K9w%Xld=U{32Y6(jJ z2tJUXL%bkt{}9}IBvxc4+gwMsYa9h8JgYq=6zL(vBq;kA6nj^v3AZ%`Hhyn>9G>r_ zFne5a0?9i)*MG&XAir=L%EOG9Se5WIZaY+E8yZ57;A_qmp;SjW^3|&tK;VReXC*o@ zV%Tq%NCI@1=tC}Wp*N;oL;%f4IWE!W*~UaDZZtl2;vAdY-~4mXF$2C3@ZK%IpepB` zNs)+`&VRSA-mpI49d{knGsdHV5b~?ao#-Wl(>$dOwweT2h%PVL!ciVQ`>2RHt)KN6 z&VR*$DaEu=SGv^Lxye(2-N0;<2(eWIpAJJl(Ac5xqUTtaT?Y7z@cPv(9ui zkfxna?vh)+A@A&jv9+CEC339K*$3dPmnXbc7Yf+&hFKhi!MXVUGtsq1@AybT>GoJ^ zBfa(c^xTs_O@@}4v_(bi=Y(Bc30y=GS_H4(k_dsJl^~Wm%!4aMxtxj@cyVnttPKG* z>yZIK0Y0t|!66Zl_VEKXB<&hHbv^`DjEXn7ZF*jxmmh56sL}ad3yDZL3d~3wo%LE; zFR2eYXxd8o=xvrPVtB5GgU(A}5Fwoh=mK;wJXYeg9Y=TSLa3wKLDouYu>6pCSI`qD zJL(UQ?0G^g^j}PIQ3a-p7l~^5V3VnH_lN>F^HI?gF7ZjT3E+43+2Dj{ZQZact|8~B zqSr17zv0RA4J;D&WJ3-aix)j$u0&UJD(7(2&e6QHRM(n6$wfx+kdlO-YLrRCnJ&f& zT9#{k^kY?$wyeDgTk;6T*u2H#B<*Ts#9?cT#(quk%yf>tq^Nw1p3o1&LzYl?9`Ze? zvxZ&^HPinU=bB{wlDoqBU6mR0wxfr0=*M>-aSWk(mUNnoz9l?lnN;mY%dQMjRUp*_ zZi5*0G+i&q>8#M|%(r_dqC}ZtE1qxk6s;SVCxZ5y>;{|kBx)mx)!IEPKLZnGk7B|b zORPb>MvRQbNh()Tr>OM=sKC~JNj(@rdzZ<FFC%xg?=p!-UHx#`v>ybNcgUs-cto5}Ag0XKY6l9j0azCyJ_-K8zR*a}vmr=UkbNZIw^TKH=6W}5u=)^yuqVE>(#!g6V%t6GN>Do> z$p?uUNb|Y);#1I++LB6xoQDVg^NBNkDs2es-Nv-T#>0hqR}ALa0lbt$V(z4~*X|*H zOLwXz=(v8W1(o6(*+`sLf(tv~d%zk(Ev`UvVI;f& z+H9a*y1VFoJ_()I8*~<_f7qrdaaw}*?sKT7*7`saA=!`^2cLVMQ0ojb<6T`3gAtS1FcrC?f~A#YT#vuOAlw{UAffQ~>c$qa zUMl^&f}(=?d84jwGOgmiroc>fB+9H`^SKLiE zwT*SX*Sho+0dD&1f^bH8+RvjU2!e|~Y&d0Np(ROS>%=iA>|rUK(2e#3%qCZp_HnZZ z1v0}Ybm@Ind5D;wUI<&l)(@&r&X5KN^=^}Yf@OQb{}1>zL}*E2$?j?aTv0AFO$T3N zL<*}yVt+&u)}}7WgIj{&C(l}-p$K1pf$7tWedVgLcLkr)MlHFr*j^EoZ`P%j2LkM= z#1Z9YX>h^}gGP?B4$O6!(}2g*k5UcMj-RrGpBZP1?J^6(%-C1K!yF?eVzE4(KHwF( zqFQ{~-GI6wf$${v!Z&3rR?x3i$`{dy9h9RQI2hC~&zW#z*_t(?rewu?>33X*)XY_>C`B#jBa^{BfGbC>k64jVcCj+I0> z-pU{pdAtH{yV!S0MhGr3xDz)5=*z-*?V$fuHX4BbH%$BlW=&(^#k&H+Yl){6p$ABv zL{N`s!8>6rTm4KHEiUnt;T&2goy+9TXvM%eALtRn44;c&*DtH@NF1X*wiR<$JgTMdX0H!=Wm zhs2)uiX(V5zIP}}Z9oodC~WXVofJ@K%Pk4%yDGvfI`Ep EVpNcHIRF3v literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0126.sha512.asc b/tests/openpgp/signed/0126.sha512.asc new file mode 100644 index 0000000..f8a78dc --- /dev/null +++ b/tests/openpgp/signed/0126.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifYgnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc7V4QAKY2 +ncAYak7KqQi8CNbqjwWCwDqeKqHPF+s56Tt653ezLWDSB0eRNC3qyjjX8+thkzyd +jaqaFnu57FjHwgW+Jc8K0/BXYqjcg7IiWI0RwCHV4xYXwxo4Mwcj4qMbIw2S320x +VlI0ZvOMPdZzvs7kHk9E1FfTIRUSPFxOzrcPFuOrPrpr72ainaXgTIs8D4wrTNHl +nJ/y4X/s4lw9SVHX5AJ0EDAxe+cpyhJB5ZSbltDgym4jWavPtyuRVr6cHML4ElrM +Tysj6YV2mt1Gtv+XddERvG2L2d52NLIr+IQKqVk6RqSepwJUTQ1T1O/ea99XvzBV +wNqZykjUEJzhjoJxg4OAyRY0q3Nyv88hqGZbpghc6XgaBSti1cvPYtYSFUi4BW71 +SLpFayjnP78ZbVeznFxUtBu345czXxWO5YU5tg+ZSSGGmdMoJSFplRYvLvrVbe5e +6ROJXx7DyoEj+oucMHrG5vMRSqEq59KVqcDBQqiBQiTLLK9cvHSAE9pvLORQ19Ae +NrGqG390ok2B3esyjbJWqxxcbdqv2rjrm8jh1LUdwzbL6g2yoOYLXi73hU9GPktM +Z8+sVLlU/qpCYmKkpcoiAQ0PaTfcA30rMBvwxNa90l/HblS4WsKrtEcfVxnsVdmf +HFh5k/ZuDRtcHIwQ7uHKdCkG7liqDO05zRIT5Bpn +=GTAZ +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0127.sha512 b/tests/openpgp/signed/0127.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..5484323c202a91a986e235303124b3a510afa9b3 GIT binary patch literal 1839 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 QGV|EaccJ`VUwwcuQ$V@LW&i*H literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0128.sha512.asc b/tests/openpgp/signed/0128.sha512.asc new file mode 100644 index 0000000..b9fd6b3 --- /dev/null +++ b/tests/openpgp/signed/0128.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifYonHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZclEgP/1tR +Xk0GjMSWjhspKelnbBNcAtRXgaAiTCdwb64EvxmHU8tVDG1nVAJ9NlQJuj/JOi+R +LmSM7PoujoeZrJJjGDDkJ1t8uCR3uW7VMflgeISpBvsrGznZ9QhUgPb0JMPgcLxk +U4XFl5bqVKzuMS+hLIwDIIBSffenjOapr/rVDMHHmtbGsu+5YAjYbrpsc5xWIA6/ +Lmjzy59fmVOXsAikLEjJt+fxXMXsQ7XWnyOghbaLip/bPuX7VV92Usa0un76I+NZ +fzDuj8I4/G8aOzBWU7Xe0sJxcjLPl8BHcLUgy1iKpfxaVnoWGdodjI4NGP3TzCAJ +JMY2akLkXxyw5I6Y0eZD2R3z05eBs62M1Kn9gpm8w74kDKYXFmx/ZgVYvh9xGD+C +mMXcjuv7Fsa7UnA+VMpAMQbJSibKKhlt+8XOPsMCRnyPc9E3AyZqVmHdsUrMxjr4 +o4Ct6j+wgUYq63g2SILIQqOsl0oLYxqpvAQgbNFKfCh7q0sYbcPVzTJ+FHQDpJ5v +0y9Zi+xQ1RzQ0HwK4j5ASCnGJ90nkmd3lHDRCSsH4+Ibqumf+jSzX2E0pSo1IwuN +vrEe/NIQir/Oqh7qFMtR6zuq/f3JXOjfagcqJghiNdRe5flMpqCo5IQR7pQzN5y7 +w+ani1DPYOwC1KYboQqIdZPCxrVMscmFb+hvZEhF +=PXRH +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0129.sha512 b/tests/openpgp/signed/0129.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..922bb238337a47d684023573b0e52a9101e58786 GIT binary patch literal 2422 zcmV-+35oW&0f6~?$;?YViBOOag*_w^u3&20YA0GMES-A`a>QoCb)^z;;#t#dTob1L zl3}q4&-ntkuOr%ctmH6gKGUvn=Ip>PEw%1dyTPYg(8IZY8F=3ztxjiD9x3GsBz>Kx z^Kz>VE#v;VFOC0DS}YT*k+C!!kH5M%42au*RAdM|g1;$O7;;rw>w~lIb^>hSa0+X$ zJvuQG4nS}+qAt`?(BlUam;8bzch|x^EhOUP%p9W0B&r(e#u``f3bxD7SSuRRIz+go z5HFq;R)3vVOnx>2KxfPlQ%vax5KqmYQG#84CN>lgzRg*!)~Pu~ggh#-ZRJ$x;}8%3 zzeTG;)e|Aa9V&O&{4Ql@-HD=%U#Oe1Z*OXiczlPt@N}mWy3)BG=Rzto#R8zE50Umz z7FU5A?z*4o8-v5H-UH}BsDZfLwU(4XyqqwYcD~%KQYKc|YAyH52zgy*aG1BETI`OY z0EQ-zgWS7e5QLrSA@R3n+FGa)DU}y|)#_vHz90^mWkgW+OAqIm<(-iQ(Jy>vx!2fc(Io*tTjmC7ITGit0hXHe!v9x0=t|Afk*HTWzFh8gvb zjbdlaxt1zVX)^6{{>3yVzjN-CDf!ZfjFxY9lb@)*`eDO_(yJ`X9@diMHCyx1e&~IB zr)Sx2lpF+QBIGm)dD#U;Tyhyea4O4Rsm_gJDNib&<>`v=Y>f@RpC{LEr|9;m-$r06 z8#m#6J%(;1OL>mR7McHyec8$aFGQ)&{P(pe&j=V;2L(iK$KL7m!09BwHTDbVD1r}S z+X9)N^}3mur5hbu5BbNNs5!SCjI^o7b$eABh>M3~>`DBNM$}Ol05P5+$4~t$&g0zc zagp;o3{A@L{tnO4TN!+?DM1g@(gt314@F>DOL~HVF zr*^DI>&DniG`$X-YN|JFg+_sz|LjPOrAS?oCMSu21LoAK zHHKpHuJtNlPDXTDjR9DdwfBY>7UUCOHZcdwi^|g#;I4Cr*2X%Suk?Q-cxBsrV`{ro>lX0JR?+Qd|vNRmIXeuaxYiX zlwGdC(~E+=H9ncUEcfN}!*Xh76%kGD>5kE9%Yei;KUq8>WaP1O66=owIR*ewJBMWl ziLVlr0da>@Ouo9CcFZm?G9zYaf#2tjlxUCiqihS0i&L((472pcT&jATl+7*<2 zOHnUcO8imz)EkarteRv$C|yy0kWnTAzb*z$v|j!xq^Sgyg{z^&iun#yPyYc;(NA^u zuPPg3LVLvO0bxV)D`q(^e`XBGcy6-tRlH`I7Y92ki+D|IciQE~y-p1~AB0k@t#P8# zSoPX{4T1|71yuB@f&R_em`qqTHYp_xOK_FjO$G#3YF2;aFFA+`&LG$yNzNoA5v@C) z_8fW9uhc0aol=t8P{G4d$q}geSgg4>j#$t~q$8MyRu#ti-^$JVzZ~=k`eg3lp6#O2 z*a^d}wMEu~)Vnb^Vahuro zi$UrM4Y;g@Kc?T1=$uD(%8AFR!k-o$$3vF}{=@i^Grx(KcKR42n5Z&SqTft39VK7F zT@Vt(;M$}1(EqZ8+WH#rM%-M$!|r=g8cqg>*Qv{-vp;4o@(QM(FnRnqLap8MvgQFb z_Kd`N7SaofpSI2!LS9muU_ej;sOmeKZsKWd3_07)5hok<-cPc+ldNqx&8QiIrduX_ zMi&V_SCe?Iq+=?pW2rTFmyHb;gRzq8BSbo+zX{wmCNwS`Kp2%G(6YiTXu0k&=`}})vuoT_C1FF36pQ2z-YMJz{M+!1W zge`>hwPBuoa?$O87-KtWTJtSMsnXO;I#r<4*eOUsOW^aAN$U*7Sg=p;sJB3c+lozJp3JXCz_m9 zCPVk7s;awFSrdqG%EiD&a;RkJ=(1;l#!DNTj)a50b{M^}_(kfbkn3AbmTUs!+!{0Y z{Pb?t+^>G!0*~)9nsrC2Q7}DOrE}o@m~WqP6iKCOZv3h$t)%u8osTmff$q9b9cMM} z_xivVcuu3i(JUSag6os)UQ^_!$kIxk%uT7(7eoGHHKTOcWx&i~cX~A(r9cI=^xy88 z5NdRsauQo{=}Rq#<9oYZr2Y~@_^@A&EN>;b`;U_Z&Hr}q)vs}~dsz=@Dr38bHun5K z{pcCZId^$oq`tPG%!A1tXhbHVL1ful?tz#Pqqz5bhHyVDyC-ZlMnBkg^+1P3#mpnd z2_M(>!5jCEV)S&&ZGPWRTPex;NbQu<^kgZ*JZZn|1u3WrwI$#m2y}mQKr9nRa$AoY zZx!Rq0paJGzDN!3y8yq34%h|@)DPCfk7Q$mP*s#+LAMXQP0l7`cSEviCP%N%gY$eu zd^Hc3Q_v@j?DuK*P!$OxD;s_>vf;tU$vj^2hly#JGF9o8-e1BjbqGOLe38th&(be4 zzD3{Hhqd-}RWsMo>tPd1T}08xFc_>-;y^Eu-}V9!NLr_tST3vE{8?+`UB6zu<@B7a zTB-H#K9QVRw!-np!3)DN*`mdVH4}g#*N)O9wQtkAu7XgHVFPKj)sc`MDtHwu1h04M zD$E?Q>2r5~;Chuo!4sTT%!`nGKq(ZDgt|kC$Z#Z`&McMZ<7$f#pqU(T#E^tq8pn1y zzH#l_-Do%X*1W{iU{Y-;Tn;sq-ce~+&XzXKjT*7cCfjod?kSVA)`m>4kzb6dATReQ oE4XTchESP83UdEgscopT1-IMd!g>SPGKnhOl0`gNMRyPCM5|B1YXATM literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0129.sha512.asc b/tests/openpgp/signed/0129.sha512.asc new file mode 100644 index 0000000..ae262fc --- /dev/null +++ b/tests/openpgp/signed/0129.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifYsnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcOEoQAOhP +su3mGREEXnnJQD5Cp86FLkYn9FaO9iO1qsMPD+8/hp03EO2ef0IKdtKAQbRyoSa6 +SU1Nmorfxqcu5vpkJZmQ4ImZEXiBLxqiLa+VyEPwe0uA67b3zokVvnuXq0AyB/sp +mVaB9J4YteWRoo3BtC2zHWzeR4sHUPIlQ5KC8fJMExobSX1WUBV7Z8lLuQbmA82a +JEQVOABzLuCwoZvc10BkyxLwkloa2vq7woAWW26Hn9zgoS/WmP0AL9Xn3Wk1vFYv +psgpDI42JbAwSnt30ihpxMS54EGIg8GKTsnV5Ka3l2UfEKFx5XiYLqoSVuz1vgW+ +kkq7RYCojPnJBM8O+FSqDsYgKaWrg7DH9ElHbDxyCRxAJG+5zZ+Zbi8F4269L4GR +NGqiVAuci2Z9e5QnRvwrrHPX+Yq7EiQrPAYvbkxgdzFGqmqez8H1cnCmLYsA4OYC +zW6ofn8mpOoqfL3Cs76sbjZxaIvKi/MuX5Yra0N7jfEjFGKGzRIDg1JqotLcnwYO +AqTxTxILrs4/IJpmBftVCwPcb7vXQlAVZhBAFR7/kfNxab3dK0VUcqxLx66Xuwk7 +eiNa4AADBZsqo+1w8zVGRvSJYoJmndIH9gon4PjLnMC9K166m3t0kTxNSSS/YumF +B6AyKSvJbTI9i2RQmvbZshAIzVRobX3uHTzfpr5T +=6zSH +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0130.sha512 b/tests/openpgp/signed/0130.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..92a59e9236263a9863b6ee69ded247330258c7a7 GIT binary patch literal 2346 zcmV+_3Dx$v|H$Aj$VTul#rj$+9umUOm8n>+fKA96-Izq$1=`b?Hlf|^kv4Q>B*vJD za3;ALo$&+!pJo^b*L+1><5FHiU9uRK;I96~=mpWzu@U5G`SdsHdhq0Re&kyh5r~Nbfu4Lsw z;igwS@J4QsTrIsis)U(Cp3Y&ga=3-{4*ixLW-Y~pxepg*;5Be|7w{Kldy_3&D+mj8 z+i*=>ik5`*A8OCYO=f+23f@zA6q+BM6L*Pis-U?sQ=(n;g@4V!vkQ?ClsRm)r8#EM z;0_rI^!HTx?JcJa{q|ybztDNJSCX8N^>Iy(kkpg#*yt8?YjqN{*TA9 z_f7xs%rBxAx<5p7On40-nzY&b^yJDD1vs1=`z5pXv;@h-@vVE zurfRLHk)kF^5?kyuM!-|bO#icJWIIsC;cp=8rbmyDb*|J39I&2>}B#ivi9nP1y3Va zmB+7f#VYJaBe|mj|FyCQqnejPhg{$L5=-z+#uP40Vo)g)*r%b(?z9^HzRHj1T9U#K~g*io(W z1!=Dpf!cQ)-;mDQ~;7SehZ6&wkJCOkWcQt@D^f~4!{fYSL7GCgOE^{+&e+r*#f z679UFmbipzSiw$I?-Q2e6f)&QrMA}1yZHDUp`z8iWw6j*smdh4rN!q+D-plm-~3@V zJfbDqy!?f3Hg9aQgBbcKi)wwwvz1yHkS-bHkb?*e($JYz-asp!Z;K~3R>+I#3zMjw zY-TxGJy7%kyCRew$z`f*n0fj%9j0+Aljm~O|9vuz)VSsqnmNXtp=W&AZ5mX}5J8~X zTybkdAsmjSrfDt&VjjW$3F9X;gPF=UxBYP`xJF;7-}aDUjT^@01{=N|vXG$OLzH0x zIEoKknTM3iP%F;$Bg_oB+xdZ)0qJbIuYrTGPM*I>hPn#Cf#dH&`YjrvDG2K(#hkz{*EXfKSs{Hz&mW*AkK# zpdKKDdjA*$?eXAS0dE1sH0|czUWLT*Me<9p+=IrvrP^9$3)Ar41Y$1{vU2tK)K5iv zh>^!=i&rCiDI!!^+Q~vPFWM3`@j2hbAo-dvHh~HqbgaJei_$S0i&8~pB+X%Tm^bMq z-+^HyZy(PGsfE{Dkea6SUY_>GRu2ABfIr4zO?I9N;vVIgoym837#-MJ!d*uEi>@(HF=Ab$0kL z>`X~`@|gMAlRxDP#zFU>Sa=dlha%khWz8KUlUO%kq~X7`Glu|@=|*%Aw%})-vOUQM zTGuE%kf9XBr|u`JNS*moxUXx4S=0E8z)J{}0#gakR=J!qDpwwX`U`S$P&U>a4pVSu z9JB;XzZ2IdB!Ke3iarDUQ>qI`|HJSGYMBR3=7f$qr;U zs(DEF05azes7g1SpOG%hmHtBb7i^;A=-M!`<%a3WHFQUY>1x_j-$e-ktq$64Y;oDU z+J}IVH*vw0EQ-hQ!ZP}+!#vwNWl;zFWY8@WprIT5Ffc}q!HBKT$$&^*i@8D1-@FcbkrB!}vK4bYt``pB)zu!=D zAviPj!(`u{CFIC&e!Y)O^-t1r7=6&+FceNSI=Nc%XeefY=V^0=DTvaE++6Wd)Cqtc z3(Zf{ObyGU1z4!N1VuVi|`3YRP-x8d1|jX;V4(ud<)6y?Ha?JEWtVX9IZe`ykVaY%r6? zj|jipNY+`PS0qgVETHc$Ay?OWn{7G(wy00)P#5J+lbmfC`K-MpRH!|p*eN(rw6(^} QqR+Uq_t3CV=FIwe<;ditSO5S3 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0130.sha512.asc b/tests/openpgp/signed/0130.sha512.asc new file mode 100644 index 0000000..f4abf94 --- /dev/null +++ b/tests/openpgp/signed/0130.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifYwnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcRukQAKJ5 +aHZ8nQfdkf95ZkRmvY0DIUbxqP8Y2dwBdXASDsg6JbuX+YaeMcUke1BuZQY3iFu7 +zyxkq85FJezMi7GUUHmsb6Q81kJxfFL7d0PHsQW2+dorCNDiF56b9jTg0kQCzHhx +QC8NL4n9lO8Ix9XBMz8aSdsFiJ0THJQDOlNWpBdfU2s+MIaNNmU+XY8gXokFHWfU +NOBsSJgZkQuQYxelNBLiNPCjb2sPY/HbRsLlmX6s+85OU1Hm6c9ia+VgrMsHQAdM +Qda2YZmlHdu7Cc+IPlrZzmZoNQxYZbD44aT1yVEsnCZl6NJ1t7tkZXPfVlkTgG27 +h0nuzXtRZewbxFVYWlVHVnloWVBCfKVaOP8s91DkZ1xcHz/FVW2BPQJljvc4mjCZ +8ciVkRigHZWgOADzlZZ28IMYnOqqw0tESTilzLa7l/p3fexG0athpkf9PG8LKaTm +g46bo0peQf4ppLPLMJx4b76aQJTtp3ghOO5DmeAgPV3odg9HXq+y+hjl0CaeFBXZ +dlo0omty4I/U3TAGPgHWYmR3zRir9FE+/BlmG6beEEcS5VoPqFqwGdiL+GzaYMiz +MAFq0IEc+Zug84dfICKFILzAXM788zmGbZE9zRqAtSiQ4uH1kxUR63/2EqyLZrio +udtohdPvReOeozpt2ZJesA8jrlvE94U5zft1ECb9 +=Crnd +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0131.sha512 b/tests/openpgp/signed/0131.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..c1259e52530d9a0ae1a49a388175fbdaec122422 GIT binary patch literal 1115 zcmV-h1f=^p#P)~tNYIi!E|V6-P-7V5uEx(mV)muYMQyKyDv11@)ra||&F#WRP#*4R zwUhez)`b`4_eAGRBPG1CtK{_5$PQ$vZ$s}dO`ER|@QzjJ%3z_i@W9`Xlv9DMhmB;! zf|@iTbbM@AO{OUdjMS*3L5FA5JM1)#u_Qmqv$-T;5`muKxeM?wM#hZ~B@^jQ-*640 z#D$K^HX6(fM@6rO{jB$GQ(+<{%d7P>`)DpxWvReG+@W{P&kU94)8h?KbDuisC49Js z$>_H(aAd(f3xk454=u(aB#sd87I5|`h?FaCcGBcBChz}0+(9kkZYdY+JQQiUc`lD% z0ch)HHyH!iq0HzNVHv{+x{t4UA)Kvu4T4azs96)k=G8uN?z>>R$m}a|L6{J_?RU3q9iF&m%;L zJ%u6+tIGZOz14%Ny!U!x2#1Es##uV7pb~P(1l=k5oXV4f0}ngte6nPENRLIPSIlmE z#MEg(B{_@o#T->hoDHLW@Mv4~>##6+!x*gKFQBW$dziNw!NhLamuV2*qX&!#FxBr@f4@o{En0ZaXlelpxhR zf=XP`-*CW1SS9QT9PWINB`!$GB#-P~kBpyn;X`X`lN@0C#o9)J{tP6= zctQS2TT3bom(@~+NDHLGAFVK>63F}%$1eXQu0;+w;CUY>txo%S18SW^!}MI=&LXN* zgj-Z%CBhR2z!xsHr;oJp5hgw|s~uTPp31cjfR~<4G2ZisQ$pLCCrFp6M3-5_lH@q? z2i#*&z_sB0gS9uDNmP-g*@v|w)RO)6ZfD@F^Tb)+zrZXeAfl=tP+N!lFsKfJl{`_* zfJ}X6941TWk7T@NBn+doYD1Mk`Eoj%(8an0NT6DdQ)5@O zb6U$$_TrE%m$ShlOXKY8^J_qREeWM#-PAchFuc`-T^^Gh;VSIJy{NtqRtb@0b`$T6 zjE=cy3tug#JKfRR{sx_|kV|fP zZK~JlR2eCIuTq|4;|?Nq9xso5N`upSe!))2YIin%`Pnx3Q>^}M@v=7$V>Ds}(> literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0131.sha512.asc b/tests/openpgp/signed/0131.sha512.asc new file mode 100644 index 0000000..c12fd2a --- /dev/null +++ b/tests/openpgp/signed/0131.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifY0nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcEHsP/Ra9 ++NW/pr5uIwU2smrIKZURSlMtvII0CLcsbN4A5CsqTYNN72/enpTxkbaVJHZ3G9eV +SmctKvF7e/t35i89gavyLGpw7LtsPhb53N/W88IemWcXdnuEPQORDV/i2Q1Dx8xW +OX1MzsgtYvoDk5wyDfxRwP7x+eDoh73GJRP4CNHFUwvgBP+BI4NBCCg8PM+N5Fp4 +tMMcpdjt/LHHqhUTzYJhX0wvdtkGD7arSSouwoGfRMGVqcxdYFowHipPoYtnRydN +sSevHeqX/HC4mx6FQLWqiSJSNA2ip1Tua7NLq77Ww8IsMltPKfDpHrOvtURS4e6I +HLoomm/gorVVr2IggOgs/DjaoDjZv/3C7b2EkuEQ1I9jZGBo9ssaJBhWt66x4IYj +Ilahwjrs6tIoB2mvtieXRG/KNCeNqBlmRYj2p9q4zWhARFldIH+mhDjKpA9K9IXR +JeCO23sT4p68dxC4aEn9Zf4Dx3szg2q9aJCi8UumicPlC+GWfl6O8PI39Cohl8d9 +riQjrKkO6xXOOxr0E1WxtdCQwEnrE0Selu7w9FV7lGlbRpqA+33iFOkgrN188a+N +AkyMBgT4vdSYL81QlUcNnmKgToiWIckbkCW2eyn53mtmKauLcO87FYeUsTu+ulFZ +m9XUHF7vbtfvZGRXSsPf1pB7eYt6bNxxsThAzIzQ +=NKFG +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0132.sha512 b/tests/openpgp/signed/0132.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..57df2f54e858fba462809b18a80de4782b528f0f GIT binary patch literal 1919 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 M*`NzUKeK}lgVQE-Y5)KL literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0134.sha512.asc b/tests/openpgp/signed/0134.sha512.asc new file mode 100644 index 0000000..6ac8348 --- /dev/null +++ b/tests/openpgp/signed/0134.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifZAnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcGscP/Rdu +figGMBMlbOUA3YfyG3BpjbpQpZnAHW4BSjvEX7Gbq9ty5KYTQQ3BHtGVGb0RBJF+ +HE4Y57HmJLQOOAw6cVXg10Yt+vhZRQ3COWoqkT/7B7ddT7BMIunRgbnSmmTto5oP +WMKd2itiKHRLasCvctCDaWUbx496jgsR5jsX1qmR8k6KR5rLLB/MnUfMRfoqhx8A +hyZU68f24ugMQeokrUHcGbZnEOndE+0DNO/YWs/AkkMHKa+Web2Yy+pxPL8d9wV8 +k0peZGCkmBnNPPsf8La8YyPcQzeBtdJieaEwABY+urVbBOvPIin83Ra1LjLniofF +JPpG29mqOX436uGvfbg8h78rpCoobudDwg2ogIhEjJhsLTX7jigKWH3qVeK8wb/2 +5K2a8yjCdCpsYGrIRKtqQ7eP8c6f32NDGgjplIf7IXqhgSz33HNKrjhrl+CBIfiq +rxzeY6+4hjuyLGV8f1n2aVZ1ZQxYsOaaIb4foMKiizhltLUnFByoLMWh1FlGgo75 +RUmmJZcQm/BIU5eIgT+tjwrBRu9JC4iIN4jd5fBmF0wwW/WT/G7+tBLTba4ytk9z +9zSNP5AsURqPgkLnYkbgAdOo4kvE8gW/6jFCN4lv9+fhAoAHvkXceRMDYIiV9b++ +97pZs50EWdnUt9s78ziMVxul6BW3dBmsamJN54dp +=llPR +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0135.sha512 b/tests/openpgp/signed/0135.sha512 new file mode 100644 index 0000000..20c4781 --- /dev/null +++ b/tests/openpgp/signed/0135.sha512 @@ -0,0 +1,6 @@ +'�� w�=#i-��L�m�>���j�q�FU��y�^'� �_�r�„���0rrW���k$��'k��m����m��]��g#���^��T`�(s�����u� w�a��*B��WC�N���9O��/����S�1?ؼ;ݦ���xE��9�V��R�kf��2�.P��X����M{�Iuu��)��IP�쑊7�춭�o'-��ɼَ����a��Fȶiv������/�7���0��s��t"�����w �5�>���>n�F^*X8��!Ӯqq�aT:�C��yqW�̡(P +u�����ʞ�ߛ����sq��2�'��3|��;�WT��� ���X��o�,�$�<��mO�q�e>���|$��qm +34�a߲{@ʳ}�1��N�Li¶� ���FO�Ő��FER'���K>v���]8.t �G�g��~���:1�i&X��X�7e~۳�< W1�U��+��6�fH�����S� ���L���eM`ђ�=��#��J�Ji��c��L��DY�p� r)�ơ��)_����]Q f'H@~������0GI&Eo�bL���z�)G���BB&�A�|J� 5 +N�B��)�i���Ch#[xFO�'�M�)y.�O��Z���'"�C���#w/��<�L1��ls�Qj8�3�����%�摲#(�?�O%����j����KZ�ed3uH���op;@�,#e�}F+�+���5�)Iy������2�l�w�����Ԏ.��Nx�F[S��Q���x���XY�����W �u�>l�*(�Z�e�l.>%t"� +f�P �Ўz�j��m�AwY�zdʇY���; F�%H$S3�v��r+�K~����Z�����-B��g�g����ڎ��y ��p.:�'�C18N�$:�<��9)�o�=홷v:{ +5���pA密�z�� �]o���&5Dz�o^z}��$��? {6^g8k�m�c�� \ No newline at end of file diff --git a/tests/openpgp/signed/0135.sha512.asc b/tests/openpgp/signed/0135.sha512.asc new file mode 100644 index 0000000..73d4251 --- /dev/null +++ b/tests/openpgp/signed/0135.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifZEnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcKewP/0X0 +6QFpTxIKikK1Jr39dmU4wxiTGeA9e7xRgFCIjBhVzaK5W+tpdyYuVvPUyu6cObOM +9sY4U9IqFICXiyFPZmpiFsF5jGQqyYBDhxCHqYncptUO97UTb5Jin44JKpEo6mlu +JVmjHSyhdhBd9yMXmUcUUIEGSOMpCi/3fW9W3Ac2JKMBYbbCSdKYkaR1WloIbJma +5Hr6+hcm/bVi9By3GUX7Gt4gtqj+3OTeOLdgG0iGaxsZzEIM6ULYygqTLRw8Msql +B0ncNR5SinCIA9VFwzw1l82aeg9DFZNJmB+1WqRvVh+r0JBdQz74FebyqiehJi5B +vobGC7BXpBaNPcEGv7VkWhc7PiX/lEan0yhUvBmixWla408XnBc4Ul+EEdejIMKc +Ug9pO59dJDLsgGd1TGxf8NoGMUA/i2xYoFTk+GW5BJxrrp4mWy0eHziMdty/mLm/ +Ql3k93/NdbQtt5aZYh+/MPbR7nLxFtVbVzkXGdG9lcQUm7EIiZxDGTP6/y2JcxNR +LYzqlf3XCvMDg5C+mXO9nhRmJpz2wxWLO7ce5Hiohlp4R30nyaiG+NB4UUpSXnkF +l/x/GnC5J0YkQdNn2hv/7GKUs6IRpqBIQQl7iPOs/br4RQY1m5uz7kteG8L0vdAe +RDXl1csYZ5jGTYb+tl1LueYIpcqJCJIkiZHpKjCt +=LbOn +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0136.sha512 b/tests/openpgp/signed/0136.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..8d9c655168a0bf53004c2e628281e054f72f4386 GIT binary patch literal 2192 zcmV;B2yge=A!r>CHdI!S_VlA94Kat?Z5X&w#c;$Z`S+^pI9i#`#}w^(s@|V!#u#?w zi!lY{=c4=FH=$D7^HK(mMGtidvD79b4LdBqFS?9o4VJV&x8q|4e*RN)r|u%YyAA5G+}WRFkinF%gzmeS3t$bKA4g7(tt&O6n$D$DiD!Fszv+Iu*&7UGS= zcNwEPmxQc)CZ{Z-`U~)OqFed-x22TTzw!WjYvN|X6~^1LxmCeR?UtcanhbwT>JQZ#LtwEY zjd|R|!^|iZt3bW?g&WiF?~mn`AS4x2ZTgkoX%Y4!*|jtruo{*|95HgYX*n?Fi695*6IVQ<(xw_i51%mCj|qpKy$Q`~7W>~d zwu)j9sD%*(d2}zNoZ_)~Io)5j0!XCzrW*jSLAo~1xW9^x@%v|H5+-0Pr-Bv7EMI)f zX~xYb$SVYW1t4X7_3N~g@~Xfgd!R23Li`HKV%jA>wJpd1?L9WP1lvmB!z~O?w|pBV z?c|}PQ`RMSTk4Y4SC;8-8WFm~>fYbl6r?oJdpm!H--m))a#72R7bu*^IzO0-D1Al< z!{3*QQAjPonGOqpF>fs?MUu@7ADD(iOs!$jt6$y0nSL(h_8Y6DpbX zV)Y-l1K8xb#G_LpN;Nq-CF};XL-t^25-Ew@M{vn!92oQBuBrsp@{Jcu4vrvsrRZf> z?Sy$^30PvDM57_LRP<3QJQ=)os?@?;Cu67!(z|?DW*5Tr+E5fZ*bKax=!)&PTp0nA zImTomE}K0!-H!DK>uwjAl@(fzFq&dyEM>Ey}E6r;sq%XJrWXMff#SOhDR4Dp6a?X_gJk90hz za0HUa=p>6{On?*@(GtFdQ#{%0P5+8csF~RPapE{sco8p9)dl zvC}Z4$BDSc-;XG=vUH(%*XCH9Mr09k@ct#nR|g}_3Wx25ML?V`x^uw1BLRY)Knif1 zX^nrGb8bf)FQw$U4CZ%_FZOBIaR4>_=cb7xpZ8)8dXOTQ zx{ophSvfj=C?W%iGS-Z7Z)Vik4oGV;YWOX`|A$d;tY9%CNL zHN{*0?QrolCImrGV?u~2PR6CxBWbA_onQb@okXx#>YuY_Wq;PWS5%#2UnNAomI*@` zo_a?VqkFs2zL@BtE=v#M`e%UNLMezar!hEpjB5hv0k^D=)Slf z7iBX1ckGWTfaGX2nINxY@lX_KcRSTI4K!_3Gc(S=L*b`uT2$@wZ)Yt(&}jhrt@5tu z->jtz(goZBIapl`Yw#2Fn76R`hnjB6kl;=_jkA&dJcAzXe41azO?{eDHb)>*nN-ECgK^DYum!Yk;V5cP@k zg>YM>78C7u5Db=X)A8S(lm|Yg)R|jSc8Dvoy-r<}sy9V_BzwHgrUM9clIlJUYDUo; zgCbWlb~bqPge$!ldQz<#UX4LAExqstEQ0EkOUL{?TI@I(B!2Z-?2+Y9C*`F~A^a)s0^$24((WJ=g(@tvzx4A3inzQ{Z&)ZQ|T{hGA!;u zIO43BBy7>vh|h8igjB7u(zdQ)8kiX&dgBm=Kwb~jf4|HHA7z5I?GRt{~D)e8Z(BQT32#2sEn+C1lfU*CWQjh;GYj%*vZB2(O+M#+Ip6weCGc8uv%`eY79d Sn};70@~?}ZwhMr*;fkQ+K02WQ literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0136.sha512.asc b/tests/openpgp/signed/0136.sha512.asc new file mode 100644 index 0000000..56297c5 --- /dev/null +++ b/tests/openpgp/signed/0136.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifZInHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc17QQANiP +YN5zInuhK6VKQVv14dhDasmqViH1sfp2YkUez/gg8XTwo6VJe/LR0rNq4Z4gWwdT +fgX3noIAjOuqafiM7NhXQddTAVPitGe5ax0EsSDZoIOl2XZPlbnKqyoSSnMmp4ro +JEThOCb7BJbl2CM72EI52IEqHw8qa6wZGPjRUfH4v1HoxUl/0OZqO1A8RddF7XxT +xGLjlvMHWlS4EhQMJYS0voRVWbovRRpczakfEuenZyzdum6IQe5RQEmMciGII/zX +/1eS0vH3Q6YNyA8CwiJ1Ai6rjGIVwu2X/T1zrTvA4MNaH9df3E+z/41/cxUZ2zS3 +vPBfCL3Lw3kvv/VhRcsOi4rlMl1xH9/k6zHBnGm8epghpsCzOaw1eMOfS+YK9O02 +yszQnrqaOvYfhYgSOC/XXk+RRjqh84BaQDHTRyNZMRYyA1nCPJK91A8AXaDNeME6 +UPi0rS7/BXSerPnScrpbC3m/RYyt2LC6yDFKAoOzc/pRBaLTe7z0b26TAanqkhMr +jJVZaK3631oL45aWKKy6kG7Q68MYqJ4rHAWm0jBYazZU7z7SAUKR0HhJ/hKxqlPx +idUfxNmfYYpt2Qn4z0b9KqgCGvllDO+1SAcr3DYGQzE6lPMqT1kJyjGeSUK2NdYq +tBmUctly/NsNjn9V0rKOOpi3ZyY12KSLSBwkQcgM +=KCh9 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0137.sha512 b/tests/openpgp/signed/0137.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..29fc5e563c6ad887ff589c6ba66e264fe7bdb736 GIT binary patch literal 779 zcmV+m1N8jM01u9%HHu@#qZkwjU{c2%OjV`~Wq^+@9KWG!@$lSqyi}B!`A$OzkJQu= zl&;L|re?%}%2Gowhi-TJjSyW8O7l$(7DwVOaAM zhHMSj=en{NIdX9kwwoGtq_AQ$`+*unq&)ep=`78_;VWJL=!5TZ>>#q(@UXS3QDs7v zAxJ6sD!XG3&O5%jzq1*LR9~nR&#MRshhI;241XA^Lz?CjUVdbEeUSG@J`5gtdz}Tz z`>|bBslk4T)n*staZPok^_ zmjr&DKuH}f8pZmtj8VExIz-&sv}WCvnQ^Hj*9c87yEEEd801JAUAIud3(Gk zU6OCrf}Fk+dfvZNXiIM?PJts|nLjVFn|Lu8kEv?rae`%Oy%qWVMQ&H?fikgM5!pd5V&<>E$t+lh4&U~Rx!{Vf?MdpvxEJCj zW(cql`cZXfxFCe3eVCuhs%JD@exYjr!?L{~(xk5-v{}+*IqDza0B&nbmFxeEgVt}M z!ZpNZud_#11O@E)b|&|Teii|@WwMj@O3IQAn#+X6D7haLa` literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0137.sha512.asc b/tests/openpgp/signed/0137.sha512.asc new file mode 100644 index 0000000..263a083 --- /dev/null +++ b/tests/openpgp/signed/0137.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifZMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcwAcQAKwh +b10TklabX4rb5iCNVKqIlRyv1a/Rebzn+cK3uErsGfAZQReoltAx14Xv1eSElDJP +qEA/9UVNjn2K8hVqcMwZRC+T2FxdnY9yg+LBAvuFP0mZjQuibkT4Yb4I3b65N3sW +NyaO7jR7yQNYOndOLRc51IAk0WV8JK7NtxmTo4o6g4w3Pc1fXdEN0PPU1wDNZgrP +vggID2q0dPpc86Pyh8TUd20D/0LloELpl0aR+flGI2wexC4cnyW0Zgf6z0VFwGl2 +uUbGi8Blz6dVHdFRZVtaPooTOVwQRguQPAA3JtMkHgUAAQla1OXQjyTaVbFye4T6 +Vi3cl09YJhGrOxckXXQJQly0UEyR0VPYqoGSXu6BirVux9FGzLhHuee2P4/JDvOj +J5svAAXfIyG3KQO+c6u4BCJ1MsF30zD4MUmoylU2buipZzayrkhWNvebk2UOmc2Q ++7VmJ2ZMKl4wdWbbBt0Pld84s3KKUU5GoD6wSqSBIW4JOj5RKWR1SMeRPyzW7vNJ +WwTFvCQemALTNy5djNPC2okpkRet63d7b1z1oYZnMOsWu1ZiBrulfHqNjcbE8VO1 +kxsxTBGi9Bm0m+3y0uq/4AqB6jszy2zLoGp36KYZzLUIUS/kX6Sje+ycadGlPxar +93TQl+UFhK8YlNyLQEX0BSOeG89adjUGoK9jtvtg +=fj0h +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0138.sha512 b/tests/openpgp/signed/0138.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..7105a33cd20fa38418503b63f529e695996e0e74 GIT binary patch literal 347 zcmV-h0i^!~RD1MNp0$g4?ETGRyJpBP6 zNd(^4R=JARTBj%Yl5v??)N`@C6DKeU+EW1%`t?-A=(tMYxJu%m-`CN}*wW(z6V)Wa zOhVZU(UZ?8Sj>vIFz*bkqAX)Qx)D_qGcg(wj_`VyoWhv@5vf-KLfD54V`qo7W5i9a z%KXy?EK@(}Q&53CJyAgI#0MD@ZjH*4C4T#%oIw2yxPT@X2`KYS&)FGHJ+hOG-~|^gK-x>6&K+-5^EUbL@G+S! tkZ{5gNtMwJ*bJ(2n8wiz0ForqoUgfZSVMF{=<7~mhot}gC61wRKu4_{;~Vi@D?R~)EO0_jwrEa)kd`C_*~JJa|z^8Gw4)b*_Z zWLBc@Vc4y0K$b>g38X?jOk~+{E!hzr=>G_*8kWsE_lXc&`4(RUreK=dqJVpdW^`n{ z`tl)9_`uDHsQt~hLB7|#G9aK-@e&FERa{8knL(t%DC%(;95K#0dOQ!T;@Fq?1oW04 zYuL6;`^WKAO4%7qO=XhMq!)n&f20xr%|ETT2~op=ApglICL#@?I)FHb9RlL=!0N=U zOA2YLf3v|-f1b811C9XE3m|XQrb?9`m)5Nh%OwKE{mV#Xe*75|rYk1-4AGrFL8F}k zbPy@t%(iOp9y19De#{Q*@DTmNUud6bj~si_%VKi2ZYO*n;rvsY8ShhH#ihRBj>sY( zeg@ftduv>Qh#Z~u6(D&)(}9r1f+PV0Tq(saZcW9xzLRY}c(!X$(kN(V;BP?zf1cJ}1OCz?X4{4P2k3p}4?&QbSn*<-H8BG%6~O&zTg zyMSHJ%%X5L=^(h0po(FO)dbYK;4WIQCIG2Tf3r&cfpJr_TuY%D)-6`E{=q~dq}(go z=zr>H6+|P^mrk-6ynhwQYGs$(foF}D2lw&*ay&|q=Zqc_rf){%3Zge$T6;{?*bPqF zX)^XS@mE-hauB+K2{IQcfS3#luw)oL(Qw(s*U+MR+x6d>IgZkK>Pms(PF>yyZx#C@2)n}9g3`tC4qrj*kfyX)+1fKza(_B6|5}Yn-7(Tj` zv;Hx{Md$$(2X!$gfOo%wn-VUKQWkX=3cH#5L zS@-5QQ%CT_+>ht^LB-k#sFX9ro~*z6NNk9=xBRpLl8??S?Ho6h28=n5?V4KK(D~*u z@>Df@GQ`V0SpGBrCO>T?=cw~a=N$S>!U&dHKg34l5^zNsLcMC-@80S=*J$$3tQF;s zTvGfQ*=h&oJjIx%WQM`hlhAxR`4kHm@{;bP?$E)y`q$uQTsq|@`Pn-so2KnZq~V@l4VQ&WV4AfZlwAqSA8DspqhXDy%K!PDhPfXrX7SXgli> zu!vgLv!hBj4fkn6EjNa26En)CoF72G{53UBmZZyphvSNkKJ))1xa@Y6_cpA^J6U!$ za*_C+xYoSUDN6tiFJCk8-xP^|ichWsBN-7i?Edq9)E|O1@*#lMM8-pZ5>`7=RAw z!aj0BxYnq==iwxR!O1-~5V#?KX@}4dr8Vl5IvBbgwR-aZPS+M6+6{DNCfBWCxaKY# z*{bH8dGE1mkRWj>f*X6p$rAtaE24V-yo}g@{Pz;@AO;CHc`v3DKJZvk*cmQw`mn~7 nFDNDVl#k~d+)oqvKt6VXIdo`KdGH*dop*0~;dSTIBF8f#xz>{d literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0139.sha512.asc b/tests/openpgp/signed/0139.sha512.asc new file mode 100644 index 0000000..d39b04e --- /dev/null +++ b/tests/openpgp/signed/0139.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifZUnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcYHMQAMCh +BS0YWxKO+0wLww3GkvXlLkfwcqengWIkroqbEofU2aUadCy1Ez8Gnw/L0MnZHsgq +sd2bG5lKmzCsdexMi4ARGkqjF9PBlXI+Hwi4x0+tEyfG2mtfMuzV473PXDQbQ8PT +OD2jgo1BFgDfJXDmDdqZSJf+S0tbnoTcLm/TsIg+cuF3rVRk1IgzFEMw6P4GtC2U +tALI8O8evwVgY6/eR2gIIOQ4rKRRRHs6thCIzEMwXKpnOhOphc6xx1AheRnq2yta +EzXcJwEDxNsQJHTr2dtZSUbFLB9LswFUpQzSJurM/e02ojsI3HUMCKeeN9wQqPw2 +k/n0SxVQ3PXADtmep9fRgLQovhZMXzGGdcWizklzWGrx4OekzQ9EkdRcEQ3ZuSCp +EYLnBL59DyL+4XfR07Z1c5m8H6bNrgdO5wiNSMOUfShqb+Bfo6qAU2aDyiM2kxSA +6Q6/ambHffzKDTlKnsCHF1bWfYD+Cb+P+zCGmLTjjcmbo0benN5Z/QCyaErJ1sPX +6pD63wFxShYXn+7o/635iWyE/txsRpzQiTyi6VNGIs4a2uTkHJh9KFh1dD2OFiBZ +elnY0JbXjthVeERxuOGbv5usOP5fAxbq2v1S/B/+2azBEB6TUIoUbv9J72t1bosk +PtXweVF/zymltRPLhHBsn8Flu4oolL7Q7X4TCkqz +=GwpY +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0140.sha512 b/tests/openpgp/signed/0140.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..fe53ac59a91babe36e1305521ed7b54851693c19 GIT binary patch literal 1465 zcmV;q1xEV(sw}862TOMtq@|Lm+URP7#B*T~q=%iJ*~w-K(9u|=zvJIpyLP0xw0r_@ ztlH9`US%e7TLNzq(bqLf_{7IFJB`67bfChS0I4!iaB0aS-FNH4Pz)9D!yHnkoA1PU z0~I~-GkM1H`~w7TdOgF$GEJTRYlpKWEK?@M$eZr5SNVZCo`6Sp!%?`vaI59hGkKk` zEZ;G4+0fYa?eeP;(+ffTd5nV$KrqvLOWH7h>#zYMP31_)0HGdjSYfF>*@@5%xO1SSfR597y(m%q z*CniqxD=kLy*o&vF1cLA`2Q#*f%WSeYe@@3{Sv{m=cJaqJ(V`?qa`Q6zR4+c!I-x% zSI++gD&}44Ikai)0BvPWi55TJg%6Q|Y?Ifeqo7aCC>Ca;-kdP6`bfIo&)KXrSXXN7@SvMRW272+LpwO7a^3jVUBoi(8{* z>5QWyK0c}zxrSd$J)haT1$ZV9n82SYKxc)`xzp3F5Bm=A9lqgTp0x(c!zn1h&bbbj z>FoN+0rY^IDzDvm5G} zQ$w+vCr-Y99SMKmGmWM@N3hfiza+F%jkN z)(XDHzKviJ6SaG`Al1}dqNvpL1OM4Z07`ux7rMeCa$2eBVK!co$BK>)BfFQ_AY)y& z&DRDceww5aEtR3RV%lIEl>7^wM-inAVC78xRy`x=2{3-r7 zX;h4Gzphf#Kd$ZWQ@?0s!1g!F#pFU>{r?vz29;>3%AJH4}Q9b}V|Z8v7) zfXcZC@H7Lm_L`JQRLUA~Q9v!n+K*+g1w*7p9CZORy_)t$FF!+?cOwlH(nz-8?uLU@ z->n`iqvU4-C!bz$fF@^#5+f_UH$wH?8$}L;y@!1gt10i1I(+vzV~NfNzD6W5B{ydC zHDw^Q+ujyZB<4W=#X6zsEZQ^`QrN!Y4H-9I57x5J;Mn?UC=EgqB4CT4s3qLU5{$C?$z3np> zzHB3}Kc~m^B3Ipaw!(h_HJ|Bu+5dhacOk^(%g%D~6VOkQBJ>NI6cNM32ntH&_e5fcPEb7@w z8M%3}itdKjz85&-W$ObT<66}AKM3)H&e0^GDvRD-iNHKhb~uiYM$0pjUzht$%00Dp z5yQOJ4)p(5ai{gu?l9Sp89J7LrrjX?Jl-Gh@{1#^8E32WH`jP0sQEQsn47qDwG*}0 zO0Vh%5?0A`M%|9Ds`;l2OIWOx*>4)pw&u;jEEvaTeD>baY+!=&g9s5jswOhOcVdXoYQD!>fg3G9gqiyeAA@zNMsm zaacEqgf^ciy7|!Qyg65mTmTLSw5hu@k52HZC*2CefBVSnOSrQPo4Aehs7z%mcysMaR}(96x4v`pvN}%S7Jeo|E6IxF z0rkOMz@Q$Sr93!}(15a#q>F^568_+gi`Yj>HH6hBqYPsMKc<_dN>}ZrjU@f8uzJWU zUm%eWhtEIbEuW&>IcH7K+8;v~uoKzsi`h`+8us*wiIHN50wy%)6|VxREWS=VI~*3N z+9ost47c{ctwUvqp2EVhwyGFUNI&cj3Sx;U70qvI1RX$UBqnqmO&VO4d6}fD7}ni= zLwg|2;KnWDSQ@q|tN=4JS;$#%TYa2rfNtx$#r!qBc&s8KR>n?&A#Bri0P_yJkPpi~a@WX)qi_uS@2YH#jI7r@WjDxJ;U4 zCw1K6aY|3!U%k2GAWO`cj+T z6rKyo$Q6ljbxm09Q=^gac*2yJ^B^81%L3+acI%nZyAcHp8DxiMw9#V@!AT1z6L4-1 z4g_l_t~xFDhicIUJZ=md!z`YVZ&;7)F7W66m-6E;U9vJ&5zeKGUq_6&+7^#mlhfkI zp;A=-6dJa&tLB1y4%^S4kzb#~2%cFQ1t7<)9PhM3&M8av4h0U~30`J?uf{7QfC=BTczYr3N`huwtsFQ)szV>)Vbe#j6&Bh~VQ<#%8DY`k^jc@-|?) zD*gkh$<^wyrsEimP_q{r*aCHyS~OoJqyVcufgJQhW$Mc76|BV*?(A~Tq8Aqrqb0qs literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0141.sha512.asc b/tests/openpgp/signed/0141.sha512.asc new file mode 100644 index 0000000..bfa1397 --- /dev/null +++ b/tests/openpgp/signed/0141.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifZcnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcNUcP/1sP +RivcORCuCFRru72J/ZqFwNTjnwUdF1hBiuKCPQA43+kSFCBjLTRCgbOAHPadf2ku +L4LpfwUF4lQb/r/K/NdM0famOolqcBsmm/fAbKP3avDTIBmUCrAJP/c7qFrusFX9 +KNxu/dNqnNzp0iQ7z+Wnon+fVJtR3CmVYyggKQTdB8/glhtGnbabu8Yg72OsjIgd +u1T2zYrHRBt4HCMtwHqOG6xJPYIoVEnDe6zasd4M/6mV6xHZp+6vKSQomRryWiLo +bLA6pGYuOvc9o2w7jO/Ja74M7WAZ4yxm11V1lkpWtsfEQjhQz64YqU+FsYGBE+dY +BSt198gmJ2f+t2y0KqxGwO3QunRp+CFuV4uZomVBMqP+Ywek4J7ZpcQqVxn+Lm9d +lVTXMdL/yW63LfOa54OE5K7/lQAMZlZ/NwV4Sof/uLvkxci65rdNKwnTUPOLWIRL +QjnNjm02MOhwN3hIYfRuoo2+WjN95HA9IgfjmFqk5VLFq5Laq4NT+OmTNaanylJm +54lBGpWdCqBRmxqB743YUY9va4ZCU2h9egjs2HF36J7kqdzXBS1aQeBMRu5Hoc/Z +c/g4Jhg2V5tsWAapDkPPfDHmogg0J72ObGtIXi3CvOiqKurS0aZGlgFPHCwxvYa2 +OKaHvmvenmNTTlnqK0KON/lmMWUjPqTMoyn8y07A +=xV3O +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0142.sha512 b/tests/openpgp/signed/0142.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d54d875a2208f656b7e74ecc38dae489c4e1039a GIT binary patch literal 2075 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 BevbeE literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0145.sha512.asc b/tests/openpgp/signed/0145.sha512.asc new file mode 100644 index 0000000..4c7b7cf --- /dev/null +++ b/tests/openpgp/signed/0145.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifZsnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZccAYQAMwe +xX4FUgSkFaB98joQaKNRozboNjl0+J6t67dnSWedYL7b0Ugw/pI/TQbltL5JqY3g +pBIDUActd97OZC+AdpsYcpKFqjLoDm/5BdPo2NUf3YJTH4PzW9gNEZFvn/aHR0ju +oKLv17tgboH001/PAgWk/yDsYq9mFzGmDjQqjlYR/JQyiEcfaIZV0rMEHg8iNTEJ +tst7dKnFYJcHD06U0cB1q0oSiBRZ+vkSUCLWQytACfXnKMHpnIzEm9uJ9bKI53L4 +G6odCYOQe23yQGx2XAczH3Yco2+MUeZlniaiRuUy5PSls7/Wfgt5yCT8zIecAe4n +sd2qgvmSBDqlI72yqBIbnxF3QT2JPPqv98/wWwUo9VlHrpLHT0pc6ojPi1AOEqr1 +liUCKIDufKez5LC6T7f1zcwGho6/kfDpaJBnRf9kGvN3dt7eAsIH5hBERd7VC6da +w3TLKzzpVYK/K8RABE+mCRcTul4aWEtILqifRNleGSx/Rg9Y2mp0Lg6YnJf9XtF6 +clo161F3xL8xiCNLtHB33glqPf3n5m9nNazLQNMxLkYyLAWv7BtJKxH/CuX4x356 +3aR3fXKNxZlxQmLQ0g/EkxWrk1GaAsvi5kl2AU+TH80E6Q2ssVKjbHA8DBYT2m8L +LoZ3mNJAP/VG7kkGKdBDR97oIpfrxPldaP/G3zI9 +=5KGG +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0146.sha512 b/tests/openpgp/signed/0146.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..811d0dee49246bb2c0d9657a515ae200be1f4c0b GIT binary patch literal 947 zcmV;k15Eq@5ZPh`Xt40x0bbVg?R(72cmXYgFIR5h*~0c=TGcWMw2kT(dRv6iWoPEN z3AnXzdLNb1e`(zBBt~21oMam|?;ZM^jBViWp?*WwZHZ3gx#tRJ+kj+ZFG2AP(T!PZ z+wilorEb#{>}v=F+Y%V?PpDl|RE(INC08F(fLq8nqITDadrAQ3KH9E)@8|V!yx3Qj z*w32u%BMw6rO5dVwcER7?x79^z#J%H!)^!SRwJ(K3>T=_cudfj5u`&U0HSXk@m*@0 zYo2&IfZ8ME`bzDvzUzU8tBkE93HH;k(vvqWrno+Wv3nMiw6cT5ZbkpD%?>Z43P#SE z?o(rzvKNa{&?6i(9i?#JM=I>@4 zDz;S|KccgaivyN(1?EpmNs5UzO5~DXU$hXAQUzkw^XdrW(t}?NIK01;b^5p#hL^1! zb3TZ({hZZZHuhkPYWT69y3~rzp7P_mjR2=Ah#P#+8)?*I^w@JM87Y?tXe^ZLiQtdQ zy@GR4?gu@Q<}>02lh#ObluRDb{dL@vrr8JqBb@{5`tJ*~kk0Z&8-D4e>nS(%>7t_L z_}5UTAY!d;EHw=9oUYqf%!)Z-^1cre&uhx1{iTxd-*ME`WZkcs$z0X|Juj6oe_y;= z2C3K&p=Vv^}Ilg{RSnXi|f;ZYs<4tTm0DL&uk~-J6Q(v;!EYQw{aM>6FuO=I;;LV;Ks7KCL%9@farO; zSijP==sfQ^kj*M@+MZBwo+tV^!=DVHWK{SjEBVYLS#0$G5q_wxSrR`1rBXUtP VIT6&S;3Zgg))!YSn4COPCGodd>c0R0 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0146.sha512.asc b/tests/openpgp/signed/0146.sha512.asc new file mode 100644 index 0000000..7888f95 --- /dev/null +++ b/tests/openpgp/signed/0146.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifZwnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcauQP/0wp +6alXwjNO/6aTgqSGMFirjWO+SgoZ05ADSAK7bQsvsdgpsfGJpwcOGznlkjBv9tnj +9rA0tFgown52USBL/OxAAwZ/czetOAOpCJ3nlYAalpXiCORwCh0TzXdFvZBED4bJ +PCVqnin5QYDoV/JoJPK80S/+zgKO5ofIeAYKBxAC7lzK1ClMrIRwpDrTph0E4sfh +aJel3LsdoFH/GTd0yliYPKdkqNUiv3HfEQK3jDP1hfD0D5i5Daudwr/1OsyBOwDg +vxjQI13koCk/5J5jNyGz+Q0CaEsF5Aj5veP/NNBjfiQU3on0Iu2SLzPOzYzLqfpJ +ELQ576peeJBRvGm/Ow9KMzI4f4KwQYoPmGzuq0dcFC8oIOnUSM/H2cEVEhnwYrm8 ++P7ov/8pr2RGZ3zDTQriCBjfp4cgydtpI13GjEXqPZ/FJs6tPn12IuzNVE8uFweX +ZujJMPmzVipA6/xNS5QqRJqeH0lz5WsKiuc/9tPhjjJN28Xdi+EELnGCo1u56N3r +VNZWHPHozlLrI/dSPhbWs2g8EBq14d/+0WK5DAuBXiYOBe9Kj8Oe6MR86e8s2SR7 +buiGtr8Oofr5Y2Kil9WcaxEcGkkv4vhoyLYPqqSijCJPocjw4fYkHxOBIxudHEib +C0RCKt60VN9ywS2VXTBeSQcfhkc18ZiGrS+cQbbW +=DZxE +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0147.sha512 b/tests/openpgp/signed/0147.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..7657deffa7a404d49a96c0dd4e55051e4c3339cc GIT binary patch literal 1265 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 E;S&~-+5i9m literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0148.sha512.asc b/tests/openpgp/signed/0148.sha512.asc new file mode 100644 index 0000000..85048c2 --- /dev/null +++ b/tests/openpgp/signed/0148.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifZ4nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZczTUP/iC4 +YzLZTeKBdMTJq2ppZk56s+H7rnUBd5aMivONQy3LX6CLG7CI65gCTJXZ1k33aLdy +WsWd72X3bv8nkwTrljG2IVz6PEE7yh3idHwz/qOe5frgvdY2A/pKjPJLtXfilaQ/ +zSI/keALBEvv6/wzxT5y3j44A2JZqRUTeSs3sJ6zlbNbplYkfRVgIXEZBvyBFG0q +F5sLJsjF4zqmjfopJZUD2InbJCNKeBUHlE8j6719csLaapq7TSAoAph0H5LKe9lr ++u3CmkXLeIJ4N9dZyiYjVY1LQTOruuiYfYl+kMCJ5FMKu4Smkwsg4aEBekfBu5/O +W0z/Q3flYI2HR54itPOWvCbhdnjDbRBGEbGtUzsa7cGI7+APYHtRhcKcAYEqhz46 +5PbTdCkOUikQw0cENw0BmMpEUiavsRS0Lpo24e2XeRlD/QSy4LZk4QpF3InVWKof +lgFjgo95JDM6eNajGOeX1AMh8ge4mmaLSmVgDZ1Nms0zK+gp3tRRT8SRP9IZZnKA +n6pbOMVPXWL+kbFrc8MhiN+HmWJQOjvw4tsBh9XjzVPEj722/jZJ1cDwAhTLXHeI +7TYviUMq4FJ7FomNeRmlm1QnNm/FonogdLRcflVmALKcy6pYxknSlaOsNLmuDwGF +WvvjzWakdcbg0fvPEXwzqSaynZv3xKMjbrNlBZFS +=/+26 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0149.sha512 b/tests/openpgp/signed/0149.sha512 new file mode 100644 index 0000000..e25e10c --- /dev/null +++ b/tests/openpgp/signed/0149.sha512 @@ -0,0 +1 @@ +��_�8�GB�#� W9�J3MI�n����v\0@ \ No newline at end of file diff --git a/tests/openpgp/signed/0149.sha512.asc b/tests/openpgp/signed/0149.sha512.asc new file mode 100644 index 0000000..0ae4c6b --- /dev/null +++ b/tests/openpgp/signed/0149.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifZ8nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcOMsP/0LM +dSlgbDYhfNpB95tLSAtCOYgaKvhs3w042Osq63xMBIWbKHsWdhjrCUV3yiV8cBcv +13HLkkp2gTceCLRqBuIhsACH6/NUxBKeRkywZTymiDAwGCCeaMlROyW3/fggUHBg +zIAf/Et+4lii+jX9/wlGnOcvHQDQBUCpJrEbfZXwNGo7LG0fgUdHf0WbSLuqhCvJ +fY4+fNwS+uGukLpwqXEOD9BMN1GIpMxgMrKSAmDPABDrA240foJHEwNpS+0HAzvb +eykm68T0uatbxl0GJ6xDw7og2sIAq/dO2V27hPG8dl6CJf/JM7eO0A739LdsJUmA +sGXdgW9DMVtJ9XEJKZElVleu+BJdJLFA5r0GNE3u1b/17G6lNLuPKlHygkOlNjHA +NZ7Gwi5YisfjTwVmGBFMMul2IlP3450T0SzmOoTZGNeZO84ay6qQRVLK3ylXEkX+ +dZSH22btgBdbeq0MzPSZUcXkzpQQz4z2q00FpKiETI1AhIhwBRA4IAO+S0zRLuWJ +K9p76oNn1tzGtl7HSVZpMog5E0JjUu46tEe9vJmGYW1oKCcsCN0sUVm9s3+g3GlU +AomcMa9iCnTIPwgMUCBoZJLI0NoKGazflGkJ/5Tg2rnV1xvbFaFaRbqt9utW32Ep +AVZIygzGhYCPy3MX058/sDYpOU/C8w9H7XNJ0QRx +=AGUD +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0150.sha512 b/tests/openpgp/signed/0150.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..ab4543c8fa25b19a5712c1e87f8e7baf7355cd14 GIT binary patch literal 2074 zcmV+#2<7+J+4Heg|5#gcwt&Kccv)^cxzXE!>ImhklZ$zt6QSc*^Cx*Yd7-~*fkt_;!a#Tiq~n>tM}MSkaOQW^P<~Qj5m7tLsiN1NO@ITQEQU5CBZ?RXaEz*vL}8> zfvUS!rcYlrjCQ$&qt$xD5EXLhj6@KB&ZRwxdb50Azm98rR$5Ire;SA?1e!DV%VhVO z0cYiU!nNgbgb4m9B61pBAEIh5y&=f+_aod5VAgL8qFwfq18?`TPbu4PX?lE&BI^pz z**<|7C{^DJg6EuRY0^Nql9Nrl630InKWykVuZrBq-G`&gZ`9O3Dw#BD@W6XV8ALIP z%|+%v0&O28QzZS5g@xkX5l3cr6K0Dp{~L3TpHIHuWC2@@dJI&86KI1WEQos=ycU>< zUcqdRTT3@cr4azo^_vWI0RCsxkxoo(JuNR@GGAroA6*TnyEn&m9WA66&>H}0DYa|S zq_u!Q7|ls{yk@$PWASvO;Xex_MM4C26Hi)?gi*}E3!3DQkc`2iLPFo@tbpQQl2^tt2Lx+nKqq8pNL z$sfOJS^pYQ=e$_USU$@iGWNKO`VvP?5|3r_7r$*lN0r@gykMvgG}G1OvTW)HAOYeq zRrq09qeAL&-1mZmL9Q)U5wz*OCpZ>9w%E=+8+PobcE_M`vnoc^j*}*R&{ILNxc;$J z&~IwivCl{#Vh7*GWnSi_X}K$M4~Jm@lYbyoQ4p*IUD;s7gY6ZxvlqwmTjp8g(q8L0 z-TW3laY12D+nDh%P6uVYo{o<-(lGLL^RA$}X{(WN|j1~Qn`f~h*c*l!S@SabC z{M8&DjB|qeTR<(ydS{gbIDKp{EBqrlv#(;`;i;plQezR1?C&+fS-+3w?XRi}^k|Vn zBzft&bz?#qq*laCbOPOf`{1}wPL5YH+o2xqrm+uiS~kF-nX%3y*mSWz?;ua!4fidQ zM%_2RfI%E`_Iemv8~hi`jK_y_mgdXF7}N|r*3cS@72puv{yzVW2Gln8>IDYZcLIQc zd+suCYO>v8s+Ju0IXR|51s7?OHU4L3nYOSfos5O?Or_47P76PUjcyMs5NsjVoi|N| zdC$QxDGhorYAOw$eE5M1XwG!q097%RbNRCyMM7p*xv99@oev*u4;RJ4q9g<79A#Qk(e2;&7qD`_3fV)Vhz^J4>?W>e z2D&k3%wN{zw2-UhyT<&&WT!-)93zd)(X&Qw&XKTa=k&^Lw1PcYVULQ4`r=iCOhN~I3tP5(SCj_AdR6VGoZL%i5+1U z@&IB9P2_NWpI>&Ca;A&X4DB=ezh2I=e6ME82JKjEa=Ced_>D~rCjU&WDoX!r0jE&y zRlo+)FoFuw_S;P?*Q-~bNwa<~*8*_}Ktu&=MX)T5w%d>6=BD zV(?+SF5{yjpUUwxq2a>SyPe%v7+EwH2DW*P|6|xP(o|)4I|R8x)tJ5wB4ZCp-(f+Z z5_?@^@mL%tqp%;d#Unq-n>k_|VDa5$3oYt?%Jc)r+tnpkv2^e7xtlTuI_eg5kFZ#@ zkgjJ~-t?2qba!cI_PR283um4JCxDT;@jEKW+QFfJd)n=nAkr6)Q_x^&O>1t$r0KV> zxaufbjcZtxcr!$)uR!ZMOo3`^C|o9gR6zZNga%kUkvN2t|4*LRNQmxZ^^5Uck;|uh z;zkj}YCLucXk_u@`pn`sNON@G0ztys@BZx#-pg2W$*_D_&cbT`x6~YT>@c;k- literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0150.sha512.asc b/tests/openpgp/signed/0150.sha512.asc new file mode 100644 index 0000000..942d02b --- /dev/null +++ b/tests/openpgp/signed/0150.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifaAnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcQDgP/Azi +AkIuduymsytt9SsfI5ZHG+XZcP4l0oUBLsQ9kNQb9m4S9mW2wFUZ7cRuhz0m7Vf3 +iaSyy6JM0N/S9muPSlLjXIvdFowuvZtJ7mXpUep1eCeCzIFhDpxMXagKiC2XfveZ +CRIF7OCEKKoVMw4u8CIEAUBxCDSNwZur/C4OcLoJexgH3n+jX+/kqwh7xZaBVcB3 +bUQf3IFjOcK8WR5riLVWDJ7juDVvrOyyobyQq4M9cRa36cjFcgS7JREcYu6srGNo +uSFILOw3ma7OaQqXTiOFplXATzLNDPytvgTZgbgoA4dW7mCGURG2KgY4OJ6y5VbZ +ByGSjn/VLbJLY/fVHDY3N4bHSgl3dt60RS+LtbO3gkJSQAR11KMo/Lhz42q4pewp +EQLKVx0MEAseZvSBUetD/c3XP8yL6pgdTxR9sSW6OFji8FEsBvfi+poeBTPTTfMc +gc9kgLdb73/gUgSAZUF2bztByTrk1kQ/DjtqEbUrJ3mgqUSDbYpSxkjST2x5axxZ +VJnXCdmkPVT8LSqgMRgwEnSfzRwQ1cZ+N2OCv/TrMrG0xk5zquymjpAq2k7I7sAy +uRzkvvyB5p5M7iEToi1ezViKrN217sm5K8+sAYEd1YjuprjMQxW9k/c0NgfhYclF +9BKv2nAQ0X+K7vHJtZ5sWj/u7OGI7Udg6A7M4Qwr +=/kE0 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0151.sha512 b/tests/openpgp/signed/0151.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..bdc14d51180aa90a0b3e1fb34780e3ba462116bc GIT binary patch literal 2374 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0151.sha512.asc b/tests/openpgp/signed/0151.sha512.asc new file mode 100644 index 0000000..36d889f --- /dev/null +++ b/tests/openpgp/signed/0151.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifaEnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcd0MQAIKb +BndBffeK/p31WUAVH5iTkIT6JtvFm9pgzB5U/ZrgflMwprxpUtRz5aP1WWq0OT3E +89IauO6iKDNjlzp9sbRakSWmZp1Hn5gpiUF59GspHyDfhVp27G3VluwbxL4hilgg +MBJzSCDy84whqdbZM3YJ4RV6S7LrazPGG32VDu+Asq8ZgKdYMSyOfQPF4Or3pzi2 +LPn3MzwprgavATncGCmigobA4UqIHV5AAPj4UUANp0rXYzjIssJ3qx6DfYXcbQH6 +eSKdwNmT4YmSt+jAdgxIvaEJS9rl/XkP8zByin+MYcg5VrelHSrV7mbDjSUA4HTG +THa55He/Dcz5w//4hEPk6lSLVSXjaSBYrddp+V6KJOclYrtvY9iVp0W98M6LPFKx +3JWBTYBmetPnsdXa0Vgd3GYk+BcEcj9LblQrBj2ZrVLVclSFBQFhAZsfv65iMtX1 +IBqCrbHK2/p26geeAH9i6ClWXDxUIWtaGc7HobkzG7bico77E2G7hEpcqjFf/ui1 +CGCvWCvZq1hsuWiqrakPv5WZWVhaZuP7DlpmEJF/JskcQJhL69WPJR17VTwyj9rK +c8Tvffq5e5/R/aajsdWLROX6nSkWFSr0gHFAqnfHBSMqGqgkPECysbpiwgRDrX+3 +ZRKtUsRK3d3LOorZrRVjCXNmfmlgy6rYzHzrLcck +=4kWn +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0152.sha512 b/tests/openpgp/signed/0152.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..45b4f0abdd4b6228f4ddd7fae4e28cc440e5544e GIT binary patch literal 2497 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 Ld>?SQ^Txc3z2f2X literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0152.sha512.asc b/tests/openpgp/signed/0152.sha512.asc new file mode 100644 index 0000000..eed796d --- /dev/null +++ b/tests/openpgp/signed/0152.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifaInHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc14YP/Auc +8l2QTfZv8X9wTWF4c8slfw7M0UzbPzIgQ/sZcsqs+ioNGOWqlFCoY1sDFMIe0RlU +l2UXbYh5SM4D5ljjqeP53t4ROQKIhwv0dQagqe/yAxkFcX7DttHRLvBM2jxUxu7l +5VnREY7B7S5I6qI2XtTfjOWCmAZDFRq0COL/vd4NSvwpac+ojMmhqo7DlstMqHdu +z6Y5aa2TOs1jlQkLD7rtePEVPKqrk0KAF/LCWuXjbL50bhsRfFxWJmW0HmGO82vD +ocELhMHD7MH3FHX5+Wtk6P6T3XIa5UR2B6qrSZJm1H/9UC9n/UDkX3MUNd+eeeDr +KB2v3WofAXnZrd5vTrVhTpRvrQKBIz2J57ZaRo04DPFRISzAYFf+dJLqiHpVN6Zj +iEj1r80OCMwWO1SmTccoDe0DdPnCMoMHFCNb2Ti4jokwx2RpmsiAxQtwJhU9n28b +CMR+a+M4g2QwWAFcKvAv4dXIb0n8HhIXk/c0rhfm/lq0MM6zTOyW1koCGSfv/xYr +skwuVskTP+m2QV1pRccv5cZgBD4aAR04V4hN915wIdv2NbR27AwDXhf93oAA6dli +ugoQwvMzxRT8WjdQ+7c4ALEGPJdSIF+LjMEpRnLQ1MK+InrqTkZQg/DvyxlC62k4 +aardAPvCxiVK4ZTlriq0qc4L/FpMUiX0P7Beyhd+ +=Llvv +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0153.sha512 b/tests/openpgp/signed/0153.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..70b329fd862eecd374b764f992b076f47a875a8d GIT binary patch literal 1557 zcmV+w2I~3a&pG+t?_)GEd?C59#Lwe9tG@KuN7<8k#zemp;3J*rNx5ZX4u2|qRQd(0 zF!xwltqnOSNCO=iG)kz(l0xEo9L*39R|pLgVyDA9(OCpTNg*6O|v-!8j7zZ?P>M;1*l%!CYQY5uQXYEu_+@7q6yyub?hU1vnn*0;{YTw5Y z@TaO> zn{gL}<-6rI9Uh!3-=7+B^*EsB54E!W{sks*l)MeCEbP5IU)X}3j7F%_vw50E*+lJF zALc+O>W`z~?DF;R8(zlgy|{edKA<@1mtc@Rq9rflYua{<7naf2m{HXO#-US(?t@AE z(2t`5-K5A{HFn`l{`ff?(`N%ofl>$KJJvZQi=i^$L*u(<2z)g>9+YLmatXi z>mlAOR1l=J<0~FNroHT4DXcV+K$9D(8H@o;0N`>baU0Ftzo1<_PRW8ZU&gCEJ42_o zslbI<%%yC*61-r3zjMn=9VD^Y=;0`Mmu+GwUd>&DJG=#jQ!~Ukbd%`v#=-cPZU$zptqyK#dbaKv=;&grC{>?}G zN-+Am#J`079@qoGX+JhQOXUh9R_uc7Wc=$ym8`!WqO6rpR88qnDvef7v5{~?-z6UVnj zlUSNJ(!m5I4fH@C2hAL`v-xDYG>yguuaOWRtLO1|@_q%$R&Bz-){pmsV zC}-OP6p17O?yUjn%XD?-%~p#JSE3$ZzjLHT-gE^lr9C>)&ErH7p@7zSy+x z?LV6aNrU)#P*v3h5jW&0sDo^kG4wU+N-8$5V2FJ}N7VG#6SK8zmezeAZNKvc^rBhx zt5>xW+KzYFyo-Ocy8eePqP7;UNki5ewpil-95}}^OGpby`U=o6!*tMu5aP*Vs%`+t zI5C7`y~~68CE3jEOaic{#2a)Nwu;$jev=W%myCIeb0+SzIv+$QNtNkgoR|>WZnxK* zK)oyP^P;p>s2lAGjG&-LkHVK{Ipq?RWhy7`DTCcXMs(Q4vZR6J`e|Q1KpXr3gA-Jf z?mt*us?4&a8zdiiuO(}b`ye)NU!q!!yoT{du=|-LZ6i8R>p;~&@S4cTIWjI#vW$0o zTIwgys}{ZXx>zWnW-&cWT7kBqq7wXb89OiT;A#mbMWKU`+*yBTi58zyme_J0q!LP$rv8c=^73KZ?0ovx$aoRe{0WIZ_uZOY`D55iv z_|%F02d5OCIc;6cDYAca6Vor>GxsIL+LOQhw*c1OzE|3-nfg~(Wr`lgGT=|2HWIO6 z?hR8dkoGrmpnehQu;{iH>E6CcP&JrJI}m)_nI$c>J|M=KcmWp%#{KH4u-8uV><%5s H;RuC_ndlu| literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0153.sha512.asc b/tests/openpgp/signed/0153.sha512.asc new file mode 100644 index 0000000..d5196c4 --- /dev/null +++ b/tests/openpgp/signed/0153.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifaMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcnWAP/1mw +MJMQjuJfAo758mcEWw7F5IFtSX39BbrBvpk48/zuiPFiaEWowx8OL+vgWrPs3TWr +tswhbPv4AqbiD+Aw+Mty9gtL+atuCvetL07VCoP9Glg5DBLK4ooTA+CEXRtLKxpU +272N8NTsRFl/XkjHKC0n4qBwhcsnKTmR21qnUemLgSBpmLDbZsPnI066YxdfuHlY +kSYTumIK8WDAoiud4W0vIVw4WAn8lpH1bemrNoDDzna6Ju7SX6XzB5eA0KoFcZYo +O4EzfTtauWWGPd1q/gaTAwxBrSo+o9cyTCfRzGj6pR4AwQL7d8+el/CaH++pQJIK +6dSqfxaS5SfG8dN65hBbr9Xis6k0HmnNUKNFqqqGbr2ZsMKm9oGTdfcFFgDNbN+O +maDtAvTXteDM4Ya8P9auOOmBJZOj6f/M+ijOuYLHdsW++kDpPFiS+BR4ApCGXHQW +bjULzyyplw+80cW0MXUVm9IHjMhGLHbNzzHXixX6V1jjYDyh7WvOREHOsr8OOnnt +CzOV6Hee3ZR1t0QDEjzD59LRnVurXixnjr0WetJaDIYS4Jhr1kSB1aA3tcSkoiCc +5k5Z8qWa2B2mP99PUfj0bg4mq6Ph8gsX8s1cnI/AruiX+e43k/EA+jAXmqs9LiyR +x+Azmkqv71jt0FfpulTmStIWWoHEXd/o+uSESBDC +=z1KD +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0154.sha512 b/tests/openpgp/signed/0154.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..dd62ada14a8f1f84bdb82cce293108f316b601d5 GIT binary patch literal 677 zcmV;W0$Tl91U*}g;D4+g{+(+XaGtl)-S?vaOz&NK&9K|}ZDNGoQE9kYGmLlAF>A@2 zUTC68Q@0~}C24LwZZI*OV^C}nMjk5EB^yP~z6hF>!;8JrY#l(--`^2!6hjxab2sXO z+X9RKx+OBJ$~_T1pYp}3BW{fAFOc*@_Uy}@N5m05ra2rbr-BHo*i3?%$5I^!Fugy> zkS1U4a2^$-S9&HyqA-|=bc{EsBvj7!faGWEMDsYk|`ep|)L5|NF$r6_v?xVKI$X+_SB~P1}BZuiUF6b|v zX^#1dS*`nL1`+twmX|iA{{_F=anptzJL@rhQhIO>;gk$0AdRT3&_n2v>DqggTyz9z z0!u@G4#B8EuRhUqGh+vkGfqV}zLPGAHx=M*VUC(Td3+qNljc&(v5MqZ*B=}$yu_IK zqyh9rZy0yBh)#7tmr6jK>b=xD@hNuMM#hkhS}n1uUk51EIc6^cT}&#n0gr^HQ9BJi zmt2q{cCojL+dkm*_h@v?9Q>r-{8=_m!dK%TS-(5pzw@X0+RUO~w@A#^|J~3$0(E5f LzZF1W;%=teQ-??k literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0154.sha512.asc b/tests/openpgp/signed/0154.sha512.asc new file mode 100644 index 0000000..5be4e8c --- /dev/null +++ b/tests/openpgp/signed/0154.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifaQnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcMbsQAI3M +Zqi94iSENTmooJFZSKwBHvou2afovfloQyZo9bwgq9zPsZbdm2dRKo0tLIBJWRv4 +UcfTOE7NSeujdpEjHA57zohbZxB5EkERgTCueq+uWU+VPtDZcUcRjOzm61BRwkdS +PwI2JVCadMKqiMLPi0/+hnwpU1tCgOz4eWR18Jai7gHnfOUMjtD4NuYOyPDD9xXn +/lvB7djpUCpkjCa/mIT85gqSwXsEQFsRLM+jorNXEf+j1VfdEFaAFvYgEvCmHgXc +/LI3pIxlWCxL8X3Dh3py0SWJhOzREX3+sFaNz3+VfJA+lLsshs552qZ6WYO3Z2ne +S/iqA+lc+wI886c/2hNtlZ0xCVZEr1oC5y1jnYoY5pkgg41Wg8kwBo8DG/8EdNhS +OqT8Rf8OCz8ZGZpHHA3IcMo+MD4rRUf55j5I3EPKS1JM6Ob9FMl3rvKvmxddJyTz +hSv0QkyO+N8cYvyO+xC9FwNht537hUL/kOWa+2fMVIoYPd4m+bbFfDCRP6UXBGSX +Xu2gMwdHKoxqt3fs+VdmPn3pSvstg9c2cwM/HWfBoosrcxgGm7DIBpngS2q1XhmN +7rp8dAGXi1A3GLorzbGW5OJb6ryPVdNw5zuU0SqcZLrbijE31/nKIiZmsm4cwRD/ +VwzIEh6FH4QId24B1G3VX++yHv7tVgJcv1F7xudW +=fPcv +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0155.sha512 b/tests/openpgp/signed/0155.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..6a9055b6416ad685664b4be7e26067c9696fba20 GIT binary patch literal 1402 zcmV-=1%>)*3(0ww!K4eSR3!dqe-J^10bhJV>=6>#yF-78^!!o2t(~Ykbtoo=*RNj0 zC?+dJ@?Fti?r>5vOQG)_trtA6!N04E3Fm)BYeWWe7wty(PX=ofxJJ~{u)cdZ)Fb)c z8lq#+F&RLhVxYe8fq)X3e=XGKAh%#~+|`S4_bocY#vL0e;=1C&^CEl(aX$6n{82dC&eQ$*HG(xlr3T3Zxn1L0#55GZdRiHX&Ik5HRr& z$P|s_v$}iNeb{cm=Wt0)7+9#ZTGTe@uHDQU!Xxx^6#l zGO{um@%W3{I@%u^#=Q#ZvLLPyLJzcevBHsUk~R^=7wGgC4S?mPwS~bGE|*M6G&PGL zK?(%SC?|H;h}Ca_z2AIm)(y?fa*Y)%qRI;v=t}C50n&M>GQzHgj*Xk<9hbfCB^2s# z@<**s9LLyE9}aRj*dDk*AxWaYSo^@)WC1o_&^iv;ME>qAq!lh^x&SRv27Acj7)dI$ zsminLX6jKJB>7&0T6k~LNG~t3!6?*y_S=&ZBK$fw( z0!qn3qzBJmg-r>;rlad!r=-tUJ2^p7BU;SLxkcg*tU9@B3?d<`?R^hTyYWi&kn7wS zKVPwEWEvukX;vBouhNqXtsNy?L&1XlbM|accKHA>pRhVX(j2D0xq2Z>v2Ur%s5P=S zUAh^Gl0bw?Dz6m!L8C2F5(Jj%_M97h9|}~Y0@KME%ll8e&3L@TY-xm0&L&7SPA^d! z4}yk)PAUcg;pdFA3M}0=U!jO1-5+>o3|O^wJ&7R>zw@ClOa~}eJvR;#Pb4Q(4(XiH zRdmj~x9dXULsLmg!GK?{%xh!Rw!SwMaxfv|p-y$tTU?2P<)&ohKHFpIjvB=t+8?cn zYh##b3iK(}b++n$%(78PC+a8Q37K)d_I6`$Zj0cDcd$TDUPGb1BD18@uDhLh z(Gd5CWD3&fypz)}LMmy=|AWd5zyH+4Q842(3RiS#qi_OP@k%;YBwa2+xvpwgs~EMU zlP**3y{m6r)VGe+4IcqM&YFeD5OOIWG`(=fRf!1O@-x=a_h{1}l))Kn>a> zLI5>(YSq-b0FLORn6QJgLb{DbxB_Nt2WlRykisKa4=*i};#^)G3e3-FGbm0TXc<&y z5;ZiVCNX!qQjFDTSJRl}=b*N=L~`d^dr}O3R({4Gp@Y@p;`B(zR-7@oS> zc9kfOL}a+m2KLkoz2c9zz7)Zl|J$o-d3mcV&j>lqOHv#hYL`Gzd z4D$rGiboYGO!v+@Q6P`j*0sgQ!}k3h|ICqR0+zi_tV$Pl+$>1NgJc+ORcxb1(y`y~Tx`v9lNO@Ew==hwDQ8pbx3B5&Nf|BGp ZKR;{z0YBl~mYeE3u>YY>jHznY#3ev9(Ek7c literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0156.sha512.asc b/tests/openpgp/signed/0156.sha512.asc new file mode 100644 index 0000000..c0e59b2 --- /dev/null +++ b/tests/openpgp/signed/0156.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifaYnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcZrMP/1B8 +Kbc5e0DKX7ULW7ro5aaVIZ6c4WyI2CPZ056yEpgnfMVJM1Yg9bF43R4JI7LXQT64 +RgBeykJljmTT2GxPv/tViu7KLxYhXsSQOxIuGjwKd295BmzVUGGCm2xhMWbxzntU +S0/XSv9pplWLs+Q71kFzU7eDl2MLBPBm3oMQkdqwefH5kQdImAGrRqkcUH9dY/E4 +L5lIOjUTB5y2VPcEfKxvkv7N3mBz3vx+Bxwb7nGhkxyZ6+muaJgFqn0Kst2UJiFC +oDYYFmFvdulCzB9RC3fWldFGKPbO2SH/HMKAqE+4c5OJAWRn69Zm0Sk5CS8j9pWH +Pyd2MIm4hj8R3aGtAZKuEubp3KZUkHI+fk6MvA2zoCBP8ZrADZ1A1oYOxkO/w7Zf +6j/I29Rq1ZIWm01Wk2e4sKXwaDoWkEKryNGbnkxkLKoGJ7Oyxu7lvogmIylqyy6L +2WvXwViIOam24p7g4+CuBzV0KPhlqiNr8Doyd7RWdjdfuNWgA3DBQPpgQ+FkPOUQ +EZwufME5/CVdmxs92zURgQTxNg22ezNESJN/3D5tPcyphlJRyLfAWsH7an66XPvr +HeTr/+TDmKLD5lsBvePvC0DbRy7Z3/BQrg5VPTEzeybRFvJ942bh0Bn82ms8GN4S +/aZxduZV8V1UFnd0C052zUgfLmwZxwCbziHMA6u4 +=gTvC +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0157.sha512 b/tests/openpgp/signed/0157.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..eed6692a8068c73cc24bce80207c65f7595bfbdc GIT binary patch literal 1802 zcmV+l2le;{Hr8#LTM_sBAmYX_GJaHwa*G#scc6LD2h?Q&q zC~%HP>K~fvbYU9AOs_*w(U8h0kdXiLl68zK1&Nh+0*Zor!Sp+q!uPh8*}s)y0qZCM z-E5Q#iRWG=7W;t%_YNzUJmcttpugWb#jU4j=@8Tut9I_sJuH@5-DN`>!1T8knJo0N z!>ZRcXL!7 zce||$$yU5diii3Urw$RIpoz#o3%n}3EDOaJJ%9H;4ny#AMP6~Qh&oRK@g@i=n3^GR zH=4|cGJC4q4O+}TIyc^cu`Rf2tLW{yIXaK=r?18tExDSpZLjZ_7I%2UFOsaE<;Zbop7Cx^=+q2Sr3c^Vt=GL_?T3^r@z)9A& z^(^~Wa}w8A|8BB{AZv%gjc^(1>_i<-a=3o4KiFR&y=^p81=g99qvPB=Nw{aQ^0(qC z2^E^mA@=0rZ{}`=;cGAehg3$&hn%@k2j%NC+Djt2YiLRO`~`4nOo>%&K3C^ii}lbfQ<*r|%lCE5B#uN@T~uu-vrINZO9!>cO}fL@keL56XBP zi{~JH;7U*}x&mJeyy>GTSlAY64WsWBgV0JXDdaRO`E+E<5}NSwP^-B~s6S_c$WZln z-RYj>q5Jou+Lrd{6NGnS!B0Bqf4zB182KO`dRxke6iE#dP7KYGp59{(+T;TU6!R0A zJjF^)dl{yDP?155fTY{4cKS)*kdWy#&dckKCx92^B`_IQV?O0Zegl~sbF>zdvf8QE z@C#H2mh>ln@Y@7}25N8c?|vlwPqLoQTp`_8i`TxJc;npJ%qbsWkl_%I53e zgYJBhhOMga;eh^5KRFbh>7dJRm=L$kR+PcS#??2}7odSV>@KY-E?}|4~9_^NbX3NB>W#rd-SWnvE zh2{BuMwHz985ccI1SV?G4x_$3|3M$HTGcHc!;?oo6WpuQS_^n8NiY*}`bR|>TpN8Z z?hJ$B_Wfd*-d_mtw zCl=RxLPs?fhb^+72^ZqIP?PnnacnL$g_fd)FIT;2;N$mM|i5#H5=L&oDE#2xx8-_q2G~5#ROKe@@<9Ma>3uAV{V2de!>aW zeT6~?^{g-F_$96EZjs?*c5sgs$1~l9mrLU&%YJB~Y<@p1HQ>YWN~3CV?InWX%HjPRqd|4yI3d^>I>K?WEVEXI;!#+dl?>R1+GqGUz^gd2Jci`mZKd*$2 z!Pw$#R*-NS+AW>9n1@WXAV=6}K7r9zq^K>!Ek-+P3 zZcK6_k(5Z69xx6spCOj`A}?eLlYDJ?K9Aqt!Ai*&imhWT1bNHJ;+@<^Z7{x`yD69} z@ZA9H$YqyYW_^e8BBLpl_tU;Y-^@7t8iqWA&{vtDDpqk7Zwq8jCyOoo0ipEiFL2(MZ`I z0rlUD6VQ|gXhnj*_m`9rYJlXNAO)$o0+fE3>4?ikHE;!DEily81_t#S~m=P-s@w<@iggfZ-GBEhJ_Ie?1#*pL>G-j2+_-Tr*2&HbKx&e!iRqKJ~zFAut zicLCNT=0^RI;YBOiyQnWBqlc(n&-aoO7WlTN!+>?TuF@7SlM=>0I&9%)p>L#7l z?b05xX}U{s@nT+4fnXOJJ1@LBPhv1lg)5}=B z1_;RvfLXp}xE!r9Si1Idx%vZUKM9<;H)Ai~*mB)Z9=N)K-L;Xod^)|u-Yp5{OZ58} z32SD$C<^rs!?s@ss;)b}nG4@pOw*v(+b{g>c5M!?7|%M$H@0ojqbg0D7LpU;$r*foN94l}In_Q2Ls4eyu#F=| zHzC@?Qb|*7EhvF_1smhEvluMMLjPIKv5pG4bbCd$n5JlD@%`TMswS>=Pk-Y)!N)Mg z$B6af63P3~`0<`clz_x^uL?Jr_aqGKHaXh|ClWhi&36dz=R87;$a z(OZ3$UeIaX##C{fNu9->_3(f|GwtKufqCT^i(DMOKHMmKr@(6wrr4=+q@DiJ3PrMI z$2K6P+iQ2J*51$k%TI%+;!|W3>Sj|4*+l+5R%H`<;#K-?AyY%z@j8R~@hdzVmcmC&_@9gDw;+%zaFg+%<*jI@Cba+zIWi&{Py`^ lG>i5QE#cqakP;~Cg1MLic^x=7r-a!p06L_c4v-3Uhu>$~C(Hl< literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0159.sha512.asc b/tests/openpgp/signed/0159.sha512.asc new file mode 100644 index 0000000..c31734f --- /dev/null +++ b/tests/openpgp/signed/0159.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifaknHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcGsYP/jxu +muMfJqYxOjUWGj2kX3bTcNePoS2GR7Lj/i9kGOTEl9llzpfzujP+LhxqeH5KpwGw +/S79toYqxKZ4jdQ9FCwu8kR+mVrndaR0qnRn0cw7iz5c9Iz0BzT+Z3FsZVlQgXdb +wIegY40bGIOw4Y3QU49OOXA1bdn2fYMjz/quyQ3Pz55wYlA1po6In2gDLHAxUF6D +4//ZehfkptfPk/KLgYJK5m/1GfLSi821WRe/WJACvGpo/hV7EP4oMmu+d2SK1Yw4 +vUeX0p9tCbGv71inSlB6wFsdeaRCTiVE1lgc5WRkB7Y8P85u/a+OrRielTSNrgAZ +QFIW63wHdGvBondIKt6MERl0/eOnzGfVAzBiaN/0lLdFf9UyPnBHK9v30ag6Q4BR +S0Gwwm/q0J2yKrs1IZY/rD7b3YOv+KFa1ng/RPG0KKp2oZFtmQROZu0us98c/kyY +aWGJNbjOsKhS/jBr7vLUKMGza+81qGdnTvi2wCf/1zRm2UvIUahWj5oZsr/wMjS2 +l3+qwUZUrttRObPtVyXAAon8mfO7BvWjwVbOscBHb9Sn7A0l2bTylZNTiSmjLwWW +df7hmkZJWpiID1atb9U1qE/KpzoL1ylv2ksoOXZ8C3UrP0+pzzT4zTJ7Dv8vjdpc +e3MOHj6brCvx8xXYhqPG9eYc0zqqIoARchBNwQoE +=Nm0e +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0160.sha512 b/tests/openpgp/signed/0160.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..4684dd79111537cc46a5ab2e79a3140e256380a8 GIT binary patch literal 1633 zcmV-n2A=siN{tGmW?ZLMfK@IvtB$^HBn7V`DrL|hRFiIawW>M2>HhSTNR#2wY}M^Q zn{O0hZh=y;+hjBDsvNJl`(J%cMgRA-lepz6x+ipv_Klv{6_r+Gn3EYPWq~{1at)FX z7j$o7V(@5PM*9=&YBJK{8w5}j-pQ;Ish6nEK27-du**2-w4Z4}FU-n(55w{Rc&rQu37lx_>rY>2uu`%L(LvNWtxjUP11Srx))!*LR&osv z9wQUN;qwrzr6;48!<)@f1!f_5m6SZ%RGiVb^OrK?G)kn59dlmNf8v=ym1f()(PVHn z9}ow#U79ss3cA6conj&D!d0h6Y%k~oirpH|NCgwOBq!A_Eqf+L&{_B?ChlZd=(P|r zVg8D8tp)|ts85@?2VoApfBx5q*)A7%PQS;k%&KY}t}*zeE@4gw@d^z`C)^`{d>yq7 zx?4ytpwWo>#y52B1wiGW)@{7$kGSE7%^R4TK}o^Bw79s{wc59 z4owF7=-(6+=7=k^MJ+Q4%85$_^xSpCz>Cy{wFjf{R`_?YXe_aUA+&OfJg>jAc7N+yZ{z1r*^%QkARmgmg@&sHmb6C!}QbX(A^DdKR7ip zizjbsHfbWOwDSHb_S8nCdsA|VbRqeP?qH{G%?A<2*p=V|Qh^MAFT<=x;pAfn<_c1I zMIH3!%pMmhs%xE;v{u9|G*9Y%yCi5z0Mv3qQbgEn4M3dID=Kg}JBILNk70T{&HE@n zcMaUooL>i(%x>fzkR*^VE*$lrX;@h$LPm)>N{f%k*N}m$usqc30sR5$#-AU>V%r%b zAFgq9#I zCVV!yhsqt$WD601p`|JyCUga^IuT@uymwltdq*4^Gf30iVTk%6oBR2RhDhn|2;!#t zKh6ZMPjk7l38EtbjxiX6&|R=CD0XyC+zlv_!T=N)m>NiO4~{I?W*HiD{*APwHaZQAauV~7ucWl_O33>NpBocCfl+vW zi8eiz0bUg=e)|8DwtjT|OU_Yn$aZ&v$nq=4nNxp{TtLH2I{;QZ43`(ko#d-_*~}0 zoeEdGxk^O}f2|Bfzgg`R<;T2o=~B1pCC3a&V53||m}pPhrq;aT#&+fFOa1$F#t6Wxb}h}{YPLKL1IyA26-R2 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0160.sha512.asc b/tests/openpgp/signed/0160.sha512.asc new file mode 100644 index 0000000..68c42b1 --- /dev/null +++ b/tests/openpgp/signed/0160.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifaonHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZceL8P/0yF +IwIckaIlxxyoxeDmHO6kdvsif8DCFhu+AQ3hgtupM9nOXACIJYwWBoRlfwi75a+u +m09iV7c0GJkM1oduxLv4PGurQYaFLxI+3STRAWdCmGAUts7atJBu3bJkQvgyJUKc +bzqjG2pw12J7ucoPRq9vlkMr9xKKaChN8UgPhYR/Ewe6w8QgvFSNQ97CreIjsXYG +gQzP6VJ1AvnN2/FZMVVTTOPHujw/ASFZsEAOUwwZcx1OoeshLJ95UJXvTsAKNIJI +/PYw8jkXQc+4mb66grC/4wcL7sRrqH/2llquCqieAvjzZEc/jIEU2VFtKdtDmLoV ++3Ce6mGAUz3iyFKnHUOWDC65zJOCze1Im8ITzqc2YPG3ZG+AQPXlXOpUPSoPV+Yn +uRN2f+TMCVRHmQenBHVvHTryYHty+hZuUw4g2cQ0VoKr98Gxef2A3nQfw+705SIW +G1caPxu74jYoSybaZgv1FGKqrzona5/gSu7vpYReQt7YTAJ4/v+QQCUvzbZBjws4 +Jcm57KsXKIq79DnJYnmVKjufUO3C5ikO1uzpBY0nLJWbOTdvkACBTM5B/BHgRzNB +hbyRXtD/6Ab6Z0O1337ZKDAqQg/x69B3F0Sb8PaqQ3Iq/ale/9ZsZlCJ1DsYhqEZ +FUpmkVqgXZuP//gWPK9MXtxHgy9ba+MF1HD0GeI7 +=vSBL +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0161.sha512 b/tests/openpgp/signed/0161.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..426e3779610e5c21ae1836b0feb45fd006ef3ccc GIT binary patch literal 1848 zcmV-82gmp=DE0~60@xEGSypo8P>LgI0+6}(pbFb z-BR=xkWT2nq_V&VB|?1W9e0XPscnps-YQ_nj3b5(SN+xflg*Q-m?9 z&@ps5s7b>WV*k^T!zR~D%(3>_7L)DtF1I6BxF@TlkpyJX+Mp8@oZyA17l3O9 zxzR8FI#3#yboq&b$V*Sv=X{GWG$7AnN^5rVmhYStG_739Wk2Veje#}+54ACdOL+;C z@Hq*!e^{8Gc;{zFoK=MigTmHu$zVpgsUHQ@ zDO1Ewc(eoINH zK@-z(Z6r?uAQ4;Sf9LDmiS<`@zmvlSupK2q(0bGalh^6^a?O{Jtziu zYk9H0Une4I*}3Ra3Efe&;8{8DEY`&cIYe*7L%ph!iPm!9t29@n6$|Jop_6Pf|ECU< zP;Jg{q}JZalseHg7IKE4JV4vGS?7`JJyUx6&6GsDpdQBH{t7wwr~RT&}9& zQ5jX!qb}L`5o(z6PSTG7T$Wv&6?_)I)lTO=6ztE&fEY+^c3{u=%vpT+S_(9#Y?iz7 z;P*raskHl>w8^6XfelGwwP=j8sx{{NnA2? zlSB1N^CYFrrV}kl%)rnY)av5|{wVaqJ%nBIFsHjf<)bGS_kL}v`~#J%Fb|+$DLFhR zwTw#j90!I^eQgH)LIHv;J*#Zk#4^#5*?Pe_tlr^8@pAcvHY|(X9SyEt+aPkiU^%>f zWu7vMN>c@GMU2ROqi>hW?t6$hDK4UV0K)y>DX8i>NfM zRY&@dN#=aK^kU?Uu6`|c5H-js;8XU3c^fN5mk6S9*w-OZbHEQq&+4p|uuu1gBx{`!lY4tmZcohM7H8dLZAvnWVgm; zWsmQh=&jPO^o?jVo42CXxVPzrriaa_Tbx}-z?=aa1)`TllHT$0xpMb!>?`SK$^?!{ zOPi|&X(zVOUS`uq+u}Y~bP>J$=*UVAg{=Tb!#kA7u6s`aZ{Zd}FtVGBE!u@BFm4bm$pkkM<$+GzX literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0161.sha512.asc b/tests/openpgp/signed/0161.sha512.asc new file mode 100644 index 0000000..e6eaeff --- /dev/null +++ b/tests/openpgp/signed/0161.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifasnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcM6kQAIe/ +4Mgxy1gP0+eo98PSfuMt60nM/fH1xcdYBGDBchQ8fk3wLehb8DdVtNpr0D3p6dfH +DOST5ot5xnY57fmW7wHniGrJy2fTU9dk3GJXYZ/7L6Fiqi7M+GZrVPnFbG8PHsN4 +cAQrf75ZpzdZPd0Ut8LZprjR1QiTt47ySZ9hF1V21/BttRKxFF3l8wgU1w5PPmEo +MvixymqLYBFHo6aMMposOR/uEM8ah8sLhvGbPdT93Sd0ckdWK2t3dsXt/mbsy9vK +GRUzBAf3NuOFG4zQdkS8wvZCbeaMi65dR2ti1hyHk222YL21V5R3eWG8hEN7jyrj +StmARx0/+cTu7YpnK+hsyC/WAnfcC39lXgSMAHuq8sda9cMASahEZt6Av1m6bsnE +Z+N40Wd+WEOyXhI2IEeBijqHn5SIdEP86TFFFTTqG7NV1sm5e42J5p075pxIrTIj +ojenDGMlcDZ959AL2tWSXy5EXEza+nSjTolnWcgC/mzLGTVmXzWuqdFBQ/ii3kfW +YRgAShOpaiNvnm5Ttx97i31lP2NjZSAKyU7b16qJFZDnk8jlHHEz918wOWprCLga +MTaABFgZD64ViU8XpAC5mSGVRcQ1Xx7G98miyi/MiwoPQHQfmsx1CtW46OfF4Rp1 +5BIdFPVr172iKQcrEUCvD7qemmDWfcR5mE6N55bH +=Znn+ +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0162.sha512 b/tests/openpgp/signed/0162.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..6047a209d7aa37ae53e40cb1ec31a623c7004b7f GIT binary patch literal 2342 zcmV+>3EB3)1e&wk_LM3-$DGhB4Pj_BR|8!OQ<#G6vJ(B{d>eCteE{lNiz3WXd$*F+Z5QfN^M123eC~@KWJOc?8*4s) z`c!uHV1pdSlJE(6&?dr?_tX#QMxyPTXUhWbzl~8O()Q%pkhw3RrqsZf`gjXJ$v=wU zUnHfD4#u`lDwQKHtWZEEzE;lZglWh zI%S{KNKt4>;_@N%561OmH$DE^=IwDz4M(*%M8p?fA$a)6#-0nqTf&|dM|g>3+>GKR z8hk|Fc+9RbyEcvGmnZdN;Yc>+Zg&YQY?P$||FO0AxY=nuUF2jZ4$UAIqRMpW*47A2 z)#CL~29bi%_`UA^a9y2T;@|RbCZ2$cdu}jYV|y<#5fAyqXYtj#`KR6diHIvY?Y{b+ z-uVQTT9lJ}m+XYC6>G5f{znoV8%~Gxli=?(qew_y=)HNdh_^J6UiXEQT5+NZr}rekk?dN1qv+KP>200(ZOb9q~+w!a{cvE`spDJU}kXEQfr{MnOf5c9fIeqPP zr9ZJFcz<`Mdkzr|CvH~en4&O=zkic{H+TQ(Kg&Y;xRr^JqmWbZ(`t>wHm)A3AC}Ck zH!ihdjl2xaJC@OTr=i!AcQ>($%VM(5nAXJTpKOH8DAxDil@;@$f;@SFG~ zDD5aB{RRSMDd#P}n!_y=AH?fd;L6lM785j7IPCiT~BCQq`l1m{j52Nj=I71ms8^ zaJdtLqu1TYNIzg#dej#Exid}0vZ%C4R6BqNDf4>WAr|y?R3+8w3gwqd;Rm3C`u;3b z59n2Fa;sPebYoG1Y|V6*C#TV0+hTevMl0_!BUrAx{BK;4PCz3Y^;=NW`0#}&2f^J& zOlwo~bM?>sqeIuL86TKRi_55ixBq4D)$*2SHE>SHJPQqkQhYg1!5IErkB6K@Gmz7^ zbrK1>(jg%pFh|@ZcJI-fSg@FaUE`XeQ7H*6-}Q!+)xUp^&O|xErXc#6R{*cqN=xOe zWDfX4e6#If*z=b;1>D*(*T0l(9LRFL9L>3-Ng2J>+dWxS93rHvXU(G`Kb|ugSRK)Y zDS;UwrD&hLy&frBF`=7$OF26p{L_Vq>?fJtuMkkbVuE>xCAAG+He&a!Ujzh=Td!`N zX%+^?w+HWR|IT5a;z#9-Pq32q*h$IubMCOIRn=9SwE6~tA`mmsP=Fq}ynAaSSp2qL z>@gCuQ$yKE;572qb##n6bn~ZJDp;L`s%0ns6S~tWBSVt*@*VVry2^Qymuu9&Vle4M zor(*$rrxU&qDh5p2`-lWd0fs@yQ95k#)`c(Eu2JqcJl2TR(ZBd%y!qzCYRP_C5k+M zXmk9B485`(fRZda`v4E<7U;+sMFIip+vI~Ap#DOZw^UnnBrt82bQ+ycbiJ`WGbR&5 zR%u#PBEa+|`D1C|*=UhJXQJURQHx6_m>HyK>=N)5qAe~2|Ilg-m8vYUBmLTAGV2M% zJTc_dRyIz=3m+DK!Gyw1gXQhnKTO&Y>uKvF> zEl#A3`?G~=IO@a!fDBk$Em*Lsw|}kO2Urr^0Dk6}kXd1aVe6((ljcr52tdUill)9S zY0|rm_UN0a=oYQVi$55Jx$+DA5ZjRL^O^U6Q<1%VL7GUPrL=au9-=ErESmTs3G~Np z%pU4AtJS3!W(*ICc8X2)hWC^lP^%g@$TZyGYP~E(g1HSnbv_aiHc;vTs;U0T(1t5P zH=&S*^x)bC3-`Qy4&c@GJ6b)pvZrRWA@zx_&Ne0iPk(<$xMC*1oGLVDFy6zH5fEZ*k>eevewC zi$+KQ;hj-Lw;ABepHMcS&nPsS?yT7AZ)$Jx@~Q5ImZSdBcc9ueFi&?GdB*Hv;IR|3 z+su0g^Z2{B+mbs;zU%wBp3{_#Ir<8n4wi)CE@WEqoiT@NT^nVHoY&&^=6^uDVRtQ> zrs&qocsm(*yVwv14M9f0AG7bd(nIfrOp!)8+`4xVcK^_BuMa-EDQB*cE~uUK?SyQ% z+NnMBV@t>d>0IL{#IA|cgGRdyl1l7@N$w$sBgTh`q{n+_msIlzfqrE7&>jWx6aq@& zUz_*T`J5$^Ai{R#BY8TtfXkeFAB)eaLSc&gjGAtEgjW_6+v|nj=k7&vqca2|WdDs+aSPZ<@x&J9+%I({1qR6~EtY`%4=c(2zg zso}nVb8i~X-bqiwXR!~4`2*AZ0*Rf!(66X|lYjDYzs>Zn1t*%Q z95*#zJ?aoB&8ktCn3FQ$j7>0?)vFRY@nmNWHN%xF74BuEZJ%mebxJeXf)3=7Y*E9D zXpt4O`(f?ZA*!5^VVFky!2a1IK?Heg2ifQ&{v^}m`%{h?xQ0l8_|n!U2)~5fxK2lh zmwHw5(Y#P*Np0_(lO!71N@#Wr8jbWS>BZe$m=q1ZS-J3KJ;nKQcxa`5oY=!tO*-Df zp!zZ~Nhy_q0@fw#FSjvk|4LR?V27!ciCg&2c#)FEAJIPM!(^*SfXpOg@Qci9s$nm0 zGXQ4$y@-QB=#YgFP&b$8-2=$L3Yp)frIJ_K5SExRRqO39E6u-HSJ(`7dllhb2!0wI z52d6TGN?JZYdz}DiAs*kc&Kc~A9y^wYY`=#MMq|mp}P%y()YbQ(;{bw(3E!sTapvg zyz;Q}(T=lKPw+4XFJreyCJ%8Q4@fRL7@AuRJ1R5+5rzCs?AeyrAY7}V=Yyvm{@fN+ zoM+qqc}|ZD$0{KFpg_mC5uPaJhd_#8iHk-${DDOXOi&qdT0Ky7q}*2CAW28OO`Tg- zcu~_kaA#)Nz^kiOy~Y6|cZL}4H2wCwysLIB24Nu(QPELVzp>t)sNoP!OOZrJv@MRk z#&nSh<<6s?gM#n?-CSEOqKlINf|lEx-uDx3Tju7P;+Bx*v{h`l2!&JcJP*mW*x%0< zdrpsDB)5r0aKhx)Bx~Oz5uF)yCxpEpUU3kIhABtgiQs%TRWn zLX-aelPojtdJ$cA0Ml(4{KB;xr*%Be{;b1tM*bB=8b?K(qKK=Zfm*s_;acDjze;L| zG*me8Wr{g8+Lu`(4V)S@y`A-Uk>)A@eymN}dkV|u&Dn_eM86{m&E&*8GrPLgJX)pS zBj~l4yUh)U;AUx})288(J1*T<&wIc8A()(ZE2dPYYy(0A)i78OzyL{?n#C(UdZmXt zl#z9<^P9s=VpwUFC@flP;ysea{Vgf>RRbhBqIZio_Nr8q$CLv3gfbvxvr)VT%pWJi z_|eg5B@ z@T_kVyiqkA)FbH}on5t4xy1|xtrymEx0g16MRy8%G$Vx?r3ZJuE<$f^n}Ck>uzqZf zkKCG6Q3WwIrd7qwrU+m$Tdn?k^eapOpxKl@Q7LxfnKG(S3E~Q1-oGqj>_g=$quzE@oyH&o$`9hv-%(S!HMdMp0j^wr zK7J7xHfh7dI^cD`n0oaLjh9@nXUc_PSdZwmYf z%EO^~^Ek4#SmDRk9AAj`vZ6=Eq7D?2Yseh@d0{eU$l^Y@47uC+eFYw3B7Gy=mQwl! z8*+U%pcsF_#@S>NaxiOZYd=Ud!*RjnJ}Yz>ZfNSwrmj2tu2^=wKRiND79;KnWTfOe z*Ds2#BY&CWM|jot2iaJ(GnXHOM<*e=_{U*#-9g2fh^Fe74$Da z;5a-RnUp_%V4--a`o&iu3q@Zo(cVioCDbBy5N=*AuxkG^D?{k@R)@~lLBwug?wxp; z9B(wW^>Rdxy5oNJ3YRh=tB*oA8*()^s@dwWS69a;j!YL@y~Zy~DX-rc<3vUd0&j-)UIoz^S;IB5u(lRMqygFtqLj^={K}SLa8{SfX-@Pdsm-p z0^7y~uSoo;y$^1Dk(YFQO;t$tiSzah|1sA@%k3}7>9c+n$q2?yaeJk!Y~ kO|t7Ua1RH`PT2)x%xu+b^~KaxSvj9lkTj=Hs9rp+&p011O8@`> literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0163.sha512.asc b/tests/openpgp/signed/0163.sha512.asc new file mode 100644 index 0000000..0086ccf --- /dev/null +++ b/tests/openpgp/signed/0163.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifa0nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcQw4P/0Tu +HTml+9Z05UCk3yv6EJOiRw6Ct96a+E6SKUlPlnVq+P4H5holR7uzAl1VvhBfucBa +1+ep5r4nx81Jo5WkVS5z0qg+Mug5OTXKdjhgfmBVzRf1+8Zzyxjf4l0HEprNtNm3 +5FwJF159+C1kSpewEf16HkFAWveANtiEuRk2tSyi4VVfKNFB8qTqDonEW9UNbQwv +xf+ngGv54CnEja7Jqebwozn+mdCANID0imCvUqn/vr3eo7kuKrfh3K515hWphpWU +5xLANiPV9gtylnNbjEMxQU7Rk8dh6h/xIYUi66adukFvfBpmqMTkQ/c2Cwv6DTSH +hXrPUV4c5ufXJTVSB09SVKnv30tFSmSHMEEXtwPz0O7pCgI/igdQ7rswp4JHZgk4 +//Zf8k0NCtnb/kLzQl/eSR/tR51cOO0PXUfcpe0VY7Rf4y5ioHbekiKINfpSiNdM +Ej3IMNrMRzQjI5Q+j7AlEy8tiulYysaZlIzbycqzkVNE4KVWoRLEi+pTJVpX6qbe +G+DGw23v7+6PL20v0Z2b0n/6gA2HMOJQ93Grtbo9jFTgNNbIxvcPqZrgtSl9TJ1Y +K2Gg2JN08T5M7oreeFh5JB51GBwnJ1zY5sD02XvcHpt1b/u/CZxE02Yaveu8mGgT +izPa77c1OYO8N6/W0kZkT6ZPXDAXX/4uIdyQuBlj +=aW7o +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0164.sha512 b/tests/openpgp/signed/0164.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0a6c5fabf271cb91782500f582a1a848cc7dbe61 GIT binary patch literal 657 zcmV;C0&e}MdX}>V0m*}mTjI3LCy8vsEh5Q(Abi&9Er&ZQ*zpigR_E>uB8Q z=ox7m*Ra`Hu`w)gVc)4AYMICMp^qU006S7ibA6sA9g6i>xVa}jP!|{S+xRQ9#3Ht| zt^@Fsj^Xn($t=aO){L@Ce(%ytZduS_mD=vSDrm%YZAw4McbDs zmk$D|joQTDh&{*WX##>WEj|o;mb85;~ePt43eIp$TKB z!CVyvGyB9XEKtB1;E7ixqSi7ZR%(}P-vsEM*RUBQ{z9yvU{M9?l_GXTgLM|eRzzN^ z-EoUcpkXpIN7K-bFkg3qN*!bW(hZ0QCJB%`*7I*$bX_(4kEtA$sm3K$^#ZY^J-JYa zT&ZhAb;!D5A|{F9#bV2 z1|Hc-=HHlBe~Rc1Z|8e>#}y{<_T+6=KBliCFx49DWhH*_y9V65*iB*QdF#M9H<(9| zGE8%@CE%h^@K*I?HWF&DKw>n_LJ=J%!_X1dkiHx_grGxELnsP9Ce|HacBDYpyxIgw rPn(k6#P~uw+IYQ9cegPyD8|F^2(Ew`ji8y?Jg;0^wlHs2qr+77%2-9n literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0164.sha512.asc b/tests/openpgp/signed/0164.sha512.asc new file mode 100644 index 0000000..f5f0063 --- /dev/null +++ b/tests/openpgp/signed/0164.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifa4nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc7Z4P/RII +OGSqj/p4QsEn7YoaLD54/1Ho9CXDckKiu9Uur0tTpLHvESYzG/0ln55gTFPCVWBJ +bxMOU5f/clFR4k+rk0Buk5zJYR3/pNMtwwlua3UZUtMeWiA0UayjDNeYp93ELJc/ +bJKRmE+wjVjoISK//i8E9tNdUV03FE96iG0klPH9y4sGPOqM8RmaHahMQ73afUBQ +cIUCnt5QK8jA8G3SXAPbshLdjMxS1THqA50munTeJRobw7NYUxIRtRhZbnjVO35/ +k5UBUL8p2t6rjAMTzKzTkxbrkYRkuNzoA7zPZuVd3XJT7q8RKyOYJdfsPEP0+3or +dBiO/rEKtaUVZxBQEKu1EXOy5zgJaAY8O57rE+yncBKu9sV0V4vOJPQEclcqc3i9 +Q8JDXyou4DMzcEyOppw1RWqun5eY91+QtcDJUubjTaXf1DTqj548m/45Yv3c34M6 +LkGpjMdljMS+NsK4sdmyWTGnUbb+yVzQCQQrOKUEqWvnpsuPYjOxE/ehwhl7WRu/ +u9TY24kgiCuZfKAjkFtPPydlEMkr2vxIpkgewP4YguTiI2CoXk/qFJlzOy+a8KXR +v2XhmJHlc5JJdq3wqmqfu0Q3VUIPqznDKYYK4OX/UFszwwd1MYPkJDmZgGNEIyDT +0ufkxs5dTxHxXXV5GlJO15nqRzJImmwTWhtpUZ6I +=PzuE +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0165.sha512 b/tests/openpgp/signed/0165.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..31fe20fa42bfd0109c1a49397f53733c83d4d2f7 GIT binary patch literal 2021 zcmV z3hEFVCmLtnL`)l1fTu4{&bLlpW6eHDW+QD&v`(5fyyi!P(`wGUBfuxR=0f!Q9XON9 zabDh#GJ&CZSJ|%*hCZN$A6*Nq*kjzV%8#fdW*&$IdNDJWy9MwiTwghu_RgE;7?S-u zH^^|nF3Rf%b$VMlB3G~4?KEbmkq0#C=7-*zN0Q*>o`W<|CZZWL&ppZ}aq{KH6Q zWZRZr4ob5uVl#@0njk>(A9RzEX9diPBQ{x=p0qiBe=%Vx5}Hsxa7*Y;NlMM~fv3Fz zSxGrZia$M!hx6HQS>Zx$2Qc>ozwY|j&)wil>4#(gBj_wdG6uI!S#Qiqf~^z%cy|+2 z*0P84po?0R1+uRWeof{97PFS@%!B=UT2ovOGVVmRL>OBwEy-r?lExGiFY_N25Mb4n zOZ{I2D+FBrRjf2N6$yyc4laOFD6CE(*DswvPt)`yBzP9dcg@ILm`vVW9@OmO?=go0 zXK5=5Ns=|d*@!l&sxpTTc>T~ryxZBYTBl1O^YKu%$y2hcKd)7C7Ymr4TfDHemAA%XRLI{KRt7={6v)pm!LsffgRe&~{+5{1>! zrUEdmgr=)ri6s`rT72R!D9R4PMk|)}RNpE`l<$s`YZ71M41Y&HU)Ju$vdw;llV^Tq z@8dn^EE;B1C1LkB-um?JXhLpt=3{Y%;xPCG(+?SWjU@_gB(|A4Xz}(OtzpSDSb=JB zlVPqBr>+CRsnl#SRPMLM(_v$JvW!3Se-w24^=TV;_7axnv6zfsiT_y80U^;-;^TXd zUPuOjLFlh#`dbo`etkdIGUHBLI~<_SYnI+ze34WdAK8Xjtw;V3*VB9bn`Tl^0*gLb zVI*gl>65i*K=Jm|U#6;-oc#s*Im|2}l}6Ate@umL=S(+e8w+vtHo_?|orQ!4I4PD4 zq-DAoZoNFxiCBVREn&ArAuYHRI9}c^k?H`P>ezW)BUI4e7sinCo>+F2!!Z`tJGI#{ zC>OtBj7}KfebNPG&FUuI*e~y)K5&clRjN@ER~i4EC_TGXTB}C`5+NB5G?tkGBvECK z=)8v@1V`K%kgf2yM()01Bc@oxFJyk87aZ||ZgyZBI zm#=)i_^x)kyn*D~DoIWPt4Mo$zigl~{*o@n`g9omkq=YF z9GaQZofGZmcN>&evn7|m_@Irwu5}ePR!|z+V5VIY)_tWELx$%}=!!^`=6o}8czwbv zmTnp2EnSLD9th@+3;9r)Q$;E0ej22~Fum`@A`~MFhZ{bty1zzf5G5HNiF>l+@C+BBni|0!Q0dzeZN>q%bqPhzoK9;Mk0YVIJzX)Wa48>> zy$g6=t`gf^B-A#JA2q9}{ z50QadogJAEw2S9!6|lSIcY1l5oyAFn$}$ zSE9U5(VTxl9@wIazKdP#-OCCdLTP@e!|0_mcN`$8)weRixJ&RG5cL8GsH$jGjy3^; ztGdMa9J{TR-{AtV10ojZ&P)#3wW%%rUTDT!2B)X`YK-e3QwjX?0rD1ARWOFB3T$?$`g} zSDpF{0Mc@}jlAx7ND3nN)p~KVH4>jLXR_FDuyvPVkg#NCN994wpcx4#O~p0OucViT z6nbtUg;gbn431KVL|5DO@AL>QpVY^kiIY@I1nI<70$1&mxKMtA18n$17 z)bv1*;Z3uq9}%v<0_FyKSCwIp4pj4FKq$PVg*J{j@eUR`M*MG=dFlCmFstat% zV*n|vh}KUZ%$$vI+OoT(;wg8fd#l(SeZe|)PODyV|9Xpuf%AZChC@^t4F{}5*98l1 z#xM(6H6nkwww=5BM9DKU4Sp$z&*?%Onxp4(Q!cH$fvo;$Y;Nz5ihqP6%alqh9E8n; zGEJR4RLk?%n%D^Hc(7755#)R`scNO!vjAR^{3wfb9i8k4gQY&ddLIteL5sMU_eDz9 zslXC-Rq>2?)|(kvu*_J>wL28PVN=j3^>bA{2FW{h4fOy3 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0166.sha512.asc b/tests/openpgp/signed/0166.sha512.asc new file mode 100644 index 0000000..ac43cc3 --- /dev/null +++ b/tests/openpgp/signed/0166.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifbAnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcrMUQAKDT +7xP8tiC1YL6MP3vgRG+90n0EqSAtroGixqN64KlfBAp95n+azoN4Uetn8+jNvkeG +n9EzhYCKp+S9MEIYTNImJr9Jv/HhVjw3SybWMOMaEhT9qs+MMMYjHlc/CfNpIM4/ +iBiOakItwxd3Dr4GQUa6rOX0MrC6FFhVaw1bU+UcU1w1MfiynwjlVnbJ24hVEjGc +zPcAE1WkzOy8GyQaaS/T0Zk0GTY8s+svVB4wKZtiJZ9mA2/S9CRT+o33aXKSaHPG +DLVeSrC+XT3GWGpjvAxjIeOs6uXOOTcOTQ7rEn78K4ubq+Z3MzVKnzgvYqbxNKAV +gf5YdzJkFM9Lh+vlaUrM4Y30A2wyR7j89s91N1+LChCfuC5wrsJxVmX7eCtYOpfS +2tQzpkYCeJ0NcRePMy4cXAr502VT3ImKauJ+hf+wFjd+7o8vtGw+E6MdkhilYygX +0o6sOVs7GzHbPRt0BGicfGvJF9BT275OYSaqtQrx6sIdtLJmpGtqJNNvrH0cRzwM +CHUA6+uZt4YjxK2Qp7xdtzmKCsRsJJusd13OzUdvR9x4aToMtzIjzkPJPpHMI86Q +cFRs3Guma12s29gqqu5kvNiIJ541O6R3wtyUnJ2aAh4nag/aLdeJaS2ayluE7vvq +Juf2qbgyVF7zeT6Hj1C6i4wVMi8PLdF4zEREATfP +=zzpA +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0167.sha512 b/tests/openpgp/signed/0167.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f97769b874d441469082712e33587593ec1b11f0 GIT binary patch literal 1892 zcmV-q2b=iX*wTk)HgJ*EHQ)o;+6Nu2A%-(i zNL)`=xOu=1nY33FR;OM1t54x9X@pFIT}TlA9|1)5%D@zodowzG!CZv`Ly*gkvD%oh zvv=zAuJ2lAj4L+ifCkuLf7VVIBv#=|Oap$wD zxIz@7fxmsXHXw|$*2q$i{|dY=j+TGNG;Fbd0mauIV3>IQ^@<}$a~FCP!O$VSE-9|J zJ@#yGp?M!XuQUXNmuei1hY$WkEVirgN0S#$x% z2zCjyJ<^ub(QQSm9TBlFrp{`~#(8!c))9EOfR(Liwnp*8^@5iI&eTwD)MFYd_ zk!A8>PUrBBPC={=ReyD^?s}5UYZ;v4%~e-FPqcwsAPp75PhyZdSbcNm8?OvIC_3^a z+dO^`c{>N#yyesZ4xLX$)~WV3^Aq#paA+m_C=1vh+3|by4~o6a^UT0UFLjc!Z3tdX zHE)|DQ0S4qDpL z@pX3^g@Fe^7Dsu)OoEAFT`D5c{^Lu9)ikBTr)UjUb^V8k-fv>_Xh;t!b2KU^Kw1S-ykwFqck@gBa1`>y?u}raG7CFAqL`a&Z3azjgY6MgM!Y@- zrVBst>|{pDCibVBr>guujjF;_1nSO~6&WfG<4t3bJ=B7BVD?`0){f_gaxt3*1q6Br z6qdLRGP?UYyfE-Dn1W-k*dfjd@rAXjM#XzZC9K7q9cXMBw2<#%{_L2Km0aM`e?X(m zHD5qTe+^46c6Nw4AQCm132@RUviEAabNt~igo-*tkW+#gmTr?3HmAH_m05PlwDkl} z-Rp^Ci6jmz0ljk4L01Hlv}|ftzQ~g2^*OtOGpC0x9WS}pyzTN(x1W*9sCu;bSQKh$J0U*w)acX3uWP-xotCW|T$)AH{rjWv!OH9Cln5%7* z@04!Pe8v_pKOe)D`+U5QiR9gQjN&MFQ)UQl1=fk=x^nsc4qLR9vv~26CLPu3v-i4o#vl6?n)pw7HSWTq@BQpBXeC-i5hf!9V z=@|rgIk?)&mD1do)V3_Ci5Ww{#tPn^Tx%GA`Gb|gz=5dZ1IAC{Sr6PVICCEAacB!w z^80E6gRwKgV;hhLL#V>e85T){N`R+zyc<*w_E21Q=Y}NnI)bt>sT+LAFCVe}Ed7sq zQOR7?@hH~p7UVxVN1W}`?ks3Wgavl)+S0#V69Gv{1%zPpuzU|f=OQi903N0IX#YFl zmV9q@j{Jzkz4r+i$ z?TG3_M1lh@nn|YIvPd2*C%Y}AFR-Qy%{Vaj3I1+kX^ literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0167.sha512.asc b/tests/openpgp/signed/0167.sha512.asc new file mode 100644 index 0000000..49f6b13 --- /dev/null +++ b/tests/openpgp/signed/0167.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifbEnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc+PQQAIzA +uJuB3u/tG/gMcGHXxQxZ89XF4jDC86ZGC61/+6uYhHeWiXcP7QtBzZNhVRJQiWGn +H7VL33ABWQvmhpjuHGHEKqkTpNLccGNkYSCxL2DEzjMYoXTlq/n/IqzFSWIBt6f4 +xKPE5mo0zudXyj5CZHHRzfa0sq3rd9oa21bXJpUEGD1JUJSfEo5NpYwNB9QpPqqB +AXEBGvPgsNsxVg5lg8tIGsBQfYzGXcrsS7q0ualsCYKQFxYVaReFP0xS9zEzC5a5 +Qw3u1I75jVzYYJM83EjMwArvFvtPnr/rgzw1DnuAvOMtFrMlliPOKafsRfBmLJ5L +E4wKcHkp1KforrfFg6V7I9h3aw1WKd7HPaTAfcx4ev1rhUefP2DPUrzyrHFBRHET +7PF4Z1PTljG8tn6lfx/mAYc9I8eoadhQHQugrXflcvhs5tsw3b3jsTIkHMj4XPcF +uj7OMmRtzySFNxKb7mxYdNYlBgiLO4hnaTu3je8IIJrnt+KU3S/rhB2GKrGJDmmq +NDetuZz/mX68z4Vx8NzjVcAArB1wfdafV6BE+u+vmDDPQkBZamp4PO3d9k1GlWMi +RnqoKBLbspu2L37CzZeXFRxsAn96kG3qKBZAcSBBt9xanI6GxEDD0pFmqh3Egm/m +jVedyq00PZ1MnhnATv/X9RCj4Y5Y3sv02fi816VU +=gUte +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0168.sha512 b/tests/openpgp/signed/0168.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..c213337a332da9de750367c6442de621737a622a GIT binary patch literal 2217 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0169.sha512.asc b/tests/openpgp/signed/0169.sha512.asc new file mode 100644 index 0000000..d6e4a42 --- /dev/null +++ b/tests/openpgp/signed/0169.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifbMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcwDEQAKZ3 +H6GNWpXspH7QwUBAqQp0zCjUlzVQtRhZ5sVhRVbuLub8cr8zM7jOsFwV4OC9W4zC +s9DHZiTgf/ntvHr1NBk/4BTQDbghCzuIggvybwwRvr3BWSYBi/cjL8cuxGdLBqV4 +0js6efsdXYd4i00DF/FX/Rnkmws2BBpuWWPz58MagG2pMBs3RvLp0GY0cjEW46nA +MK0Q6s6E42mqm4bzX4d9kZNb88aFqz+CNWF5jl+uX54iSmdnGCQ6g4MxhRf7MyQK +DCMBGwItlMtyNCsvVhShTlh/fohH4N4j9qi/v43y1q4VCNu8uy5pg4OLgRK2wA4r +EguVe1T9DttLZwR/pEGkQvOtku2sswSL7HFFKt0nbb/ODvo2AUV4tsJa5BYX4KRt +y9DBdQBNIW1ebLLRj+foT8jKTNQVmdVeMckjIdbWe+jYNIgziuAQ9lL5F+B34BBi +S4O8yuBjB6CSs8ScZlAnEHnKBiiAyg7dUD5+/xpF1TlIEykw2l7MTvCjXVsXIuwF +yva7HDCmEGsqZ6O9Gcx3OMIJiO9ZIovGPovlHAMP4rKcYBu3Y9OLBMJHspt7tOhZ +KDe/Z17hgj5HRCLNoDpetOmhYkkuzfEapgixznnSRNU4TW3TKtQ00iO1bjSQ9O7p +SuoBdtTyFxidmDioKNr3op8UEqb/vn+kSw5Cy+IX +=9iy6 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0170.sha512 b/tests/openpgp/signed/0170.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..be6a63d97a6221bc6cdb28dc47740da0dccc0050 GIT binary patch literal 1927 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 BfrbD8 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0171.sha512.asc b/tests/openpgp/signed/0171.sha512.asc new file mode 100644 index 0000000..fa4cc9f --- /dev/null +++ b/tests/openpgp/signed/0171.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifbUnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcQ8UP/Rt0 +YSyXNcLeHM7pYbhGOzVXj5doC6fdO/nyNFOB7i1eyyukQvIEJcdHoTyWgclVhK30 +h+rGJtu4hfuzxmOmbXQa5oBtKCiXQpCXlM9UWxittkyhhFHVyJLEjcxgiZbTYFSq +59aN09G+M7rtqVRvU58QiFjAC5zlBNMrgqdJiwH525nA9MLcUo1N54objHZ4gohl +V6srRCu1lODUQSTCCCSxGICjF78jYD1W/zhq6zUeTLNRYpcWEHCslHC6lKKaheFt +9gvNgj3QQ9IppUJCkfHF/VEQ8loXXqBuhWt2XLRx2V8lPnAgk6DQl2eZRRqgFqcc +HA1GA2rEhLuzXlfJWzQkoX3b+Pgu/tdSslhsPDnd/GGzkkp9CQWUi+iTDDpq1T8+ +5XJH6drzIB/1HlP3v74avSA21CQnJEkc8DAV2OI+3bc7FmscvQ7rUtdd4N5woNj1 +qJTMbvgmeKk6ub0Lq9spkYnaeAMJwD/mMdWh9GIpt8HUY+HOUbEbQRcfNjV+x28Z +QB24SAoFSRHcVbmwlZzfJX47+IB1S2v8huyu/Xhz7FC0xDJMog35IsbBu8FEa+9y +sPeuQLtxNnoh++14zEPjRiC4vcwdKc6BTMWr7+x5PsFsiCMub25LS87yPOQNLSNz +KCbI9igU4f29w88tKORRlRc6QhMp0jksbSGZ63g/ +=O2zk +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0172.sha512 b/tests/openpgp/signed/0172.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..e6c6f9b8ef8396943d507d3f385f8f28975701d3 GIT binary patch literal 1118 zcmV-k1flyz-W;R7j1V9USnYU`rpLudqCwI9EdvKD@vI7_2$vS6hD23jTMD_crhPHK zE@R@jDrb~i`C#v^KccxDj%O?xd$3riAuS}`160G^VKZ)}!AZPF*P-UHY_r_o{>`F# zGnLJ1q+n%-xaCjAcno=Ht2l_)fW)%(FQEU7>;E4|dyq7ajw<1r>rqNt!Xs36pb=`R zJ#;97gvN-8fT-|<&6SWFE6KKkGT1swFJGWxRD((9PEp@VZbZKKKgieQVKsxViBXc) zoVUpigB!7~PG9aLpKZ3D6&$Qi?Q(oZD3m;-E71f*g2m}I*MD$0e4b)h3Jf_&h#f1| z(fQckJ%=uxn4%eew<}#a`d-JZvA;D21U!A3%VNK<;J@% z0zQqhbt`dd1M7r*7T_`p^Ewd0_1nO4$4<6Tv+=!V9T*0*T55t9u%A0Cs@KFlJzq~k zItHv{Z%%vnbLNBk#$+XprDCUSV1WH>gjQkM?BR4L`{CNJyIF7487V!GNYpjL!907p z6%SY?FlI$gh0M|~rtPb#TH@*hk}=cD{he3=f;Ku+HYa`JLavz9eEWBd{^wa~1o^0e zrG;|aMIbSe6smg2la!fN-v_Btu2nvOevcVZm4*#&1|`Dq1wMd}`=$B7(rZ{kzpFIw zN(OWobg5PuxITJHC7J(D+`^==f>5L`Pv@#?C<^0QTzoWg8!oWMsU=JkZtjZ0C=bZe z{T@z$S+p{>6IDJLLso2QHiwT?%buD3_sj3luPs)}{1~dp(@-`2#igusZdPL9ET3T6 z_$N3Mq63&TvGw*v=!7N~kePr;-5y2UhcAMm3F59L4(D3C`eVX-0zL%Jck~6(6@;7& ziT%qUe>`vTMpOuEhMZtzji1FG3yEuprxj7jv!ZYo-6P-(nSQy{O6wc>j>48teXOa< z1VKYsQU12^bBMEe21lK4p*Azc(ur3P)@wF}Xa~fuH}mYNvZ9G;pNlRQvTkK1#X5-y zInBVTZu&EYa0}s2lcull2H|wL=%SkDyXH9A27)6x5+iDN5m{fHt?{zN`wg-Lb&Y{2 zP10tM$0XzBXj&17iJzpCZZv9->VHHQG14-S`vTF4Xw&Ed;IdLkx=A#(G zZPe*`S~11dh;bSo1WdddMyJh%F5}GdfRPB5+Z<}Av^w3!RO_zDX)pC`4PpArb2OP# zr!cJb;3?4rmthulO&%sWz>rg*QVS#S(r;KnkKr6dYb`{=I3qivzbY&Vrms(a#bS7O k8&PVPhiN@A?2ZQUn1H5uJcdh2&GZ%Zc=U%-cx*vGYeaq`Bme*a literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0172.sha512.asc b/tests/openpgp/signed/0172.sha512.asc new file mode 100644 index 0000000..37a79e4 --- /dev/null +++ b/tests/openpgp/signed/0172.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifbYnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcI/4QAMv/ +Vr6eA9J1KKoK9rNTDDy9FlLLXlpKIesQdLtzv4Aov/7WtfLo63IWatfRvgQMfbGF +tFsQZmduEcq6aHa+rhatwArZXOfU7pwUofDMTLjOwIkWorT/BZjitJiKuFchEH1r +Jm+Y+Exk6qTUcOsKRkau3YPEtl0Q1t9xUtr8aCWNMnUnuvefOcASFuInZ3mZHNWs +Gw+a3KVaaYTDqDF3x63CF9+8U+Tll/v6yr4+o4dC/mBZliXSBfrO+mWx5KNIwU+L +/gt9hKWhtHMHtQ9Ejp7RN8erod+ao9XuNa1HfAD8xzlGN6h8FbvYhhdQ92Xzuith +cb2zhJ/aGgeJQUBOKsG8jS+IKnyjyMzzSET91PQoksogjXX7yZtG7zkiTuI/dv/l +IVlFNvMAdSGY6TKPECybGL8K7f3Eh8RXIlORQlWfX3XH4CwkT9FuA8bU/0JtblIl +1cUoGW5hlM1/yazZ8XUDs94Vet8ynlVpJ828qfp2C5nHlKX0ZHSeIUkx10K4r2tu +smjZdk3ip5RkQk2CtR9zgZfEYlPHMXTxFxvGbk/fQWWQCvAkP33K4OQzXCdtMwDZ +QMD2WYnOXEfxxjTDPfye5TAd7WMqNl0vnw1/1IY/GP8HgpTbbiclDkM7960VibwQ +m9qmPdjWS5MckvJGv0yQ/SJICTNeF7dMQGXPoGHO +=7fc3 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0173.sha512 b/tests/openpgp/signed/0173.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..78832e37366be5fdc51f13523db9c9e83b9ebd29 GIT binary patch literal 268 zcmV+n0rUQ~{LrQ0Ckxc{;+DL3-5teAtE7{(u<;CMo;zc-?Fbqs<=|+UGi9Q?7ymJc zKJ5R;y25d|9|ErgnZgAyv*Oo(5H6K60O@TcY4KiWPjo29uBTd-N!|R7+Op$+Lmj__ z=(n#Id3|5YB%x~Xz^jtJ7NYL40SqeYzR@u}qdG@Y;C_xF9ghzj_1mA1vf@{yUO0 z>k-jvwkB_(+BJ9;SK#Q^`Ilwi*cqk6nV@lag4%MsY>!qxLWF6C2K9*5G8L2!HaGRo S2|q&t!J^4n3%7kz0Q|8|1Bdni literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0173.sha512.asc b/tests/openpgp/signed/0173.sha512.asc new file mode 100644 index 0000000..675d99a --- /dev/null +++ b/tests/openpgp/signed/0173.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifbcnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcGrEQAJJe +mFBCJXRX5985DUNubuMRN+10tJnskTNEea505hkyYaygsWsnsfLPwVmf+5YkLKwb +wkjhMi0O6PA3vKqTjGiKt7Sa6Is2QWJZdSdJC2TVnOZoTVPfM0mab2r+YVLbiM/3 +jqCzoNp+UK1DfD2ScVXVyedXWY46iHFT1gDQ9W8Ax3qpdNzv+5gB7spSzttzs0UD +YhZodtx98CyMBld4lB3/+guvkdI3eo1bu/FGh7NDz3Fx7Qn03/C1GjsyPgf2lzGs +JeEdCOF9xHQab9ylfsz8Zicm8rAFUJKvqd9KA8fF9udXrUTsiaUj2XGXG/b+Lh/s +LA84xYDlFFuBkq5np8uI8knMhjfRomgcsA0n31u5eOLzUX3m3ONwxnhJYFrtxvmY +bbv3kiYzGjrjAXJeUInmlJBf75BCz6ePb9liWbXoCCSntMEkkAp7ULXdoVjMeLxS ++e87GqTxm3ef0fAgt9YxVueaGChacH1CxdrN7YOcvTABQh2xZO2vacnjeuS3a+0/ +IHRCZ54aicH8FTg4aFeugdv9XHLegjvy/EoQW2dPl4NEn74+cl4PoVenmCnri0Ho +jbelxseWs9Wxg6gM+SRAuNBO3h7E86EKljICcfOaS2oDH+TfcK4nB+YIAjS2zR4t +bLm4/1WRjy3ghGSM0/pWgIJuWZcR/mfQ6rk0jK9v +=eeb9 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0174.sha512 b/tests/openpgp/signed/0174.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..321b707ce4d28dcbac3323154dac6167b6c26111 GIT binary patch literal 2180 zcmV-~2z&P!wGkw-D_%5|B&yU5(B7NXUyCPC>bbEi!^}wUb5I*wv;GgMlDkBWJlNxoyh@g+$;xik|%WX)I38 zDk*(SAWMbd8XZYGdeq6Ry{*q@(Xv#fRB8-|gHR*;Sbhsyhgo8>eNZDotWYRMbA zI)sjPF3`zUY4}KOes6fv_*5m5gT3n%X4jN{%}Zf98FsILi~ZbwFd+$A4jKMwAP;So zI?Szt2rTA{qvY;_MGwMAU$cYEx6V{M8^00)9mWO|3nEKYV!?_-FwoI)31s-kE^dvh zn4D0vd(X^k=D|;H)-&Bi_vCZhk>}|#2#Tv8-EvZ1h|3OE$fgdu{fE3A*Jr)N%=n7) z;~yGeLfF8jqJ9dD$+uQ!VO% zSEAKo9K_@WTxKB#wflRR*q>P}cH&V+{d!_}8YfJK;TQUmqqdR0+br+hw(^=qMz1$W z*1c4l4RDZ{7e3hnwh+EgiryPq!Ik~*C-T~R^*#;t@C+Uyq2bDHsNMY-7)ZlT%f%Me zl;kOWxVN2GoEb0OTvWYhr{K>})$>4Z5hCy~I`8i~6LA6+l>L%-m~j>Hbn>MP7%R$8 zSfTz1v$(PWezJ0&i`pcdjfc{ahO_fCIMhNXnP`Cl77C@|yz}2&g-#to`R$_d`SWEB zw!c#i>D-Tb4DAu>+*?7hCxqm*v@Snp<}SadN6 zcy4;{Z{uK9bovea5>$~DA>UkZgBKR?OZ~j*$#vMxt|;Cv4?ro|$?B|}F5U;of5e6Y zU>!qLN{DhjJ`H4~iUaj5Misc?&7(oz`Ucd9EOwkll%1atdNXw#zCKmR+OdmUKD*Uk#f@FC$zvYA#Uyvfq=7CUK4Wr6aLiV za`fBp>QnU=mJ4%OQhi8a`-KGb*v#tMmS9WjX3|qDQgrM=$nr8_Z1Me|3o^rbA?w^` zLZ2Wney;+=oiCk3YLBDkQC-|aUoQa(qnRB$7?D^i>(W-~SqB5KGkwneyngm6QTz2& zf7&S!LIGL`)xSUJ9b0UrxqtrSb(1Vyvb#F5Ci_zgfqW<=oIHBc=Mi8_$6sSboQ1WB zHOK+8M@fXq6-tfTGr3vxL{c?h`GaV81y+jF+lgF*o&I zZ<&6BG9CzHtZ@+`q!S7*UXnQ#3;6vVUUL-F~V!}jh?wkooi$UG^vKaV3uac^|U zIEMt`xGOEP>p9F-*_R+ww1#q^&0xk9)KW(chlR7_YD9ykR(Hic2TVx9xMG3x5|Udjq#Nwj|mj#RQZQsEetC7<_@{4f{@)D zw=41|S%U^nMU`;nvhr_VrQQ#}?#MHX9vh+|w?~a%Y52$^jg|}Ax=FW6EeT)OGO@<$ zPW<6mUb?p`ft8FMAxyamr5FwzR+#-rvxfT?8Z8^q7PMQD_#aqT5Zo8UaC*n_Aq81ioQ`s-R&t-MgB|}=Kv=*OC*Z-9uH!!$(Af+nAN3ELdZsPR+E7EFR~RAs$a%4zU129P7GBDdSK|pjGV${Vroz9J{g`A7v8q zLQ&@Q`3c$so;i#(*j7(5Jax83D>gc|yI>CzFb$U#;>wX$i)kuD>yh;|VZ-~OSq2PHXCkVB z4kB^hh_d8<8;(U6L#4>%OehJzM>fgxpxZrQF|3<<3*O2H);MxS403PSrdtdqU(fd$ GB_YzbJVA>9 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0174.sha512.asc b/tests/openpgp/signed/0174.sha512.asc new file mode 100644 index 0000000..df11309 --- /dev/null +++ b/tests/openpgp/signed/0174.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifbgnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcDSwP/3Cb +mqTnAgvGOQrIplMxTrL1+4CF8Bt53fPgUmK8W+dOTRulIgZqw0E4toDxcv5ifd6s +G4etQBAuqkWvq/+jn+k9YldrTqg4rnFkGVYDs3gTsJU2IsSObCP/wbWmF7DZvele +FgBh8UaKWgq4m+y37nPrybHssQb0ksQISKBl6VI+OXtvg2t4OGFQhO83e//OOseK +GwfOxhvErvZG6eelFoHlkPGUyPtFY3T3xe44VYscGkDul7VAL2KAlGeupdZ6jNJx +y/hwZGyUVuLzW7Vl9btGWn4UX4grgTMPgkdGh6jmenUgVqNJDcVnWrlrd3K97Tge +XFhFqPVpC4Y24nTOdY7i8QuX24HtHzS+S7SsIEx4EerLaxJMN9fNgdBLIK6PEtDx +XL0nIErcvfNyWpJcnz35IaB9zR1kJSHE4o3KVSet2InLohtaGAejZ7YI1vzlV/fU +B0G66K3bO9fS6/OJd+8j9F4xYgfcwz0ovsLh4K+8c2pma+T4hZWdMntvdJFcaKcT +jspxiSVlYDTijMp6WfsGUtdUdOq09r2nuNkNV1ozVbHqCui2oZMB9mM3bgl4nasY ++YqYhKuCPwhPH7h+OxpqwR6QvDEpJrgT/D2hJky20t4uTXWJ0h7HTdt9ZD2AwpLm +3AEWH9U1B9Ns4pvy+/+6wJLVwXmaEiv9KGvHk4ev +=NVhZ +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0175.sha512 b/tests/openpgp/signed/0175.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d05181a1d897cd940f76770655b3c138e6a8910a GIT binary patch literal 1757 zcmV<31|s>oO~e-r>rkveZbIitMN6MefxjQST3VU2eLI zLbU2}1H*AgL>ni&A5f|zN-hRR6T(5D=TQY|AeYQhzPC{+-hFtw3s}#uu=FY~Y}rNv zR57tE3f#Px@N|I@q-DEp`M>+Hk;!e~SMr3&f@xA@UDKq^y3z~e1uNRmZN%awK0UDt zm;ZJtn5Ad{=?sqj0R2wVIR}{YI%l58Lm{ zVb2cOzQM{m+hO2+3{2nil!{wt5?mB_@EE;fE=%VM@Db4Abe z($m2NHb5c2gJmPFp>j`Yx}h6tMxe#h)ApRIk>d9+vD2P5Bx^8BvJX4NL>|-MHn3B} zP+3(-dO#4x)~%yQ2E59o;v0>{BG?tjMfJman68+<)a~)&hci*grgZ3Sy^v>#_npdijqfW)A%T%sk0{2M}GnX|S$_mcpyf zPaJ*A>ZK4^r$({a=a8G(O8xHuBmgQejIT{)NPv6v)xIe7ahIUYv4j1N=xffYQIWC_ zwXmo7(iH(P=A!Qch_p0`aNRK~gA(vO7cx_rPC>@}eYEJaEz>5SePA-Nb~Edv+5^$H zj|G5DQIi>ne21EZ`}xW?BU)cS#-L6TTN3L`M>Y1BeqwOfw)o8JBy28^(^Aln$>c#sVw>eeRH z;4lFHQ&HLml{7?iX-3n2!hWINxUFAly|V?RrE^v|7Ry5ZJv3&=nq6ECB02S0e33rl z_01J9qqaA)eIL0{&qz>Ls1!juzHQca&^sVo>_t}#fe^IKZ&YThb)J8MP zG%*N`odV9^q6<@29d?)x6L5a2$y5T$L}6t4S%u6dx(ybkRad|cn^ZrO^74U&6m z^2lvLIZCG`2W9BihDnTjIC-}zaet5-r87C6jJ8rjni~5 zu0%mj%Ca}v$^zOb!7L?fC{To~GymlaDJuQFyCC$Wd=N&&hEvkHQkoNjCt;7%3lLQ& zEWyO2KzbRhsZuR)r4akY8FIwpUy$M#AKd|g?*dqoTnz|IfR=$wQYie%SXE!&7?v=c zNZ0L9BPgU&txDBw9K_KwjZ1ldtYu~Bq5fMo+OnAJE_(>kiTe#id$^wECQYv4n_ zCx}wSRi^tqBGW&+_cuZR3^VmL2gDuEs5MU5yhs(G?rr7D)#C>C(kI+F!+e zmp>~N&}c!qi{r0GYrfq*oZr8?FIvEG|2%xBmEwIHw3qwV7(0C54pui?i{QN8tz39N zIp*KgE+flKh57%tY5cWXqv+*;wJ%Id=802H0sc>>1tPdp>5KeLY62w+j;z=#zG)K`T?X zWTq=;m#&IQRAYY@={)fHpVR-gQXHUyL-_awDLXqVfTe$G<*?7SJnYO3Dib9Twg3N9<<_&TB}$hya(k0EVr u4e&gl1X->NBr&)>CAFB|`3HnxZr!~E_icw2`2|3zeh3D3UG9KNT7C&b_l)BJ literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0176.sha512.asc b/tests/openpgp/signed/0176.sha512.asc new file mode 100644 index 0000000..7f897a2 --- /dev/null +++ b/tests/openpgp/signed/0176.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifbonHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcQ4UP/1Cc +3YHv9HX5vZLskKzfLPgCUAwT+K3d6yEUEC+1S38v01BL8Z4RdiyBiyZm0fBaMao/ +/h7pILF6eWgiaDs2UPKJlYTRcOlA0ThrfSmOxHATq1+yjJt1vcDM1xmd0RHPSu/i +IfUTo0IM+Xb7tp3YZ8MW/yX7Bn+ivMTrXBFUVScrgGA9xTwPQbkrYIEcvcVIcyoH +ZDN8PU/virYszqy9Z4jEmZBaPCsNITkLbvNogDKe0kr91EoB4xYK/yoXDjHdWd7n +3gJPd6G2+BmIkK9VqJcX+CaXnAY01WVUJz1d7THLgyDv+1+cBGapsj53rd95OrVn +ctSHN4T4EWxr+8MCs2OEd77AUIYbkLdyNGEbbYo1oGX25MaetIjMsCk7jelRx/iD +rOTjQqlwS1tqzM8ajoBb7/okLHiLKQttkofzjsuFOGQjegF9Hko7uRuu0sdJ1kGQ +iIpchzHxHNfxED+46K+1lunzDVQEOTb2sgU8N7gNwhJlK4wnpYOVUsyFlXXCz8de +LFLqyS3Yk7NP7HWaKtLwCAZQmM4DqDxAiklzklbs/4X/cl7AAPrYABFm6jKuf9b4 +cT5YfzxEmBYKVGFLlFv410oRugTot60QAd3R77YhdChsx5qU8zvPmfYtWTSeeHGJ +ufreqX7dDAj4tqrRhiB3HibH5O24dD6w3bks9h1h +=KRk4 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0177.sha512 b/tests/openpgp/signed/0177.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..4604813f884b53e6eb46570087af2fda9da93032 GIT binary patch literal 1265 zcmVY9)7ZwZ`T(oLEL9NHA?eIv-pg$d2B=x+i zHcp9eu|JLPx#auxX^zuXkW1T*eShSs(%X(87(tlD6CPg#rhF1LxjhxR<&?P26q2DF zf-Nl_>nOLx^>guTA}fBtA$;>VRWwN@&>Xa}rDWO(}2# zB(0sAt)(SCF3&qpkkq4P8tuJZ*i^CYsl9`?ASUB2g1d36k-xKkwcLzl6LbA2)Q^!T zp-d5Z23ITgEjEq^RRLL!8&HnE<5kwWuyRRMSVo-Srpo();gOrTfI>hxjKf_r+xQ$e zXAga*Ue~!8!u5II2Wkv+sgx-$GiE6$mAZBdZ2<}|9_HCiC35%AwtP(#dORlTP@r6-MtEr7~3b|W%)&+?t%co z7~2}jm;*(D{%uPreUWOdSLJ>dMD6u1x@8JHwN@u)*PPwFz)f=b)S#`XB&Rb^4^vdo zEnTI{zVgz2sA<;<$^mh~Ke}wEFGIqr4|TEPvOf8aKrD0Hw0v_-FcXqd>s}zko6$~{4i}*ThWRzlJ`)lV4v}`RHL%L&epLIE!60F4Hehj;#?PV zY}MQK8J2jd{Y@VOPpMAG9H8vsrhP;A=C*VeWL02SH@Rk;Kb&REt9+3lxQny`^#R2_ zzP*A?JlK;sJ)RT2=a4Rf{r)3z!wFS@t=Rq)CO5M#Kc{YwrX3~zWQrf75KJRLVRs`F ze9@&>8hky)M}FeMhvdQ7Gkd7-I(f;4E>lD->SQE`ns=o?TXZ$h7SCpOWlH+@)%ee6 zfotZC#G0pcyrPTY`fb0`f(n2{IP#Vh<>S`3bwRo^2^K5NAe(CW^m`YhJO(`q973BH z^a4eayqH4MbmPRp)TJj7)4Bk^w^i7y+6w8ksg9`12CKDk6!+Ww0bt9=0n_@$` z=qGxs?~4YGOev~jCmhhwSPQmwOUuy8htiy5ALf&M)z(6-kfPQ<%{Gp8HyxS{&7L}x zRZ3+wm(^ULl2?0I3&^omfPE>5jN7k!j#DGgqQd8g`30b_vpHKDXp?#PFt(utfmU}$rTr_y$>v4+H~g3qL%WGugE>+H;v7#4>sYJs3=JWR}% z>$lZ6a2wvje~loN$%Y~wx0Q|?#t29!?lT2WFBXso^n34(vF4VS;lq~T;5LMyL)w9y zM0ML_(I#E=>KLViV*~HvaPX;83mi`Mqq52^wBEzitaeP>(I9ol=~(%9aEdw6x#(+p@u+5ATRLvc@_qRBgC6w+zm(3cCO zod!0zGv!OA3cK~SlYJ|PJ!DWTN$(TO^Bt!*VL}T_g)Hy>*LGhh4(IrQYLxH}xy+Xm zRa7=(^n8*wFjIhi5?g6FVZ+;g05OuH(rqqda{cd`l9~+}!AwkHB*DKK1&+194C4?t zCIb~HI{fa+4c|NEZrz~MXTr~`RinUSdc!VQcDY;f@_-uA-SS?T-u3v<_ehAOB zTh;V&S|qkZHFdoMY9DyyHwak>BLQWa=+x4#jW`eFVGH${Qap0bZhGR#_>kzE>r_s5{@Ok{^oMxuzwfP$OJUIF!Qry1Dw&G%JfWE>50`AZE4_ z()BA!hgqoLFHmlU$p#3!YfCq@NPa*?7@&C*6y{X>3jM*> zk>p(X1^P`L^u)rTJF(7E(?PxhsDKt;sZ@Ivi)f%ToH@O&J!ws?OP555!~+E`HOEIR z(Ca5#pKeo9Hd(C=^QB(g=NhZ>J0opw#h`t5ExNoeiK&#niE<1wDx2d6QPhM{@TAoa zbi(n2Th3FB2=o$Pk;Wca56|R6*09oMI%7`n{7l`7743&r3R~cj#d^den5TYQ6y7V@Zyi=^E zM22s}{!>9NmVD!PY|C`H{?0C*)DDgf%=V&bX7kTM-OP0u4x4#9xK8|2)q>6%qn!CV zFF$#&0<06&*pn;kVX*mHM21_Hi4yOjNyA=w?=>!Y6BlWZ9Q~Z;ipnLXiksNZ21EMP z*{}j0k%Sk30wi+4=Oov|q9?zIutUM8+IOk+2ShpS_n`jfv0MPodpCXWzzPcy2}T)| zwQQQ`D{JAVtuG(wtjRr;UaMyqjkE8fs9+!4^R>g!a&4{XF2U~&l-$XMokZQo z?a3zhwJ1Ixkmy8neg#y#_B}5O9=&jS8U1AdLWvM$@wXFHGIR^`pZnFotTyXOz`+K$1eBk8o_waVVe@G{*qYZyyD=uUsL1hcn6ke*z7RA~c zE>9eN?9(f{-A*h9Sm+`>Uw9#2iv_aLdlo-;hG7sm?0OQg2)#_EnSUU4lR>hIABM7A z1iG2(fZ`jRCyBiFCN*A1U7dxa*R-=I^+1?V504{UjxyI&uOh_X zgQzLgOOIrx)$T`z$Q!LIJ|jBTm>gwzE>Y$XJ$Kk*R{>>=wk9))ef9N_@pHr0oO8I_ zFhZ`Dj#vmI*9NhcK3sXBi|d?cY7`GWeHpUp&aa5OXzFntJwek2qz15giOQX&Wf!9) lyISO>Jkc_Gb+(RU3?_-dnUt>}vcLzoVHf8$vL;j}{+awswT}P* literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0178.sha512.asc b/tests/openpgp/signed/0178.sha512.asc new file mode 100644 index 0000000..68c3005 --- /dev/null +++ b/tests/openpgp/signed/0178.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifbwnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcW6cQAOXp +cFj1qaUZ2Mth2TZw5yNGhOq4RlYc4EEQMfcHXdLKLiBx7oXlsy12vVN1Haf1gGMk +p0wkc36c/Jv6L5R9BnytZsN3fTVF4fp4tPGUWYVzvvLKPLVUpwijlu/Y0T8O79HR +YpVCq6wMhOcDjLx0KStJR3xbv4ynWTtm5WQa0fpQF/p7lkSVVfvabWE0DiGmMhoN +BQoWJI7enmWb+Cgmx9T67pvbXtum/fBP6CU0T495XLSy8uZU9ohlvN7I4lnMZydd +iF4U5GD54jFyxphNmcXmCFd789Sf2xUiXyvLDSo/NC9BLxmypLF4OCEvenSEL7G7 +qScdVfON88Moi3pz7BjDid+/g0N9mN6A62DHjam+O/OeZwaPP06usbgYi116H2h9 +/NocfM388T0xi7SQMUuFnr3d9aF0/dgpP/X9QYhAES4ej3whg0E9uVTjLr/l+qHd +Ev3Ue95+rM19K55aA8sLABJahnjAONcwkbd9x95SpFzgKBRcR3hfuITr/ueiqWQ6 +RrgmHrFBVpSjFxdHHhBYTL1TW2sSNGGHLmUcVsYTWHKjzhb6I/lZQqGm/r6WTkSo +C7stdzsSppHu8UwpUH8v2cCJKzyuJ0EFZx6P4msuZzTphoR9F+A+XIiiSOY3LtSy +o/ytncXmhHLVzpsBspQ13t2vYqcN/z+MYT6GlW1b +=VPxi +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0179.sha512 b/tests/openpgp/signed/0179.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d8187d5f9d4b8d86e08a5d540387a9aadc5cc619 GIT binary patch literal 1400 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0183.sha512.asc b/tests/openpgp/signed/0183.sha512.asc new file mode 100644 index 0000000..bf55a50 --- /dev/null +++ b/tests/openpgp/signed/0183.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifcInHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcrjUP/1WX +nM45HA6lTSuNvSfIniG0cix9bW97y/wl52rKkv0TPl/JMkJDerCDZxJ9tFpkv/Ta +2K1BBwEy6wklhE13VglWiuMxnMVG5M+kfOFVn34InlHOMcpxaMqWUptfTZXZO0P3 +oRPsj3XIyB3G3He0TBzBa9D7xudcaAGEAPW98fl++THqqUgeG9Eaage2C3PqdX4H +ef/ULRGAMj4PPgo4+g1chuuU+OzF5k3g0xFoHv2x/8SStoI4ulsoUhtGqa6hcraY +F0/PhToxJsqCkh5/WRolOy1GrsIPpN7++YOVpk3O9f276sa/+5jJn3uB3gGEQN6p +VYpl+pZ7haU5hNNKTmxB8FWtkhAyn8gLygmL2V3KSP2CNGnoHukUDK1qlQyHMB0V +P9tQIRE/5B6Y5doF3o1+Azyf9jBbw/LTPEuk8o6Vm3wbpRcuJa95IPdwmLLffKoh +wDmMVHcRfmZjQgo5eaiNoz3sYNzigLJWNM7HYSLG49+jivLfh75ry5gdeT3HfRAZ +9v8lFkryBEBvygV7Wg6hK57UscQomkRhY4+J3uO3ALwlXIAQCanVQRGLeQUtl4Tb +jhOxrRmAiS0xIyzE7XoO7SfhfiBMQxQGCK8JWpse9isVnSuMbi8cdcMb1HulT6Dd +hXC1d4wnZ4HNT6suewYZKcpCmz4ZFZp+huCy7M4s +=vZqv +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0184.sha512 b/tests/openpgp/signed/0184.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..b3bd072a527db3f96afc1880b62ca647f435a60d GIT binary patch literal 226 zcmV<803H8)Tg2^opP%P?Zk%pTm@ce6D_8igjmmEO}vM;??1B z!H>9J{cju^^+(XdkMUVwYnh0XsrQPHI$5yOULL@t6s}K zj>8@T^=?Nf042|Litv6sU^$tkC(8ZO4X%+H*utk4uT)^}*ik@TkrVd}E3-|^zOhZJ codravazN4O*5uK_RDJ^qg+IN2b->ul>C6ss{{R30 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0184.sha512.asc b/tests/openpgp/signed/0184.sha512.asc new file mode 100644 index 0000000..3a70261 --- /dev/null +++ b/tests/openpgp/signed/0184.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifcMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcjJ8QANGs +10NJFqgfCJ9EaMZ7kw7B3x4F7hC+fxOBQADh6/Fx0ngG32nYSEdEA/zWJwHJgIBk +XNJVfl7nnuL3g6tFSnGGJyBb0aJyT/401WWcp7NMiXV+qxBXo+t+f8SiLCG63/l9 +iKfj3ycXF5EAeE7qmWFLYEQtPCcn292wpGX0d1urufhmv+9eYw0vvDlCi84MK4r9 +5ulMKPhLZrveHFxc2TCydE7mSz5gASk1XFOfeQL/DdVuyCvmD4440sQFT+dKohyM +/QBGgS/8zxyS/zn407yL/JjuFEdtUrj/pKlkui/idvjrz607gSlI3CDifyghih2i +ZUAeqUMWkexH3kjyB1jQr8YQui7mG8nGgS8/iwM7MIkHLmezjcN4PLNd/sRHdWKw +/yzI3hun87lw4xAPWnzimwTA4AG9s8MUbi0jmOBuClvsONPXCXQiuaJ7NgYYyuaf +pjOEX5OFDcIlNcneWFn0j1zIF6LRliUsdws2wzc42rhpyLkpid4854Ze9MTpNx89 +DB3mQZY6ZxeK+YibZA7FQUWanogkFuJBZn8HZGxKd0I/Q4Yn0Vjm7hhxGocTLKrw +8yRY1WE/+sr2QcjwifOPbfq8mPXABzc2tj6izQZ5sEPH+Nf40GulN0vkI+faAxEv +03g9hkae3IwtIhH+puqMy8SLtZVbM/JCKatlSVZT +=/JA5 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0185.sha512 b/tests/openpgp/signed/0185.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..9398046ea545f204ae1329b51f8eb9cd29d6dd5d GIT binary patch literal 1152 zcmV-`1b_Q?4W9;Ys=9c}zk*^GfTt^z5La@k278l9TCw8*CB~;mC0fWHNU^3VQXrl< z^~#)o51M1RtDdHenJXsLw4h1m;tfc7|+*>d(MwHi4K_89o4P$i$k_#NP- zEIudUqdEOAR|pfEFM6&siJXsEkEd^UVvG^`39ucmU?!2^vk~AP>uk?vTbO>u-RV6l z354*JNl7dx$o-j%hYl)PU-JNz>8KPrnHLyV{AKMNilO-V-~FY2UvH{EyqS^Nt+yW0s#z4QD{@ zK;@($f4AoMQ4e9-?!I3LHI!S*^fgE3J_Wj}M)OYalB=yn_zd48ps!SdJvl)gm6 zGa;gL>h`6x&~2PYPd9))#!S$f`n8`pPrS8VfQZ7 zD?9dO5yeq!bNRgfJ7SuoJDDuu5DRy0rN9+%y*hSUc&w_;>0XTw`^>C1K5H3%muk*VbHvaf8aB7bgVq7u0yX3tnwi> zS{_DKFQzXZoEB@5Rdz+=zgZ0wucZ;@NZ^+pqNr3Er%G1;?}7qBtpJe}wCa{! zMh`esL)!6vw2?p{*rD}A2F3(*$hZqkTFR|?N;Wpg)|<_or@ulZ*J>-{N_g@MloH%43PgnBk<~@B!>3w zgr0``amMG~F literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0185.sha512.asc b/tests/openpgp/signed/0185.sha512.asc new file mode 100644 index 0000000..dc7ec54 --- /dev/null +++ b/tests/openpgp/signed/0185.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifcQnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcW68P/13X +9V/nwORMLAHAKSHBzVax/iozrasPlhEAS3FisvAQn9Al+Zr9nvA2WUoxv/W+J+rH +HBeLuiLUgMCeTqfhIqf9TB6kq2wFdp4Yae841C0zPRlvMhPp2gUtHdvf1jucJARM +6aHOYBOD2HTa0N4zquc7KrZispKc79bZFfqvVA0ltmeSrr0W0e14zqGVQq6olvRT +r3rw8SmwKTUKJHhDsWq2FnBMAj/at9nRvWAWrcHM7b6yKssrdGZ6zJJMgxyS5c4E +ILeKFt3HqkJxPuqKJXQJ3dmyQEpRmB/58ODFISzRBm2tKOSRda3bMncG+5qH7bf/ +Q5Q+Vyo49Wy7ERe90b+cgmAGGwKWbXO0l8OXMjHkLc/9pOSF2NljWlYOJ+R9EXjV +wjzdTC5aWJinzTnRhL9Pdnx+aWPhn+YARLluqZ0oQxgEH6Ynp5MbpsufBsGaJ/xp +ZSFP22j/xSopL4iH5YScJ36vWXY/RTiAaEwdFMtpW7r4G5zqK8dIlEI0ylDgqdNw +1DwTY01D4knaXrtxcOapsakLnJXu+f0Ek7u8qAoWqf7NFDTKgalyDkLtapOuyUlW +ckiKszGizem8ThxC3lby3vzCGM73en4nPK1HLZi3y3kwOEw8FigQ117/4+Q+IBb5 +W6XrEfiks1/WAt8zq3ygmQ/RS2KIv7XQwqwpmRu3 +=As9e +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0186.sha512 b/tests/openpgp/signed/0186.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..8824f67ff80c1d6453077fa51cb483de902b9aa0 GIT binary patch literal 506 zcmVN+cBppF67r|K!dSyFt}~k zXmv1ddd+N#(a|r>4Goh4&L@hd{2SccG_Bk>tmVO<*TeS!(v~kJ6+YXdaFfRPTA?B< z(%79>>lIgPpHru31ohM+#@zdk8S7ouMi0P$J)}6P@x2=&BgQ#0B_yiNEnWA$Sx zND6~`>n5HCJ-t9i%X-_fk0k_n`zJFH2Y-wT6k?!d(Qtow@q} zW##sKt%u=_-NZ19nn9{O!@qHV9o<0KM@w-qN|d7Z_`n%e15vPA2GW@apJmdtV#Mda zI!Cb>u2*gBzKJ@K&zB|1vwl0(3n#u&p#w4t@vASS=-9h~nwHDYjL|mA-EMN8&NWu2 zgZ4VaUBgTOJ4(p;kv__bO@44CHj?=bSLcFDFMV`~0$orsfBE}~D#nvva5IWn1OtGi z-a4NSy60g>efU&~Q9I#V&1o~tG8Z)9RHHsFqT~P@I^#*!0phpF?nO*%W=vBH(zGYz z-k$gmYkHUWQrX=}P=FNzWZ_4s!c(TLVOdUCv>M`Nqp!Ybyp`bV5eJD=P?JE&wZ= zAzJgkr~C1$pKw(~0J^xAJ8OV8cwo+|#^I}q&W$ggrT&SccMQ-ak3~o4)RY?}q!t#J zKR&#?EaOu(uc8T*%H^jemwmlW2C}TUdHp6l;zSw2~t<@mm+GRHv@qVc1hpGlhkw_apDEZX~a%)V%? zGM=Fl)Cu(0WAS?Q4B8C6$&>>O8vo)+I7sDV7VGRxX0Xq2T2DZ+vvT`SgJmp((7RVKaReB0@b(gRzP`bK+1tn9?*Sp~;ZlYdJq||6X-=vn zuvh9=!OoY^6wvtC4Sd%DBNw*TXmQdOFA?c!qWr3Zl|F?5S!ZM<93M(R#j>-}}+Kf1i>)hU?t zL<_UA60CTAB+KKY0OJ$_$0q;TUWG1W+)ER9O-!YH@HA%+c~5M7N@_kWiY<_g47=!t zN7wM`X;X5sp15S@rof5hv^4$iQt@;p)9QZDE={*^aQ0N?Dy=ab*IMGlGLu2w9AyAC zj8!;`hwHYj{iGAWZzx@Ad24h7zXFT69V!TJ#{Uze{Pb0gO#LgpKU@?(M}U50Y5DjM z|C(dL8Mbd$6zE3MY+CQ3bW{_ELz0D0%9vHg^dni~k=Skc(fp5Md+6>I{#J1xsT>VA z0|^JXvZX!owZPqSi+B-tTtYz-H4+h6wYWe>$V~7&zX1;N4ZI5=^K!AC;XQ6cu@+Cxc>eGGIPi#fO4-7VKl`< z+T}P>LA$cJWv5sex;N3-n zVLJERIQK0m%n~FT)NDC%R}|q$)~0rk-uS4xT}s+}>NB0|H2pxX9iC{d2 zbQ!9zfEYUwV#ZMBX+*)7g|qEHTGc0W!z03bTVwr|U1|*hi!2zKYT((M7DHUk`T$uf z@Hy{DoWIH9YIC|skrT=N=UC2YY#QTGcFR={((RCsTCP3K`LdVXUek;JIZL0sx5JG! z1w#I;{LuMUrsk_+d}leQi(CnjgB;d7G1CBZF$>Nidux!xTge*W#$c&Ek`a5M9+kDj z9v}G~Sg-5B%;na$5Xcar?gqz{`x#Utwp?^Xx8!8kInz2RvQ^> zK?gQX7UoqomLpevsX<2$m4&AoO?R0^Ts(Lw=%-5mP^w2Th6O`8)l3mK5OO49=y^PksopqB+hmcy@BxrA-Yk)8e!~C& literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0188.sha512.asc b/tests/openpgp/signed/0188.sha512.asc new file mode 100644 index 0000000..33155b7 --- /dev/null +++ b/tests/openpgp/signed/0188.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifccnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcQ2IP/R+/ +zKdsrGJDYNxCFuoB57lSVVuQqjD/SRY7NX7F8kKyYhbnfAfYB2GLOUtmGED5B42N +hf94TMHJCZCjvgvD0wQwI95wYipx/z4XE1TvhcSCXN11C+NU1AHgsWjWBdWCph7e +5/wgyFWjLAWrHs97DB50JVBm9JHgGDhAhdGDlxIxebRq5QiWV54hutkuXOfR3TcG +lNhdJhaFc1C+0+Hfjja6dwvyv8DYV68hxUiXonjZWwKOFKciwJbAcIxsKdDyrbC8 +HNoeXvcCQkm8qwaiRhYJxhKn5WtQK79JNA1g5valI1OpCKBCJy8PPNT3r6u5A+Kt +zkd2K2SLH5r6tvTcvxtuc9eWKJuYtbI0ASLdt27NqgWtRKJGQZ6RHBZEz3af/9BX +F6LoSjSpMQqssQQt/0rLaUcJWLiQ6n4o0WQvq69x+XXY1GDnabQsAaXITQE0/F1f +7t57tsCqEdk6lvhhGsgkkqYEjDVX5yzWVBOEbUBSHyV4aYYaDmRiRhh8vZa+huO2 +n8AIaQZ211EWT7WBZIU+Srj7zibdqjQXKMby1mHtAjCVIwGGN5MLkomQt56d/kEy +o45Ym8en/EoWOVxUU1Dyvxas8T9Ycc2hn3VjgbGlsq8uXL3OrIB2XpWPuGvFUTzj +vMqbcw/boSJLRQlVoMH1TgX2dTgkqvi73Dyf8sBI +=FBW0 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0189.sha512 b/tests/openpgp/signed/0189.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..76924422518a3afa44c8db75d58de108e57f18c9 GIT binary patch literal 1677 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0192.sha512.asc b/tests/openpgp/signed/0192.sha512.asc new file mode 100644 index 0000000..179c11a --- /dev/null +++ b/tests/openpgp/signed/0192.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifcsnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc5gwP/3c5 +l/cNPWK6+4jmcrMwpmKEoEY2P/t8LUIqL1pOyYXAAG7hGxbiWF9Ix7OMKYyCwkOr +xVmFlzxuoX45hbInf09nlB1NipgxSYTBmy+19xUKiTDsgaSXs/42H/1vaTl/+odt +i0m2EmN0EttdxCPDoTlq5gIsjiBtaKuqmrlqlpNTNJfPj17NE1gRHlvgMjE/axpx +KYa2VezQSSd4glGHmR4hRuQTXWaCXSGilIqaGMTa3XqNQ1lKy/pbxWd/pFjllPAB +xPGREDLOpwCbv8RTzp+NwwGpkPyxXJsQQdZts+GxKb8DBWYsK01/3IvHeSFNVwLR +rMQKjpK4MR9b1yvP3n87wGABZI1CN8BJ4lps36dZHo1YB7e+iqQyMr2sJR752dTY +q+esOoz1auDEwJ/FShgDvM5XYple3pXKZh3LuGVJlap7GnkLqdqzqcJcO3BqstCl +Lsu9gdGfXI/KNRlfYuqOu8L0vMH1gC2gb9H44SZ+PJ0Axk4hT4b60oFY2f/McyzF +S38SrWl0nNffdydHf3n24vgrZr9Qzqx1er6UUvooEdYfL7uZSQXA7MnoUOlzHd/w +iFvWppLAkLNSrHzrofb3/WnE7O1pFumJumWqkLwlnIWtX/9QlmRq/dPE41L2G9rw +bFw12acDFrDJ5me1Tt0uj9R+pFcG5o1jIkY01rGV +=sJlv +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0193.sha512 b/tests/openpgp/signed/0193.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..5977f2bd15cb181c5c5d701a772dce51b9b07650 GIT binary patch literal 1347 zcmV-J1-$xRILg~vx!fn3Q+vmsjD5bJ{GyH_6w=n)`=_2oq3qL;bTs zs_x?hXxggHotTvP??8a)8eQzjKZRGZaI)>$EbOF0NO zvl#R6AKm68Y#)!&e82fa^VW!cbIgf%cIv}=(|t0?ELIW*0m4_3VIL2iUZ!B3_0Ec} z*fvLd1=$0gl*N&%JGzyLXa&SH=CCD~57v+}R^i>{71$AYY>aMnG1Avk-y&JMkm!6J zq{~{~cuuVtI8~)vH1CHgT}thaQFqo+knz-wuo#{F_@QfjzM`$&u_wT!UvDM*{tc&= z1u7kK95AC$!7|Vu-r=0kq{IK#;O+l;?Q991VjYElVG<#I5|`}T_t4V9c@0;1}2Su%b0WW!%rJBi%S#HZ#tMhQtEn<|U2FBpfwpNu zoBFQAVzQsO7|hl9NYifPQ9$LRHPmViQ!CZB&YjM;cbw2A6a)R3UEkzneRZigqC>!ev$=3k{gz2$LI1=aQ`_ZSWWn0whRs7p@KSEp@tEi`1QgW@R`0{SMk_-F9LmN5Aw)-OK!eABDk|Rc_V&$!j|y z6z|dy2{qJT3PzBj$T+$jd94EE8}JnQpRwV={FWnInKE;(&;UW1~lg ze?M!kwl3}tl^t589n44L3ctdjj3U=&hPs=#^hsi?dAsc$s>^JeuTfoaus?<=$-ZEb zTZ&+pXwm>`Sc{>QD|*AI_9rM8N|af+MO2?qeM<|DNejHQBG2FY^Ir)#G!^1zPMiT5 zhA?yAxhNgFR*n~GyvQmhf)a(^hkkhyl#c#>n!k=+gpHXa!(hokBM0ZzeGM}jrNRKl zGo(c0ro0EPE&EwH+FGHHaW&9jXNmMr5rjXKXwC=QKd-L-%@)2HgC&0lr%p))gd)_g zN?lC;a4#fK0d$KRpwDRp5Vbc8+=5o9T)y^$e%DM|*R(B8gY(O%>PkTS8fbz_Qxz{@ zju;)f;hL-V4gJa>ejpf7#n_>U0c(iXI44BsYoqqGw2Rw^-y!)X&3CTY-Hcs4bg7nz z8$Fn>Q8nBMStLAu>D^h@VW=y1#3)`0N3$Uia`<-uL0#SW6=x#&uONX8!6Q}zGu!v1 zk^WVqJBxqo`%ibUkadpfKQ@KN*&}l}RjUe8CV_S;7}4{K)7JU#>@&m6+^Nb;Uz&$! z7IE~T4O62jjVxxGA0HGRM3PXte)H5+&~lZhq*dX{Hb2QZ1mkIB+oHfSuICmn!) z5*eIrJaleSpYp)DX;h{h)Js#nNsSJ~aHa6=h9Yac2?A{@e^91z z{*bQgq7Y$ahcb}2Rn8TkJ+!d-XL2lUMI?JFo;8uWl~B<|GYLbHn0iwCgwn~B(fI*7 zhxNPa2_Q=dxfU!c{ORZO&%|=qNYlmt=P|=zcjW&32p`?^CX-nS?n6?ii3d*LqSjE^ FPgi52q?P~x literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0193.sha512.asc b/tests/openpgp/signed/0193.sha512.asc new file mode 100644 index 0000000..29dda32 --- /dev/null +++ b/tests/openpgp/signed/0193.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifcwnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcUnAP/1bJ +Fv7Gk8/PKa6b8DJP7YRoC+2ZMWv4f4idk/cImCimjUzE9U4vo9e5pI49KNDdQ4ZP +Kt4pTlG3rPxZCoD/fshE7iZXJsrp/txpnaFfy6GQwF3pfteMtf+TNbpj5uxj4W/7 +Qsg5lwo771l+doa6Jn5HInYuGFa+x8wZdcOjrlkOT5YvNqw7/+dN2vyq4kMLt9GL +PhqdlT9oxE7oxjltX5wV8Gf2pdsynaqhWEuS2BwjFl7hwM+yD9gSKX7btKiNz6oR +J2XJIqDGE6Op2l2SfJ2pHW46QPfSFp6vunlA/asSMfP5fJT+hMeduV2iaupjpnXv +yoBeTHFI2UNDO4cc1+3oknOQjBx3rVubfGwRSUqFkuGJBBrF4rDmDakPDF7EP63q +ELalztyH/DVf4SKD3ipFJJBnvB/VLIt1JPOyGvVEyjwBbbBC6nFv8Lphy9474sCM +I0+O1yEL0SPkii4LpRUqcusEQpVA07ASY0C129V68wuFcCImBw+yLKfvcUwo0NBP +C2XgcEde8hP8z7J2OmTuDa6x69s147kVRoDFdMUFdDLJOYkolvIaMDLWatzNRkMk +BTs+AtAgqhquxrUV4gThYLaoI4ZLJp0zvqcyip5HKxccsfr2YK40AVzEBLux7xyn +bFMcA0+Eoepm0OyzB4TvI0G866bSQXr4RP/r5DpX +=KRj2 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0194.sha512 b/tests/openpgp/signed/0194.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..60a2a53458a3565cfe870e7cbc0befa4a9a5e325 GIT binary patch literal 2081 zcmV++2;TQ*a8cLyCzl!bAAdT#;%h$XMlUoaYuep76}TIn;R=kbyD{7F@v;ZL4-JJ^ zmJ4y{%Pfd1T0|Uv%WXm4lmzp!Z8@!uQWhe10eeDb8ty;{w-Di(u@}?lo$0X8KVNX6 zL^j_gk>E+0Ic;kjQ)mog>@$a&5HPgm0@1o?JC!mdfTwo6)|>G5rm2s6+G6(mnuFsB zs94@)I_hB#2u_2!T%m3y(Hqe?+3Zf!cgw)K#4#qe1M&^-0pi%!kA5g?cVPf5$ML7; zK>Gu$k739DrIT(g*r#kS|Fx0(%Qgg#eo2gbfx=+jo}t4=ZC?88eu)iNn{)B?fuiv@ zXP(wOY{!+&vQQEf9*Xh$U!EEEZxRGS>anaNqk9Th`1+XT2ICKlP|JMrJ5DKQ#ea;U z{9@%*hh_(o4$7EA2!Hc-5oD<^u`AAnb(GHqJPnO_P7_ovF2%j7}gmc7J#msmCso>}FY)!BOG$&|bq!y9EuK!D1zQ z2d~sV>X+O?5aCCRE;rfBN&8*_TQF#|D*VjSSL`g>*OI z<6jxI*BZ>;K24eGTGRQH8p`wG1TQy%%U2Q*%a zQuIx=&BwuhOj88^LL_!hN-Z--pE`t(G5{(KR+vE@B<2WVo78agh(^De;`1q?BE8-G z89g9}Pk8s#Gb|3a6Jhusx9^1{tPW#@~jY#zCN7OWqsH!uU-wmDTE!A(m4GX=d z$C*O@p;wO=6NxW)fiRJngBK9Ib~#cIOmm&|H_mo+hq8jQSK$koKCBZ?V+wXW!w(N; zRz`7Kpw_E0rm{|TDu-@a<6TRprtmz!)oT!E$$RRdyxFl|M&LY-`2DTi3G;M1!KBih zs3ZgzQMoY;HDUNb$g>;LTW45Rye9!U?AR1fe*v}1P&FaUnAVa154=V!1q#s1v5vhZxFAHDboOHzG_@X4aK2+d_KXi z|I+ubVgdvVLFI?WecrpoWT+pLPhEmsqLQ&FAG{5u+8VlKq5s5;%usHPA|7l|8&9@g zzg)3l@fDI}ze@rJKQ(F??U-&kAzypaK8(8pYF39A7p%S^-lh9mh?&+Lfh2(W>oTgC ze<_ZheoR*mI&VN`O4$r956#lrcQ->4;}Y$thYTx;Ca2uRF8%O(<=q`3Q})aXlfXRm zt$u~9H}d4-3(9~%ReCaUIfnA>w6_^Qj5H}tfQi8`i!~M6Xy)~+9*wESdsncls=6bt z;brF&vZ}g4(KapfQMZx0c^%~apKOZq|Mw9H7U;fSnA6fbB zeu-W^lg2gq_cTiFs@(Etb5XRxfX=gycMzLjQ&U9oo8gg=o@y~pBYd=hwjzy%vFKjG zr=vdi0ixHxRj!nIDdh6wFMs39a+fxg>3Qly9R7mkTu1s8ZbSSksy} zs!7Wx(}Zz>?z#CeZ(*=1UK|FNG7L}3>?bJIkw+qe5Jc6i#|%XVY!8r}^l*iSs3bwP z3+9kr2rPNK^(}ZHG2ZO>0>2GLQp4N~v;C(wRppkr zTC}q#6AmRB6mpN2vIjJ18`i-?r0A#5^k5CdAk}}QXwFjWqhX=Ou7{*uz}R|EUu@QSDxULPJ>eL;3aF0N`#EhTET@ulYRyEd)dF5s}J&U>9i z+<^S5fE5ax(Y+CXD-XDm0OFkoX~-Z34IE)SCSv>czKO|(hPCfm&8XgDb}JMVDghr0 zq!1Hp-R(}7g{8AQh~i0BKH8`?cHM2g)}W_e!k$SI0D$DDHXiAHhEQ7ashhwl6G3qsRv3zt1Tg(gc4Lj$KeYR2yvs;Of?edyu^4dOnI?Uaw4pXL3a z-X#$aSC~&Q>C!uqe~B0)HZU&AzSC`Dc7s5qB_%hA*U4|R@Gbh>`)YOOE*ISkzg8K+ L7rjCLY>S(nAqo-A literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0194.sha512.asc b/tests/openpgp/signed/0194.sha512.asc new file mode 100644 index 0000000..83100f0 --- /dev/null +++ b/tests/openpgp/signed/0194.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifc0nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcWbkP/1P9 +PtW9djJeCiHln79cYT71MaYInYc26vO9WlSL5jqEdyUNjWjpAFlZDbJcXhphP3zb +UYrPFlkm7aCQ0umhWPRhJdbLGFQjXuyhF4kdS+Du2hy9Jdq0lIdCQ6euimycuLOo +dpOR2KKUmEI4Ll5xy700WMiiA7AGH/k6w1g1jF/5ZYuKTMd9MRdqyC6SWeKCaPOS +GUDyb5ZdCesy1EDBoOs++AVLJqnf6GfYO769X2SqCaOa3Lf1hXQk/BSEWXFemzwk +RNNptag7ql332v9NlYvTxrZy+rZWHNI8DrFbhlpHzGvUH1HB7rOIZ1RIVeUzac1G +bCLTAe+mbXzgKlSLjMcni9wNLbEkZLo/jiyeWfIHSHbfuT79nisfx1UFCJngMtFx +8H0qyYfRPLsXoqQ7orw7ndWsflpUfPJt6BokbMYZIZX8o3rdeJRBkwlK/N6ETJpI +XycG7op0MUX58xbF72YM5Jz8I6NwnPsHPylexdwPCeJK4c0Wq/sQ6Ms3lFkKXYSq +KqCWz26oZEUjDuWeLnWEKjwfsE/KF3p3ZIs2vU+yLYn/Znt1cWr6t3wRCViB+8t/ +KVoTYg8ELTRBZ8v7IW19ltGvm3wS5PaUSDP2OfHcc+SariuU1YOB/SzmbZMXOhxD +4miVfzDvH8D+qBIazEvmyHiesOfk/fppQFWOUMs0 +=4vbX +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0195.sha512 b/tests/openpgp/signed/0195.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1e0f1b0efd057e0381bd0a4445efeccc86eb267e GIT binary patch literal 2275 zcmV<92psn*Iu3R!&_5y8eBrxluUto}!q%ot!0CKuBh>w^wSye4!qJ@XMTKk{9+QTG zfGs=Ht}Lp24_aJTS{PuKyj0WuCVYB59tJlOUtq8TU63`aY=Rh`;I0{J#I z2@5UN=BQG#v;TgjAj)G29BJITbKH#r+iRC?0T=R9bItSB3`=lR0~pn3@Td)0qVD z&NmpZYve2m=WC8*S=eNn_08m+zsm7*zcB8b6of8@G%AiG!xozAB?>a*Y_7mku6-qH z=bNySVrs+6X~`=C6c5kd_LHu$WUmDAC4sP4>h;;lGU+^ceT!2Xin=QI;H7E4k}1cP zP)uhO9Q|Fgx#nr`qd@qO(%_VgS$KDhs!0FYgun3C0+? zmeluF<4f^K4Q~Q-N7HyHj*;TxhWv-^ZJ4`rJH&c=K00Uq^RdQ*k^T^{tj-ciAn_fh zDT*k`Hqfe<_Kt>dXR%~)lL1T{`0zO#x^1iZ+G8Fb;&oK`+s67>@`*l}5KJ&97!smi z0i4NJQyUoUSE$Rcw+jlscR=f>U^2B2)fp2HnRm$M8oNrLHs$h@E-XViBKfQjS~N(npGjCWae2`fl~WWC!d~60B+-1Accl1{iXz;LlBXAvbbJbRfwe$3%cOy<8s> zibCK4xmO~v!!05@Z~S6HDQQyvIw`(Xl0b7>Vl)>A$ovvV+aRG4yqfizA9g*3k)a>S z6ptcbDO4ex*)r7joE4VL@5qrZJO*QFIt{mSDr>jJ=^b4hPq*OsLkB%doD0xsp02d` zSR_PqfcVh)c=43y37uZ`0q0{-62L-QZPd6Le;EJ{jmEzo9pK6jwIFW@GlFS^`5^?X zwxb-P!2;|;IEHBqYX+_azx^7r`wl9e#LSD0-OW-@7h437Nhwa@W#AV#j{^dy+)8H} z*-V&dZKAk_bf^-z6TX#Vi9h4yA*BU1nl@)OCEZ1I}b_U$z^?G7wsN19LXXd3wZ4>Ay12Gyggm&TFF)V;L8&%$d37O96x#`iDYmw+nr z1~UPMl9u6XSsBs^UwS(uCJze{NG2 zD>=HMqb1sF5vdsJmmquhF0SVl4)8Y4RGPeZzlw{+VfGoA0vO>Uy0u_3p^oMsUuu20 zp&2Prs(!R5Yj!EO5s1>(PgXJA_2Q0nLYYn3%jzSg>L``q0S}m;gHlD=$+2MqFLX{c zV?OKEvGsFWm#u>Iyl7}P#{RxLph`Jh znqDTOi}{eDHLv9`WiP)@%z?}qau9S zUp1CzdCQnpUM5WEsSEQ45}#&H{f6I6&vJo`GP*H0EhLZv9bx*JYY^xL5T`2&p61VeH!(&_PGg?|KijRcJ7QX7Y3 zeIP}r*z6B?0*zZ{TRsPpN1*0Zc|;-Y_pL&C%O7~Xw1Hs{i~~usy@88qCE?nWWg>D!skGuuKDJ&DO_rCC zz$GbzwWImkJZ8ukBDxH4yXxWwx$9I?$KJ%I{yGL^`ZhQk&a|S=oL@*pGTy7ytkO literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0196.sha512.asc b/tests/openpgp/signed/0196.sha512.asc new file mode 100644 index 0000000..588ddd0 --- /dev/null +++ b/tests/openpgp/signed/0196.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifc8nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcqNIP/RdV +Oy9cKXaJybqHkzlxm0s1NTxSGg577ZI0gXEz/fXiIE0r6XfELKQoMexUTAdfccOx +/RIQWFMCG8019xP8qGDyiEJby3tL4X9aD4ssMfWY+6RVzu7GpLnMu/LorNTXcUoz +VurWh232NN2kpDLh47zhrv7rx9F93gumE5XzZ0FokOHPycEbJ+DxiiMzl9aGsK8v +0n/awPn83YZeMGZwKEvAwKP+g08GymQbuC0UzXSWlXtzSMcsaC1VvpQVjUOz4V3d +aZrs8G5wr5DEZmN7N/FEwGkOLx2abUa9oh28OrzayJLlr0TWHVHlD6mjkv7GNudj +ppTvQQeH4eK6v4/aw+f6hKbamNjIangmy7JeSkmG1g4UACdKor0utXYS9f/nWRSo +qT6g1psOkdv2pZZ9zvzvONoaNFRAtRXP4uBV/kbKkluOpxiEeT6YYjZMxGNnLx8X +WEVWzDJiunW7JCysQZAjPV09HdWA3qSf8KjHiFJ6gtosUg6NTjzGOQFe9pQc1I/X +d6AH+h7xJPBY5BESBCdvaPMga2qg75HbZ/hJLS31ITd0gQAp8jYZdGrsF3+xcNbk +vN2xhGYTH41OXSFlF7XzjInbpQJuYamVhkUYcAt/rmpTk5jeEmBnK3XtO3KEc7Xe +BdmgNQ+KJ5+Le7YQDvfNFEK8wYrNb9mIzFZmQYfI +=uYM/ +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0197.sha512 b/tests/openpgp/signed/0197.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..50fe673bb4a2dbb9217174317ec103ca29a57bf3 GIT binary patch literal 1174 zcmV;H1Zn#~njnbzf8#fh*_q~<>sTS%s`~@CJgs=IP!5k>2lEV>IC*}}2THzS3>49j z=?Jm5Do!N%i4r=e2p*t(Lfj)t^W}46nA}ag*bgsK1DmIlV3_Bt!1zXh-}GMPm9Jei zr|HG5gw(mWU=yb&J}r!)a?&vwz~;yzbjW_I(G%kVu{_R(<%IQGR3R&tzlpNP8P^9#}~82cr79>5WN#cE_HhW`3!R%3aj`-a#^Z0A@ID%s*Y5 zN-Z1w+bT8M+ov_PpTmUubyp-o{34_9oVa`~#a_dWKAMRxe|azSb&QZi8GESZIEu1r zSBpnBRw5-)SqCSytS0-y@`DICd6AAdEXjg3wCgIMiNnbIka9`=7k*n;lxvcj*Z}*Edm2ne{5bxd@Q!j*rre?(1w3Hk$p+m%T03869WJw~K3M67m6 z^$+bGUU_*y8Iv|Qm8R3Qqrgx4D~xQJMSQST^?kRYa+Un&_2>`Gx3=Sz@<=YdNw?>j zb)Z>3M*{B<*Pe-|WE-+tF1e2Lct{e3mK3Z58A$F?VFUO#l4e0HV;CPY7naBBhtIK1 z-xTxC^U_6OJcNlRolT%b&rRZ(WWRbSosi!3+RIWZy{(Ze94 z9_wTWNe4*j+67Sf{7>a&t$*Ky(?&*I6Z-gj^kG(GYETvJlbbbwtvE*>PN52)Z%|i= zsnG_YEAjkHd7rcX^t1&G2K7Cwc zs1QWuCCzLR;{TJ}3aKoIE7t z);4e;&QoiNAf0@)(-_9_>FP!3kM)OXfk`*?M*(!7hl9{Cfj5VCYmTs?-(Qe6_VnnE zxxP0{$m?&GJI#QAufND5?uJ-reLrmfaR<>Y=F?cgBnWCN0WzO67UI%VQ!tYjpsK5|g zA^#d4v-`7!#QUlQTl;L7(+|xSlfE!%hWRHqTVY3OKJXVVBDH1q6q>I*w0`H)ozZq_f~}b|K4u^qQuJHCeiVO>t6v274f#B^qGm7U(%|HEm7~t1xI#)HNksMm>cX+FbFgtyAF&rP(Xty!Xf|_Un323 zB*Isnx=$A1T^W6I(z!3bsU)OKPTfVG#hQXBSl&i7={BCU#)YZl56KiiWC>s0(2q92 z&B^J-FsR=M8Pdx@*_53=Zrwr25Xa756CRbskn>nsjtWp(pY~c4{JaueC^OGTl8$W8wqP}$oweO-fhaYwH-rOY2oQzj` zzE-C8YG6yGqR{986q0K6pO(!K))x14UM+iNMMp%-m9(P(hP^trW%v{t;GWqx+moPcSbOHnJTO z3Oybx9(P~?&Fo|?6frcT&OhbHvhI3=#@HZt+acOap66}njcE{`i1Tvw!6J%1WjA)U1mHC7_G0Kp~Mx!0gb8Jyun3Pn5JqkT- z=>?J4E%OR0_-TY?B)ZAq{XWb{@Sg@Cvo3k&Jy5eNaFc&WpG}3o7buT@r?VkKH#k7I zqosdXNK4E*I1ThcR-ZLnv(OImU{o$+_}8D8I` z+gf_dLZnvtCtdwhC@00S$PlGiBK~obXXamwVhq?T-i4lJ?(6}?pg>Ic}=hx)ULP`wa^kL_P$f8 z-eto|Jop|k5)}I%RvNy)ZcT*Lb_Hex%^%0H^pJ`&B&>5{NrdH#Ugl3P0MZM`^pN4z zE?@h--WY>mPCSmA(rxE%HwLwNGl+=0n2dT_D~^I=zt$v2;NTGL7M*1(ID1u9MzANY zX}lFCV#FX{DF_H>baW*hv6&)-oMh$oV)D}4+YaV?A|UiYNR9GNoP2vhL$uh(Im7{j z9Jhq3opmFgajmmKK*}s@cyE)Kn680447@ZKBy}LUjVEH(+LlTrv|0JSXJ)4vr=!rX z@AhyEJ698JOy7#E-6s-*>r`(&6iq=e^Y#bta51HRDB(jG`IcsfurekzFZtqiy)0sB zK=pBye=a{fVv?bJpQQfe0o%xH->kfup&=%8__aKgqlG^Wb+W)U%;e|_n13h#D`KBC zHmbvK?aMV;e4jBX>X~)I3%AHV`~$nG6x4$nf1&rqWdjV3@%Ja|vOk^g`$+D`0SPWd>y?m}CZlEf zlCi5cn??HuXI|1p=BTxZ7Cxp*VoVg%R!@ECy6i*G=FH&ah)>g}2u=ACgQisxsAg;) z%qRH^xC>c@NEBD2Hfqw*CMuUl!h+w8a?&wDV{B5w!+AJ3(iz!zKwSzsTB;R2g+@6e zopKKlscFPMcZPmJB+8Q>bbXP}1p)xI(h3Bl8I!-2d?^8A3aulwTQbFOd9=Th5{)oW zW|Y;|1*ACB=`IM&ZgqwZnl)e)3n_0rNEmO0+=rJ|C;{E_VUV2JF5Z~#C_9*qO=!|C zghH8T^y5pK-7{FtQCu?rWmSl+CI92!HY7_KS#J^Q1$>a^r2GVf&AiAttDQ!H`R9aNZiiE6v`qo3FeC#<=K4p!|Hj#? zF#MlHYvyW}LOlp`Wp6vZIdmJ^iSp)#_KBCzIZgQ$m&#q`N3j)_Z2LhK0q=Sl1!n)-GSfkL=78+F{0tSf~h&azp*5Q=MuqFuQv1BXpf<_z>vP6p!32D-*=zg7Q@W@<$pV~-icQjlv zO}RTaF6Fu9ZT}u#InBuUer@fIlF>7|a!sbxf`BLd?5$H7;MBT`{Y*moh~S!W_dlF9 z_>?zB6ScS^E{a0}5ad`Y9_oohzxnj@QWodDy5CRxK5w9ivisLE;YRDAjg5^Ev z{Fp4s>GY$y>F4v}&`j#@-0$WyTa-%A&bYl@7yXqzr|gwyudJ-;|5Gj3NTG=|mI1h5 zA_L9{($!Pvm8@mz`Bx4HQMwbNf=uD;295^0?v(3xhU{fD%5&?dB=9r)pEZtzYd!$Qhlz^B+=RaUFa zg&;FA0azN=6@9a4R8uLo)kslk=06H~8!jDvoy<<9;?Rx`C&t_0(H}(6a$<1N8D%3@ zZ=G;ymWu6F%d@j}$>XN}WX#omVuP+Qq`-#HhHYRA?Wvr+> PlXLF~wE7Xd7EB19mWRwO literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0198.sha512.asc b/tests/openpgp/signed/0198.sha512.asc new file mode 100644 index 0000000..4374942 --- /dev/null +++ b/tests/openpgp/signed/0198.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifdEnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcw2gP/0ch +i2o9xkSqJk0Sa7oI9Vs2zCMRvE6fV+j2VMsZOtH+4S7vTIW+sUhYK3ge+gzq5lL1 +0xBLvoYq3cH+sNbzh5UYzwc4QSoR55CpjZwCMtl+3f3bX8Z/CMaMnP3Iu3aWCSkr +GlZsJ87q+cL6DJUQaduEgrkDkEPs8eZlCMLZ2hwVphltQWdcj+GpZgXrnMVCTMDw +Sj7QNxdlqsT4isX6CkwEc0ll6pe3Sq2kvc37UPUlhh0OCQsHrdyiukUWzqiG7EBI +yrxOXCDXTTZsBPyJ1nXB64FwnSLAzttgTzdc2ZB3uW67woTpMtqIhs5tiGlsrK77 +QtqTnnXS/KH3VnuitCk81G401zZTWyhc8ntxraxxebYtCbe7b81UWsiSxbr/JfOi +NuXYywDIETiIQVVjPldQ8qolxAawaUAIfxv7cPmjom2QYPENZDgLa1oztwJuahJd +pgNtuuYM1Lg9WgaQPmGxaFVSg320COnso7/cNSICnuum8isuSJo9kWiuH1nOzymU +3c9SCr10dbA0a3HmUtFOorEjaX93R8F9z3bJYFfy5NNWUnTDfAHkq6Par7a3geTO +rIgvDWa/r6UlXdUc1XtxIr486ZVHJ7MSd48fKuciFMdtGIrcogIfNHhU+MFa7tN0 +uFWourcckj3N8eJzbTfDsIoLJw9BBVlH+jMPwMG7 +=frJv +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0199.sha512 b/tests/openpgp/signed/0199.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..484c4a908d589ec12ecbe6922baa237f3fedaa4f GIT binary patch literal 1640 zcmV-u2ABD2DJpN8{N;+}c01Lg%6C!(A^qOJnyqc zMCW0wu|b5si_)U0Y(A?Ql=4(iLhbom^%$J-S`>6 zR(oBTDKmMrlzx`u=;|>NL5BV9pA!>aaujlv_+|Vg`gkK*zf_^ngT4@VD1~Qp40I&F zdcUB>fYckZdXlcItDe-She7U1Drx5=P7+nu^JAz`5WZAH5}}a%B#?SQ&3145#wjmL z8`!BAc;yOCXm;pi8Y!BFj=6J38S=@(ZG%iC6~Z@%(xk0U(3>dDgGo!UhP~Zq(LYkn z;-~q96Wfu0$-WkYo&$383UG&lNJOU1Q%@2@JoRTRxz=Sku@&R9spM_eY~$O7UFb9l zd9MHWTzxwTMU2YA%edUFrlWq~0TJoz6O}{o-ju>F?b_SW=C2Xd@_mi#M7_Km4jAK+ zt)`F`FKPl{`~wQiLSj!%w~vpq9JYNfKkEBM8s9=-!1Ub&b%!Es=362DHRuR>xKcru}uP6k<{0Ol(v`)!I`|E$N*F@-;Fv<__odv=LI6ErgDHB0IB2Gwra)0Aw;xjrq8qCQYB0eHf3=$LLmBj1q~Ily*+-2oT(xl@N$ua}~@;CZpuwCqEFHBpJ zFN9^Qr6UbbS{)0}9E)^O(??nKsDh-oyAfU;Au}C)@L&g?1dJk90H})wy_LA>D2?{$ zBX79z$AT7MDSj>QfNaLV`dp5%3*2v^{N($M2D4xZaIrXBddBFk62}52_68gv*o&K^ z^EK(=S3F<7y%JV1gyd*U?++KCC#&F0DPlN67dt*ZmCN_s_B7+nzD4-=_QXR;I0&a> z9#5(S*LV~Or0x$E&$r9Z8`@3D>D^In6_wDnp0z!FfY7aaa&oxKPd-A#&k1Q)rXeiq zT6cSiEPqHJUFH^H_-f*7m0qww!MJm5up{0^hMn+TO#>MbbBOL0A6E2*l4;iI={o~G zOMB`gpNwn^A%d|vD{;+qxM?#c&od4xk#xOkE?WhC?#p(}5gY(OJ0(E`TbY#W1|7<8-b*U5Qbu;t4WioTaBYn+(XERZJHhUQd+>tuik z+89O6k;FuW8zU=TcCZ1z?4!p!iY;L{h+^R!L!U#*2>d!|K%DD~uAO_H29Gis4lUk$ zPhJ-hQkq#0E>v%L!VJPZ2xO1sRyY}ncL*>6~_%T*nlR9)Q|Cw7HYC||JyI2U7orZ!; zZ9Bb%N3SS;QB0*S3?S%EXiFlnfBjV-m<`LxRs`g85i1OWqxDmZ=G(}#MKiL9J`GPA z%X*?baB5Qcq1FE3m(_m)^1oEmaLB>J*(Xj++G#)M>=z#Mi04owZY|!!%eW;X8^huGgkB;&QRjUH|e#p(lr8UdM mE*Cy{fxMtZ^6`?Nfx~VmcIyD+w}7W2MVJ`BF}B=H3d4k>jWi1Y literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0199.sha512.asc b/tests/openpgp/signed/0199.sha512.asc new file mode 100644 index 0000000..6089d8f --- /dev/null +++ b/tests/openpgp/signed/0199.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifdInHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcv78QAIJa +SDyNvEzmD6FsVkLo3Kt2DJgNxTKKl8+dT10fItVMW7rPYdNJMQaHPC63AenBdV0l +KLSTyPVzhgKKFa1Vs2uDCVwBVMEX3o8I4xNBxLJyYf58GQ84BF5VPjIbl5mwOGvW +GvPNt66xJdpq6MvG1NH2SyM3BP2fUhheAQrgLr7uD6v6Ran5SDnHU3v/PHSxtyWP +rigj3sci/TuasbnEXQKdK6GtuPAKDojoflh9Al6gleQh6HMBdV1MDvM3mMWFTk37 +sYFoDSP9n0ffuNbIhkedYCjAxu2cn8u2aNIm9+WD91lByeRj+S/s/q6zmuaexkrB +UTKr32hSI0avBO3BGtIPFZWrcsLnymBGjmT2ARjgrsVI58o+VAxRoyByYm33wswA +4DJ4xdchWmxu5sZ9l9alpGnEWAr3zNRFC7rDGpGvWvX5e/8TPovleLFz3NvIqk6h +By3+raRE7f90K7hRprFYyEeMr70lovzkOLhJC/j5h9o1AUANHHoeSFr0KZYQBfyo +jdudou6Sm/05PEY10DyIZyx/Abv/txVtLRzC8dxe+qrQDFkuGwNNT2aJogBEBRbT +7131ICEsI05XW5dr4FUByqSETL2rKP6cBjas3O6IIMfFbfWZvlzb8q/uvxzr8IEt +jyBDy6/ykttmfIhbfdL0z+kyabht/vIwwWHp4Hnu +=hcAk +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/index.sha512 b/tests/openpgp/signed/index.sha512 new file mode 100644 index 0000000..0b782bf --- /dev/null +++ b/tests/openpgp/signed/index.sha512 @@ -0,0 +1,200 @@ +cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e +4b0cf446a59e8319341e3617a5af4eff176e16025da31a71b332468344965e6c074270db2b6d4725331468a60868f642352de248f00ec1bb7d617bf9b7616d8a +eb1fa6c17cddd7fbd5cf568c28257ecb1c368306904bf58f62ffbd972f0e6304313949da017810cd25ed6aea20f1f850c6e0b519a74bff410fe0f3fd8b426fd5 +1002f8c1aef15edd9a89694d6d69c7991d80880f2c3b48e2d9341c352a79ff472a2b1332051807d5ad5d317945dba1ac9e748e83b6dc392ad6150d715e6615ee +3670129010ffd23074f16f641fba53a297e21751bc76c8a0066313d3c8c3362235f7f792607fa58e2b2a77c3959b40a964c39fcec1c296d84cabdd127abd016a +33cd2640afad36921bf0383c0059c33d914a973bb88bd4d2b11cfed0efd306fb8b56b69fd9cc5530d463acac9981fe6ebedd4c45a7f6c42ff83107043fff8cd6 +40d7f71358ee575ba0a37054d525f24837cb892f74817de1b516440270d8f2522993e36cb40378ebbb24438238d1fb220816180126b4fc3edb4d56190197dd87 +53dba8c7ff6a248d1565364849075e6c7016887b327ea0406aba04e89990b79487cd070de5729f524aef53af8e8a9686c670152dec347bccfb860f9e9fb49f73 +0f23f47f8c3cf77837aaae9ab5c6db6b5e67059504baafd105eb4d5757466de305279db63d8e19c50b9f03645f5cf1f5d9c014db2f91ae94c315442bbf8747a7 +25275e3c6e2e9a4e5ce73a1dcf4694b26742ad43d09144dc6c8f8d5176a21616abb9298ef64b6275fa5200224cae6241e9601bd17eb85906c8f39d8617f9ed49 +a0ba1cf5785151399a8b4ec8042c8521a389dec8da4d0fdef0b838db6b06deb5dc54f8886295bf9399e2bc72a6a708a92e57ce6ccc9cb58eb362432c28d8a122 +810db78cf97288289511ee47c9ac1c791a0c7d2465a1e2ee1a02a0f0159f31d3a01d69eaa753a45d2457ed9e2005063f764faa0417b4baa6c5a58446e29385b8 +84463ba2557a2b9b7c9c934e9aacc31114609944fca750b037889af09a939dbb4f0f05b134ed80632adf2ee8c2ac7503a4825c8b390de1bb03b5b78cd81217a6 +fdf7dc50f6ca971f6c9390b690b3d02b68b7e29f9e71e2fe121a01a4d166240e76dc63b72c2e533574b8fc69457759d209572a489e452f5da3c68a44ce1c345b +8f74ea143f8b04daa15d7138f87473051a562c30806a3fe53d2abb402ddc95b46fc94d7ed6bb0df7d9ed1b3df7305d583a0825cd34bbc6313329bf3271f8931d +95592d2009353affce6b3542e3b2a83abac8a41ff8a5df99350014bc350c52b5266db297b0240935175d1cf8b787df63c9de09447862f7a6e5aec8040befdb7d +f36b3446f1808e1c6193d57eb9e38e102d998b7a7debc497df96b5af594c8445e5c2a4e0c18f0f4d6e434080539a8c7e3214d0e2e8fc43c56072f0769b44933c +7c02ed75d906d74c4f70532c002c12088f7dcd2c294de1780a06c4f40501fd0e74091cfe117fcce47b5ba219f158963bd625c4f396d6b9aa361c4dc5074e96aa +65c090454bce18aa32b0c907384dce7c82e786eee5764e30ba5fe1b88b14252e8ccc9dfc524db6275296a596becdc436c2d349b1ae880304c36ee6c3219b3128 +b48dd17e86ce6e03b6665f38a79126e74b0e6e0c0b2bff19c72de3c3eaca4c023a39d7092a8e39c064b96af2ab59c9b3f346ae4aaf71bb19d5f2037b2b947adb +74b627532ad4d13a907ab04d88c4f6e22d55a69fc348ee955f979ff85a8930f2350ff013d9d7c6528a272fd1264181087680c77206210743cc391f861a01a3e1 +1fae4752938a505f42c995cc60795f83e6dfa5a8068b9a5e0771eb467dd41e2654aba72b50135b1a5ae4bfdecc3d7e4bd253dec67c755db272265fff3abb09fd +a0186724e6653d2a8bf5cbd60879fd0cc7e52694b79cbae933f78457eaaddb502470635b8f77ee2138e0f56bc3e2a9404e3a1a000a5f2a13bbf8ebf71f4e313e +575c403423b753b9d896d665651a73c32b02d41a28d4fba934fde43ab72c4627bec5b316539f039184afacfcf336d9a4023c8e4aade28b7864bc357bb98b027f +6a5fa026f968123ea4bfe3168838e3ef999ceaf353202773b73a76ec6badf1171a884349c6c098d70e19e1a13a55c052b653405535ccce8be514225f3d3e2956 +f20157f0e740fa6df507de73f546306bf3edd002195766797725032b43dcf96ac291eff8f9cf5a79834490932da1f18c610e6e2f918778e9f5ec57aa83c21f02 +cb417d8706017d0400aabff9fd6ba2d17322a8ccd2c3e9dd1647eec4fe4468824560b51338f7c925ee3e4ff48ccfe02a87cccf161201a9981935499acc6fe920 +d257a6854063c6ae73398997af181a4f3616c6f910f58885d9023e84c1d206a7c02496df71fe30f69d4ae86aa99a7a10aa7079452ef571348e1347d2633cf910 +323aef4772fcf73daa4d9713146d16f45896a8b652f45c40cf5ea8153dae9380143450ba07880c180944fa02a3dcd4ed7f3f3dc6de70fe222880e7544e6d1b00 +51f57f3b3b304365e48d4d1260d73e42c9fd1d4957f6be595041aef11c42db70c7e8120fe4d52d06898c6d230117bd28091dd9e958ba09b623a8d2d2c28ca8b9 +dd2db3cfa475c0e31a6ca92e63579f5b294fb21ca1b5f41626fbd4453f71ffd50288f90c712702a398b059194404cb333bdc3cbe6317f27fe6e7fda32ae33fe3 +7bdd184089581e315ad920c0376a898dd2f252f863b1c55e8674793a30c29cb25aa09e763dca0ef2d4e432ebfe65e8ec7cfd75a2ce460f57d153be2690e78c94 +690f430a761c4b9147ef668fa311355627b4bcf741bca797c008cca3dfa561f26a3a722d1e6c28a9acf6c8123118531fa041cda9f4bf85fb086c2b773e61e9d0 +43512be92cc4f1f93d5ad6f1f1ce77ca27426a0d651168c9830408db6c365f2b5d9ab4b33a6a8a5f8e556389e38b60a7a3ea4d2b52773b9a86bc0b53ee43af58 +d68373710a02d1817832529aebdd7bbc0eeddd3c21772a965cf10343d7733e9d5ef7d8d54b371945e4998911ba695a715451b299ce3683fcb1731e0ff3f849fc +62fd630ed0f841dbe8ea4315ac10a7ae936f728357dc8f18a6889fc323d5097d2ecd8aa07125ac3aa2ec0050ae13a061687bf58b0955c376c4908f921a350840 +84a5694b9dfdbef7619b0dbd121a0bf87b6b3ea97e4306f875b5ee59a56cd066a097cd6bec5f308d22a9044b2cca3e85d05294b529c61e2acf43f8c681f0183a +d4dc3ecd4d2c3d2276cfa8f97e9ea291f5a17c54bcbdacb1564c1a11accc1cf490d570d6b7aa06ebd389275a1b223b6f60e9d77895f5939afb779362a0b1ab20 +7a0987c8cda54170035f35e61b6e0e6ad26775d2b78855dcfbb9fd1593118b06736cda5c42c14e37f46b6356afa8d2ec2c65eb4bebb36d515a26f9eb99a18ac0 +634d9a4e739f1781c37c8d248f04c0656d85eb49c09818c3c48fa33acc8aa502d6a86c4b7b8e3454f46bea351a1f9aef25457ccc61f53d70997af3ee4c1dc725 +17b61bb295cffe84e6c6c53cde93c01708c85f86caeefafac32a943307fdde01fd7eb99bd3d306691cd714286da8eec2a96f51debfb322d487568070680402ae +19819a7b6fb6f02e3bfe567041485929fda029e278fef424c9d905f49bf7019472111b0f04eca09c23e80f5f599c7911491ff64d252926f47d5db08ef6082201 +229bd8ee53fa21821c0a20f33cec4fb105fa4e75cd4268b61e1c3d443f508cb9157b828837239a655a3a3be607db6b05d7d21e72d1170684e597bbf70940077b +d58b8235de3a91ab67e03b41ed99b51d536df46ec252615d4d4ece6ea5d57d0b5825735bf9a1d2b111ec979665df459cec875431a4fb8874db0b321ae2a3e9b1 +7845f52442e0d1d6d03a7e89a94204e26e0e0bd95a6b97d962207e9c6c416f3c796381afe1463aa4d4ba25ff605c0cba3a97da1bab08a8e134bd4ad779c9e8b2 +60367cfa47d3ef66d7b8140b0d2af898d39c554bb88c439f10ccad6da5c97d0d62fa5b6a452da92b0e3a3df5a1fb3651f28247f14075b7db0e1690d105e96ea7 +e4610a4d269e77a3e8f6bdc5aa8c59bb079ca1407738815a17ddf62d239c26c0acff0ec375ccea0a27a69ce85221cbfdd2794e6f6778f3dcf0b5ae4e1b7debdd +6de03db0307f5c33da4bac295b38773de6569a028e96d4f5106c7941d3578daf6551a5976cec97eeafdcf361221ed4ace846d75ae5d0266a8a23ceb4be5362a3 +045fd8dbed33fcb634f25f983406b3b1c40e380508b9772fbcbd45d6f394ff6fd5b100bdc13958c2547255d500c0d7f82b790e4329caaf2f2a9fa9ec7ba0cc01 +46bd1ebd7c77564e8f5cfe74ddd377405d376ca641ab393fa0734f242bf88518ea72eff6c22a5caed9a2032f0ffb345c64871cdc78f26f8c6dce814b08193518 +d1a9f46575fea6eacabd154ed176a4d0ab3b75fafa30122e9aef8e4e6e43b3e596ad50ff0cfb8faf768e40f89efdd9dfddfaba517a5c2c3db673e48c20190bb2 +3e93bfd75f1b7a3378c84484e27e4ffdb39b7349169aded0a517d2bd8e5b33a88ae2698e9e9cfd947f0621a9d29e8f486151d46dbec2d399e2b0372c26add587 +a4bb8872337965e780a4cfea9f6875b6f3494fa44a13da1f377cfea889eec3ce4650dfde208d099fa91ba18289f4285c31d254c8b939a40bc9b3b65d21780649 +19da3c92e798f764b328e6da9567b3208a2199b337a2ef508605a1796c277ae3ed387eb0c49cf2028e9c1d3e5eff523eabc02122d7108c9a7c17ac51ea7db01b +4dc99819c8e9a8721bb7ce208cd774be1a6c9a65a9f64e787e09c1c89b169737f80ffb97f41236787161a75ea08de9a459634d3ca465a86068402c3c3ae2bb3b +605996128d052689f19b077b26864b0a692f020609e71e25d36d76a8b69ef12028d1ae562d554b4656cbb1827374b33a66161caa61cd57191172f580c2e5f52a +cf18abda9caf3af137c52b43c3ca5e1f813696b04a5022d9715a687a23378c3fe96d3f1f9263550a70521b0cf863db4bfa42b374b17f91b4fe966668219329ac +bc161a5a4446db753c1dde3cdebd26b0927cca27b74c1636a2cc84517ebfdf05f4a42931f75661a9bb732a23b3385206d642493ee4a998310aef3d6758628285 +5c7f0154cd31c21c1bc39b19574345ca457ad9b643d88e1a80726721317e9861611d6343997ed62a859c7730f22d75c61e7d24b5c7e36adcf3de52db523416cc +65894cdda70826cb5cf6a18fe9b65e44ea1b2ca0d5e8fe63baeeca818e98b1d96ab2076a3cbefd3f2ec44df63ff2de9a920b3941c5269e82f7db2024a4a36334 +2606fe0a1f4b0920a72e70c275f0746cb518c30a09d85dff57f04357c03d9f58d55cf1ad934f4a082c35d8082bc64d077c7ce07cd902a079219c528f09a204d4 +ad049d54cccf963a88d7728905b3a6bd7319a4150771805c4748154290527aa5785fbc9aeaff9baaa1f4994741ab761c89adabdec89418bcce4eaf7db9f5033c +ee781be638075387eec3b3d97d01f3b98e08f98091d90c164561249f8d6a59a186e0508591ab0b2cbdc0d1020ce8a1cb3c32405e43108bb9f9b13fd2935d2ac1 +4b59de4cc9b5af25f513c72bdea969d745007346bad36cabda5828d5a9572edf1017381ef3ec9d86d2d378560fa3f21a5ddbdfd0332b21f01bef7d2643f2603c +36bd28e598724e92572d7bade98b5cdb6ceefe111a491847fc887d1d3f790a17b3987672ac68e1353a86ac2e642e20f542acde068db061ad1f5ce13304dbf5e8 +1a6e301653903ce82cad55ac3019dbc8441108675b1b6bb1ed8137791067ac8b72d4a967ae77fa24643701e5af1cb0a6a243bf747a2a28b2d0d4429e3497f9db +c7a8b42a3761c62b5685c8872975b3c72f9127323778683b703b6bd6fe0a91b46b7eca17bbeee07a6e3d93e3a94dd2c4731031c2fa115ce124e891265bb43826 +41bca76afd734f074c30745ad4a29926eccbe2f8cd6f11b170788f56cb158dbecc17c4d5ec707fb037f8751da3d8a494e7ca78493d7d061bbbd50f356f38307e +dedc5d8e5baf9f3d89808d7d602d0dece8e0a9123ef6d43a669b615a9e03961c1cef287f74d1fd55febce478c84f9622ae3a122bc91aaea2edb3bb761c5d8fcd +ae243b6a915ab8f9e3da43409cec98062e6f5b778ac51cb4a8ea7321945051e01dc1d8e51498b2f586ec5cd0ddb479a8752464f2ea62b46cc0be5414d687359c +728737360789212a50963afbb4ed351bef4d0eb754275562902001f8383207aae098f660344586e7587f608db69634d1a76262932d0fa88b61432af7d89dc005 +1159432ed0439255f91a5efcea85784b2a45700cb23eab454c81b52ae866af11a77b768083929ef315646bc81100b6336b1220e55f19349bf18949dc8a0132e9 +a6cdd583f00e9bcfdbe8f34feaaeacdc6eb55ddb6cbb4bb978dad89e6aa9c5077e74edbf59b71da29868add1be5bfcbf04bffe3d2deef23d9984ce8c100ff29c +8127a031581600bee59d0b8f39b5e41397fe23b218b921a11783cfbb0ea8fa25f2f51114b1d5915f57817c1e3aea020096b546a5b873e319fe4eefeaeb591cca +6a0349e35ee38a2c1bd519a959287fcbde9c65a2ab555474887ed0a5d77ddb1cea31d069d4e417c682f24ec9a95a491c4e47f083747080b8b98fd0968a35e18b +5013d297f864a6f07f78f3b78f8fa03dab09f3de79ce9712f70102e762dac4648ba089d562ed818f08706425c8f8ca3be1ffdc0a72a46f42541c1af22594d64c +87a7091d6e4ddfebc2726484c4c1659d05c8de8b63d0b465241a3300888afc41fe14dbbb2948ecc191e58139d873ca2f4bd9ca4604bfbfaa9d0596dc5dd9b4ce +3253a5ae4ed1dffd9a6a4963379e1333d3ea0e8d433517527c169c4ba880dbf69b6cc3cd372319f48fb977e9c843e06381fcdecf3aa0686ff47e0a95a97012be +58cd4309f7413c00c816d9400f29396f58a21ac450560a4ec58ec65fddd89078aa08fb8b94553eb962bef7a21d406a754dd198cd2b7beeda93901a488cc295a7 +b6e49271d707a0c047e511edbeb207b8d04af3743ad6f02fda900a8282154e07be36c5b19cb5f1095cf4f01f2a877eb6075413f6c092da3c053f4fe8d0247452 +45471d44d2426b0dea5e8007b933e70d6d08b01edb6333b22eab5083121cbbdb8607fc2d8879be8268d085a4e162bc01e66ffa9a2da79303c1c3fcecba2ccc0b +611ad8c1b787405cc35588350edc99336595a87850eadb103e69fdcb0c583c74a11ee47a9415c8e4f8fe6f1ecc043a9c6df7c05511c382ee717ce7d703f42d86 +aa7de0afe6bc7a02cac3ccc04dffe48f496c8e1c4e6ba8381991055cb76f3453064f0ed9216887635f6920ebcae8c0d7dd05f657ff6c7e9f7ce5e92dac779e2b +b7b30b1b368ff046c0a7e85c2669ce1e175f15e0d7150fded3164ad8fe1c59a4201424c8d38a4e37d4448ba13ef1adecdefaa7c000eca4219c88cdd4bc772672 +d80a088f5782d3e36a4bbb0a57f4f95aa0f413ff3428dcf379016ce4ac8dcec811c84a50c819c16ba8db6bc3248aee9e4805cc3a1c260cdebed3cd511237a72d +177c8ba1992ca4277bfe4b3197f973c27cdfe20652aba5ac480429add71c52713b1c4158e8f8498315bba5d9d2b8ccbd91bf43bca38a1797e7f59bd267945436 +39ddcdc4205102af15ca21ccbb8e11581c595db8497692f756210c4901b890a6cf12f7ca7e8b53ef3c10baefaf097147a590606c9a91fe83dcd5a9a4ee08c10f +79a59f633b9625227cd4cb39eb088191a191cea641e06424cb623e1ee355bae11ed69642e8ac591f5734e6f42d1de3d66944385802656ff1888564b39bf4622d +e018d8fbb4e3736dd470c3ac5b71e1e425e019c165730635b57d08b016a58b419692ec975d6a4fd7042d44db73556f58bfe39c2818cf0f16b9ee5fc4d7bee0da +ace26dcf9a3e5dd973d969de57abe60f45e66923d998b5cc489a790f0a0b0a5598083368b1bc274d494efa694a884aaf15aaaaa7a854e0d0588ca5f996db8332 +9ec2c28efdef2c945225b88b3e3259bd3f3f2a472e2f3179e7ef96611d185ac4379966b92ccdc10740b9a973a0ba4771f405ae07d84a7beab93b034e3644c15a +921b90739c86db029c512a91f293b829eddfb95b2297378456aaccc3764dcd6716217f24b223ff937dd6622d02f6b5bfebeb2770f0021ff222d69b06d2ed6862 +9e68350aea2fe9f33d848f7157e4b44b1e50d8b2cb28f2ea4a28c45eae83609963b731d030e255e69b9fb88ae467c97c85add76c4b1eb453c2a4c5f73af6ec00 +f17838165076469d52367cd9f9d7fe8f414274a59450a7a7483896c61427397d3af2a5dd5d1d8a523c19a0e3083f0d8ac838cfa29dc393403201ab11c86f4c95 +d31a0fd5cc85fe94a44733f1db4613263154ce28ceac6e5256adbed8a14898a34e12d18615cb7362786de787f4df8006214c829e27452447d838f2d3d18ea1af +5fa9ddf3ed8bdf458f321111041cca966fca049ebdc70878612499d5ab26e53d96437ef66ac6f114d88682ff6ef4ac671ccd9325d68566b941fe03d0faa71e27 +f5bd4e1b9cc33d36915081ed13f7b8bf9c0b16cdb7603fabca8ec1e33468f4da0a69e771cde55919fff0965944a4cc47a81767dec3d7dfce125484ab79d0536e +cb7e7cafe9164b7c2789956167c018063dc585aeeaaa867002b2e0be01ffbf0a92e7ad9735cfffce982092f082cc06e09de2e64f3efa60b1235d61f334ab62e4 +faca3e244794170aab0126306181b075313dcbe2066af35d9523e0c3f29542eb5a9196e0f590226076560952f1f1bf86d49bf5abe70f54b420dbb62ef40aa380 +12c6f5a3e804a27b69eaa1167a6115304448b9b168350dac778dfde1fc4fdacf25a37cc49c0ed9438ad210a52c4131436595c01bb220da407c922ae2197d6aab +2ae4558fcd58992a71b1262a6bac4b49d0a12981f7b1f57e778beaa495def527b923194c79ff72cc1630bbac886fb4486635da02677c4a528a61b871a93f38f8 +dd0ea052b81200a54c5aaea0db7c954f557aafe7c34540aed952f9e1c803d5a491f41ed1b79315eee273a8ac035968d919add2a8e5aa7eaa8e87b97e3a2e5cdd +447a4df7a4122a5a2446bb153aa1d740ce8066b3406d146f451673fe1f9d9544dc34ac961a7bd1eb791e605ed29d66fe06a01ad2b8dc227f5e73b86a786b52f8 +85d15bd3f14cf1251aab27c4307f370ed6a99410fe428981e1108af7768afe14b8db42f6820a98e5eecae3e2843546845a3024c7342f94ca4cb8f1ee611260ec +26910ff022537d0c2993e095dd219fd649b5533e93102ff7b80bf48a5dd7f4ff47de4109ed2bfa2e4a5f37b9d328fb9fd7f9106b761ac13c4395115125c91af2 +0115327515bc939b92452ef197fedfbe9d440b13c0af8c5e222277768947453409251da18779e1597097abfc793ec82754e45e79c0dd128fd68551be583c662b +e43bb1fe620b664984899562dd890f4d2733630649a40990607f41ad84df682b80da444168f6a1d82da9cff5cfb533185d377cb91e6ebf4854186df355de3588 +53efbf58cbe233e9b64d172d755bf31fe26e53c5bd41df5819a22c6a31983e3c5c5eca2a8960ee7a43faa3ac4ae3f366ee1bec600453ba4f9025bb15d2bad4ad +745e8ce0841c8f8bb8e7498fc8d5fae8c4dcacce29cd5a8f5340fb415bae39bb8f2709ef1b5a40bcdbceee8fde199a8406b641c58c5aff6d77180c1fad8ebe34 +2828ce47cd3e9407c27ef671956e3a35dc1e7161d80609d689abff8cd1d0f4a41889f56317fb5ad3984cb65c8ed1e73567acb4bcd92c78444eed8e29a5cb5ce8 +0a7d2f767bba60d4c80c20108d93fb3f6aee26475a58c34698529f2968e66a56403ab7e4bcd00c64c48c693e167728116c68805c6d7bde1f313dff728b432e9d +ca5551004575b5f50a33ecb49b80b49b16646978e585ac3cd6cb75f0b75cce526ebc2704c59712493efe9fd5492d399ba5bc76e46f53d168d1b1ad366780b5c4 +2aac607a62052a54530f61d129498ddd0668622d140874942afd9f4f84aff21557a33529c7fe898acc04c2bbdd660a3fdd81e3af5b9c4b1caed7c202fe8fa027 +00f55b38395bcfb88d32750f52a5405a28e1a83ec779f06187b4b4a7bcc094ac78605f795d68a4436d72dce96cf1fd7c1e5a09ca28fb32c180d27306a056b9b9 +b6f5b4812fbd7570fa338bcadbaa69ff72eed673d48b4db727ebf3f0100a01fa61f2a6250b5ad8228614623b397d36a1b641930b9a2b39e714e811b0422fabb4 +2c7a29a2865986416dc7f3be54d98035325f5e5fe6d8214bae50de500d161923c4e5b37689ee8d548e372e57d633258fbca1a1a6d0e8cf633ab3bca0b23a2b7b +0cd7a18c8f351ce030037ab2023a6b806a89dfb0d319b49be19efb353f953d52aa9d367c00a9720c1b8572059013a730d50ce76f797650e954e0cacfc990caae +fd617f2fd48bedc9ad91cfeeac464b61d94ac0e9795987ef0496d5d6e8427d8b295093c0ce9378270dac29349387d2970fc4131dceabccd2f64fde33fb4aa556 +87c2becbdf7657ea53341f404dd0f893de7347d6155f19a8b8f666f97a5645d2625e4330e9980ec559eeb4466f6e4319477a615754edcef205ada31959da4875 +96481997f480d97b617dc9327219e204c9dc8c3dd4e539820291ab2bab607f3e416f6e63d5dd68d56d1c8816d2555b4d51a729dff3edc2e43cdecf074c3921f7 +f8dc842f41d7d2873db44dafb8785965fd3bf325dc6ef2ee8ad56ee649580fc2cc8b6008a48ecf90ff500b44ec087c08db01af38b1f15f21a9c6b1a54832b52c +9a1ba56056e3d027bd7d6df86e3c8483eb3633510afa5d0aae32f4c7c0d4c7a20af52211d5fea48241875efcf65e4b38854551f49d4343703d906412ecd4c028 +49c7b7325af3a8ed99d555946c7493aea017fd11ddc4a6e9834ae46284b0122c67c99cddf2497a8e5c277b4c9a4ef782334410c71a6078d9c963b5b6446b1834 +01bf606c9228d6ae2b8a604e7e9b3587ab5bb38fb322fbee6c6ed62532ff049e49565b7efc7c5e9fa9819f08a6851210f42e052e0faf13cf8739f5607e88e5e9 +1f806e92f68f0613dcd78a0095b8c8addec30d8fbc8e56d3be7530b5bf065a1549358c54bff8448fc40d4754cdd678724d9e9ca9ae23d5392ec0a963a26a1884 +0eb12b62a2593a7da3e5fa08689fd712d4d36c6a963c84d6b13e2e3cf0806e7a3d4628b748a212b715c7d397b524f8905dc8fa2c9787c75cfe0de044d48d7bb0 +402233c8b014e18c8c7394999566ce60e5c729c8e8d2ae21c60bf8ad4be2690d319bfc6b6483771962b5bacd6d294ce0c92ec223198b84bc1b56aad8d0ec193e +fbfa855ab775ed0f931fa76182a1132e161f1e700f9445ebb7e4c12abfb223ac13da234d40486744c0dc9d520cfb84f468a0a6a6b4f7bc872d8d1c0f76f8d5a3 +f6a030a3f7c82818cdfffe93011e9375648f8e78bbf0d84733955e068eede01c88563a99e25da193cce8bdc67f2491e2802db73b4753de09a1f25773b0d6dbbc +08a50ec40088632462e3741fc80404ddd5264bdd9b580f20536432620256985488817f9c937b7fccc99d538034a61befdd2f394e1f6fe413dddd787bf7af6983 +8f6943af3f37d4a4740018fe28940dfab0dc930e02a924492baf29062ed3cc785f2a99e97005513f2cf4df1103adb14a9447dd247820bbdb7167ec45ebd53e75 +c7e343506abefc9e72ab9137db00836e705aa8bb715293f520ca4074958c3a9d8eb3975de3293750679e38e90a9cc93e16141fc6658e1ff59374242ae686b64b +fc121671239167020e36cc2e626d14422c66aef023601470574779399f5d4f61813c119a89bf3fda8110f210312dc23de285cd5339866ccb6cdf69c01d978ada +7c1789272db1e02bc64e19a7776cef7df1dbd868e3045d387cee3789bc88754aafe3736a9669799056eed1cf04d3b15d42c31b15dc2c18022cbbc525b2efe9f8 +00fc13263964aa0e6ddffd0d2bf045988fe7174e85f695c3699708eb6246a6d6a6b2856107ee33e5eede01902741845da9427a312c13412bb9fe971e8f3e435d +68eb2bfa3cbee0ff392cf3b8736a5077cf1b702b1e3167a5c037bf6e5c987a3ad8eb9f37e0d602e7e8ed4795935dd4ad6938b5c4167e42d49b6458a62726e94f +a300fee813c111cb7d52e4f6185b7ebbb579050fbd233ec036ead80154154b3fbc99a4930932ae54e9027a414b416c7798e97a5e5e116ee635585fc0cbc3a770 +efedefd05c5e43adf5d1a35a6468c17290d13c14a676ce8aaf04177b9b6b4041b319ffacfe620cfdfe1de1c72aeb52da9e1e5f82de9cca8aa448d5471a255956 +1ffabc0fd7430a64cf611ade2cfcbcedf5b6a6782b3878ee14e2eb2446baee189e1a83c11eb558f6733f287eaefe26a6dac39d6a83a81d34669c19603e79b93a +2eea92f1c72760272151ef605258dd27476fb7e5ef83c34928530fa1a21b4d1ef0c06eb5dd5b51b20d215426e0c25abad2b22f24c38ffe2e375fe5f662ac7cde +49b8d10e25cd41a97c86f867a4c0a88caf01a9b06bead00fff90cbd374e66bf8defbb30038a639723daa5852ac19102a0bd0d95a1e9f1dcb37f13d7e399ba385 +fcf4b8dccb9f1db7e99a5b01c36f6a854d52ee4b6d97ccfff8256284eda1f4871895f6a35d78fa68289bc9e00354c54230e6ab6951633ea516fed72d951c2b0b +acadaa8a0a3079e76d5d7f182bb3a9a7f2ca686da869bd3ebc65214d48fad9ba7e65851b9d0b1d1ea038987648b7f31cde44b69b5a4d1089557df9ea1c246f76 +31a34b52c3080a868a8f70b32a34f0e5be34d88004a3db5a6066af75a4caee08fe7cadfd6682d2ccad14dfb14aaf36d652ddfebb105d6df4e2ea15f9d4ddfe0e +256d98c43ed5244cb29face754f02fabfaa80245dcd836ce99535d81b84410ee06d65b289711aa1a69c350247d4a97d3b15aaceb00c2722eab5f0df63247659e +22eba1ace0e6c58d43121d425740d50883568d76914bea0cfa5efab52141d5e3d91a9587bde72a33e4d2e1e0fd890e306bc3e792645e6a5f99b20742f0344f45 +54891be1d80e0aedf27d5070054a6f41b8a2e7ef41dface41fdf378c172a3b61096300f19f8ee5076041fb11951bcf2d4224555ea250549e4ad2610e7f8fd30c +ebd84275a70aa5c315bab74c74082487e3e47be68c2e3185c467995ac8ecb96b53eb604713630a86d9e06e157a150bd018ff463785b9c392e19f067144c7abbe +78a05e4058cff32336c2f8e7595f1a43e0c83cd52b4d4164fc40ae77734718637510fc85871e50adbc8c567bf1ea2c0dfb9a5d6991d0480f7437c45814e7e34b +897af9d96aec128c27b67036ebcff4ea02b261ab4435cdfbb61cd1bf2099dd75b371606013690b2a7072a892e63ce33d859dbf0cb6b6172826e051ee97d453b8 +b754e4ba0c9d5fa9beea6111749c50bdccb60e5306798bf81a8ffd9d53d2059a9f162fd48677dcfe74e06f2dec31917a486fc59ba0342859a700271df2200912 +59ac683670817a242a970253441dc487156c92b9707a1c836e2f126ba55bf0b50391e39556cec989396d413d01a24ea8bde302d4aa46724aa3855067820d0f21 +f11723f71e8d826391eb46a9f41d534ac381c4eaef209535c720ea0c9f70b9de0e902763b07ce566cdebc3fa662a9c3c87ebc222da11c96b8954d97c4deae8e1 +e3bcfa9fdf29c5360af4ea72c39f10d44f0bdf6a7a4629332a09aad8ee1a02e44a912b7e2c0dff412c3b0cbf4f5abe3e55e901de1bde3205896e791f9eaf7f85 +6ffc013643d58c9395d7315dd4011125d09cd04f69136b730546cc9011ee8baa9d7b571b627f9f68dab5ecec13863923ebd67c2a58c2cb2c4b3a97323f54771e +ae13fa1120d794fd386917f647201f81eaf0f65144ad689bc2fb154bc27da17cf6cac6702e77366ebc0c55ac9cfa9e3bd7af69af5c846733406f8f23b7eda4b7 +ffb475049298ff12704f3b593bab42b943ba2a92489b9eff79a0e7f2428be29ea03084383b4b3ef89e5d379647aae959c5adf8ecc3fdb20ad19257eb0f14f60c +7fb43e08c5d0fcd7522ac6ad87b2502e491d882b446154b4149ec3089e61dbdb09b1d8480b40f6986025ef081d24edb09d3d8abff2004e6b82089764604bdc7a +54734639f9c8276d1221f569d2eae1abbbf3bd78b22a327cc63628d44d65db0abac4e3e292f9b9f06ace9093ed0ab6be8e596c076170e45b70ed3b9347aebf34 +a955bb857eb82097afcdaaa81db928227b7976c17374a5af51a97f3e967149147ad6fa31a26b0e0a8209bde21468e780367114c23f1035e56306308f995c5f5e +ba19d8aee4cfcb214eeeb7296be0c382b029deba8ff53efd7ff614ed2a6c05ce7a6b436ea1279475349ba03d0175e8387c6b5996e251c0e85e0edafabaa8109b +29cd61e44d0e6c9c3bc81e09c7907fe8a4ec95ed815bd8d83a29aad09872e4dbe6be461cc13a0874a2bb9ef33fa084d02c56771715a79b799a420c5f1c75b19e +2793dcc11f50d2e065e32e0cb16a330c90e72459e7fa0f9c1ae71867f7bbc8e5c60577973010b2a8e370e11451ead77285db1a156517ca40c6d4ec475058308d +7c444fce5ed6aea57c9b29055062726d17224f6103ed62fc17292fc2ee186e20be85de903d0849fd4a7bc4100eca73e0d800e615a33b923cc3f78c8690b8390e +40feee683fa4fb9d117ff7c316903d52a6fabeeb7243478faf5c2b6fc18bb9c7648187f1e7d6f3bd8fb41c6b7dde4b344024547d1f2ee91bc1ba1c8adedccf41 +04c10e057cb170633d12d8752c437c80889e55c8254e97bdf218d02dfd07d2af4aa502d1210232dee6403dc404ec9966c011fa0764c4f35d04dc1a83c47a5ab2 +f2dbe0d045ea57d25b0d08ae0a9fb25906e88bba47c7495fc60ab45a0f44a9e9e3c6aff3bcf07805ab31d2dbf3db6b1a98e7e0b3cf9a54a92ec87ef521ca7277 +bfe02c333b7c0fa8f7eb8c5d4ad7d254d511a0349fc557da861e7cc05a2bcf538ab405feab274bab59d565801258d06f304e536b589fa6a492eb0b5cc0df4c82 +5ab386bcc7b733d0fef8ca110144ac7a7aed1602dc2f591da08de09f9ae6671c58844429ea1cb9693f8e41191289988ef3ee9c2e76fa2957ca8c6bfd34302616 +d161238008cfce2e45b19e7dcd206a8d5d09f5ff540c1d1119c9f659a8ad9025d598973e4309cd5eedeaa183bed31670039279b25811a56c8d6a31fa74e2f600 +40e722a2db3285977525c6b88f69a7492d6470bfcefee20f1d273d093b8876029e0f8b9a9825b52a8740033c78fed6b0f5da0b74c1ab1eb6997c5663972a1799 +679a765c11c4e542df30bcb4e408aaa9e94512720f60e87ccb8b2704e1554032e07802592dec9ca8ea871a1f997bcb10c5bd2fab4dfb5381275d516350d4b40b +6c6b8868df28e59113b4b9227cec4bbcc09b9b55fbee204e4085d874e8b64df1c0d07c89da1a0e88809e3c55bafe4a852107f5e45d5f089641d279723d333dcc +772b999e3c848229636c60305edbca93790218b337febc8f9df6da04337ae098bed6f9d2e50a7d8394192ec4fa6f6beda88627e7106ad805dd31d772bebb988b +1f23bbd75295164c777549188c12bec3996bb5c65e4e4638d3c06afe0066f2f4c06997f9c606fd56019e24199b32d765fabd265fc21d2f9cc2b0ea7f635e0b0e +62f68257b77902946e22b1643c06a762753622f56af56f2fd8ae8360082208090e3b1a269e606de5cd5bc72008346bbc23cd715986ef6e95ac58e23331d59dee +086ac3b80eb40cb73c5ab4d17510a919a69376e47174aa1df67f975c4a4cbd14c0d87e063df26c4d93ff1ff9f1aa34c709638c60fcf774c52012b707989a206b +ebf943381dc660996426a11aeff5e849501a8a1d2c8b20c4a9e882b0ba77fb7ced09749213ddba5567742b916ca2df9b371a6c3ae2432d785e1c4e9a220d5e40 +f6b10cd5c151b2e56d5a27ba155fea9c5fad55df663b1ecc1d97bdb7e6847dc3ef7a64a90c94019a0c22ef8b613d24f8539af0395c027b44fc0c011e418cc86c +ae35e0594f2015b5421bf241bd2d03fc3d4e790c89fcec53b955034a2af4ebfcb1e854a3aa97c6ddf90069474b835c98375b307a941afcebc7d49c247d75c302 +4811f80ae7ae172e85a953ca075a35c74c41c5955990b7cf191338e760f997f84475366036688cfbf3d640557d80c44b4488a822fdf8722502db3f1f54808eba +e7296933e93cbad064a2a1e4b6475a60cde2037cfb9f21c6a15ddf45f1141cbf57990f16b1576a73b26a7ce38cb88719b4d66534b724a043bebfdeb33cb344dd +1edb7b78052b6cef7f6559f837f94b5c3feffd2ceb94568602513d4b1e6d553768eebfc6915455920064b5b72030572e5447e1950b550b826e590f6e9320e39b +dae1012353654f024f2987a9babc598d6cdb8c2cdb3673ce5befd3efa6781f4a88c11a92ff58a0c19873f3d0af7c278f01cbe01dfc2d29c443e0319230190a67 +7afe4e9d67fcdb26b8e1fa5628b1282519bf68c01807b4898f82314fe1fffc966ab2aec79d009533a66536715bc5b03bc86ff43d88285ed6a250eb6c2afce08c +06ea9269e8e3b97ca8a1ef66d0f0d191d070d8e9371efee151f2437d053ca2bd93a283f9230307be686415bb2918708f239b5eb2bdc01183c2e2aed9eea8faa1 +ddcacd24ff54232acbdc2754f2f30a4f6c3413011e6401625005174545f336b467a1d088cc58a6dfe04ddf4acbe773b3355644eba43bc04267273c2865e60d11 +b5fddb53aee69d56ae27ff8e7a5f7eeadf6557322ec861f3440353db5d386b0da0a0395cb0c3185b0a088cb82e5e99a99504ca9397a33ff7adc15b70cfd56f57 +fad3a897ffcb7a81ea96577ebc365eab3c8642ef3b285e56ddb4146346c69e60383d5b9f2bdc4d9fc94c7596d429a9d74c6e6120ce4e541619434f63eae78569 +f73c4c67fccb93e8a217bdc729843e22a3cad1d0a8cd95ab2bd9c512850f0f73eef278675d019510b09180ed878ea88a9086831486667259cddb0c58cf3cb77f +b93698b7468421584dccc23482c4b047b4acb8325bbdee0264adcca17733ccd3871c17188303d17a76a115b05ea3760c338abf20f8218d16a1c6d02d230fb1bc +765e167ec19539f703aeb187459a9c3e70d93af31e227bfd57e966f2bf3bd90f00ccba9c9f9883bb3f16957b5819ee7a48b5f965d1bb45dcef5dd4d2dff4ecb3 +1f481c544e8a2edd103b058fa864b3593f27683e9becc22ba14901c81922db9f8fb50e6514347100c5d5f024b8b2ac44cb5b270cb687e71ac4d50c28ed3848ba +aaeb66922d7536eeb61edd1c0b5bb8c2f3f5662ca747024706116fb54fbc97afe89596a8f44a21d025ae0db363e13c7771186d86ff7b0f676c0b619bab75542e +0a7585c9ee2e6045f05e1bc0e5eb0371b7afe2204cac0c0e70e396be1064af315279fd28206af7dee827862ef10dc4740a0a3f9383468690f605fea283c88620 +8c5ebb3c1d4173f4ee436aab4030193c9344c9dabea9b8be769b00c0e8fe5176ab16a0d4d9310752b5857993aba82a856edb5625df68e342b04ffbfbae1a5826 +30af41a652377625a484ac34568c2f5bd6d1d66bfa71b66f9475bfe0b627c52c5b6b7cf3c0703dc07ec9df4ebb1f7d0bced1079b944c7be3baf594a37bfff447 +4de16b8c0010ce17383c19586ee1cac5b4dd5d1b257e469c4f55ce15ae3e44115ea22b7e1099102f39413a9a774383ad48c8bcff8190cb86d4990fa1028cfb77 +1ec81f94529fc33ab0435976094cc47a2bfbbe2e5d071db92105c96d937d12953975e2cb18c5e8acabe2c26d067526c9d5194ea3d0f904d755441ffc8923317d +743cb670d564da1ebe31ddb45f057c662d1c8ae22cd0af4103145c5b0c100d5aadeed755505b32b1ccdc0a184e13db334a607a9ed3885ccdb1eb27d703cee804 diff --git a/tests/openpgp/signed/index.sha512.asc b/tests/openpgp/signed/index.sha512.asc new file mode 100644 index 0000000..2b69585 --- /dev/null +++ b/tests/openpgp/signed/index.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifdMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcn70QAIh3 +hKYygOhgMWTUj0z/YmxlwYXxr0HqEegVKIltR8vZmBfSg7va8RSwPYGH7Mg6F55v +tthun5HLqE4bDlmDCiW8Y9b9Xh6Wcvy21dJdMPNQj/e5bW3M/tTPjQSPlTC6IPjr +/nVKkaARpNi/dQJ0CMFiqc5+XnqWrJGGo29fU3ayZvNJX9d3sLdJUVq4XblFGzZp +FVp5nlkNEvw2h60zESfyb1+lnckEAeMa2fGqymqFCw/CIOg6rkz/0P1W2prg3+1d +aCxOTbsUMCQ1wPe5tPB+v8Xrcw+t24SWLaA1Fm2sTlpYKMjA3hnSmEsqm1p9pTXs +XlHZci5ZGKrXh51n7NAIit/oPODruWQOlPvnvNaV5g3jWK0jV/0A+aZw8i3rLoDZ +87N/Wamw5BaE/uJoDEIs+Z2B20kxEHeVZWf1Or6YI3NGDOPR5k8esbQZVIBQvLnf +JB6EKtdT1VVAlMM9EgLhTVqqFLpi53wrpvXlupQMKYAgM0kkZRmZv6zedVGzXfe8 +WmtX60kvUbTay9mjGn4YBs+6Pj/jPaRCe0Knk2Z7PtV5kGdgLpvcOSj7BRzLjd3a +9SkRa/X3GdgOgLfrp9nM0dcS1m06zpj1SOxxf/zZRfJE50cg0zdKpIz4gKUK+/+q +jga1fnpiJYK1WU+b3M4CySiBZYQ4HKuNp6sToQhH +=w+SX +-----END PGP SIGNATURE----- diff --git a/tests/package.lisp b/tests/package.lisp new file mode 100644 index 0000000..adc83dc --- /dev/null +++ b/tests/package.lisp @@ -0,0 +1,7 @@ +;;;; package.lisp + +(fiasco:define-test-package #:quicklisp-client-tests + (:use #:cl #:fiasco #:ql-sha)) + +(in-package #:quicklisp-client-tests) + diff --git a/tests/quicklisp-client-tests.asd b/tests/quicklisp-client-tests.asd new file mode 100644 index 0000000..f0bccf8 --- /dev/null +++ b/tests/quicklisp-client-tests.asd @@ -0,0 +1,12 @@ +;;;; quicklisp-client-tests.asd + +(asdf:defsystem #:quicklisp-client-tests + :serial t + :author "Zach Beane " + :description "Tests for the Quicklisp client software." + :license "MIT-style" + :depends-on (#:fiasco) + :components ((:file "package") + (:file "sha") + (:file "openpgp") + (:file "cdb"))) diff --git a/tests/sha.lisp b/tests/sha.lisp new file mode 100644 index 0000000..760e4ae --- /dev/null +++ b/tests/sha.lisp @@ -0,0 +1,56 @@ +;;;; sha.lisp + +(in-package #:quicklisp-client-tests) + +(defparameter *base-directory* + (asdf:system-source-directory "quicklisp-client-tests")) + +;;; Hash vector directories consist of an index file (named +;;; index.sha1, index.sha256, or index.sha512) and a number of data +;;; files named 0000.sha1 (or .sha256, or .sha512), 0001.sha1, +;;; etc. The first data file is empty and is used to test the empty +;;; hash digest result. Other files contain random amounts of random +;;; data. For each data file, there is a line in the index file +;;; containing its sha digest as computed by the ironclad library. +;;; +;;; These tests are to confirm that Quicklisp's hashing matches +;;; ironclad's. + +(defun vector-hashes (vector-directory sha-class) + "Load the hash index file in VECTOR-DIRECTORY and return its hashes +as a list." + (let ((file (make-pathname :name "index" + :type (string-downcase sha-class) + :defaults vector-directory))) + (with-open-file (stream file) + (loop for line = (read-line stream nil) + while line + collect line)))) + +(defun vector-info (vector-directory sha-class) + "Return a list of (pathname . hash-string) values; the file with the +given pathname should hash to the given hash string." + (let ((index -1)) + (mapcar (lambda (hash) + (cons (make-pathname :name (format nil "~4,'0D" (incf index)) + :type (string-downcase sha-class) + :defaults vector-directory) + hash)) + (vector-hashes vector-directory sha-class)))) + +(defun file-sha-equal (sha1 sha2) + (equalp (cdr sha1) sha2)) + +(deftest verify-vector-info () + (dolist (sha-class '(sha1 sha256 sha512)) + (let* ((subdir (list :relative (format nil "~(~A~)-vectors" sha-class))) + (data (vector-info (merge-pathnames (make-pathname + :directory subdir) + *base-directory*) + sha-class))) + (loop for (file . expected-digest) in data + do + (is (file-sha-equal + (cons file (file-sha-string sha-class file)) + expected-digest)))))) + From 18c615277b9fbe8018e57c93588917a20df5a092 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 23 May 2018 21:03:24 -0400 Subject: [PATCH 20/40] Add a coverage report. --- tests/coverage.lisp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 tests/coverage.lisp diff --git a/tests/coverage.lisp b/tests/coverage.lisp new file mode 100755 index 0000000..039133c --- /dev/null +++ b/tests/coverage.lisp @@ -0,0 +1,42 @@ +":" #| +exec sbcl --noinform --no-userinit --no-sysinit --non-interactive --load "$0" +|# + +;;;; coverage.lisp + +(require 'asdf) +(require 'sb-cover) + +(defun make-system-file-matcher (system-name) + "Return a function of one argument that returns true if its argument + is the pathname of a source component in SYSTEM." + (let ((system (asdf:find-system system-name)) + (table (make-hash-table :test 'equalp))) + (labels ((walk-component (component) + (typecase component + (asdf:parent-component + (map nil #'walk-component (asdf:component-children component))) + (asdf:source-file + (let ((path (asdf:component-pathname component))) + (setf (gethash path table) path)))))) + (walk-component system) + (lambda (file) + (not (null (gethash (pathname file) table))))))) + +(load "../setup.lisp") + +(asdf::load-asd (merge-pathnames "quicklisp-client-tests.asd" + *load-truename*)) + +(asdf:load-system "quicklisp-client-tests") + +(declaim (optimize sb-cover:store-coverage-data)) +(asdf:load-system "quicklisp" :force t) + +(fiasco:run-package-tests :package :quicklisp-client-tests) +(let ((base (make-pathname :type nil :name nil + :defaults *load-truename*))) + (sb-cover:report (merge-pathnames "coverage-report/" + base) + :if-matches (make-system-file-matcher "quicklisp"))) + From 66257aeb1cbb0fe50b89f0c30402f0063d29d44e Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 23 May 2018 21:05:05 -0400 Subject: [PATCH 21/40] More SHA tests. --- tests/failing-sha/failing.sha1 | Bin 0 -> 1150 bytes tests/failing-sha/failing.sha256 | Bin 0 -> 2390 bytes tests/failing-sha/failing.sha512 | Bin 0 -> 171 bytes tests/failing-sha/index.sexp | 5 +++++ tests/sha.lisp | 20 +++++++++++++++++++- 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 tests/failing-sha/failing.sha1 create mode 100644 tests/failing-sha/failing.sha256 create mode 100644 tests/failing-sha/failing.sha512 create mode 100644 tests/failing-sha/index.sexp diff --git a/tests/failing-sha/failing.sha1 b/tests/failing-sha/failing.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..c498f23c097d0f56c230fea55b1e43094035a64f GIT binary patch literal 1150 zcmV-^1cCc7ZC*OKit3zr{xhj(Be3dey{e^-6g>!fu&!WHQL65dw;6m&)N{aI){nMI zhVBF~b3W_1^6P3*HUlnj{tUDNcIas)`?$T8?3Wph8qUE=dRp_~b0wH;VhOsE-Q*&# z&vC;qQVF11v%&)}%6(-KpZGfj{)w{DO=V81oZYdA^aRdHAlc<_Vp z2ka2xOyQIS`7{3|D$gHe|CfU=T!N;yL88Xj@&Vmr1kIV zz1`u@-A0l4v}d*?v)}RB9SG~@pj86PsiiVxWjlwOj)axlx(^9Eid6c-Q615IbJ z;*&n@9d-o}rn!U*ah%x=x!qQ6M9smpq&Z|AxsDC&odUe%WslMJK>?Zds0zz#PH}8$ zRqfMB>N)x$o!zz6U!=Ro-$G`eI{x{GlHZ_eEUwXC$-NuEG6m(P#6|vn2NdHRCK!+k z^0BJ3Q*@kj?Xde9zrj67si^PV4)B?QES*B5dozd~R#MiJhsh3DtY+n4rv2(vxA1ll4mf_1& z6(m2p0IFJ;vno)!^1%q67bz5HUW65JltQakGp_53CPYS~T}(a%?gabCH$JzD=+GKO zO;oh(tw?ftvKU{&yO&Z$!SZkd_Ry}Z=|f%P9o%!CR#hdA3Bmy1=XL;d5 zZU6qY*#y3vl(Z8nZJRO}soNVIPPXNcm^*9s3RkQKPhiyWVgER&wl7zg;o80QI`CB2 zT~V#GM|ka_AF^VcQ6E`Ub&4Lj>JjFxkAo!w zP9KqW@EE$65h7w$J`iA<58+d17BG{wO~yW4nL#>0t(?K>f zU*8=Mc&`c_d~AacTJ+8=qMl6pz%Go+KDV`@?=}R>GOt6tfd<4ucR(YzuTFQj6Ds8B z>JQdnJYKNS!>X`5P?|0%(uy2}KG?nqN~djZD>0V#H*-(=jEoKU7h zPL}*UlY+QitmP3;{|&f{?5bZ=>H_Qa@!yX8qW-ufQ7W#h8#+Bq+!1u>eQ_;kX6_`3 Qay(d${6_PAR*blK3T$vXA^-pY literal 0 HcmV?d00001 diff --git a/tests/failing-sha/failing.sha256 b/tests/failing-sha/failing.sha256 new file mode 100644 index 0000000000000000000000000000000000000000..78de5c439e6fe2161b02c4991c2ab60ad574fc4f GIT binary patch literal 2390 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 I+6jMn3Q3-wumAu6 literal 0 HcmV?d00001 diff --git a/tests/failing-sha/failing.sha512 b/tests/failing-sha/failing.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..54cd958c576d84b697814a97b0dcb4107bdd83a0 GIT binary patch literal 171 zcmV;c0960`M}RtV>WB#s;-7k$^{(@={Oc}1?MrJ=UZin6XIyG0ga9flxXd#}M6yL( zvCE0)7(*M*1RvG|)*-}OQk`|Y^~AiEox~$mpMk0)DN5MN=n^hSbd5zLGw(i+pZ@K1 z$CFSZTv%c`Ot$2Q$Hr~i{8102m2Z^Y!?$|2tCW=nKEq1B7QsoT=Tz|E#Dc%O97RkU ZF1*9StoB?xyzD-de<+70!L@R}cnZ6IR_p)( literal 0 HcmV?d00001 diff --git a/tests/failing-sha/index.sexp b/tests/failing-sha/index.sexp new file mode 100644 index 0000000..b6fcada --- /dev/null +++ b/tests/failing-sha/index.sexp @@ -0,0 +1,5 @@ +((sha1 "2e1228621cc6a45e39bc03ae25641123db344387" "failing.sha1") + (sha256 "19a108b31d0c595d29431866589262f604bb5c4f468850ae952c766d1cc4a53a" + "failing.sha256") + (sha512 "12c6f5a3e804a27b69eaa1167a6115304448b9b168350dac778dfde1fc4fdacf25a37cc49c0ed9438ad210a52c4131436595c01bb220da407c922ae2197d6aab" + "failing.sha512")) diff --git a/tests/sha.lisp b/tests/sha.lisp index 760e4ae..22fb5ed 100644 --- a/tests/sha.lisp +++ b/tests/sha.lisp @@ -41,7 +41,7 @@ given pathname should hash to the given hash string." (defun file-sha-equal (sha1 sha2) (equalp (cdr sha1) sha2)) -(deftest verify-vector-info () +(deftest test-valid-sha-vectors () (dolist (sha-class '(sha1 sha256 sha512)) (let* ((subdir (list :relative (format nil "~(~A~)-vectors" sha-class))) (data (vector-info (merge-pathnames (make-pathname @@ -54,3 +54,21 @@ given pathname should hash to the given hash string." (cons file (file-sha-string sha-class file)) expected-digest)))))) +(defun load-invalid-sha-index () + "Return an alist of CLASS . (SHA-STRING SHA-FILE-PATH) entries for + the failing SHA vectors." + (let ((index-file (merge-pathnames "failing-sha/index.sexp" + *base-directory*)) + (*package* (find-package :quicklisp-client-tests))) + (with-open-file (stream index-file) + (let ((form (read stream))) + (loop for (class sha-string file) in form + collect + (list class sha-string (merge-pathnames file index-file))))))) + +(deftest test-invalid-sha-vectors () + (let ((data (load-invalid-sha-index))) + (loop for (class expected-sha file) in data + do (is (not (equalp (file-sha-string class file) + expected-sha)))))) + From 9005714006d9d4e921e8c62ca4846f48fa569bc6 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 23 May 2018 21:05:24 -0400 Subject: [PATCH 22/40] Ignore the coverage report output directory. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d682f89..3b04845 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ dists local-projects retired tmp +tests/coverage-report/ \ No newline at end of file From 4a3ef2678dc19d4462cdbb8dee6359076ae267dc Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 23 May 2018 21:30:50 -0400 Subject: [PATCH 23/40] Add a test for loading a specific key. --- tests/openpgp.lisp | 8 +- tests/openpgp/keys/quicklisp-releases.asc | 172 ++++++++++++++++++++++ 2 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 tests/openpgp/keys/quicklisp-releases.asc diff --git a/tests/openpgp.lisp b/tests/openpgp.lisp index b4f850f..8e02c6f 100644 --- a/tests/openpgp.lisp +++ b/tests/openpgp.lisp @@ -26,6 +26,12 @@ *base-directory*))) (directory (merge-pathnames "*.sha512" directory)))) -(deftest openpgp-valid-signatures () +(deftest test-openpgp-valid-signatures () (dolist (file (signature-check-files)) (is (eql :good-signature (check-signature file))))) + +(deftest test-load-quicklisp-releases-key () + (let* ((file (merge-pathnames "openpgp/keys/quicklisp-releases.asc")) + (key (ql-openpgp::load-public-key key))) + (is (equalp (ql-openpgp::packet-type key) :public-key)) + (is (equalp (ql-openpgp::key-id-string key) "307965ab028b5ff7")))) diff --git a/tests/openpgp/keys/quicklisp-releases.asc b/tests/openpgp/keys/quicklisp-releases.asc new file mode 100644 index 0000000..21cfcb3 --- /dev/null +++ b/tests/openpgp/keys/quicklisp-releases.asc @@ -0,0 +1,172 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: GPGTools - https://gpgtools.org + +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 +=IXmV +-----END PGP PUBLIC KEY BLOCK----- From 46747bf204ef58cf77df442466fe7c820bb5f903 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 23 May 2018 21:31:55 -0400 Subject: [PATCH 24/40] Don't take the low 512 bits of the signature calculation. Just use it directly. --- quicklisp/openpgp.lisp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index 801130d..b2e097c 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -724,9 +724,8 @@ specified in RFC 4880 section 4.2." (quick-check-actual (first-n-octets 2 result))) (when (equalp quick-check-actual quick-check-expected) (let* ((n (vector-integer result)) - (pk (ldb (byte 512 0) - (expt-mod (signature-value signature) - (e public-key) - (n public-key))))) + (pk (expt-mod (signature-value signature) + (e public-key) + (n public-key)))) (when (= n pk) :good-signature)))))) From 774f35ad08d431387109bb37a9e6ca9ff6b7cb8f Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 23 May 2018 21:35:06 -0400 Subject: [PATCH 25/40] Whitespace fix. --- quicklisp/openpgp.lisp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index b2e097c..4b21ae2 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -713,7 +713,7 @@ specified in RFC 4880 section 4.2." (signature-type signature)) (let ((sha512 (make-instance 'sha512)) (trailer (make-array 2 :element-type '(unsigned-byte 8) - :initial-contents (list (version signature) #xFF))) + :initial-contents (list (version signature) #xFF))) (size-vector (encode-u32 (length (hashed-data signature)))) (quick-check-expected (quick-check-value signature))) (update-sha-from-file sha512 file) From c50ed823a48a127b1d0b66bd6d215f42b5743840 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Wed, 23 May 2018 21:43:21 -0400 Subject: [PATCH 26/40] Remove the test index CDB file after testing. --- tests/cdb.lisp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/cdb.lisp b/tests/cdb.lisp index 29a7d09..2b932c7 100644 --- a/tests/cdb.lisp +++ b/tests/cdb.lisp @@ -28,5 +28,6 @@ (lambda (key value) ;; test input file maps "foo" to "foo foo" for each line (is (equalp (format nil "~A ~A" key key) value))) - stream)))) + stream)) + (delete-file cdb))) From 124929d11a2cad87bf544ed2d01e3d253e5c6a1d Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Sat, 29 Dec 2018 21:03:44 -0500 Subject: [PATCH 27/40] Use beta instead of release for the initial-dist-url. --- quicklisp/setup.lisp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/setup.lisp b/quicklisp/setup.lisp index 981f731..fb2a671 100644 --- a/quicklisp/setup.lisp +++ b/quicklisp/setup.lisp @@ -197,7 +197,7 @@ dependencies too if possible." name)) (defvar *initial-dist-url* - "http://release.quicklisp.org/dist/quicklisp.txt") + "http://beta.quicklisp.org/dist/quicklisp.txt") (defun dists-initialized-p () (not (not (ignore-errors (truename (qmerge "dists/")))))) From 291fd982c48f0c6ad5605934b1bb8f7dcfba7080 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Thu, 23 May 2019 21:40:15 -0400 Subject: [PATCH 28/40] Fix the signature verification algorithm The signature calculation is compared to a 512-bit integer digest, so only use the low 512 bits of the calculation in the comparison. Otherwise the signature check will have false negatives. --- quicklisp/openpgp.lisp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index 4b21ae2..91f807a 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -723,9 +723,13 @@ specified in RFC 4880 section 4.2." (let* ((result (finish-sha sha512)) (quick-check-actual (first-n-octets 2 result))) (when (equalp quick-check-actual quick-check-expected) + ;; The RESULT vector encodes a 512-bit integer, while the pk + ;; integer can be many more bits than that. Only compare N to + ;; the low 512 bits of pk for signature checking. (let* ((n (vector-integer result)) - (pk (expt-mod (signature-value signature) - (e public-key) - (n public-key)))) + (pk (ldb (byte 512 0) + (expt-mod (signature-value signature) + (e public-key) + (n public-key))))) (when (= n pk) :good-signature)))))) From e0a62e7b2ea117315d0516e1972259142d239db2 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Thu, 23 May 2019 21:41:37 -0400 Subject: [PATCH 29/40] Clean up TEST-LOAD-QUICKLISP-RELEASES-KEY Previous commit was a work-in-progress. --- tests/openpgp.lisp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/openpgp.lisp b/tests/openpgp.lisp index 8e02c6f..32458c1 100644 --- a/tests/openpgp.lisp +++ b/tests/openpgp.lisp @@ -31,7 +31,8 @@ (is (eql :good-signature (check-signature file))))) (deftest test-load-quicklisp-releases-key () - (let* ((file (merge-pathnames "openpgp/keys/quicklisp-releases.asc")) - (key (ql-openpgp::load-public-key key))) + (let* ((file (merge-pathnames "openpgp/keys/quicklisp-releases.asc" + *base-directory*)) + (key (ql-openpgp::load-public-key file))) (is (equalp (ql-openpgp::packet-type key) :public-key)) (is (equalp (ql-openpgp::key-id-string key) "307965ab028b5ff7")))) From 2bab917e25119c0b29377e8db9ce4a4c8c3418b9 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Thu, 23 May 2019 21:46:17 -0400 Subject: [PATCH 30/40] Add tests/README.md so I remember how to run tests. --- tests/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 tests/README.md diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000..30c2e07 --- /dev/null +++ b/tests/README.md @@ -0,0 +1,3 @@ +To run tests, load the "quicklisp-client-tests" system and evaluate: + + (fiasco:run-package-tests :package :quicklisp-client-tests) From ace9d2dd1537cca2de7415e4471ba6d540063b77 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Sun, 26 May 2019 08:29:39 -0400 Subject: [PATCH 31/40] Add some defense in UPDATE-SHA for streams --- quicklisp/sha.lisp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/quicklisp/sha.lisp b/quicklisp/sha.lisp index f1d7343..78d154c 100644 --- a/quicklisp/sha.lisp +++ b/quicklisp/sha.lisp @@ -280,7 +280,9 @@ into TARGET-VECTOR." (setf capacity 0)))) (defmethod update-sha (sha (stream stream) &key start end) - (declare (ignore start end)) + ;;; Update SHA with all remaining octets from STREAM. + (when (or start end) + (error "START and END are not supported for stream updates")) (let ((buffer (make-octet-vector *sha-buffer-size*))) (loop (let ((end (read-sequence buffer stream))) From e446a069023fca0a4d5630db7b4bcebd37907561 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Sun, 2 Jun 2019 17:35:09 -0700 Subject: [PATCH 32/40] Add proper utf-8 decoding from trivial-utf-8. These should probably migrate into a ql-utf-8 or ql-utils function in the future. --- quicklisp/openpgp.lisp | 92 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 86 insertions(+), 6 deletions(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index 91f807a..06be20a 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -13,6 +13,92 @@ (with-output-to-string (s) (map nil (lambda (o) (format s "~2,'0X" o)) octet-vector)))) + +;;;; UTF-8 routines adapted lightly from trivial-utf-8 + +(declaim (inline utf-8-group-size)) +(defun utf-8-group-size (byte) + "Determine the amount of bytes that are part of the character +starting with a given byte." + (declare (type fixnum byte)) + (cond ((zerop (logand byte #b10000000)) 1) + ((= (logand byte #b11100000) #b11000000) 2) + ((= (logand byte #b11110000) #b11100000) 3) + ((= (logand byte #b11111000) #b11110000) 4) + (t (error 'utf-8-decoding-error :byte byte + :message "Invalid byte at start of character: 0x~X")))) + +(defun utf-8-string-length (bytes &key (start 0) (end (length bytes))) + "Calculate the length of the string encoded by the given bytes." + (declare (type (simple-array (unsigned-byte 8) (*)) bytes) + (type fixnum start end)) + (loop :with i :of-type fixnum = start + :with string-length = 0 + :while (< i end) + :do (progn + (incf (the fixnum string-length) 1) + (incf i (utf-8-group-size (elt bytes i)))) + :finally (return string-length))) + +(defun get-utf-8-character (bytes group-size &optional (start 0)) + "Given an array of bytes and the amount of bytes to use, +extract the character starting at the given start position." + (declare (type (simple-array (unsigned-byte 8) (*)) bytes) + (type fixnum group-size start)) + (macrolet ((next-byte () + '(prog1 (elt bytes start) + (incf start))) + (six-bits (byte) + (let ((b (gensym))) + `(let ((,b ,byte)) + (unless (= (logand ,b #b11000000) #b10000000) + (error 'utf-8-decoding-error :byte ,b + :message "Invalid byte 0x~X inside a character.")) + (ldb (byte 6 0) ,b)))) + (test-overlong (byte min-size) + (let ((b (gensym))) + `(let ((,b ,byte)) + (unless (>= ,b ,min-size) + (error 'utf-8-decoding-error :byte ,b + :message "Overlong byte sequence found.")) + ,b)))) + (case group-size + (1 (next-byte)) + (2 (test-overlong (logior (ash (ldb (byte 5 0) (next-byte)) 6) + (six-bits (next-byte))) 128)) + (3 (test-overlong (logior (ash (ldb (byte 4 0) (next-byte)) 12) + (ash (six-bits (next-byte)) 6) + (six-bits (next-byte))) 2048)) + (4 (test-overlong (logior (ash (ldb (byte 3 0) (next-byte)) 18) + (ash (six-bits (next-byte)) 12) + (ash (six-bits (next-byte)) 6) + (six-bits (next-byte))) 65536))))) + +(defun utf-8-octets-to-string (bytes-in) + "Convert a byte array containing utf-8 encoded characters into +the string it encodes." + (declare (type vector bytes-in)) + (let ((start 0) + (end (length bytes-in))) + (declare (type fixnum start end)) + (loop :with bytes = (coerce bytes-in '(simple-array (unsigned-byte 8) (*))) + :with buffer = (make-string (utf-8-string-length bytes :start start :end end) :element-type 'character) + :with array-position :of-type fixnum = start + :with string-position :of-type fixnum = 0 + :while (< array-position end) + :do (let* ((char (elt bytes array-position)) + (current-group (utf-8-group-size char))) + (when (> (+ current-group array-position) end) + (error 'utf-8-decoding-error + :message "Unfinished character at end of byte array.")) + (setf (char buffer string-position) + (code-char (get-utf-8-character bytes current-group + array-position))) + (incf string-position 1) + (incf array-position current-group)) + :finally (return buffer)))) + + ;;;; r64.lisp (defvar *radix64-alphabet* @@ -586,12 +672,6 @@ specified in RFC 4880 section 4.2." ;;; User-id packets -(defun utf8-octets-to-string (octets) - ;; FIXME: Handle real UTF-8 - (when (some (lambda (code) (logbitp 7 code)) octets) - (error "Proper UTF-8 decoding is not implemented yet")) - (map 'string 'code-char octets)) - (defmethod specialize-packet-by-type ((packet-type (eql :user-id)) packet) (change-class packet 'user-id-packet From 0d33c05f9290443be222c0be69f02ff60ee8b388 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Mon, 3 Jun 2019 05:45:06 -0700 Subject: [PATCH 33/40] Capture expiration time, if present, on self-signature packets --- quicklisp/openpgp.lisp | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index 06be20a..9ebd3c3 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -13,6 +13,9 @@ (with-output-to-string (s) (map nil (lambda (o) (format s "~2,'0X" o)) octet-vector)))) +(defun unix-universal-time (unix-time) + (+ unix-time (encode-universal-time 0 0 0 1 1 1970 0))) + ;;;; UTF-8 routines adapted lightly from trivial-utf-8 @@ -339,6 +342,9 @@ the string it encodes." (creation-time :initarg :creation-time :accessor creation-time) + (expiration-time + :initarg :expiration-time + :accessor expiration-time) (public-key-algorithm :initarg :public-key-algorithm :accessor public-key-algorithm) @@ -350,7 +356,10 @@ the string it encodes." :accessor quick-check-value) (signature-value :initarg :signature-value - :accessor signature-value))) + :accessor signature-value) + (subpackets + :initarg :subpackets + :reader subpackets))) (defmethod print-object ((packet rsa-signature-packet) stream) (print-unreadable-object (packet stream :type t :identity t) @@ -358,6 +367,12 @@ the string it encodes." (public-key-algorithm packet) (key-string (key-id packet))))) +(defgeneric expiredp (packet) + (:method ((packet rsa-signature-packet)) + (let ((expired (expiration-time packet))) + (and expired + (< expired (get-universal-time)))))) + (defclass rsa-public-key-packet (packet) ((fingerprint @@ -499,6 +514,9 @@ the string it encodes." (ldb (byte 8 8) u32) (ldb (byte 8 0) u32)))) +(defun decode-u32-time (vector) + (unix-universal-time (decode-u32 vector))) + (defun %reset (packet-stream) "Reset PACKET-STREAM so it can be read again from the beginning." (setf (pos packet-stream) 0) @@ -726,18 +744,24 @@ specified in RFC 4880 section 4.2." (quick-check-value (read-n-octets 2 pstream)) (rsa-signature-value (read-mpi pstream)) (raw-creation-time (cdr (assoc :signature-creation-time subpackets))) - (creation-time (and raw-creation-time - (decode-u32 raw-creation-time)))) + (raw-expiration-time (cdr (assoc :key-expiration-time subpackets))) + (creation-time (decode-u32-time raw-creation-time)) + (expiration-time (and raw-expiration-time + (+ creation-time + (decode-u32 raw-expiration-time))))) (change-class packet 'rsa-signature-packet :key-id (cdr (assoc :issuer subpackets)) + :subpackets subpackets :creation-time creation-time + :expiration-time expiration-time :signature-type signature-type :hash-algorithm hash-algorithm :public-key-algorithm public-key-algorithm :quick-check-value quick-check-value :hashed-data (subseq (data packet) 0 end-of-hashed-data-pos) - :signature-value rsa-signature-value))))) + :signature-value rsa-signature-value + :subpackets subpackets))))) ;;; Misc From 99a60a0280b0078ccbccadccec34667e6532186e Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Mon, 3 Jun 2019 05:45:27 -0700 Subject: [PATCH 34/40] Add verifier for self-signature id packets. --- quicklisp/openpgp.lisp | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index 9ebd3c3..ff9863f 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -837,3 +837,46 @@ specified in RFC 4880 section 4.2." (n public-key))))) (when (= n pk) :good-signature)))))) + +(defun verify-certification-signature (data signature public-key) + (unless (equalp (key-id public-key) + (key-id signature)) + (error "Signature and public key do not match")) + (check-supported-value "hash algorithm" :sha-512 (hash-algorithm signature)) + (check-supported-value "public-key algorithm" + :rsa + (public-key-algorithm signature)) + (check-supported-value "signature type" + :positive-user-id-certification + (signature-type signature)) + (let ((sha512 (make-instance 'sha512)) + (minibuffer (make-array 1 :element-type '(unsigned-byte 8))) + (trailer (make-array 2 :element-type '(unsigned-byte 8) + :initial-contents (list (version signature) #xFF))) + (size-vector (encode-u32 (length (hashed-data signature)))) + (quick-check-expected (quick-check-value signature))) + (flet ((hash-constant (c) + (fill minibuffer c) + (update-sha sha512 minibuffer))) + (hash-constant #x99) + (update-sha sha512 (subseq (encode-u32 (length (data public-key))) 2)) + (update-sha sha512 (data public-key)) + (hash-constant #xB4) + (update-sha sha512 (encode-u32 (length data))) + (update-sha sha512 data) + (update-sha sha512 (hashed-data signature)) + (update-sha sha512 trailer) + (update-sha sha512 size-vector)) + (let* ((result (finish-sha sha512)) + (quick-check-actual (first-n-octets 2 result))) + (when (equalp quick-check-actual quick-check-expected) + ;; The RESULT vector encodes a 512-bit integer, while the pk + ;; integer can be many more bits than that. Only compare N to + ;; the low 512 bits of pk for signature checking. + (let* ((n (vector-integer result)) + (pk (ldb (byte 512 0) + (expt-mod (signature-value signature) + (e public-key) + (n public-key))))) + (when (= n pk) + :good-signature)))))) From 13e8160043ed51ea59fc1920ca8fe998b7735aa0 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Mon, 3 Jun 2019 05:47:50 -0700 Subject: [PATCH 35/40] Note license of UTF-8 routines. --- LICENSE.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/LICENSE.txt b/LICENSE.txt index f3c9cfa..8f3a3fc 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -17,3 +17,24 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +UTF-8 routines copyright (c) Marijn Haverbeke: + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any + damages arising from the use of this software. + + Permission is granted to anyone to use this software for any + purpose, including commercial applications, and to alter it and + redistribute it freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. From bef6c60c88fceb9e816ec76560c502c4da93546a Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Mon, 3 Jun 2019 20:11:55 -0700 Subject: [PATCH 36/40] Initial support for DSA key types. --- quicklisp/openpgp.lisp | 79 +++++++++++++++++++++++++++++++----------- 1 file changed, 58 insertions(+), 21 deletions(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index ff9863f..9e34865 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -374,20 +374,33 @@ the string it encodes." (< expired (get-universal-time)))))) -(defclass rsa-public-key-packet (packet) +(defclass public-key-packet (packet) ((fingerprint :initarg :fingerprint :accessor fingerprint) (key-id :initarg :key-id :accessor key-id) - (hashed-data - :initarg :hashed-data - :accessor hashed-data) (creation-time :initarg :creation-time - :accessor creation-time) - (n + :accessor creation-time))) + +(defmethod change-class :around ((packet public-key-packet) + (new-class t) + &rest initargs &key &allow-other-keys) + (let* ((fingerprint (compute-fingerprint (data packet))) + (key-id (subseq fingerprint (- (length fingerprint) 8)))) + (apply #'call-next-method packet new-class + :fingerprint fingerprint + :key-id key-id + initargs))) + +(defmethod print-object ((packet public-key-packet) stream) + (print-unreadable-object (packet stream :type t :identity t) + (format stream "key id ~S" (key-string (key-id packet))))) + +(defclass rsa-public-key-packet (public-key-packet) + ((n :initarg :n :accessor n) (e @@ -396,9 +409,19 @@ the string it encodes." (defclass rsa-public-subkey-packet (rsa-public-key-packet) ()) -(defmethod print-object ((packet rsa-public-key-packet) stream) - (print-unreadable-object (packet stream :type t :identity t) - (format stream "key id ~S" (key-string (key-id packet))))) +(defclass dsa-public-key-packet (public-key-packet) + ((p + :initarg :p + :reader p) + (q + :initarg :q + :reader q) + (g + :initarg :g + :reader g) + (y + :initarg :y + :reader y))) (defvar *initial-fingerprint-vector* (make-array 1 :element-type '(unsigned-byte 8) :initial-element #x99 )) @@ -698,6 +721,24 @@ specified in RFC 4880 section 4.2." ;;; Public key and subkey packets +(defun specialize-rsa-key (packet pstream) + (let* ((n (read-mpi pstream)) + (e (read-mpi pstream))) + (change-class packet 'rsa-public-key-packet + :n n + :e e))) + +(defun specialize-dsa-key (packet pstream) + (let* ((p (read-mpi pstream)) + (q (read-mpi pstream)) + (g (read-mpi pstream)) + (y (read-mpi pstream))) + (change-class packet 'dsa-public-key-packet + :p p + :q q + :g g + :y y))) + (defmethod specialize-packet-by-type ((packet-type (eql :public-key)) packet) (let* ((pstream (pstream (data packet))) (version (read-u8 pstream))) @@ -705,17 +746,13 @@ specified in RFC 4880 section 4.2." (let ((creation-time (read-u32 pstream)) (public-key-algorithm (read-field-value 'public-key-algorithm pstream))) - (check-supported-value "public-key algorithm" :rsa public-key-algorithm) - (let* ((n (read-mpi pstream)) - (e (read-mpi pstream)) - (fingerprint (compute-fingerprint (data packet))) - (key-id (subseq fingerprint (- (length fingerprint) 8)))) - (change-class packet 'rsa-public-key-packet - :fingerprint fingerprint - :key-id key-id - :creation-time creation-time - :n n - :e e))))) + (change-class packet 'public-key-packet + :creation-time (unix-universal-time creation-time)) + (ecase public-key-algorithm + (:rsa + (specialize-rsa-key packet pstream)) + (:dsa + (specialize-dsa-key packet pstream)))))) (defmethod specialize-packet-by-type ((packet-type (eql :public-subkey)) packet) (change-class (specialize-packet-by-type :public-key packet) @@ -801,7 +838,7 @@ specified in RFC 4880 section 4.2." (defun load-public-key (file) (let* ((packet (load-packet-from-file file))) - (check-type packet rsa-public-key-packet) + (check-type packet public-key-packet) packet)) (defun verify-signature (file signature public-key) From fcb809fbc2b2e3aca76ea85b09b60207c69c0038 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Tue, 4 Jun 2019 20:25:36 -0700 Subject: [PATCH 37/40] Add support for loading DSA and ElGamal key and signature packets No verification yet, though. --- quicklisp/openpgp.lisp | 137 +++++++++++++++++++++++++---------------- 1 file changed, 85 insertions(+), 52 deletions(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index 9e34865..0393736 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -329,7 +329,8 @@ the string it encodes." (:method (packet) (specialize-packet-by-type (packet-type packet) packet))) -(defclass rsa-signature-packet (packet) + +(defclass signature-packet (packet) ((key-id :initarg :key-id :accessor key-id) @@ -354,21 +355,31 @@ the string it encodes." (quick-check-value :initarg :quick-check-value :accessor quick-check-value) - (signature-value - :initarg :signature-value - :accessor signature-value) (subpackets :initarg :subpackets :reader subpackets))) -(defmethod print-object ((packet rsa-signature-packet) stream) +(defmethod print-object ((packet signature-packet) stream) (print-unreadable-object (packet stream :type t :identity t) (format stream "~A key id ~S" (public-key-algorithm packet) (key-string (key-id packet))))) +(defclass rsa-signature-packet (signature-packet) + ((signature-value + :initarg :signature-value + :accessor signature-value))) + +(defclass dsa-signature-packet (signature-packet) + ((r + :initarg :r + :reader r) + (s + :initarg :s + :reader s))) + (defgeneric expiredp (packet) - (:method ((packet rsa-signature-packet)) + (:method ((packet signature-packet)) (let ((expired (expiration-time packet))) (and expired (< expired (get-universal-time)))))) @@ -385,16 +396,6 @@ the string it encodes." :initarg :creation-time :accessor creation-time))) -(defmethod change-class :around ((packet public-key-packet) - (new-class t) - &rest initargs &key &allow-other-keys) - (let* ((fingerprint (compute-fingerprint (data packet))) - (key-id (subseq fingerprint (- (length fingerprint) 8)))) - (apply #'call-next-method packet new-class - :fingerprint fingerprint - :key-id key-id - initargs))) - (defmethod print-object ((packet public-key-packet) stream) (print-unreadable-object (packet stream :type t :identity t) (format stream "key id ~S" (key-string (key-id packet))))) @@ -405,7 +406,10 @@ the string it encodes." :accessor n) (e :initarg :e - :accessor e))) + :accessor e) + (subkey-class-name + :reader subkey-class-name + :initform 'rsa-public-subkey-packet))) (defclass rsa-public-subkey-packet (rsa-public-key-packet) ()) @@ -421,7 +425,29 @@ the string it encodes." :reader g) (y :initarg :y - :reader y))) + :reader y) + (subkey-class-name + :reader subkey-class-name + :initform 'dsa-public-subkey-packet))) + +(defclass dsa-public-subkey-packet (dsa-public-key-packet) ()) + +(defclass elgamal-public-key-packet (public-key-packet) + ((p + :initarg :p + :reader p) + (g + :initarg :g + :reader g) + (y + :initarg :y + :reader y) + (subkey-class-name + :reader subkey-class-name + :initform 'elgamal-public-subkey-packet))) + +(defclass elgamal-public-subkey-packet (elgamal-public-key-packet) ()) + (defvar *initial-fingerprint-vector* (make-array 1 :element-type '(unsigned-byte 8) :initial-element #x99 )) @@ -604,7 +630,8 @@ value." (17 . :persona-certification) (18 . :casual-certification) (19 . :positive-user-id-certification) - (24 . :subkey-binding-signature)) + (24 . :subkey-binding-signature) + (48 . :certification-revokation-signature)) (define-field subpacket-type (:type u8) @@ -625,7 +652,9 @@ value." ;; RFC 4880 section 9.1 (1 . :rsa) (3 . :rsa-sign-only) - (17 . :dsa)) + (16 . :elgamal) + (17 . :dsa) + (19 . :ecdsa)) (define-field hash-algorithm (:type u8) ;; RFC 4880 section 9.4 @@ -721,42 +750,40 @@ specified in RFC 4880 section 4.2." ;;; Public key and subkey packets -(defun specialize-rsa-key (packet pstream) - (let* ((n (read-mpi pstream)) - (e (read-mpi pstream))) - (change-class packet 'rsa-public-key-packet - :n n - :e e))) - -(defun specialize-dsa-key (packet pstream) - (let* ((p (read-mpi pstream)) - (q (read-mpi pstream)) - (g (read-mpi pstream)) - (y (read-mpi pstream))) - (change-class packet 'dsa-public-key-packet - :p p - :q q - :g g - :y y))) +(defun specialize-key (packet class pstream &rest initargs) + (let ((args (loop for initarg in initargs + collect initarg + collect (read-mpi pstream)))) + (apply #'change-class packet class args))) (defmethod specialize-packet-by-type ((packet-type (eql :public-key)) packet) (let* ((pstream (pstream (data packet))) (version (read-u8 pstream))) (check-supported-value "version" 4 version) - (let ((creation-time (read-u32 pstream)) - (public-key-algorithm (read-field-value 'public-key-algorithm - pstream))) + (let* ((creation-time (read-u32 pstream)) + (public-key-algorithm (read-field-value 'public-key-algorithm + pstream)) + (fingerprint (compute-fingerprint (data packet))) + (key-id (subseq fingerprint (- (length fingerprint) 8)))) (change-class packet 'public-key-packet - :creation-time (unix-universal-time creation-time)) + :creation-time (unix-universal-time creation-time) + :fingerprint fingerprint + :key-id key-id) (ecase public-key-algorithm (:rsa - (specialize-rsa-key packet pstream)) + (specialize-key packet 'rsa-public-key-packet pstream + ':n ':e)) (:dsa - (specialize-dsa-key packet pstream)))))) + (specialize-key packet 'dsa-public-key-packet pstream + ':p ':q ':g ':y)) + (:elgamal + (specialize-key packet 'elgamal-public-key-packet pstream + ':p ':g ':y)))))) (defmethod specialize-packet-by-type ((packet-type (eql :public-subkey)) packet) - (change-class (specialize-packet-by-type :public-key packet) - 'rsa-public-subkey-packet)) + (let ((specialized (specialize-packet-by-type :public-key packet))) + (change-class specialized + (subkey-class-name specialized)))) ;;; Signature packet @@ -769,9 +796,6 @@ specified in RFC 4880 section 4.2." (public-key-algorithm (read-field-value 'public-key-algorithm pstream)) (hash-algorithm (read-field-value 'hash-algorithm pstream))) - (check-supported-value "public-key algorithm" - :rsa - public-key-algorithm) (let* ((hashed-subpackets (read-signature-subpackets pstream)) ;; Important to save the position immediately after ;; reading the hashed subpackets @@ -779,14 +803,13 @@ specified in RFC 4880 section 4.2." (unhashed-subpackets (read-signature-subpackets pstream)) (subpackets (append hashed-subpackets unhashed-subpackets)) (quick-check-value (read-n-octets 2 pstream)) - (rsa-signature-value (read-mpi pstream)) (raw-creation-time (cdr (assoc :signature-creation-time subpackets))) (raw-expiration-time (cdr (assoc :key-expiration-time subpackets))) (creation-time (decode-u32-time raw-creation-time)) (expiration-time (and raw-expiration-time (+ creation-time (decode-u32 raw-expiration-time))))) - (change-class packet 'rsa-signature-packet + (change-class packet 'signature-packet :key-id (cdr (assoc :issuer subpackets)) :subpackets subpackets :creation-time creation-time @@ -797,8 +820,18 @@ specified in RFC 4880 section 4.2." :quick-check-value quick-check-value :hashed-data (subseq (data packet) 0 end-of-hashed-data-pos) - :signature-value rsa-signature-value - :subpackets subpackets))))) + :subpackets subpackets) + (ecase public-key-algorithm + (:rsa + (let ((rsa-signature-value (read-mpi pstream))) + (change-class packet 'rsa-signature-packet + :signature-value rsa-signature-value))) + (:dsa + (let ((r (read-mpi pstream)) + (s (read-mpi pstream))) + (change-class packet 'dsa-signature-packet + :r r + :s s)))))))) ;;; Misc From 62cf27be8f0c1d5ff7c873b04c3dab6beaf9e422 Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Tue, 4 Jun 2019 21:10:02 -0700 Subject: [PATCH 38/40] Broaden the type check in LOAD-SIGNATURE --- quicklisp/openpgp.lisp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index 0393736..c7f3226 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -866,7 +866,7 @@ specified in RFC 4880 section 4.2." (defun load-signature (file) (let* ((packet (load-packet-from-file file))) - (check-type packet rsa-signature-packet) + (check-type packet signature-packet) packet)) (defun load-public-key (file) From a9aa6a7f739cc29216aee6b559d70778ea6a444c Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Tue, 4 Jun 2019 22:24:39 -0700 Subject: [PATCH 39/40] Add DSA signature checking --- quicklisp/openpgp.lisp | 78 +++++++++++++++++++++++++++++++++++------- 1 file changed, 65 insertions(+), 13 deletions(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index c7f3226..8f38845 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -857,6 +857,33 @@ specified in RFC 4880 section 4.2." (setf result (mod (* result sqr) modulus)) finally (return result))) +(defun modular-inverse (N modulus) + "Returns M such that N * M mod MODULUS = 1" + (declare (type (integer 1 *) modulus)) + (declare (type (integer 0 *) n)) + (when (or (zerop n) (and (evenp n) (evenp modulus))) + (return-from modular-inverse 0)) + (loop + with r1 of-type integer = n + and r2 of-type integer = modulus + and u1 of-type integer = 1 + and u2 of-type integer = 0 + and q of-type integer = 0 + and r of-type integer = 0 + until (zerop r2) + do (progn + (multiple-value-setq (q r) (floor r1 r2)) + (setf r1 r2 + r2 r) + (decf u1 (* q u2)) + (rotatef u1 u2)) + finally (return (let ((inverse u1)) + (when (minusp inverse) + (setf inverse (mod inverse modulus))) + (if (zerop (mod (* n inverse) modulus)) + 0 + inverse))))) + (defun vector-integer (vector) "Convert the octet vector VECTOR to an integer." (let ((result 0)) @@ -874,14 +901,45 @@ specified in RFC 4880 section 4.2." (check-type packet public-key-packet) packet)) +(defgeneric good-signature-p (message-hash signature public-key) + (:method (message-hash + (signature rsa-signature-packet) + (public-key rsa-public-key-packet)) + (= message-hash + ;; The RESULT vector encodes a 512-bit integer, while the pk + ;; integer can be many more bits than that. Only compare N to + ;; the low 512 bits of pk for signature checking. + (ldb (byte 512 0) + (expt-mod (signature-value signature) + (e public-key) + (n public-key))))) + (:method (message-hash + (signature dsa-signature-packet) + (public-key dsa-public-key-packet)) + (let* ((r (r signature)) + (s (s signature)) + (p (p public-key)) + (q (q public-key)) + (g (g public-key)) + (y (y public-key)) + (w (modular-inverse s q)) + (target-size (integer-length q)) + (message-size (integer-length message-hash)) + (m (ldb (byte target-size (- message-size target-size)) + message-hash)) + (u1 (mod (* m w) q)) + (u2 (mod (* r w) q)) + (v (mod (mod (* (expt-mod g u1 p) + (expt-mod y u2 p)) + p) + q))) + (= v r)))) + (defun verify-signature (file signature public-key) (unless (equalp (key-id public-key) (key-id signature)) (error "Signature and public key do not match")) (check-supported-value "hash algorithm" :sha-512 (hash-algorithm signature)) - (check-supported-value "public-key algorithm" - :rsa - (public-key-algorithm signature)) (check-supported-value "signature type" :binary-document (signature-type signature)) @@ -897,16 +955,10 @@ specified in RFC 4880 section 4.2." (let* ((result (finish-sha sha512)) (quick-check-actual (first-n-octets 2 result))) (when (equalp quick-check-actual quick-check-expected) - ;; The RESULT vector encodes a 512-bit integer, while the pk - ;; integer can be many more bits than that. Only compare N to - ;; the low 512 bits of pk for signature checking. - (let* ((n (vector-integer result)) - (pk (ldb (byte 512 0) - (expt-mod (signature-value signature) - (e public-key) - (n public-key))))) - (when (= n pk) - :good-signature)))))) + (when (good-signature-p (vector-integer result) + signature + public-key) + :good-signature))))) (defun verify-certification-signature (data signature public-key) (unless (equalp (key-id public-key) From 163e4702d6db5dfc77476f71793537059fe2f9bf Mon Sep 17 00:00:00 2001 From: Zachary Beane Date: Tue, 4 Jun 2019 22:28:58 -0700 Subject: [PATCH 40/40] Fix call to utf-8-octets-to-string --- quicklisp/openpgp.lisp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklisp/openpgp.lisp b/quicklisp/openpgp.lisp index 8f38845..23a1eee 100644 --- a/quicklisp/openpgp.lisp +++ b/quicklisp/openpgp.lisp @@ -745,7 +745,7 @@ specified in RFC 4880 section 4.2." (defmethod specialize-packet-by-type ((packet-type (eql :user-id)) packet) (change-class packet 'user-id-packet - :user-id (utf8-octets-to-string (data packet)))) + :user-id (utf-8-octets-to-string (data packet)))) ;;; Public key and subkey packets

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 IkwKCN0B~|!*#H0l literal 0 HcmV?d00001 diff --git a/tests/cdb/simple.txt b/tests/cdb/simple.txt new file mode 100644 index 0000000..fa2c239 --- /dev/null +++ b/tests/cdb/simple.txt @@ -0,0 +1,4 @@ ++3,3:one->one ++3,3:two->two ++4,4:four->four + diff --git a/tests/cdb/test-index.txt b/tests/cdb/test-index.txt new file mode 100644 index 0000000..6f35a30 --- /dev/null +++ b/tests/cdb/test-index.txt @@ -0,0 +1,4 @@ +# key value +one one +two two +three three diff --git a/tests/openpgp.lisp b/tests/openpgp.lisp new file mode 100644 index 0000000..b4f850f --- /dev/null +++ b/tests/openpgp.lisp @@ -0,0 +1,31 @@ +;;;; openpgp.lisp + +(in-package #:quicklisp-client-tests) + +(defun load-signature (file) + (let ((signature-file (format nil "~A.asc" (namestring file)))) + (ql-openpgp::load-signature signature-file))) + +(defun load-key-by-id (id) + (let* ((key-directory (merge-pathnames "openpgp/keys/" + *base-directory*)) + (key-file (make-pathname :name id + :type "key" + :defaults key-directory))) + (if (probe-file key-file) + (ql-openpgp::load-public-key key-file) + (error "No key file found for id ~S" id)))) + +(defun check-signature (file) + (let* ((sig (load-signature file)) + (key (load-key-by-id (ql-openpgp::key-id-string sig)))) + (ql-openpgp:verify-signature file sig key))) + +(defun signature-check-files () + (let ((directory (merge-pathnames "openpgp/signed/" + *base-directory*))) + (directory (merge-pathnames "*.sha512" directory)))) + +(deftest openpgp-valid-signatures () + (dolist (file (signature-check-files)) + (is (eql :good-signature (check-signature file))))) diff --git a/tests/openpgp/keys/76d1dacf3155465c.key b/tests/openpgp/keys/76d1dacf3155465c.key new file mode 100644 index 0000000..c2f060e --- /dev/null +++ b/tests/openpgp/keys/76d1dacf3155465c.key @@ -0,0 +1,54 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: GPGTools - https://gpgtools.org + +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 +hb0wK5gcUKk= +=5G2O +-----END PGP PUBLIC KEY BLOCK----- diff --git a/tests/openpgp/signed/0000.sha512 b/tests/openpgp/signed/0000.sha512 new file mode 100644 index 0000000..e69de29 diff --git a/tests/openpgp/signed/0000.sha512.asc b/tests/openpgp/signed/0000.sha512.asc new file mode 100644 index 0000000..e10b240 --- /dev/null +++ b/tests/openpgp/signed/0000.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifQknHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcw+4QAJFb +SJi4mFEDxyBk3cyGAdxfM6gOstNsfmq8tqGhzTMQW4VGwbO1zP2W8vq+rpBqMD9a +4prkTa35bq9fgHHAC7lY/P8IUcfGk70PuxjUUJj6+FEnIkmIvz/t60VTy0ib81va +WStwV1TeEFxdqVsyi0cqJ1SrndzksTyjDK1u2hw/YU0Q2DSF4N0/5tKtChJSMxcY +YUV48a0lFvIv+g67we5+amKDwxXuTZDAHNa38WiEh43GwvDIUanqIthikLjPmWMu +q3IJSMBymD9YubfFaKclFt9Hs7Hl7Au6+w56N1VQ17YcVoIgut5Nz0z5UYtiWtsh +JFJhsF7WXcvsVD+j4DS07qbaMVQJCKnr4ZBF3R8xE59/x5awG0F/nw8oeOtbVMD8 +64IKt7E6+TXvzFVWo8mutatWqENX+gTK6nBnvCjoQAECva03l4OPbL7CT1QB6p1X +mCHvHivPPFtyK+J661PLu0vlgR3lB47mLQ4SWSHZJpFofAqmAxJavf/EZg4Dv6mG +ffW3LUn+WIlel4UMUhxbYaZgFOV8ePjbCK3lJhC/uVAwOofmhdOsOuvUqi4qUPZf +HyIMRzZNd06gNoiqe/rfp/+8tunSKf9qlqDnz8vxkwD1IprAKNGG/ELbMsCc9ZnD +oKjbMFeRLyVedIlxw535YmlAm4a0MgYyf2lSSapK +=QXoZ +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0001.sha512 b/tests/openpgp/signed/0001.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..fc645f55245c58341ce71748bfd95874026a3a08 GIT binary patch literal 879 zcmV-#1CacV4VeIPpyL9tpCE&?0K%U9zCkC^r=_21b|@^GsKUHq{U`>{wN;;`+L#Q? zPkLo&&I+dG0_n4kwU>r79R-eUp4E0KS+frGd9_Oe@(H{7;p8P4exK+ds6&(uNK^1r z68Mol4CnuH;e-CS>165x+pskD@W_lxf62;<{f0Vo?MtuN*TYir1X+dxWdkP35hb3Ka>QrTyEnGNV}tw__=SyFtzu zXeL zHzd)%wWiTEqT@l~BG?otuAunWDAR>S<3oJdesO!eWuTEzSRSVEhHFGc3h=nvHX?0B zFlfX`p+I|VU~GE3J5OBBrpo~&C`G6Ws^)L!fR@ao8ZKi@M}s605Myq!^x-( zB$d;`Y-}!nL}axD!Jh<(oqW9AtAAG}0`WdexEYJ%vRpeSMA>h~(L5FhL zV_l{w3*ZP1-pedUsuEsn1wv~xs@v|2lHJMr6Wg>3=SDAwfvzPN)`chijwmoahT51s z|3%|s=!_D|B#a-sRR*!s{zs_U9G7Q6&AB4Fc%$T^;@k|c_ia|4$LA8q_0UTaRgoRc z45$eknr^5j{K`i@^%J8JL^(afxdu)XY7(kKR9FXr&^cwS|L-t+xA0P5oI+Y7RabTG zsARmiRTjT#K&#q6k^`!FB9E$L28u`1@O#*;9E5pDkZ-)XWZM9*oJ}B-0&$;9H?$}Q zUpm0Il+HV9Jm3T#b7{+%G+g_P_?7UpicUbbc0@T1yQI(%UQfch(J@A=Jxi_<9B^xe zJ82LRX2{9WOGdF^Pq=;iz$e*2m62f||K~2qYc049x%_wLDoK?v2c`rNQCsm9>wJVv F+ys97tg`?B literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0001.sha512.asc b/tests/openpgp/signed/0001.sha512.asc new file mode 100644 index 0000000..caad4f7 --- /dev/null +++ b/tests/openpgp/signed/0001.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifQonHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcBBMP/2sP +dTAI86ccFpuI8fv/4/ngy4XRZKolGJ+Z0pndfVMqFo9yDspxNwL0hoDOmUDCwQMS +r7iesCXl6WapfqF5o4JGQHX+9TEE6kn9jYjpaSFFB2bEr+rN/vajz9mkMpDvfKou +yts73MHUtnSiB/j1MYwgpzqloeoizSot2Op/EJF6cp0rsef1oB4TYTT+xTlKjSFI +4F4sRFDl6cPosEFc9FEZmJeKmGAIUbRUmZ7DZ1vyG6F1gr3q/6Zu6N3e/1BC18vP +mpqjim7V/MMk9AvIpzQdyiYsbOe7iAuVnTCcthZACoMk74iqDjyH0XBZbtF+YMWO +s//R8wwh4chzu8uJ/ecggizgQsA5X4WWp5q6xDCp3W2jj6uUae/m+K77Cu98+Jn7 +kp8vuT88e6MusIlnO06GeI1PcPrF72Li4HL2l9D16V0W2nxYSjvz/H7rcEnpUad8 +vweAogFa1mrJAYNZzvWxiNuuu99arKF/hJMXnNMrgRaICiC0BBWvXGCXTOCbFUlm +POv4GWE1HXYms7flas00gmtaNmwtluGruOtEZz34PYFPiLrPHfW5pE/6XUMavC4t +E+qkzxJJGFn0qdFifjAT3c7QO+R1DNhfT1O0d5KNkw1mmtE43SVDkxf17QrWmzgt +1xa15lL+UJNBrf1WTipxCKR0klLA6OatA6zQYuoQ +=3MXr +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0002.sha512 b/tests/openpgp/signed/0002.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..42b5daa53dfb6712dfb1aa8206b6a02777daa045 GIT binary patch literal 944 zcmV;h15f-UQH&#`xK88O_pML~%ZY)CWJ#XS;@y#>!hh7kD#ubMn@=xU(Z=&^QeJns zcR9TrZcv|fpIKIbTkn@3weEkWsY0pq*9IIOUN3CNX~8tXJk$moD=I~fD31tlB(u5B z80q@|TBIu^i$LkW4-@UNP}5?D9#dJ6NyYRt5ZD&$So|Q>b}@Yr^&Pa)Oy0yel_S%~ zTTAAj`n|OVHdJv|Vl9kZ5n64?>sP@fUk%4QEn%|F5(%4|a+Yd7S{T)>*S1<^5Ik9F zAORs$Z=Npr%2>?vOh@m$Q5)$KK`$WoQADM;2T%hnS~1qDokQMgwF~FixNsj=N`f_^K#oz{RN_)K~aL+89rcA!ym%MA&U9Z26lg9R_bYxa+-RA;4)9PH@ga4j`L3;=U~#^V8%>t^)#5|F#GlT8vL@&Y4F%CnA= zE?ICWs0Uo7Rvc~Fsm)RLOA969(lijTz#IMkEJ~)Sp=IgX>Y1~kF|R>+$<^ckc)u=o zL+~#5bjDEstdK`{%cF4=1mVDR{%;&hwHUldv$8;aa_vJ#@2b70Of~PmGF=F|ANLz1 zcv#TDC+<%lCX=Ik&SR_aebXqhQq+-DlBnt4Cnx(&W8bUma@mL!?mN0b&bK+Taf#85 zPyNN6y-BR}Fc3y`Wz5SFX`2_vMj93C-yG&OfR$>91Ah=LF_|wxC@=FQY|hjkJsp7`sGr(HDDM zh7g+Ex51*mW}7;=UewxmgZn;+X73TTT=%ydF?E~iND`&Fm#G?|GmKOK+Ec5~#Rt}@ zzkU|b{LX4f#8NUQREqa)5}Qqc8<-S?*iIMAh;@=#}S5dTqdJ>SXN7%kQCZ zOWew|+>q1xRgf_l!GBYJg;s-}v(1D~X42^*Csl)Ntxz}|%->N#J8u#`*&O3A@wHse4 zW9cCI8^26u)D4%jNz%rKHfBNx` z=ZKfA)TTl3daK^17;XlC(rY}7SC;rAa~ZHL(g;&5eM`NC6IQUAR1;<_>{jncsB$FN zZho#d2c#%WjA^lG-OCFjw%0@uL%B@;&BXA@fd?Xep@M}x3U!Cbc+pCz!w`4so>eV= z`EBk_H02S9^T1Bgbrb&hKjp~g;1xKw=>vL!!3s6GkTh6uM%1?zaH=Y$^)t_&zkeVCuMM9wfhZE~3sf=VtMcx-P%d={qfIYy zX)ErOZx7Bgr-m<^Z3ZyW#-QI@ z0Pe6BkV1rcV{hf>s}flz*K@Y=UFd!0VVjmAzXeQ%!L8PSEKSD3LAU^fl45|&XZP?f z&(#d2pCGa`Qn!(aP(?jD(5d@9?B`1~9~5MNf*a8p$-oVf;tUR7-v#T8`gWEbcYv%I zNvggbm$~|6ri`?omCBUcq@%Efx^x7*B^rt z6rjzw7*NZR{qOmxepLHRVUwL?BrDv82h()R!SOF)^#!k5?r3RQFKG^~l)$Uc!OQBY zjZat33eP!OC=zNltgViQ4i?oL#>ZI^SBmK+?)qhauj;_J!ULHS zjg~*+anJ?iE3BN9`p!AVVZF9=XbGU4 zYkM1x)%c^s!WX0+5WqIMqyoR=N~{YboL;eUfhEaI@MV2`bM-YYDn&QvHk_~HS1jt) z_dASBwVwfDg3MS!$g$j@PdMsN!YDeqi>!)?vAB+DXwJ2n4|mpUPLCNbnh$SYk~zXY zcYMl|p@X=8{O;u@`=9(q`PF#cGXf@t;Pr$IcTujMY1=@0 zLfCYtYxAs!*kDuHHjKwWz}ZaP?Sn`i_lcFds2QQf9GY|eG(|gzkCKm~{Y1S8TwTy@ zDDD;9@K1Pz`APg{1Y32~* z32Y}H0 z1XU`*>1`C(0ru{YT4mGIaDMI%&fu88p)>RnK|b1*qsoToxU$PfCq7bJ&$dVVd?*_8 Bo@@XB literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0003.sha512.asc b/tests/openpgp/signed/0003.sha512.asc new file mode 100644 index 0000000..92f983b --- /dev/null +++ b/tests/openpgp/signed/0003.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifQwnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcnxIP/ikF +TmRy1wgnjzRCZbE86d2KuE+RyvOcmU+xWStg/GM6LmdnT9NyaIwkHxuLeBrlZ8lj +VzQOkYzhhaHmnJR/8FGHYPEB8wQJNg760OP2FnGwKSmNc8Sw6SvcSSxsOIqMOX0/ +XP/EFpepIWpi94e/lcMA8pewSuiEijZ1rPNjflt1Qo7qfedpwaNAgACQh1Uh0QfZ +vsY7ltgYX08aP2UwMldwJRYQwp2FGf10FWuJpODLWsprdqYJf65Gwdmuzw4S3hIi +mRvhYtjkYg7iZpD944E8/+QtiEYgD9UQF0yBjgaRZnvovhQLasQa97b71Kkl+pWl +1+RRZlPc1wFzgAumMeeHIJhT1f2yI8G0neIrbMrccVMwL84i/J8705LdXl1aqvVU +NgqZX8smNy94zMOrFfr2YJwYPTVt4HlqXf456iR4ZQbqFlRUp8kWTWUwlKLxDPuJ +wrFsiGdDD3J0tKOH10p0VxvaU0hh6iYRMvLHykOahPjjHwpJVC0B5ERrj5Yk8uh/ +Su3kqSpTehkautgMEb8eRdRCx6KI22u28PaHpbYJ+XVsH3mt+fo/N0R0n6GxAoJO +QAXMiT50sM+tCK5RDadE33+xCuJ88ykZ/F0eiOeXXpf2JkpRl4hR6i0wqfRSd93X +Ard01r34yEUZKdlnhpHNPT6i0wz2jbwhAB/5JblR +=Xl83 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0004.sha512 b/tests/openpgp/signed/0004.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..182fce9f4386872370bd2fc43876c4242f8d5c74 GIT binary patch literal 654 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 KsB5o=SLTK!a!;`U literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0006.sha512.asc b/tests/openpgp/signed/0006.sha512.asc new file mode 100644 index 0000000..52beb4e --- /dev/null +++ b/tests/openpgp/signed/0006.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifQ8nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcjvMP/iAh +Me4SBsboiWgxG/IOVkqDR0tn/y13bJjphpU8ybRgh5eRlbE4t/+6mZz3NhiwfJtX +IHO0MFUMxSmfYan7lxWYHYPUvMCbphH43Kn4G7GDPzYe7fK3kZUj+rVn+q8//0DX +dA+m6IFaw6b1hDaGWf4o2ZX1GmO1E9BMi6XKQ4vmhRu1VpHS0aAw5YRw6W3zD+HF +c7RpRqAfyO+pUKx9CdhSuNCwwS9fefp9eZw+Xf4FdK1UntDT3/CUy661DMmFAvLS +/pjRDvQe+PHwvj1KehRF+MrY3kIcCOwiifcavELC73qhLcj9rw4ZiUGAl0+eeuhg +kEc5lZQLWV9bVHsvI/XQa9+0b4uiajWsIhrIVGShorMycxkZ/2k1xwHTDbDbJRoS +TMd0lm5NXpat3BjySsOvoDS4tDXb8oDJ/H3+zBQImyn/pGdKC6KJBgCeAeDHk0uw +IvSL3KOe3kO6eE888OKKsTSTi5u0sowCnVTdYMaQHd78ETDFa6knXnYtTcs4yMdW +gA7GJsqm3ECwAH/FJpLlg9rgwVLFwT1dowF081EFAW4F1aqAkdcMPYM07WHmF5sX +k5icwhWj4QC3QIfjsoUrhY1XCWxj6nSUvP+161E02amUTnWFdTN1hTeWgNtGWwWc +F9HaN4tj+S6DzZutDAI7WTYPyFgfQH+w2Pbfs794 +=A+ZE +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0007.sha512 b/tests/openpgp/signed/0007.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..be6e3ad537ccc677a5763eb2b7d0c487f3b71fcd GIT binary patch literal 535 zcmV+y0_goldT(M%ea~B%yd9-Y77?m95_-TFrfgFIxFQxmex+LY6L>T{p|ol^cKIzI zcas>QrgWCx?MUcqeIWQSc#MIzILRup^c=++jkOn4_zwxoW|oTF>+Oh8NP1A zV!c~pevFPyim})e=zo8R-SBhrqyr1L=chP94qUI>c2NgBRECT1X#~(*0Ot74@Wmdl z41N3>upox5BJz}KM2OpAYgcus6qT{04P#i5BTq`Rs+oNOSdtsA8lz1!pqZK03r3;q zX-wPAS*+)bkru4CSp4-pP!tyBW&e{&G@S+1GKiea8Wc|ZB2ME&lB`_F&%++Pz}d6X z?#140nr;L!?0mDpFtVJM4S&=6$ERc(@!e?`0tR)LmQx?gcD4&t=-Gh0hP~(&{>|Yo zhNsAL1>O8TmS%OJmx2Sn6c?zy3Il^}wg{4yzZU8;RiGEYE)wsp6SjUnGHiwdaRZA~ zPd`P+CZjYLUd!P3r-q3VYO^UyDw?Jt1N6pmonD?u1{>}*>@mL>pexG~XoQzA^A$gG z+rVl;>7Mo(nh0rv10ND7s{`gjcrR?bo9yvyY7)9=B@9kE|G9pDRV7XashCvHtTtz= zN)w_Xb%vQ>0NdSPnkW$?AtFd^^q>JI+X_n2l~LahkVR+A%MNmRjIB9CES=*CA5_CQ Zp|qA_Fhem4*Too-?6>uI;RLvQ;G;k}{^9@t literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0007.sha512.asc b/tests/openpgp/signed/0007.sha512.asc new file mode 100644 index 0000000..a728975 --- /dev/null +++ b/tests/openpgp/signed/0007.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifRAnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcYLkP+QG1 +B1gTieg6pxYUv80pZpGZUlrVc1jsianyHCWtTSrbPGCNLvgJGz11FEVcq8e6YqMn +yHOB6+5DzcMc1dDWtgrcQtjZWuMfIlXsGhWEWn1DWh5DF+fMBiG6E+yLvcimKxN8 +1B+v/wlUiFd1z+eOpJtUeckOjnK7yBGBdPjLoMrDJAI3XQ/CDAMKZvPIAth/ohHx +B5BGlHkYkctY7398r40JHfKi1mKQkNNzeswvXGZfeFjd7qr7myMEMzESAe5dAuzk +SNbPA8S1h3W9O93eTK+iVYgEE0iBiRjocwCfpwdEGCMOqT7Cf4bZYYOiz/kWO92R +F9TSYhxSkNohCJg32GiBC2s3MS6tOknMuK8XJRi98WZxtdRQaePaSESEv+DKIugX +QRX3bMjvOt1EMmgcvsnhCAne+BUcyYEG8Wagnilt/utyH10c+jIc4+XmuLRIdsOS +ghq5bzvvoCAMPEpyn9vsN2kkXZk0CH16IJxQIlBtFshQROxJLlzxZhEnzEAeiVwi +JWG0E1b8W473t7z02UT1zCludzBhucXJNV9yrAqNiMTXMkR1kHyUwWpi6Bqm9bDn +Y6pNthwUduEATmpAJQS0J3W5yxRVw96B583Ehja87QuM728+tdTnY/RCjkJYEY4l +kUc0l5D0FS162k5sNsxu2c0EMYnsQYpu0UraIM0g +=JFNj +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0008.sha512 b/tests/openpgp/signed/0008.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..bba1c3454e9fa739f741afb120f00e49fd0b38b6 GIT binary patch literal 1486 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 VNa_i}V2WABl1SJo8Y__E>7vl6%oqRw literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0009.sha512.asc b/tests/openpgp/signed/0009.sha512.asc new file mode 100644 index 0000000..88c13c1 --- /dev/null +++ b/tests/openpgp/signed/0009.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifRInHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZch9EP/jfL +SLTL4lSY7dZfOFLCohYfTpdAWZCo6ScIQbuFUvega/fcKd5DvC21KTH/XOx8Vt9a +5+tbXsYks9WqAoqFaG8Ac9dKHBkAwT0PAX7PIY8+o+SE1bJjXhXhk0wnzcA4zcA6 +EHT2VjXXLfc6+Oeo4cVbvIWuf77q4mg+ZIbrItn0inJTDM2Zx2qEz9WuhggtVp4N +MpM+8BIJEPoVpx0jLR3+qf2a5Z87LPm05CRuN2nEG1XNp5Uy9UE1QEBf7jZ5ELiq +6Yqb5rzBp0YqrIBkP4i+XLOEUhLRS5XdZZGE/us0hnVJrT4fmdT8vveCQqWU/EzS +3OSeV0gTVoj8WaIv6DgdUzbgbvJO24QEtsKJSNU6bWkO5JWT0B2GSFpJKCma/Q3q +QCnXreGCk7xVlPVwbIBjmzFn8vJ6n4vyaaRzY/5TF0KMSVOCYcG/IPAxNUwow8Zc +kCXydCv/OYZx6bBVgKOaIvVpfvlsaFz8cIAsyIGuzAkIJuWruYsy5cH8K9Fkobno +RUR8wPjkmXNoOZyy3s+H5FWx9yryH2H0+zrIJq01UZGqUiMK0tesBuEzgw6u11Gd +aqMte10r7XHAyElHKLotmiGpgQVeOnbY+4gxYvYOfRMdVDHU56wJ9+METCXRW9u7 +Xs0OImpb05zhb7XCbpEY4eYfoZrd51VFnC2dyU+d +=IUFj +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0010.sha512 b/tests/openpgp/signed/0010.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f137e561c60199b35f1154d4d0d9ce8218e69997 GIT binary patch literal 807 zcmV+?1K9jjazCmI$OR^widw+z3X*b7Hpc$n{hgjR!_ME-hv?GV13X~?mh}K|uu4^0 zis6#fr0by4Lz@R$`=~%Q8uh0rjiPqq0q`%HeOis4#(DnPmz$&L*in4 zESy!EyPtLoxjW_7(}_N1{PP+>eg>FO4>sEqmg%PirA`tgLjUGFt64*amx|8naImw-Ga#7BK> z`7Du(6Nns=!QDOu6FJva3!W-%kt~+hA3=PB- zK$wrAwnwDUYu>2ckfnqnKEV1?Q!ggIZfU4wzFRoSEVTLq=W2ZcXVi;oF3hJTDoMtp zndVUibdz+ote-yAZojb#?XZ4zwcKWh+5Nr!fpuWIy0$}0q(=&Qe@KuTtRa%n3jIE& zNoWJ|qGmqxy3kp-BYy2J=@^Z!@V0T7%HdvL5@}qK*-$X`C$pS-QAr~J&T)2T?NYne zsAwR^qd&wmv-P~HsnLezL zFA~L7V%kc4oaNHuq`Ze>Sm71ZP%x%06?O@2NUA_uu6PrlQ+3xDSwYOnRV_d;=d^>S zv&vFgf3RCzXFhtdnd>nn6b|FO|CDDG0t9kTl26d|-RxP{sls=}Bu+3ekZ#J^-M4E0eH zPUzl+XQw3hhw)zx58Q1(ll(}@Hol@3f$1&PVXsUCQ#PHnm&!q`gc9Fb l6?92q`>_2IcwW+;J3`tkpE8atuB%~ma6P4eZ8fj^xzO;QnhgK| literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0010.sha512.asc b/tests/openpgp/signed/0010.sha512.asc new file mode 100644 index 0000000..b69b722 --- /dev/null +++ b/tests/openpgp/signed/0010.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifRMnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcmYUP/Rz9 +gtJLM6LkKhmfmUtQz2n3TsW+iaDCM1NHgpvScSdeYC1U3J2+52G/jmXjUVccMoZz +Gnkq+9BAFdY3H1PzfBKw3xGCaoi+qkzmwzLojIH93tjOpNiK07vE1YxLMmiIh/2T +uTvScr3lSEzaOPO2W9avD8GKXs8wpzwTJlsxg7CAcTyZXsCvYIJfaBUDDlrv1fhh +K/5f7CKDwqOiwYW+Z7qbLmEtq+KjM2NNl/6Wl+l+lguCSnvs6RTxz19CLFzfC4Mz +9nubSma/d+W2QFNkkPlUgAKPbZn4oTtztXnxLmfjs0+kwFUwLIRbQpC7Emyw9La9 +98o9PhmAJ6Oa0B4hRZWwvOAZfrSoUn3tfO9tUooknaJQ6jbqTyQWJqDoYDzENyXe +AhczDaKfPoLDfuOqVQ5Yb4njARAzVBFt7wgAFxtmPxGm/TgrgPZiXe55V8YyAmYq +c5zx5MNZ1Bjm1mPxTVjFhACwB3Pp3FChy6XWCSoqWbAenkq8NZRe03HWAg0MsjgU +H9vpFVbBobx1T2M+CEcIN6XdG63BrhjJSe+IruaSqO8OSF3xezM3jRkpSkR73zSb +CZ9dDWS3djrN6yViDtE9Kf4Pw51dmNDh0HpcqQnQoYQS0i6qxE151BpjF7dnu6Td +2OO5+0qpyGeM58/AdQntHC8t6mCMdOjLIPctN2KS +=bU6F +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0011.sha512 b/tests/openpgp/signed/0011.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..4c87ad0494cb36406825fbc01801aeaa1aa9c26e GIT binary patch literal 1877 zcmV-b2demH>hY+RpgsZv6H802ToT$-Hv}F9Sz|Ae7zSjn?Ka32`WmjlBFLO--f?r9; znx&6#gYWZOz($w>eEr@{T$^*C7uQX$NkrUCwQ|YBekFi_B=E6w#>t3Td88?MGUO0W zE@2U^&&5LLNxu-(5TgUTVD-ZlhkuP0iu+qEEcd$c@53GFX%IgK#aEPj$bG%$_q~JE-n-Bex(<`kf^+l%+aIkHNJq50_R)TK01#gaisG_x zbP1oO|G@uEBc18=Ar0iVJ;CCGL_$R4Z}1y~d-l%CFRoU*2cQMDZS9#SMN#9eh5qOO ztfDm+U#?D3YcCbBD@L^!RBabl$f=|3LKbRHd_T3}^U%cgpHG{phAiucs|_j;wjq5`q2X#5{cpOo7Kg=7Kp z+TX>%`nruznsuvS5W{R)vs-Ycx$JQ>()NYmf*RhE}q8;M~U3q65l)|8O zz4eVbhq_V6`{tDDp|gI+JPzkheGrt?Y&JZac{Q;G6#cd9@C{#>Z~8c)q1a>Tm!fuY z_XRsDGXUz_#toTYBA7*%F8lXN*m4vFyXQC$3&M4gP8Ao}Vvf->{X~?`5_{BW+m6qF z%cE@C(?K}S1=tPFm;h&r6d^@BU+-DjpOb0nBtG4=yEf4fifTsl?zT>nLPit&*--nD z=1?R-&=-_iJ0Il)2l4s&SBT8?xIUW)xrA+452+k3F;qvCmi*Lr3g|RdQ!1L@YKEXG zdAJ{fo|_Y~R3LO-vU14bSVfkN3 zocw~{@Ws%geTU%eKA8~f=0l8h^~WS@s4nc8r+x$mc~6Pd>Pht^;Q~EuYkxibqXY-l1|hE$8^>rSS3>%cIt` zB*@F&QgY?pK{CB8dFSMDmbvlq?Y-wyER>A-2=^^N4c(h>Hif}je5qXNJ4Ta}$Y)8e zMIsi~-D;OmCzJoay|`Hmvos^`hc}ox{sWxWuwc())&gPF`A-phR(RtortUbD!+FW% zBFDq4ChcS-$cAj`e)C!{*Pxo~%ucBsjfo^30I=CS@}}B@Yo(^^;`lGpI21-SaNu;^pEG} zc6k`QTaYXSy_6($Ql)-b$c zFcL-=K-b&wXi!kHwzViky21Yhu^_pB<&}kj3>3K;j7RNc(Xky{qgy5j8AD|wWE@CR zzDS?ktGyGI*{29K-q-1{IU8 zuV)2aN`5MI;ROP=pWhPb0_yX_$EGOR#{o~F6W-X-)Ms|*&%YH`L4*rZ*V}^!Vp92B zp7@*A`l$|J)SzX@vR6`tuUdzjer#35DpepSK^W|o&3pTzp#`nvLw4(3(FTtEgfnTH zUBc#O$gQvfiHHiTUClhQvkh(��}�͛m�K�Z�)��O^��gU\~�dtM���'��C*���� -V1̕�I�s-@�I� ���b-nET2� �- \ No newline at end of file diff --git a/tests/openpgp/signed/0012.sha512.asc b/tests/openpgp/signed/0012.sha512.asc new file mode 100644 index 0000000..b84a5e1 --- /dev/null +++ b/tests/openpgp/signed/0012.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifRUnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc8V8QAOOT +x1Oi9Kufd95tjIeU5FLRLy2QpgjXM6sczcYq9n74KwqmeOGeQ0muVY+WoAHXLry1 +ZK0C0CnrcHC7kR1/RTDXmwN2tmCYxSW2O4mzUuyaxp3nF4prVpXjLwcd6zqAFefy +OHXdwUgHhp8pXvWsc+hzIiklGF+0KlHtbwj/HpbhQD6qNSUv1uJ4+BZn8nMR2vkl +m20usgHQRBRfgRSm9SDwAcGM59DWlD+xyZEz9CB6BIsojPddUW9YZyL3TfGMWB3q +fv35RKpZHnp/WCiEw8yimVTWGc9rJ8VLO6jOegRdZ3XTRBpHHNNhn0XvhL5Ncsiy +pErn5UA5nIbAnhBGGTdTYjDhGbL8TSmWF+nkNrbOXXxFoWWxI7Sb+ATstANI2AXg +4o8oL7Xu8OEzbm37Kiwd75MCeKS3ct7KR42P4JmW0FI45hdfqXgo5TLxOTHCVVQP +dhQOW8UAjDZMaf5kFTbeDYKzT0hIikwiV4gdwhEx9951U6djFjnaW6TQuQ2cavpu +OJKivFvuZdVTu2mv1ufpQ92MRmT2BvEHZbXfUfJwV7UbUpvcs/lJE0oVtf4Yp2pn +uyH3kJ1YYygJpmeQgM2mEyj3nfCe8q3DRlWPQL5QIB7SnVOygiZK+fsOIRIZ5cBC +chI5rtMw1bkEkep7etAgMD7eHLbPtyMLNaAh5rlt +=j/N/ +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0013.sha512 b/tests/openpgp/signed/0013.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..b81ad993358f021d3e28c7e016f3739c8d92a2c3 GIT binary patch literal 1438 zcmV;P1!4LwV5iq+>WZ|#Dp0b|l3<1pv^9I94h~ZW#TNYPl?)B0=2~yHjefQ_)O4 z3me|pI|EGx;^rw?g?rvJKx*!Knn@7GR^)D;+je0*RkOy*pma#m+%tO9@Gl*j6Loa8 z_APbea3)bc%uzAoE)C=wcBHD5X3w>T+zBQinrI1!)?*Kvb|y|X2ZMC$^npHM)c&hf z=fRGVwvpjo%Iu}i*P*`@&R(#2O|3ulMZYC4=P z_766r{Y7WEiSxKaaz|$bKyjDj1PRBj_laiE41#!R5I%_E=jmp*TVHqzDTCH8HUuIa z{}~*lj2``&8gs2TwD)5R9h#PCIqB7Kt`BiRgVKGY<;LnVsgnWQrs1-$KCa$qVyrfI zXxo~r(U5Bg6>P$eq)yWbCan;1?beH~EVR>RJ2}CRvTqq3oqLe%cWP zKF(*3LzM@VAg84-bMfwhT`mk@<=5{cKV-{~c*G!CrG`zPi$ZS!iPA_KaHL!sLTcuS zo1@iS5ubeZcq_*MMgluUe_T3Vvxeq9Xu<1Q1%saM_H|w7E~z;5a(a*d1$ccrVpT7i zjEYQQo@Ar8EC=dwv!#da%7$QWI1a5OiQk=wiM2m1NZ}|?GxbeJ_bHfh<^iTk4da1$ zmR%y*JTovEuMGzs_z=}8M+e0dHv@CmeWLLJfPfjPZi$h}ppt;re{1RyDHTjBk?4it z8?LXOSHdA)6rfje;B{Qe00&3xV{ioc8vpqFiYo;W{DciE&$LK!S#_~KKS0eZ)^KwK z^1N9FsxG3HI82@PT3M! zoi?<&7Lu7Pmx!C~+hR~!Lb^I`?}wa0A)VGuI~k`@-HvKo{giOttC(VB;cDU#?eW9} z5ynMbdu{?m#ogB_IB3U*==q6SwrL#EsmEb#;1E1Gz`+sU-D4!u4r~FZhP5frrB6$2 zl8{@`sulEQT&FxE^D;1HXW7lo=LpgxlFsUp5Nk+$PHOCUQ*f?6Z@=1yXJ|1=aW;=i zwam{8-((}OzpUiJ8f|VngAn;fI^Xj-5mS0A+I8z#_r^2<>>2TXlaTH`jHsEz(gca5 zb)F4#F{GaqAZBztR`ac;zYQ5d?7$G63Yd?AfKRpAA`S?-P^8DpJ`k;L{BF`|o{=Gu zHO|Kb zo)o6c^);2$o=hzvOWZb_dL^jY$V0O;XfN&^>W4m}%e#R2Jcs5b*tDzx80PtdN1u^z zmo=F_qXm9sFcQ=bl3rekzCoYbuQ3)ES9QlV>UGPUy>^dBmj@v;cnuML8#D*+!G)E0 zt#{O6Tq?LE;1QYWI`n!ASd7@uN3v7FR2I7~ac@@`t^hrAg~HXLBUK&POA0~uTR4SK z{l=>`lyoNAVu<|K1yw#AQ;{X5v literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0013.sha512.asc b/tests/openpgp/signed/0013.sha512.asc new file mode 100644 index 0000000..16e074e --- /dev/null +++ b/tests/openpgp/signed/0013.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifRYnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcRuYP/Rb4 +KfV1AdO7+AQETQXk38rGjtg5bSj+KJwVWtlVIFuL9pFJC7ZjwMCj9BO6I+1mVgT2 +7f82a5HYA7YByMJcnAcDOWo12V5CqcUKQj5OQD8Z8CuqRyvVnndzAY0pGlyrH/re +1hgJqzp9Sv98vhIFpBTnFcr0kzWTkafM2BaOEvEmEyQeqkszwZLHFeBDYZUwnaLP +VnxMc2UTKDMvQAfFY4sWppanPQszC7ywH6kx93V0K/boBr/LEde2Xu+PquyBHVih +Czb9DVdJbE3o/wjYcPEiIsZ2YiV0D0kXq+le5nMvZXWr5QCZVaIjA+HoIg0KwER3 +AkuNkOUTQB4iH84GOy4XTPvWlzXAKosGgdAsHG5yenfm/PxWaGSglUxCg45z+H3W +U7Kw24QDnQTxeiKJOcwrBLIvc+Pqr8vUYj0tQ3Jxj8uotXwhv3dMornJ7l1aaMyR +NJbYT707rR9LS1c6UgqBNxB2b/5PblMXik3dVSM5wa/p+5EfKUVoL37rzifTU5ph +LVIAe0aKw+FWiPBqeI+Ppt65+IGbPJlOaKebqWNfBu8PIoO2ZECzkH5F9AghT6XA +uwXcYWvpcsEOAbtJPYrRQxCyS1JqWWGA/AGefef3I3wGYJaUjhKStP+vYRJeLmxs +yyFz2SQtuI5JryOqdNeMklLGbEs/qrpE+iS825pW +=22Zt +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0014.sha512 b/tests/openpgp/signed/0014.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f776d6648c69aac766a4c18733d3d2ffffbf55ca GIT binary patch literal 1855 zcmV-F2f+AN5q;>g&X+J%d6o|L9MvS;g--PdkXS;Ta|9TdVNNwP*oHK#KqpE~tPMtr z+hjfgY`Aog^Aa(Lg!y$dfOp{;lZPb1_z`a`aqcu6BQ>zLcSFmr`$hxxS^WxP#~NCH z=Wothd!>3fMGg%WxE7{hXWb1%5?D}vH9SdV!PrYkX}rfS-N|vz?J4SNWxFC19OM=b z$zWE8jQPR0iHHK5i~>`2TzgRoeDDGzUlem;o1(N!NxLCV|??-|UpU{~(-Ap4-hw}SrFY%*)fikhNc5U2 zthlR^4emqjC%QMw@Iz~{-Ag*zm*jlJhA8TbMcca5(-D#v#k$z&pE(}k1ps5V56b;S z1V?}Nq<#@-q9Yqc7rWOoG8ckIDMixJfK)P_z|qYv<@lc3d#vt^m&SH7>y@^99~%Kd z-6YqtWL8y*&9!9TLq|AdK|}VE;piv%nA>dVEnB1#d$Mm2x`AYXWA`=qF|dd-!H-#Phjn7F||UG@TA1vKWsghcwArf7yZUFfnQJnnPP z;ki=%h5Ejpq0er`n5&sfYY30F;%HnAE zeg5g3BY$zU&BNe!y(X-J!};neW0N~7^SSX;4~tf(g(4j+14kt(aS2f#-PysWGlmeCEuV&1rr0dY9V97xAzasX_C!5@ql;oI$Tq4rG}=avSgSS0G>)Up zrs4TN?;f&oBH@Bkf_LGj86k`~Z2HvBMo=(9e8ytdAA@#l`-7?dZFAv5Xvc+-S2bVP zyn;X8db6}-=`~cr6lULN7?>%f=&)4FoZWnV>6=wQEIDvI?^?9U5VoZrb9VP&$J6?W zSYPa9U^5;f1|>L#C`?`ZlZ5l7L%Dr(#4n{AeVD||tcS)7{Y4Q7>cJS=lr$$~A!}#t zO`zaiKPO7(*t%-hTpaOUB!hybxB#;%gJO*|B5Y-C>SHths<9v-#B6tPe~9;kbE37w zpT{bq_90#KWD-9^PoK$W>m;;$i-tF+7KUz8oo?44=6~K!@2QHF$TZ%-&opAk_{-Y} zmBA(>ZR1QG;5=qB0uO>L(7ScqeSPVVc>{lquw) z?YW@rPdaDWWQ4)>uU6jU-^h`bwpq$yL!Wf7qh#UZrV~V$X6N_}UysU;C7XYNrj~wl zt+1ZkslTYNJDkHn+ya2}h)}B7>X{0$74~p2N_UL&Nq48WG_es5A*OX2%Tj7NW5qFRb$^se#zL`x`Y-gM zPcmP}Et)1HVc6)z5z56z&&AOXAM~(yuL1A8HcJEx8EVu97%I>e|2zx~k0qT{&5#zeS6MBXQ1panP-PIleD6G z7O(e^g$Yk>bA%y+lx1&J~YI3}gc_J9`%)@|#RHQ6;Zb z)_@tI!gakRyw9w8B$oL4ik{V&DzVvS!ut9h?+Q80hR*8o3GplC_k@n<3d_x6E3iZ0 zU3^)`yl;(-STCKRu+rfq)KGD3lpPmaJS=a>e-YL2pD6Xm>2Za^&^BnJV?%iy!nV3+ z{`Ku=KH)%35Yl4E|Durzj*GdIj&_obgZ9w*_2uc~InM4UTe4xLN_uI|;U*GPF7O|~P z41T*;5YLAi*4&BK)pZR}|}V;`=4gD?+`frA4Tp`LCf2?*|MOuWbMT literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0014.sha512.asc b/tests/openpgp/signed/0014.sha512.asc new file mode 100644 index 0000000..d98afe1 --- /dev/null +++ b/tests/openpgp/signed/0014.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifRcnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc8WQP+wWY +Qvn1Lc5pb852ui2EdL2vki6iU1gG9W5hqYy91D68tvCkahcaY8t1rgyx9QYrNRbj +YfZYaJnHdRTh34OVvn3pZBy9X5eN7BMh++KJ3LrWjkpcfkIMNCYu31AxGtIXH578 +BZi/88IXVG+KDxqhHoPu5gyUI+rtYaidkThemxsh4nF3hmqZD0P971SogjDc5g0j +sf3qkxSb5Wg0wp9xnd7gO2aGhfwZUdBVESzDApJ99Tg/zUfdKtGGDushPqE2TYlB +MrZHFtQn899YZlkoYW25a6Q3jSolhAnJqBZpzLZ1sHmJS2TpfGPu0yZSCXf8+9Rl +Xr9rCZxC8z0v+NFEEUat4/InOhM/m4oXkL2jruweynAHC27m0yTUkicsV+Cf1N4v +TMLwusktuvTMxUMxL7wi7+D9c6/cf1IqAic62EmKP4kvC0bErojOXY9pZAOneO14 +mAje6WDs+PsISMoe9TtR3J1ZrgixRRMtTgD/QZFcw13EKgi/OO5FuULjUSjYKhX2 +dmU8Wvo+jRK8h/D19gKRWtHdStns/SuDUy4VsO/Ns1rKLVdq4eP0oKvX3AFwt5RJ +Q3XrtOz9Ufj4SIHzcVft1BA9hiG4jaqnK/61x5D4x4BzrZSrS8YL2aULcwkoaOfu +8m6iROAC7+WwxZQNUQNCIUOBwDsC4OCtIRIBXHnI +=d00W +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0015.sha512 b/tests/openpgp/signed/0015.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..114a2d246119829a9491a550edd8bf7ed0e2de88 GIT binary patch literal 1354 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 Lyf9<*5(sl*M!FKSF!l7jz7)C0hNdlf_mZaB@ zI-83@DqvT9~+I#DzeMID~$_-tZQeu@;L~HLhD}pc2YYbZK|g5nzlcJ z^+PNx=F(iXu2(HQ`;&mB=#Dur5SH2>bXN|bY)0Bi*Q&=KG__h0;#yGF>s5fM7rN|b z`{-In$7Q)&6y4*Vb%SJPqKQ2IosKYXx1lVHavV)E-voy#5EKc^xVH#&k_NfvC_qcO z%VJ#$t4Vv6q3GhXjirS~3w5=5&v0-@BDisugl+MF;9v{o`DkY0^IdH|aYveyplM+* zOW&#sHVg(Iz;`wsj8-TlHRC}`jhl)8c3+OZe6pnGhk2I`3xkmwysT=Gk$Ub$8yOYm z9ZW2{YyMxB%o5CU&hhp`Uk-l9%r25+G?)QCmH8J`KHSBcWbY`fS}PwAxPEQL7f0hQ0gT%{kpw8e3BAx{tt#8yge!Xpg^K zT|O8Z5Dr^IAyBUZa#t=tG?K5kIf3}_aB-l1Yf9`Nq0j@`&`xaAa-@*uYPb;^|NkF_ h!X*`s02}^ssE~7B%b*9tk+sW9P+Mcz;~;Zh%4bvqD7*jw literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0017.sha512.asc b/tests/openpgp/signed/0017.sha512.asc new file mode 100644 index 0000000..4535d23 --- /dev/null +++ b/tests/openpgp/signed/0017.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifRonHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcYrgP/R0l +q7O69cTMZbF/j9evWPUU1SlfKAFew1Zt3v5+suuSH/xqtCzOe8MZNs0WAlV5yeLh +4+H/MIUz59BfEZyWF5uoET/XPx6vwWPNtOspNORfBCkX+hn/AfsnF6YCGY9Yq1Xl +FDKDQIq4HOtMK40PYzAkDfKkrc4gIXGnkfi0mwPlsdzAYlqbctlvFvk8mc33XpvL +j1dI67thDy8fMvx6mduInth3TFVUARj+z/AeNeudylakhmDkbQJMoWLNFsEy+vWv +v3w/z9bhsJy7CzQ7dD0t0cEKVdBYBpoqk0dDXh89V0ipSEX1nhBNmFyizvpd0MzD +YRoK8pLR2suD1PT/hSOaFWYJ09VxFilvzdyjnv8jXgTreeKypyIAq+Cx1DrsGxKO +y3HYZ74omTqicyeHAe/bDbXpUww4AtVzqDuq7eSOjhvsaJveSMkKv5XkB0ybsanJ +GuOoDqfdamyD7rVRByl56TFLGXT0cxup9BpNf81rPpNHB/AM5c7mgOptq9jyqgcg +IQvOL+Q+ogsjrqoFRF7zs7F2Yik2gVbC1TqZA1SS9WG2NLqdUmno6fNqE2LjTDWp +CiJRfBLPiwMnYPXGkCfTL360gAaERGxCMSXlYVhwszElYEH4wStyf7MzNZ2IH4Fn +ixdpselVD01XdtQ2o8H8upsP+ASRza0isd8Pyr8B +=fvGs +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0018.sha512 b/tests/openpgp/signed/0018.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d96ebdfb94d0ca79bf3b54606d6351e6ec48f52b GIT binary patch literal 1078 zcmV-61j+kNMKh4FraY}@&pz}GE_NTQ(FqRq)uq19u1%;PZ~yKV!dSpb)V-+9J&obBDSU`Q8 z9i!rTo%)AI9?J_cag+%p?dyU!hkQsLFriJ$gfSMs$k=Q#RSzibpl!%!gluGyd?6=x zcO8{tzp9@EdRDn{=qatl6ywcmW7eukk&!S_ayuPoIoLN9b&jt*9r5D{%PdD2@j@i)CTES zRE5Fs)vJwIY)qFgynAY({xfDxQ!pAH26a1A^lKD~I0t3>C0ncYC^V~Gwk3NMth6?t zP|ekH@`A+7fMRJ;W#Z`DbwZ4{kgI>3+^3Lc`Cyv zoh9syExpQOT}Pv$b^I`;x_#C+oR>J+!(6S2i1r^h>m#ktvGzh=N;(>S$f4E5`3$J8 z(Y5}HR1STK z#oWv9i}M@c$BE4xI5h*^Bpd7D!jF$bL@D#Q=iow>)nFg86_JgZpu`g;&lOyqKI)=h z-8R)%@IA%jy>O}%>X?(D8+3}9WmMEv0xF#kUTB$r+aR#FG|&n&Ssl!zKmb1Aw)Gqs zU*!Y!d;<^*NKj#)3A|~kr!ZzW#Q5vHc_ApoDt~Yv#luBJ+;5}YH1Ry8%PmDTlDOxx whME1L({b&5o3#*aI!>eiX8Cg3SAclK50ASRuArkIQJy?GL;3Ay@3B%>pYo3%MgRZ+ literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0018.sha512.asc b/tests/openpgp/signed/0018.sha512.asc new file mode 100644 index 0000000..78723a6 --- /dev/null +++ b/tests/openpgp/signed/0018.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifRsnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZchfYQAMj+ ++9VRB4bDjzIIrfP12ltnJyVZaYwhD7qSE7UkxFEvHYOhxvcsLNQUa2DmMea2DtPm +2sYW1b3LGguSoPvR8F6VOAX8iyMom9sZHpxic2hG2sKv3WryjswKNUGQ/1DduBs5 +0N4ZH5x2KCtlDyvhMaZN3L/92zrClBfVQVw6tCuvtPDXB5+O/svJHKRfxCEvmniF +hhAl/O3FC48TjNqW0FIQ0pYsPjSOO2stpDdXX7mVvqj+HrK9kglUn7f9t8c4dWbG +Qt0jjTNCqJgn2bcI1UyvSA8BDKBYlFbAXpfvLwnT0O/4zA66Sp51xYgaExDeZeBB +Mx+iE42bXrRlFT31VSL5sPNxaDe31APcVSm+VBpVLnEx+780Dq3o+riSxJ7uhZZv +DDdNLYvVbX3B5hffKq25g06+qgo/8yGoPRltniKSrEAQc9ihsw7fven0UmYs+AM0 +Qui+bUZjd9CeJ06JZwUynzlBJp9shcUYAZ2LfDh9VLEEJqKZTpdTFoVsU/d+txj/ +OpQZZoahEaIHoNtj0PY18JyQJ5yJkjzWQENDcZLDxZKt8z5JTY5Fe0xdPj1l/bZ7 +NnqN8DyYeJaRi92I9nCW4uWgeBs3RWRHqnX7by43Af9uHY8lVobyBnbY2Y61EdUV +I7Ss/PNspeWgJ4fKxPJB5eRHZeNEtrX8H4uAeWYs +=PoaH +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0019.sha512 b/tests/openpgp/signed/0019.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0e939dc84962767e4437ae5b73a2f872ffebf809 GIT binary patch literal 1812 zcmV+v2kZFsS?p{CoUCO{j=#&%vNFqNX4k0jmTfm_?H8jZ2NU)ls+SZ|oi$cX>`*;e zY|PxXTp1GsXDHRzqOzHS5Rag-WdsU3X!&XL8z;+PxGP`R#*=)0q|4ee^OrhPW_)FU zp6kgpt174GT#ix2LVz3Ra1B4cM!@UJjm|8b-zCq+0g<*|4Y-Ai`_Xf^jYPdU6IWD0 z0WkkjRv@zq8`G;%ykEfLI_)8*xU7zeVaOgjjXXVdj0}GCMVi{otGkC*%IH9jwVnP| zDLJ?eG=~T&fb6<5>T0}1c-xxQe6zokHH?8+p;`T!P8}HFBmU~#2-otY8@Y0DttMZ_ zmXS2s5jB0|k_9W{7Vcdfve7BRns@fd6l%E3CEdOYi|VKQf@U3kX-ftM0?NiLWL^~t zf+Jpy8x}^{Y3rnCtt%WH-16z7(_O?DfofUjE}@-+5-5_;CE%T<_k*W0^wl@M5wf7> zi7?UiqjnhDJva+F8bV^N1mTlxxLc zLs`f8P`aYW4`{6G>;_&)abcmavf42~9}d>zUWWH#P#jBF88GT{qI5H~MA;b}1--qMCdper?uB;SDId+gGB^?W7>0i>M?6iz~g_hq|TzVQ*2{vip#cPI=|HoxAT z#rp`9?iXP*?&feIp%wYf-xfj2QV<-o1DeQHPS$CI63?3etknCu<&AvB;yb`UM|$1_ zETU4IH#lJAtJ_b#7$ae1cIqYY12AL$4#q9ieXQ-o-4uISmO+TL%w?ZEy~P&}WM`$Y zCx8`^d!wD_!>%4ba;mQ&!FLxBpI(HR{QqsX7qp#D3%w9yIzx%Bylekt9KN#s4#-~~ z&V@VS4^<)%CiN(^Drz|l6Y}VxpLVo|oHP<=w0aOXHZ^U#YF!|qwnpY<9ww?)akYnb zhASGIgeg|!zVH&sqafv1D6+zG9VKe}Y9(EMd2fk>lgzfdp7H`6ipS;5WKOawqCM}F zS~hIzsb9B7p%=GwABL2M(Dy)mIP>BgR8-r@(Cn{ASLXU2G~E8*wvS66N{G@ezjQWz z_p#}noSYM-ap2?99_!`jwJj0!cGhO|XBB$__Q|bdnK5ZvwPvO_ecE))<(#{y{^^h` zNNnX_6i}BWg5Sw=7DvvCqpSDo) zY>UZF$uHPd8CK=MN?T59Zo}5v07c1_Gv?Vp3xk5rkwN)(6||o0W2e?wFMc?3H-XEt zo{z*Yg;?X}?S6l{`O-o|f~gI7~hEyJAfw z^cMOh7*ZwN2uZ?VfxE5~ayHf>$JHspeaSSr+wH4DCA64}X;}WP&mem?RDA z%B7AbB<*KcePskqt9FzCMri4&oi2^Vq`aA-}?fmT7)D7KfOg4JxnqQv}GjBMWlo0)&>sq01V zqRMw>o^TeU2V;ab?VG72MY;J{^B{q+#t4J{zMh=-rU<0yUWo1ZKlHSCE9=WChwlmJ z-_N}1GHfd6;h%t1{sh(w7!!>WRrfT-llhVFhXTZp9e523+CFyEmUdIswZ}MKIuV`$ zr$Y8?%fA^SbIAGji+xMWU<j0zRXiyFCB!rogp#hqX!J|ne%M)Tv?z(-Q z&l5lGH<(2b?!JG>b7y{^T_BN7y9`?!{4+YKQb((%KEf!BT7JC7_-qH_KIxC38qYAy zY{;Lr7R{5n8?%wU+=oJMc-0n>ImjV_fzww)bd3;G`q<6w!+}~D`)A3imL2$4`zb-{ CQjih= literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0019.sha512.asc b/tests/openpgp/signed/0019.sha512.asc new file mode 100644 index 0000000..f48d6b1 --- /dev/null +++ b/tests/openpgp/signed/0019.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifRwnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcXlUP/j8N +u3fMd0xk+rGWIyJUaWRGpklLPiKOvEz8Im0bHrklTxNvDRkwNB46f0qi08jiYwmQ +qir2SIrFUfUetju8aD/0O/bB+4lmyDEkHb4506W5XQfuLcfdyIWGVhW5jBvnb+Q2 +vRQcd4b7d6imgQEM6/7pvUBQrEBAS0LuKYsCQahUt+NpDfl9T0dA3elrDXcnwcpe +6bJxeXQGkgY9/8gVhfk0WJoRTmd2/tsDNuJM72/fPu0rCQaACB6aPMSuVpkUdrUW +n1PYa8D/dtcs3TSLVPNcEqInBahxANt6jOOAaLhVX48tEWn9PCJrEr7QKsszGzY1 +r6pwsEvjxQzsOKAJ0hvcdLimtX/CMK8nloaYksYd19QglyFj0PEiQzcU9k7SZ9gZ +751WKn/uMxBV61GvaAUlc0UOz1HqfxV9up+5b00oJCI76QJUiqVQkQN0wO3oRTvV +Pp1ySCa+8ktZNUPnQk39GFwMQKtWJ5cRy7szuYNqdL5MDOojk9wSED2VgvcSPOgm ++HNCuzv/e/G0f0SycyvxBtw955o6Bdoae9XINZzO2Q5zI3pmL9sdB8HkEfYWnz7E +DiKHCuMyRYAmgbf7HJ1vtOavPkUJ5LunTbiigvAoLPwJydB+F9/+L/f+tNs9aoxV +1wxReeREZqCBNe74lQDbS1HzACwa6eXZ06O6aKB+ +=H7Oi +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0020.sha512 b/tests/openpgp/signed/0020.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..1a1785f2886a98de56368291403b329b35809f2e GIT binary patch literal 1992 zcmV;(2RHcWr@;7sce!p3o93{v1@cVkOD)@tYM7GaY*o)8l*r9R9{A%ZG%2o?7^;nJ za4}t$rYSqsInUPdMQMome&I~BONgwc=|3i`&;kz$#UGS-FwPzi>~@@+T`CZU3hz80 z6UCmpX{#OyKcnZuyDfv=Rrl}J>>A+jU_tp|x}w>VY?TPy(m4aYW|H%zBAT&IL%mKP zLuMt)y>q zqq9{5Z}}>~l1Y0mDols;(@;TVFmG7(D$W%GqnD$BTC6?`ZL9LJ=||K)+{K~^&`_9Y zFedN|GtkfvHHWUriJ50{Nl2}bzylOKltvYzJ|#Pvp$IsN!$I{vEf;>XI<4Z&0O!&D zQ~)d~hQ$6*+u-5Fp+c9jxoO9AJptolNcR)4^nFz1ahNp6>u&Abi(QEThFEI(Ohz%8 z%QlQaFJ0oIuG1q_Baq=+yng;$E*RGen)-$Qm4p4WQ{A=EZ!E&7!VIe5~NJb|RKoOlEcM6memdDBipbScxaUEc#rAMxZ;# zEB5TnwJo2-)?y7STOxEiil&WJUqDZKhulivs`gUQzz!K_#3-B` z3GH^%D*YT?XDE;UrL>DMFk%70Z&H46HFQbu|8q=3=7?0$w0>*sFoc1#VXZI|!y6q{ z0ED>318HBPk-`Bbd+*j;hh9H#=fD@jh3taE*DQ^!vT@_WY=HxB?Z_Yx(b+dIzn`_^ zR!LOTyE15Bd6B~hC_y82=7JPoZ05N?Ye$I-Pd&yUyk@&s3qzU6Ii~L6TEg8^&gc0# z@%dyZ{WM4+SItT7=5_V$H%9qfHH+ScxUB|gL{pfNHrGCK#|Kie z`UsSZtYQXp_oVXpl%0wY#S*K=R=PZ(4a7hF?X?KSolMW+mjP6MK~3THj*hGRXYgmg zrYCUaoK-`_Zr`LK?#^p((aVAAR5B1KM;b?4eip?IXuZT1V$)8xWJ z(P*}QEW~$*kc%J>P|UsHtRGq>OK+h9ZV%cvK>2^0xHfsE2Zlby**_bSr$AK-;aGVI7E&sBR62-u-$Jf&p= zpa{Pv91`?=_c^D^=f|G|#�B6m(0HzW+eQ8ln4-lS}GIKGCnm5pi@4A(;6V!nJ>n zZPOChPn{0;psg21tknmHVIID+c!8p=cH$#0(3pcdyL_M3CXVV2u=f#?@@;rr#^!4L za{Y2--mf#rq;98Kd*0Y)mNrU~>fAoI=b%+}3#Tjog??JB~Q zoyHPq>(oCms0xHoya4g&cmp54y1rxw$$51WLAaxX42oQ8feIGW#O0y&Z8x z9fcBZoGD*l{LG}0!41=lvc41?TZifvxac1yD`E9EMAk_QY^8LX!Ss+k9H7hXvt$uk zmc2jet=1hS{eT^0KzZnsvHlTgHt&`vtWnk0k9P4^Fx5s*^Hg-bHjbi z%ZE|j@pYU!-0hzFm(J0phvFv6og_zKKg&L-&Gmgx4)$}2b zQN2M*DW;X?pJ_d&ZEl?5Y6#C;dI*#;^)s{lO}f2)xLKtJzzXd+6e9&F;I!o7U@Hzj z2X831K8PJ_Ux|2r`?YuV7m&t{?=*yjHAz+0kTqsFc81+mB2u~D+bLLvvZmO3*Gy^m zv_SwSYaTk*s~*Pq=eBeBV;xR%dNOPvv8rnpH#c$;Z<;Wc8i$tdZt9I|=K1x}pTyfO a)X?me@RoHQ-{uIp1|c7%I4?YAZ6klN5cV?w literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0020.sha512.asc b/tests/openpgp/signed/0020.sha512.asc new file mode 100644 index 0000000..4295803 --- /dev/null +++ b/tests/openpgp/signed/0020.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifR0nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc3WoQAMoP +K1fJ/ahMTwn2I3dfeaBQmRbiURmSJLIpPVBo5joDJA9vvL7JD7gu+4axKGBSLXMf +h6XhBvnbtUuRX6sTHv6uLmItIHYA0Zwv4O/C2buznaY8hqJ7LD4Zh1j6c8aODOVZ +1rbWvLQ82PDDG67VMyQGSHsPo+uhPRDjqRIzm35q6CXZeu/7ZRLW3E6A4+VVw0FP +pGpxSzCneQVTdQiYE61pBTDlwUbrEqDEFLc6Ex7f4aC4djPP5AwPGD1klPT2O4So +vFfzqvIZrIbgoEf+beIIQBnMuCMDe2MJPCbqwsPrCdJCvvs7o7Xk24fQPJiUUoT/ +fD3lAXN0QJFxQ2jFrrca1fe0/wsHbpmwAv4NQ7UEw4WrckGzP8wCiengvRKVGmN3 +d99UOJxFwx7prwZjP8CPVXr+9/AhGA/VizYxpIoMr3Qli8qL5kL9bxq0m16j9cbh +vXJ+SFraF9/kIHsSNj0ygKO9Gqe1ECbRC4vr2eRAaLVHugd+3KJLasYM03v7XXqT +WofBsZWK1QRn+WpK/JqxxBdyPZldcfnZtHlN/9mF+LSCAGJTDl5TOoI7PoTfvrO1 +7sx078jpZIWYAZUjmky9udPw6ZEUUhhWPsn33VpsWegexrdsVD4FH7EGbLPvFMlh +xNcrYdnJaiVs0m+XRjCs23FQjrXYX7LPtjrjRuLW +=uNed +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0021.sha512 b/tests/openpgp/signed/0021.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..44b48c25369d5da5ec8279e6ea4eacc16247598c GIT binary patch literal 1279 zcmV@*df%duHUIQh*)9k55~mx|gCZ@W!wk==-8l zME{bGL*^!uo!MH;mPNw!Y`7?d70Qmgp~T8h#_2D{!@A z)`@3tHL{nU-{Yb<62H3QtuDbkvN>QCH&Q{sVpJ?CXQz*HHiPgc+F|>ho!MUhaOC;g1r(6 z1{5>_a<|jWZ=Y3;&l{WMNxOj=OeupRpAh(V>R2pmjFPerZXLXl8iJnd#9vw10Os}H z^NNiIZ1KfD@yow!x{r&xaZ4F;MI0Z>z4{=d!q6j(p)j<=#EdfV{(s_>&T#8Wto5)g zm!O&<<4i8=iHAnfx35m<1w7|XgYu^c9Jhz}F*l}(W1A+TLq8yU!$3%!mxmId@v zDGb?pzuml9A2lU=5tLt52Qea>%g2D|2a7(J9oL5ohFNmrk#Q_${|1ZiU`ztpi5YgIKvjqJg5I zhlPbL;LrCP6KAxz98Adn^D@&E?swvD@EtMHUtDifeF%Yp|m zaa4Otp;BXO@|Sp1r(bBLNHCKAKEcs`5yTOsIo%p$Om7b>NmH7V(Kw~iPdc`KKW7Rz zya1~e18}Q!Fu;jkVuwhRwi9e*wESeUje!llKPvc}p zYwDR^jFaxXTw2w6(H22dHfEM)%p|IWUq#(ytm~6P7280_+iYjRy7t^>`KlDMVUNM2 zDTc2!jJ+@~v#G~!#*_w-Yo*-}8zWLl=RInjU-od+MeKq6K8yJZN?d=dQG=xtwe5XUsdL*JY`N%g6M9)r`p^vUiC(nTx8JmG#f z@{b!mAnov6H9)*=n!M!TMCR1W44z;^0D$&p*I}#fI6aQl#9F*W;e>2^zZZMv33%=) pq&TlulSdq0ne^Ew`c-NqZVSG+5#hUpb`i{9LY_|@5}#U|JnQ}2eOUki literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0021.sha512.asc b/tests/openpgp/signed/0021.sha512.asc new file mode 100644 index 0000000..ed23487 --- /dev/null +++ b/tests/openpgp/signed/0021.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifR4nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcdzQQANZ+ +zKCf6FpTnDZTJoZKr+J55goyhAW7HZcG5MlEr+QxrF7uNWKvW2yZRZKaWAHNkHC4 +F25Dy9bmZ0YBIrkLtNbolclKWQQVHKMHSm1VkxsMxpJAY/HAF8C04RTHgu4UW9iR +h8urB9pwmiJh9Anfl+mLSuwXhUM6Pkf6K2i40xHC1MMhej0tkti5E3cazK1N5g2D +92WgXD8Sbwjq3tYRB73xfDqwgfH87y/pvWOT1dh0e85mm1psGgX30hPinPRmaQ+M +SYQz6KtXa4DPWF1OpvgeEWPXMXnRUBmGDCeUWxLAwoCMGiJe4/neU4lISYb9NyYO +D7nxcwt6wL4Lx1kZLwAJVWQMyp3ahWwXWXisOdhAXrpLsS+POVucn0UY9FvGIjU1 +jxf6O3E3lCvTFCJQY3JJ/8PgUe+G2rTKG+3XoWHGtt34fH2SgSscFUWI6PxAhKhn +tBWitNBy7O3u6XAaYBP/fjzdweOYZaQPE+MGiwLrxQqqfrrVMMmkX0w8gIBre1WK +n/rZhV0nhuPphOMzSVfkFLzL5LNn7CdBXnUPnlCo5rkqqnYZ55LTzMoBrjPemoKo +69n3k09tQrz/iA6g5S6oByLYUYgBQVLC2I4Uccxu21jXLA3CQfNkWNHfAyopuN1H +xdIeFL0IevAkrjQRczgDk2y5hxjdygOGUZVrfJn8 +=0TeK +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0022.sha512 b/tests/openpgp/signed/0022.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..d33fc762fa49b20024fa14cde69aa407507732be GIT binary patch literal 709 zcmV;$0y_OoJfa|k%UowpWa9>64hBVFuC5zD*^A3{oSk$f@es0fVTb3$ZI;ZzRwiCt z4Ui(CgU~*Z-4Rg0J0wXmi$AB$Ti9}wuio?i%6J@tOjML{0(Z#3&!eJ3N7|l`Uryr!eoy}%|xTn<0 zaUrQ5Jg90Glm0W2Apfcg=!I{sKV|GG4`l+13NvqiYszP#?--+aq!qk9z*Xk1moMW! zB7Smmm1X(|zE3}$MP;11$1ck;Hzt-nzs4J--G=ma$|@XTF}jX0UGAEoz>Faj!wl9@ z(19-R!Tby~@`Y#5yj;jG-Z)RMJZ>Y;hVwOAh(U*^s?m182oPLhUIr}W>`4Z$-9B=1 z`AiWOf3QfUFJtf+&4Lf*owqP{66#9163jOQuzC@8*8+4}Fu5-mBP-R=1E~ZZDC77& zD=$sNx6hLaUj|cJww#tM8Z?#OBbe0skCFdpDjqo#nrBAKTfTatIndn_Zjr+BPU=9RCXdq*3|SkOe@Bo#fc rF0+X*ESA9#kZu*{)o%i2_U$=MgREp<;X-UOrVQd;Ah=C~QC7HUh+bM& literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0022.sha512.asc b/tests/openpgp/signed/0022.sha512.asc new file mode 100644 index 0000000..486b19b --- /dev/null +++ b/tests/openpgp/signed/0022.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifR8nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcy7YP/1kB +gQe9oZFl3z4D7hyQTr7HUi/DlYQlh8bxuOsUOR9w1gXBLNw/3SVQ+b+y+mIiZka4 +Y9Aa48mJdt34hZ07IV1Z81QdnBUv11TNgy7YPcaKDiZfT7mdco/SNMlIujNKDBBS +uTUE0/QJqdIAjQFZULHFBkWH5xeegOUNWW8jpcCHm6RgECMs/iUkMCNX2I/hQwkR +7OANBAZspBrhefhzCH0sZ89IMVMaxD8ZBTnXMbgkznO8BBd28uLVZXQZDy3ZOun5 +ZbYBgyKGzlFafeyEIgBaj+ue6kFSNk/W8MnLrEmR8lnXsWFNU1uSNxtrUP9Q9b83 +g4dJLV7NRBav5NOG4QqC3wtcj2NqE96brDbpfZjNzTD4btvhq8H388Uw7nAFWepK +o48ZC2qiiXRzNPjuTs/5fjOOoTvcEoeCPmBZEe5mD5Di/Z8tAZnsvQILsNNjmK8a +BwTGRKPMZ1CR6wpvX721lOIzMJZU7ECqF1qGhIyLRvIQsG73RBMfnkpVa6Wr3H89 +hOKVvOEAxYGbgKg8cxMaR7O7+YtIs0R8GhHh/0dlwrcaYZZdVD6ioHeC/bT75V3+ +4eKUnKOYBeBS0nYbivBKriQhkNtD4eJco0XTlCEgaR2Fumx9F1pY1NVQdmw6LYs4 +36ZY3HJJ8tjQ0kcO1t4TCZ53prptT/1Pv8VVRoJo +=U+Qq +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0023.sha512 b/tests/openpgp/signed/0023.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..bc0e8e543f42756f2e454dbda9f6737dc06c7430 GIT binary patch literal 523 zcmV+m0`&ctH&g=VW&R99}nK>PNlBqEYw5I!2s^lE zS<(FL5KgtN_>Zlga{Y<%;87v2d7EtH?*F9Z������9G�6 �7(��d�$3��S���I��ѻS��2#X������? (�Y�Fc�B�&�;h��e2�ߊʖ �p����Aj�����1��n��9�J��]�A��L��-<�e�YrQw��Y&P �3PG`���01���xY������ز�k�U��oe�A +�i�;k{M-��v��O�ȸ���ao͢xLw�|��!�8����T� ��E�~� ��R��D�b9Ȥ��`���*x�h\Ŕ^u��b�&�l�R$3-`��pV��ǎ�U��s6Bb��6��2Vpm� �ٗh�lF��O动2���80L8N� +��[t��M�.���H��G��+�0ĸ�Y��� CaBYZ�v�[OF?L4n��ѥ��R�ݹb�Ŋ�!C�趌�22zcg��/�lW�rz���~+�!�Bqu鉞����x�?y]��Ҩһ�+�E^����@��M�l�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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0027.sha512.asc b/tests/openpgp/signed/0027.sha512.asc new file mode 100644 index 0000000..d448b96 --- /dev/null +++ b/tests/openpgp/signed/0027.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifSQnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcMQsP/j7D +EXHCu5zfM6QFV+J9w9VwXWDAEkkX2aFUulu4kWDgBhT3GVPQWMNg/5DIA38wLf4+ +4AR8s9/V8LZOaDxRZ6tX614UNgDJv2CbnmizK7HW5kY46iSkcUmXwMDAhjtFqSQj +4v0tfumGIqL+pKX6GaTzhR1NlPXKcYp6zJANokS2fGeRIgLmk/0PqIQ34SqTOgJ5 +pP/nTmvJOM1a71AIw3KL1zeWyg1Iiod2RUBNC/ubUwW2fd6FAgpug7a1qdARMmVE +jRnBUnxsYzN2ydbu7xUtOx3CzBMZmzAGUQ5Cj685NK7Fw9RXtkPNzQHKD7ItKSN0 ++4YrGT6HBn7iqxoLgGho9+eDwvfQ6ll+mThYWQtMAMr36BfBWZatMAxGaZF3olDZ +ZxuNlJE0KHg3/WS6knSvH60q0efF1J/ogYTiuJg5s3gvLvhRDEnFuCnZp/cvkqTw +baKTXV8hrAHhZlSgKXheHvCGqdfS3IbSM/xr2Ws23v7Ee/IJjZeykB9+P2mKJEji +wUrFJWw0g1+Z7zufd1BV13Yr2sOvzB40464GPy9aQg2kSMQZ0UOK10l/BKgmmJL+ +rhk7o2lSGuBYbXB+ZizYFF5DMsDa74eLTTy/lSnG5YCC67hnRjx6+g3+7fclb3Jh +0wGInvza2xCMvzvfXjd0itWgIJNFhtHeGRfGuqZY +=bbvf +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0028.sha512 b/tests/openpgp/signed/0028.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f938f358bbc5d0404a34018da1469ac9c8609a66 GIT binary patch literal 897 zcmV-{1AhGK8aJLM>**MEQIfR%Wq23m=U#iOGN3GfvwMxPmvCXj7=Dq}Gr}FUK3$gx zY0^SX7;WS4!dt8T%cbX(>QaU+BQMq@QZ#}Is0#zztndg2kLH$D+`>2>>5S_Vq((ve;y@~+7 z@!wPndprb{d;(wUyNSe}r>vF`ukl2L%d6YskRArcKDlPEgO@7rcY=O%OmsN>P+2a}S zgqGHtQ%+Ct?$DE%y!3;}*1zOc&+eu6LOVbA5d7T5svFiYv+oMdIaoNA!KAxI_Lfg@ zKg<|UTqFX%h-gvr*4_dDWc0QPWUNVAl#u-8If;q}n zQVXkEc*zyTQ#v%g>Pj3c4GxeDKyJ0#Z#|USIL?1 z&wW&-!)kna+d%thZUps;(sQCd)cd#rv4Ot;)nr#mb`ps~8KxgscBgWB)P3MVX zs?e@QOT)wA91xic@NTb`v~@~meNtI(l=vX_Hv#mF7XnAV0kQjWjHwxIG--?8-65V~ z3@T;;CilyZgJ2hvJ2bmx;f;S2ND1cFMXXru zfJn#mhS^3n$g5a&(??g^CD`A4+66X@lZ1z+JCR}jO&j%rLwf(xH>ZCu*K{O^`lJis X7}2uyCab-pcBJ}`;nuygQ#6>=J{ik0 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0028.sha512.asc b/tests/openpgp/signed/0028.sha512.asc new file mode 100644 index 0000000..cc37732 --- /dev/null +++ b/tests/openpgp/signed/0028.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifSUnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcbqkP/2LH +sSPUiFRIHqMkFiAqq2a28xYgWO0MTVcgR5dcP/Aj6/V8RI6gcJyFmDfkTYJhBEHl +cBEDRQTWDhYUMEEeL3qJ+c13mZpNEtxtLbi+IoswP5LBEP7IUXLYK9Pm8uNFD9er +inQBYHrGlRL7Y7LKAzKtjA/nU8+2Gc7+pRwpr4j3y+MKipA+RpFqz3n2wgQ58PZQ +RjKTzLza8sMf/2i5+x5PHBJrzYh1ktmLmcfns2ke+3W6+MAOTeU7QZ85ffYpDPDI +2zhMxXx+NtqW7oGs/FbPyQZ14ooA8QmEo7ZJOYg/Fg7bSbyWUv4TtTMGE1swAkhz +b+dHOhVztumGa+cp21u9pvZ6quKhMgVhfL+imY5goXAWIWj997Ic32BVXio+hncA +QHMc2ogaVTyrUjjXNPgldU5g6C5xfcqJrH//e23RwMHJs5cExKEyredG6yZ8dqyB +XmdHfSnPHXq3mB+1++bp4R8BzFJvnbGDEQtiX/CsKyfcYJd2+2Pho7RvLRkUVZ8R +n4kF+Y0+bysCc2rq1UKo1rRKAd3S6GpTIUInXVe62YDKzOJUC7q+Gvm7PEaSa6lW ++aypeyBOQcEKMGrYSpGaxB6AAwCCYJo1n0iB2EqqmsSQkxKmIWrGNsySCUzqJo42 +rwpdAPvU5uAFx/fx6LwBAmuD0F2yOg3jWw6Vfjro +=cOMi +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0029.sha512 b/tests/openpgp/signed/0029.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..e4ca849deb020d52d147855d65860e5a3444d8fe GIT binary patch literal 1817 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0030.sha512.asc b/tests/openpgp/signed/0030.sha512.asc new file mode 100644 index 0000000..9d95cfd --- /dev/null +++ b/tests/openpgp/signed/0030.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifScnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcTyoP/0xi +J5LO46RxbzdZkg9KaT4W60ykABW8BpRA/gZM2Lt8Fv03G3ndY3gDJ3fR85zkACrU +vp50UAx4m2nqb4HYkGMOX7MyF2+AayqkOpNkFyNhLrzYxhHcGtRgM5xygXkoBebt +vNb3VlKjlT+wXADEbr0IZMXD2M0V3tX5wHJXBgTbCBugPOwgBu0cok063dfXZd9Z +jGoy9usLW2uwhKgVssbF148Y+9GCO3CPqYQRPP7SSgblkwOjT9jo75dTI7AcdlcW +eZMhPxoNYKTOu37Rb9nIo7UaaieqVuZAubaFVBVYgfais8LutJMqQfmhsmO34LtU +kU7aPx/YfymDVH1/T3mUnRwjSxKxItXCnklIzZure9p/a3KLf1IGpzbqbXZendmn +JxxXkjGEDzQUnIOgSdqGei53TpEbkA5eHRU1xFhAnWB4UQ6JsPoyC6U//8UegqI9 +JzSoaQ7kemokWd+mqCMrxtZcnRLxFVe4rQmqhybjIFTkJD+u/VOwAPWwh4reyZfw +2tXzfbSkxJ3mtCXH+ihKh18lMAS5q6AejDqWQT0kkIORD+2GPPIrhYJM7YQhZ44e +2+SGdfPW3tAAXAQColTyZFcEcBqOJ08WJgLCrQskpJMOGkMVvZBS/UB+gm0cQff3 +kkFhneCtrh7gQ4CVWgcTzUp8NA3L8WZcc2OsnGrN +=BYrM +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0031.sha512 b/tests/openpgp/signed/0031.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..45c3cd3b1ce9d76faef57b73a70e6357c2481781 GIT binary patch literal 1372 zcmV-i1*7`n%0pqR(2QRFEJF(ff`b^gm_5Zc;9%I0-h-9Cv3^3Pw1&i}d@5|z&p34G z{UW8x-7?t8d!%W#f!t_>>@Y>Rg`)W}MIV|g1MIi_!w_MZdYZvLV&{|JxQo(Md7^Jc zb$w_yO|iz4r<)Az0|COu?c5vR8Nn;#TGgU)*rD-pjQy8If6}O$;SSpUA6V7@&8Wn^RD&gU$^rzNp)#>J+Lr`! zI&j&!FLC)?9tI^Plcx2)V_aTVGUL8;IHl9bY&%`L*^Ov zs#S2iY_ebZ1j^`=`G}fCqoo-N^pQ) ztc)XVIlHHMTF{<+@Fhpo@C})f2@DUXcFgo{wW_W5siJ+e;7GeyBl_D@xrUZN;B1>y zO#dm2ju)Zso)JlW9qPEqi)%)!QnJJI_HYqww4EMuzgDh3+__&9+7{o^OSE|3EX4EeZgQ$%xYF2fmFv*H^cxri7j;YB#aEKtBukf=n3@~kg# zy;IlgTh0pZ5WyTABN+jw?D~@25aI>|tTx7Ne8BE6d1d2eJ#@5fNIK`=04t{gz;t7vVrY%tX zKSwOsc?5QQ$UHOdu{yhADP1z&>020FP5D5xK&Czuom(s zbsxMs6wFR)z>2+{7ei^J?)LX8qTmXaNQisb5ra5N^Bja?xH+C3@KR)3YrDh&1Z$uj z5%~I6pTYRB1Qs_cBh@vU>p}z)lIdDs-Y0rTV0~8RCbg<}z0T(I7K=^V*}GDMEZ&5A zS(f|0`*nD0Ib+>-#_qzOs{VmI7|5=lD7=aTx=AEvldR-MzS_~YuG5HZjuw2dO1RQG zI^Mq4ECLR>S44HADXTLVE2N{I$$Zjufxpqq|0PC6^BcU4O2C60q*b_(>Ynh-$>LZC e5(wlQL=dT$P1kO`YCvTl?|STp_n`rVy*=N7K)O`` literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0031.sha512.asc b/tests/openpgp/signed/0031.sha512.asc new file mode 100644 index 0000000..a3cdf71 --- /dev/null +++ b/tests/openpgp/signed/0031.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifSgnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcsPYP/0MD +S66j8SfQbuUURzu0EzTNhAEvYIAyHfCHc08XgnNPC7weQ05078UK+jgrwo4rVCdB +PgzxvXxWXtHVfx40JoBYMz1DlFYgk8zEvCMrz1z/eRj39sd5cdjDR/CuHsMouayu +JdtZejjyZkwt+6iMgjdUkkTm3SNZg64jaeeU/EfmTIx2UnIVnbqhrBYGGLzUfGVt +r5OpP9I9drHM7KfIzYm+sz8p1DjolVd7DfP58heoa+MQsKLUEGxB6K7nAYkBMS9X +ZKtEP/3NdeYIupBHBUpQsSEWHnXdqSwzohfAwrSz00m/21PQunnanXtfoNjvrD0v +hrqChqMD1tfTNJa8EP+0DzewT8hPrBnpPqZ+A5CLhDY2OYvs3g6Uvf8fzQyGhUHK +d9m4PsVzQXYu7ly/JI2WypB1kOQNNye1rQ0LFT0SXHCv6byAGQK/lqa/+bTsJ9ds +uQYhqLSE1U2T61of9RtsD2cRapGiXoqHtuPKEigaZD8Ehsi+32E5CrHAPtYqviQ8 +0b9CwNTjMN4lGN8wxqr7znvDQMOKQ4QlPk0uxCMnT4WTiz4zFABxPpuD8lutVA1k +sJUV+o+LL2z6OniE52nrERwVjsFoPLS0rjHemiGSHBwWOjxrQDrRbjJk9wk8Fdu9 +JU/JmYhnqfZkocrUE/hnNBS5JSAUXD6ccRvvry/H +=+TV1 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0032.sha512 b/tests/openpgp/signed/0032.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f26d6372134d6fe676f6ab617e424b1145a9f6f3 GIT binary patch literal 478 zcmV<40U`eJ;!vbHu#WGxnc>s7p4H@8_bwALXj=sBr8CY%d25z0XsuVi_r>6Yfy=|j zXJQSIiAsZOJFnoV!Y($a61>GY@--2gD!SN+f$_FwG3>cUdj)++#exox(iUE_M3xcT=y?o<|ajj3sD|nLtgMpdf1j`j(qT>}_B*c7_ zA@*nQ8bocS$~6awPWnX$9F#(F!|MJ@-piUU!YJ>17?}d_t(Z#$;R%*prVvrPDGyxR zCAKqOyZMi0I{?g`Gp_oWgG@eOG#Enp+m3$EH;w1o)xw?**sTP_KJ=7E?)UF|&^U)0 zrX*8y>bjA_b;t~z=o%5R_`Cs^I(CM zLTPuY<$F6@T~ctuYC>y!092Om8&(IJVZQ?sVe$B+J3Zxl){KpB9&t4UJ+s;SAt+4e zf?$?nM+hYn9Rk%+sDzy;=UA%ijQqxO& z$pP` z_`>VLm48@9`>8cmSN~ru4OFp7)-LvxYYr*~jJgm9ju`Xce3q4E9{Nju4&`pgsgHLP zZyJ*dts41cF7>yysj5Z8&nYfdfa(V)6{`w|g5asTv~Eq(=l0YLp_KG#g%*0lI*6^b zlf&+6a~S&)k9evts>3d|Dy5mfZuuxfxJ(qz?G=ptAyn@fce-TxLl!__0pj=5N`n?; zKWeLm-?ff>a3O>$^1}K$JLPu@?q7S|$g*3z_tStHQZMG8i_RW>JDfKcjk~Y;P>Y4K zkP=Q^RRy#Nt%FVQ*$&cQS%}5ouiixTm*D}hqe)9;H`7Q-fn^H+FUfMIu2i=N*Fb2k z?10B3zZU!zOz=>bza8ZqnHv?9`$T%Plu55Z(#Qf!VQ29IqI z05NTEWQF6s=-7*mS6Z%rmjG3sNf}}VUL|ac02ndq9FdUr&OrpO&dR8@etuDVpvU3A zqZ{YOkjyTO4chtC{;-X#WmZtxlU2Ci7K!zk@}p;J|LAr?N!I;N>RIWcF7-!lqrpnO z^n@Wf2>D|uJ??Qh|>M7+x-?a>Cchk`SfepiLN+}TBm^aL&g(oGaE2$NNAvbe{vsdVSWvWoB4{WJ1gWy*MZSjTJv@52L2-2LTiUnmck8OZSKQ6Md1m=~ z6${2GnK^08wl(@E1Z0lcN!pQNo?4X28{l3B-=(;U|55_8vu@0Kfmx7*KihwsrBzff z>DZ^WqkM36>Jzui*2ynQei{FCVDC{=4FeoBIqYvhcRkH@MzT3Xv^|}98e|tQ6WbE_ zwyXUvON%{^pRct2cPxsn)HySsyKW8B?}OLbubMtoadp~&ZXXPoA1p#ht5Hw|$xmJT z$_B+q{ITCu(WQv!ZN4GP&E6;PHiNw%2(eaPa!i&js(tn`2m7GxXnQO zRt!P$u&eNfIsG~B5*xuQK6Ty|M+^>!x2ZjSKWugO+1z(ocq{=uq?bp`+%D`9eZBM` V@{LuV2?Lx>`Qf%YJWjmBMT(-W-);Z^ literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0033.sha512.asc b/tests/openpgp/signed/0033.sha512.asc new file mode 100644 index 0000000..df31b42 --- /dev/null +++ b/tests/openpgp/signed/0033.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifSonHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc+J0P/0gY +3Yqt1fu46PSxKScD/7TalPsb+DdekepNrKZmsSxifg51VeuTBzK5+eYYQdz7PRh2 +GKxq8BtycuN0qUVgHAWYnO/oDt6dN8F09HSdkWLnaxZSLA1NFp8I+4qx+pqbb0YZ +uQnvtWgrnP87dLTTSHRp+oXMlmQVscEymZko7v56RKYwhvJX4sRoRGZ4ICjpm+Bd +9UcgXBWMj8y+8h5S5IQWT2ngDpJmqeTfLjt8gx2afHaYpY7ZjsNf4zHE20edFuYB +tYKG1xrzgEQVX0DmQk7gXbRJJRfZBXYvNoAhsJjC+dAFnmoiTHVKQIG9S4HFPqds +usOfIKjawgnPYEAqL99JIh98W9SF9YSdLWMlpr+b6oQ6dcHmyyu0RU/+Pi+843sI +RcpuhBH+M9RiBhahzXOnUPGGPicdx3ALr/H4xaC87HFidhK7aeKOCMwtE3gNLPv4 +cs/SqJufNkCihSPAcY/PcbSh1cq5YJ2/Bf/L2GA31a+KUWC/oYEPW2jNsne3XGsO +XlRJtUOmj7aEIoh/0ADu0MK2jKSUJQ5Itxw85LKbBw7jJTPD4CHqG8kmHxccqUQc +hGUhFCjaCK10ym5BimqjUcZaQC1rMXaFRUT2z7YDJJ8xja0Y7BzhkSnAzD8Rf8FV +v6NNDIX47AHu7OxAwAtgo7kwlUGTPwaIFSzEvKzb +=4ejn +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0034.sha512 b/tests/openpgp/signed/0034.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..40d427d7d73813b7b23c7abdf0f15b0df2be07c2 GIT binary patch literal 1181 zcmV;O1Y-M+Gq&aCAvrrORcsAH=>2&fcMc;$fQ64*wTk`<29y{!f~PZ+`SMTK3myV}LEg z6gP#_&2S~W0vX?PM7X?AW2Km`y;}CTl$2mI9vSjIbP4-{${r8#OXMsvgc*yq2DjGr zyaCgYOvPI*dZ!UTj65tEG+N~Z19^i`#oc}y&4?Z5gs8k@f~sZep~L-jxcRa8ZF|Tn zkZkmTv0PBcox(H|x!``}fI=81KWdNtiZe2}t*ZqZEvWk@C99}n5dbDqhe!d0S9zMu zz4fTjJ#X=<4vSaogYm|UTnl@z%3x*WbQw6UK+^lvX_;}izbK1=8n8iOtfz1K`w6f) z@kIgN_CoSLV;ET`HZ5!Vbvr_pvH{MTE{7}gk~>aQE{prrshAC}ws+c(_)rRNe+1K^`P z8o}RZfg~IaFJ!zIYV`&*lmmd0y`XmtT4hTb@v&JP7j(yL=(Z!8zkij2qav>^+l9UW zworWGe-1eukqoL`?e?u!aNFkbfi_fL8bqs=y*o3r*J}BmeLq{RZg?MK$XB*Al&a43iea>m3sk@lpEn7`cE0~%eDKEsm%kD2yIH?-Jxl{+FQK(Hm z+f+twhSkXwl%P>@4!wyIge63J3Uxt;hLmA!zt3WLS$%Rh&X?#&ZmVd}aT4Fh(HKOe zRJIzi@KC&*C{c+)ZQ`hK6U3s1-sj1odig*Onf7onY1=yti_GM`j_Ahq)TK`3?l-?0fjUQ)5XtE9z7wY3`XY2QdKhiv z#(#UU?s`Qkj{W1}o|@l^9z4H?9Ogt4nCRnL-wPK`XU?xNFsGl9Po{e+;3mraQ>^{; zRqAO7SY+B3Tw;j$WU34#kJ=`w9IGWzdfs%_TAg-;xbx2NKf*;$-*#Iy$xg*aZDXj%EY9JufddT(B7l zPjY}WJ&Gzi5mr?~MehJA?gvB3uTeb;Ed6he{ literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0034.sha512.asc b/tests/openpgp/signed/0034.sha512.asc new file mode 100644 index 0000000..8db38ee --- /dev/null +++ b/tests/openpgp/signed/0034.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifSsnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcvJ8QAKEi +yZQsf6a44ZF1/5toFReXe691V0vge9ho7Uzi86uK3Nbf+PncDo+CxyHrx3r+pXsi +BeBmW1m8yQVMXUWnhVf4CVEte8JquzR4drMikquq46JVYtk8FzPZoJ3ztSjrIXt8 +hsUSOyT/pRRJkxghCHDi3So0Q8EDaeUcm6cPBPpi1XiXvr5nI5VHtdMbCPkvZP2Y +g7mYlrKWOtrjeT4PdQ2JSsJq3CBQNmaZENW//lJfPvW7swi7q2FTIuqpxK5PZHZ2 +quWbC31/kep+2nowAKrTQBtx4ewXLfO4XrcCM6UiiSLD0Nw5Ma+DYU1FGj42jDLD +wxi6oeh8ftR4aBClFfCLpwmY/6fVpYR2qLiOEQGdWBSnYu06nzkfNQVsW9YC4GbV +aRpewmGfNNqdVfNA99syEXYJ5OhGdIuirOkAC6ArXNkrbyrBBdA34mQagLXYLee8 +bn7k4hCssaAotH2C3tQAsdHggmE1ZAMVSWJf3f+q8BCAe5U5MpnSBAzdpWQVDOWy +7lf5OUH4BcgYCMubo8OVHSoF27dIxzwt1mDlfkFrFUB1DOLMGUpMG/p9U/xmLlod +bDe0BLZuwM5gWU/VtZXMjdx3UiaX3ROZ9Koe3H724KdFBpLRgQ+RLBiaqZXVFmJW +9f//bfa1uYXxrPKeYYqH+neo/bCEjyMMNAOGvFL/ +=I+j8 +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0035.sha512 b/tests/openpgp/signed/0035.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..9dc56dac9137d646cfe08bda9b710e8a0b11a7be GIT binary patch literal 505 zcmVc%gng zy8$Q#*ehM03m_F*PB`G1bbBmvyb)IhiQM#`@bL z@XQo{z^elEJ9~W(;;v@lfp$?0#qrcwm8U7Kxm7ga2%Z?rvrh`u36!`n zob~=~bK0`AMU?yYf63$S#YI^q*!Qb%Ilf%_{IJ-~Mxh8k)KSq=iiN-PdzX0|osVrt vUl#izjc&Kz;J8g691k&0HLV)}dXMU9Rg6@h!$CSZgs$20q~=&n+lIo8;rsw= literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0035.sha512.asc b/tests/openpgp/signed/0035.sha512.asc new file mode 100644 index 0000000..cb57d38 --- /dev/null +++ b/tests/openpgp/signed/0035.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifSwnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcRrsP/2zc +hDcYZZRjGFiXgv7cOVdr6w2oB/FoMxW+XJ1a9ISM8B7kVfH8QaBey5eb1tOtgRv4 +hTlCRAhyz+3gPm4sbkvqOe/qNsW6MWz5++QUY4P0DVESDDekG9vojMVTwdowffXi +fjk24VWaMWadpXEPQu1Kw+SviwoboqmYPR0Zh7Ycv44mo5YD5jwvscNVMRqogbCG +DyebJkHPTNUdRj/7WhCEaYmoV8s4v1Lwth7g72qrZoKk4Emk0QHgUWQUl30WETZF +qXOH0NHL8Xlq2P/QvDJanV5wrfzYgcANe9bYD128A9/5Lw3aSEz6gOc5PcPmH2ry +8zr2Z9yeIeUCiUYUPEJVuwRRKVQT2ZdvysIiCIN5i9tsUvfrO41DPhor5pYJ+9yb +xcVWfhqSG80QIbpMnFwuMYG54L+Ho6I47lo3NqshRvD4VAnun6pdwJ/g7eonx3Om +6KP9BnuYn1++AxwseCL/3Yi5vpwfDAcVZMTzcr1h9YvFrCa6SxecbD2J4j6mkUrJ +IAvi8Wssv0CpfBnAUngFwMxyDKlRe+Yg1+Jlm8zh6DN99V1n1rsw4hE9rRmcd10D +syGE0XR4hrbqXHa+mTt/jp1A+u9Rka5VJZOtzdwv59cagd6F6ghCIRDK2nd+iELO +BrGcoi72A4KkDdOGoI2K8WffcKo/0Ai3o0aevy7p +=Xnns +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0036.sha512 b/tests/openpgp/signed/0036.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..f547dd02d081e72da3835922ae79583f86b36e05 GIT binary patch literal 1836 zcmV+{2h;d;;mM71xWwRK!G!8$&g7tx^_|pQ3>*POr5LKCj^ntZ!N^^5Qb*A7mac;S z1pL85#BC%+8I;NdY*A`Wf^a=%2hG^gHrJ_TF$oa{SD+m7e2n>>C%ICW?G)oce%UMy}lmrE;R&^7@!4BG-4mm9qk`C;ZOSQKQEYa)5|Y!aIaoq^u=;ZYY!E;)Rb{5 z0SvO2Te;r_Cy%u@np?xq{f%xQL=4`Lg5h|H-(KCEIRe> z#@yZjVk31ds{?KgMs9_P)I>yu48nN@Szob+73&T~pt5rY6O$HJp6{#oWyilAO)Pj^ zB?pfgV1EJRKg|YfYZ!)VM!WD|qK-!RHj_15?jqzmvGIHOU-@tqZB6xVvjMRS-6>TI zH171^{FAQHXp=}lDz^i8K!j7VIr1_z{b3&x0aeW9M3iQ+mSkVk5nSdWS$Cf7lg_~BN7#xn$J>AjCH@>emuS?=SHx+Y(Rhq!e#R`<1jZ3Y`ZeOg83a1`^tRZQg9Ee*m)5h4PX zI`CH%8JC(haI+3$$?1xS5d#o;vX;wA5S!iyI?iJ3fD(&kyUf0~{cM9Zw)#fH!7Vr| zbg%|m_tFQs)iZiizAUzvR7S3J-D4ESxH5YFmA{g{mkzSHm?XjfF2&4ha02pHM%s0! z`%LXX)da)JE1^l%T`<+Fx;fuhE=HN4j66JQde$@~>Ktn#j9a_&O2P%0`Oa!n4_7sWI} zY%asS4%icUlp*OB>(&XZYB5ICjTlK>cjoSAL!%x~q$L46>s;M902ndl2;V_~p+1r} z2iXOzLJz8;KYTJfmA~^IT&ex_bxwl%fzSK0a+HZ$!d@Qec8M>3*XrniJdUB zoqdtRKPRi7kW9qxDIvxo-eOBS>K}vdst^ImdDAWXeWdtlp--Y&Vdyqt|O&hL1j{L{tP!MrD#sw}tF&9WJo{SL~__p-~hq z%>1pHIA1fGHbzNyAU$ojedo2-UmZ5$;FP2wD;Ki71tnnLSp>tn5(!}p#SwVD@fb3w%cz%-<7S`e1M*Fl1 z`5$#qUcbT#??$q#haAI_oStH_9FUjS)nw!xE<{tSXb&sxK&b7@698fTcx9~vHl~(f}Hq-D4Xsz zRuanG95b}|Z}-5$i!3hlJl7Qmzxx)WcaGFT9lB5SxvGDWbTq6FI7wG4n<-XtN3Es4 ztx^4x!=E|3dX*`IT8Y_uj_@C|@*7Q4#~2PkL~UeBQbf9JF+ZyPVi{+1dqT?O>JxWR aPL!!YKwyH+II&<9jc4BgvDFXrp`FbnFM;j= literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0036.sha512.asc b/tests/openpgp/signed/0036.sha512.asc new file mode 100644 index 0000000..004adc6 --- /dev/null +++ b/tests/openpgp/signed/0036.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifS0nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcPc8QAJRD +NNNx8u8dyr+/ua3dil2LHv489qOreRr3Em/MvPLKzRlReN6sZRlt3MWTVBCCHQYd +3oxSAYLQIpgCZNWzFv16PWP5xaNs5TtEoHh+ODAsFbaxzQOO7g8RrkcssBZH9/OG +FHdURWUugWhckQ4778FVPsTAZwTlR+77La1+kht8ayMOlPm4T84cmxhtG0Rc6a6d +yqSN9t8Up6vRparf36WDUJ9j+xUpeyqH5zphcBc3+IomoRXbvTH6CSUYQnBttSQZ +k6gCiFIJeDEdrfexyhVqWX2Bi3Ilw9OHVRbsLP2AQj6/wznOz3AvmxjiUCeYY6JO +ai3OGJbPpdMcNS9TVlgFx5lDHUla9Me3cewA8c01abHXAscKtpjAOCOncgNZUIk5 +E2/NJDyMvznByAQqm70/AGr3O48COMJIT9UVqwhlXg6SOuOJndYdDDcmGh9ADvoF +0bo5KhwfEkZq+zWpkxTq3gIfvWKlnuX2swGSVlW4DE5EzVX1FQRIfOo1druU0UZh +zGBjOkToD9ks2m1NyiH1FV4VWRmc7i9JZfSNM0cTafHrvKIdAyu+ata7ZKzhE2w+ +R00nXfJr1xLKigMX1QkCSys/0J0KTdeXPVvk2ZN72IKPpr+YXtew9sVugVCj9hls +Emmadv6NyNAfpmNaMAhdeXoF7358LEjuyxAajK5O +=yF/z +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0037.sha512 b/tests/openpgp/signed/0037.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..0a400b228b5510920c29561b0fb997d9c9cb55b3 GIT binary patch literal 1871 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 literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0038.sha512.asc b/tests/openpgp/signed/0038.sha512.asc new file mode 100644 index 0000000..aa4aa89 --- /dev/null +++ b/tests/openpgp/signed/0038.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifS8nHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZccyMQAL2N +PgjSijS0IFJSyj2rFtmJR/LIQBknYDRvPEnE9MucWD0ceEU+s5cd5ylYDasFp4af +jjIGTKQsUAj1X0E8bIvwVOvkz/noBlhl25v8uE19Rvuj05ogv5BpmpsVtQzcCOcu ++qY7COPawP9cPYk4Wpv/H7zJuoNSJ52Tm1hsu8n79BD+pHpi9+0M5r1duXeVxoP6 +5bX2m2TcxJNdb4r3dZZHI0v+Z1/p0BopzCMrvwKJzeamiW/ANzdEnb7i0hqFabyv +z21Ale76PJZw4K9M4F/pSyWbHXJNcHfX9dQnNcTxiksIvG+7Q9jamL9rS5k2pSWB +XKOacROyVIxjUDv0wLu6X7/iFEYIVwg0wWpSYqIcacaw2qlPChtqPvZteWRvqRkG +5v0tmcrcQuMpin87eUKC/LSE0wUzlb0NAw5i8ZA5+kmql8ym+eLhrj0msXvqzvRT +eXmwCOKnu+coSgu051lxIHoDw1wJ22gs8YWiUzaHpg3W+ZmP/J0YJxvAgPer8gqy +Bf6pGvM6+DulHMlStI0vXUXAoVzv0yDDX8p5FtRNiZCvi4vKhh25LEZoHj9dlBk0 +1ZR1scpo87Esm5RGWfHjdF9TlInbGHLe6k1jjQjFjDiG4uqLfvGMGVQfgZJUVVY7 +j7mXoB0oCtqifJ3/aMeLu1ye6NyTlLxmPwLAUxAB +=Q4QE +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0039.sha512 b/tests/openpgp/signed/0039.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..573ad2aeb19de1177ff88040e0b6590c8e87989c GIT binary patch literal 410 zcmV;L0cHN;VJ^<#o@NnNvslP%>x8JKDosZ=Xmy#&Wf0lMvx)wK+nBb5Z z-j@PLb2P3beA3l@G=2Y4gl2z-AOtj=h?QnKA`Yu1(|qHp@p ze{xzM0d(UML-;*;p+SiIIJzry>|2p(GtbC>F}a|U(GiIQu#W5Q_a!y( zcFmHOd?Axzh7Pl)wxt=q4c5n*n=F`GZDV1?1u EuWrrDj{pDw literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0039.sha512.asc b/tests/openpgp/signed/0039.sha512.asc new file mode 100644 index 0000000..6066f02 --- /dev/null +++ b/tests/openpgp/signed/0039.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifTAnHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZcpsAP/2ah +cWaqSERjq2piG8oqTnoV0ITV7itq8nROxJxLuDwPsrrREOpqElh8icKWTQj6YDXn +uohSf45kxTHXs56Ii/6t5CzNkOKk7fi5JqG5k0D6hyHC8pTlVXmGOWPyteUD45PS +C7Dj3qKK6nH3Q+QZ7i9jjeN9HxDemUpGwVPqoCkJ9sQoi5p/p+uVvAG0tz7b0RKG +n4xCgceDkLBVTJODAMRxaHyQvNDdUX4/dUugw1tgfbNUCVWLLOdP3R14AHRJMdmg +1BoPO0gGoYfZm+1H3mlKU7h5/+oPIDwpBI8bJouWXL1w74Bi060CBlZXrD1ztXkP +mEl9tov2panY0xTTrLYjg+/B7PAalt16M9RhS3kmXyco7nozb/GOKlPU/r4uHFfR ++1SCsOkMfacn7j1l+jTNI87oUuPb4zkHYOumX4Oztul7PAZ8/EM0DVizsFBHNWkY +8Xw1uTk0/JE7FnRHYdmPn20U89zccX15rhS1/EzahdTP6I4thuoeLwuFH8gckDUY +NLc390f8mYxV+ItHdRJGAFVK02r9eTycycuHxnzgMUbpGwui6n7F8oRMP9hckdWd +tGch42k+9Gn0jcLL8iW+uF9kz+DydEVWKET7gnLbgvyraS+kCnux+Jt+J8l9qIEK +vyBk4eXNV5vERCbVIk+VKBYGrFTZT5DNejzQbDGc +=XV0K +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0040.sha512 b/tests/openpgp/signed/0040.sha512 new file mode 100644 index 0000000..e0d7607 --- /dev/null +++ b/tests/openpgp/signed/0040.sha512 @@ -0,0 +1 @@ +����7ـ��z*��p�"�t���tS[����-�淳��S�c6S~c&HXmM#cl79Pef$ATVP4Xplok2ewAOo~WVf+{mxAJ=M)x$&0Fy+@tq#BD zBKy)mjlg{61%mHn%Rr5ds+K>OcmStzoqBb*iDCZ;${UD#;MBph{06mnEe)JGBMePZ zxzKau#bOUT)jWu2_7=j(o{WLC{+?Q{q}yaLQ^rVoRi|xm(x+y6DBllZUR^}QkVndl zql+Y(eJ*X*(MI_E_;AwOYhf7bazl0aNy{|ExH1YM9##?7OxtCm_7A7_Ya}T`()qKH!|S_Y`C_RNPO%&q^*gh6PKDRT{cEeI?t4U2%w(U)^AIuH zK5lPT{FT4**yp4+?x4q|+H(RDMfXC^PxEalwnI>E8Jkc5zlRKfVNmx?n`N=VBu4RS zO$rEN7P?hO9Sq7!ANE1vuT=c)*(v4R_3?DB1*mzQf5OR(wA9A)X@PPtCyd2;T8yTfneerXvxSZ0hpC73|yCpN2c+Iqkcg`~?xFL8C_ z0c>yIx64$##|pG7Khl!vk?ez@Jm!scqjw?HXAjE({gXER`5T_W$fnzgNR>E9s8`=LzYRh&CyM)CC+M&nrv3|oGUCT+)zwZS?Q4!-1}(@O q7GzWNAS4|t#U<98>@MCI3R6TB(Kv)P0$^^q7HOh7HnOb1czBFo2b2c@ literal 0 HcmV?d00001 diff --git a/tests/openpgp/signed/0041.sha512.asc b/tests/openpgp/signed/0041.sha512.asc new file mode 100644 index 0000000..e4825f4 --- /dev/null +++ b/tests/openpgp/signed/0041.sha512.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Comment: GPGTools - https://gpgtools.org + +iQJbBAABCgBFFiEEVq9OUuMwoAlnp3qidtHazzFVRlwFAlrifTInHHF1aWNrbGlz +cC1jbGllbnQtdGVzdGluZ0BxdWlja2xpc3Aub3JnAAoJEHbR2s8xVUZc6k8QALm4 +zIzWG8odolgqfXErLWMxjXYisceTn8xkmDcJLRzGsg1lQGosqJSWxX8kb4mwdxw5 +ddjz8qM4bhEggDwf0IF1cIPhszPqFWDRofMj4+ag6DSklXTlbqGxA7eEl2YYmot7 +e++B65galBv48N+CdPv/CDWcPrYUZpKXP1tALYP+smLGJofAjepx4tbgPZREf4XW +aB/7XVDAn81jXDxDfTzpNshVv3iMjIpg74IqIrRVBRWnclh5XfLzXZiFuUiUDu7O +vcjZhRydp4W73BVmO31qHtCl89Ope2+QjF8qO8wumHIFJTBju3lXgHdOoSbzo1tM +71h+/5Qo8sORh8gnmScvyUafLFpLW1rs+90wLj8QyNqfXf+QSBlyDhme44hgMwhT +pWdsro2ArRaaap4zImO5PzwG60JdmkIMLUNcBFUD9z+2AbxHRJ4iOubL9U046qoC +JPnRFX+n+/u9C7mE4Itv8kr1cAYbzLEVFjgaXrhmiKvao0p/P0jq3g+cdNMta2aq +VCalHZ7iALH3ZiihHYKEUiQYgBnhAGL+Gr0NTdu3H4WN1e6Zsf/EflwGcJjsB0kn +GdqnZgVrckOBUEC7B1Gbt/A76NwVhSoyQt5xePgzt7InxhXfWF/H0BC/ViKTwjjE +7T+zQ/pJYRMUqpNKcMaXPm9E+YPw8cV7gTdNxT7g +=CEM/ +-----END PGP SIGNATURE----- diff --git a/tests/openpgp/signed/0042.sha512 b/tests/openpgp/signed/0042.sha512 new file mode 100644 index 0000000000000000000000000000000000000000..703d397b9cb0e58a93913bfd4f64a2d3a969cdfb GIT binary patch literal 1715 zcmV;k22A<8T>iDI_kjFmFus)m5rVj5@t|!cR=k{wx%Ik z{$2}e9V4^E^{}22J6Uwdji<`QGW(RGoPMu+GDUE$DN?Zo@wqQHw}CY`$X;8Bn2X@l zrO*WUL5Zkxe(*t2Iuo6KZ`b!m>yrZ0N(a(l6dCp7(8A(Q-(JJyVkCCDSz%L`tLklJ z7Yu7EM^Ghd@l@+j*C&T${qa=UlI|1EZ=or>y0js9@0>%2Tw*{Zl7$zSK->tSUIA_< zz@QK13OKm^V)T5P@mbVHEEV;}7XadQ^&XbU3mCFJ;^%l^^(99G37t?{mLhOYo9_5| z61d_nb-}!Tb&f2z*J?Q%x=ULe2=h3F7(zlA(uFbHMrm-ZD%A57eCra1z62W9K7v0upn;sK7F$(O>f6_sz|#6ynqn4%ucFiz&J~o@w+*fAR(X8`)FPt}-~7 zCF33%Poj^Qaol@J1OyU@j?^vo5Rep(@>%!R=IdsXv#%u`CXj`pn9Mef(yy$b#2UBX zw=mCvX(D~@%I{;)?J0@42W5^l?Yevv7`vjsyTiP}Vamr`I%h>Wi!48}DyJVee)nly zC(Ep;dJe=WA-vXIki;Rxx#abHX_h<06)_2;J(aIkyj6W2nJW{ODO$YLd0qa9cJa}> zq**fBssl%%`*vNk4piI&0T1~H27~P5;s&sEZiHxxGqAt}G*XhrtR(*b&wueI4jyGy z@#O85tgT@&nuWv^gZ6LQK#}G&8@NC;&`82HAnrssI|8J$AtKwW-6tB