From 195313dfe10a23c82e9d56d5fdd2f59beee1bdcf Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 3 Feb 2023 16:33:09 +1100 Subject: [PATCH 001/232] harden Linux seccomp sandbox Linux mmap(2) and madvise(2) syscalls support quite a number of funky flags that we don't expect that sshd/libc will ever need. We can exclude this kernel attack surface by filtering the mmap(2) flags and the madvise(2) advice arguments. Similarly, the sandboxed process in sshd is a single-threaded program that does not use shared memory for synchronisation or communication. Therefore, there should be no reason for the advanced priority inheritance futex(2) operations to be necessary. These can also be excluded. Motivated by Jann Horn pointing out that there have been kernel bugs in nearby Linux kernel code, e.g. CVE-2020-29368, CVE-2020-29374 and CVE-2022-42703. Feedback Jann Horn, ok dtucker@ --- sandbox-seccomp-filter.c | 79 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 74 insertions(+), 5 deletions(-) diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c index 4ab49eb6e..78c266231 100644 --- a/sandbox-seccomp-filter.c +++ b/sandbox-seccomp-filter.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2012 Will Drewry + * Copyright (c) 2015,2017,2019,2020,2023 Damien Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -48,6 +49,7 @@ #include #include +#include #include #include #include @@ -132,6 +134,67 @@ /* reload syscall number; all rules expect it in accumulator */ \ BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ offsetof(struct seccomp_data, nr)) +/* Deny unless syscall argument contains only values in mask */ +#define SC_DENY_UNLESS_ARG_MASK(_nr, _arg_nr, _arg_mask, _errno) \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, (_nr), 0, 8), \ + /* load, mask and test syscall argument, low word */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ + offsetof(struct seccomp_data, args[(_arg_nr)]) + ARG_LO_OFFSET), \ + BPF_STMT(BPF_ALU+BPF_AND+BPF_K, ~((_arg_mask) & 0xFFFFFFFF)), \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 0, 3), \ + /* load, mask and test syscall argument, high word */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ + offsetof(struct seccomp_data, args[(_arg_nr)]) + ARG_HI_OFFSET), \ + BPF_STMT(BPF_ALU+BPF_AND+BPF_K, \ + ~(((uint32_t)((uint64_t)(_arg_mask) >> 32)) & 0xFFFFFFFF)), \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 1, 0), \ + BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ERRNO|(_errno)), \ + /* reload syscall number; all rules expect it in accumulator */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ + offsetof(struct seccomp_data, nr)) +#define SC_DENY_UNLESS_MASK(_nr, _arg_nr, _arg_val, _errno) \ +/* Special handling for futex(2) that combines a bitmap and operation number */ +#if defined(__NR_futex) || defined(__NR_futex_time64) +#define SC_FUTEX_MASK (FUTEX_PRIVATE_FLAG|FUTEX_CLOCK_REALTIME) +#define SC_ALLOW_FUTEX_OP(_nr, _op) \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, (_nr), 0, 8), \ + /* load syscall argument, low word */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ + offsetof(struct seccomp_data, args[1]) + ARG_LO_OFFSET), \ + /* mask off allowed bitmap values, low word */ \ + BPF_STMT(BPF_ALU+BPF_AND+BPF_K, ~(SC_FUTEX_MASK & 0xFFFFFFFF)), \ + /* test operation number, low word */ \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ((_op) & 0xFFFFFFFF), 0, 4), \ + /* load syscall argument, high word */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, \ + offsetof(struct seccomp_data, args[1]) + ARG_HI_OFFSET), \ + /* mask off allowed bitmap values, high word */ \ + BPF_STMT(BPF_ALU+BPF_AND+BPF_K, \ + ~(((uint32_t)((uint64_t)SC_FUTEX_MASK >> 32)) & 0xFFFFFFFF)), \ + /* test operation number, high word */ \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, \ + (((uint32_t)((uint64_t)(_op) >> 32)) & 0xFFFFFFFF), 0, 1), \ + BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), \ + /* reload syscall number; all rules expect it in accumulator */ \ + BPF_STMT(BPF_LD+BPF_W+BPF_ABS, offsetof(struct seccomp_data, nr)) + +/* Use this for both __NR_futex and __NR_futex_time64 */ +# define SC_FUTEX(_nr) \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_WAIT), \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_WAIT_BITSET), \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_WAKE), \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_WAKE_BITSET), \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_REQUEUE), \ + SC_ALLOW_FUTEX_OP(__NR_futex, FUTEX_CMP_REQUEUE) +#endif /* __NR_futex || __NR_futex_time64 */ + +#if defined(__NR_mmap) || defined(__NR_mmap2) +/* Use this for both __NR_mmap and __NR_mmap2 variants */ +# define SC_MMAP(_nr) \ + SC_DENY_UNLESS_ARG_MASK(_nr, 3, \ + MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED|MAP_FIXED_NOREPLACE, EINVAL), \ + SC_ALLOW_ARG_MASK(_nr, 2, PROT_READ|PROT_WRITE|PROT_NONE) +#endif /* __NR_mmap || __NR_mmap2 */ /* Syscall filtering set for preauth. */ static const struct sock_filter preauth_insns[] = { @@ -211,10 +274,10 @@ static const struct sock_filter preauth_insns[] = { SC_ALLOW(__NR_exit_group), #endif #ifdef __NR_futex - SC_ALLOW(__NR_futex), + SC_FUTEX(__NR_futex), #endif #ifdef __NR_futex_time64 - SC_ALLOW(__NR_futex_time64), + SC_FUTEX(__NR_futex_time64), #endif #ifdef __NR_geteuid SC_ALLOW(__NR_geteuid), @@ -244,13 +307,19 @@ static const struct sock_filter preauth_insns[] = { SC_ALLOW(__NR_getuid32), #endif #ifdef __NR_madvise - SC_ALLOW(__NR_madvise), + SC_ALLOW_ARG(__NR_madvise, 2, MADV_NORMAL), + SC_ALLOW_ARG(__NR_madvise, 2, MADV_FREE), + SC_ALLOW_ARG(__NR_madvise, 2, MADV_DONTNEED), + SC_ALLOW_ARG(__NR_madvise, 2, MADV_DONTFORK), + SC_ALLOW_ARG(__NR_madvise, 2, MADV_DONTDUMP), + SC_ALLOW_ARG(__NR_madvise, 2, MADV_WIPEONFORK), + SC_DENY(__NR_madvise, EINVAL), #endif #ifdef __NR_mmap - SC_ALLOW_ARG_MASK(__NR_mmap, 2, PROT_READ|PROT_WRITE|PROT_NONE), + SC_MMAP(__NR_mmap), #endif #ifdef __NR_mmap2 - SC_ALLOW_ARG_MASK(__NR_mmap2, 2, PROT_READ|PROT_WRITE|PROT_NONE), + SC_MMAP(__NR_mmap2), #endif #ifdef __NR_mprotect SC_ALLOW_ARG_MASK(__NR_mprotect, 2, PROT_READ|PROT_WRITE|PROT_NONE), From 95b6bbd2553547260b324b39d602061c88b774bc Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 7 Feb 2023 08:43:47 +1100 Subject: [PATCH 002/232] Replace 9.1 with 9.2 on CI status page. --- .github/ci-status.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/ci-status.md b/.github/ci-status.md index d13bbfa8c..3d4877588 100644 --- a/.github/ci-status.md +++ b/.github/ci-status.md @@ -5,6 +5,6 @@ master : [![CIFuzz](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) -9.1 : -[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_1)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_1) -[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_1)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_1) +9.2 : +[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_2)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_2) +[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_2)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_2) From 3c379c9a849a635cc7f05cbe49fe473ccf469ef9 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 9 Feb 2023 09:54:11 +0000 Subject: [PATCH 003/232] upstream: Ensure that there is a terminating newline when adding a new entry to known_hosts. bz#3529, with git+openssh at limpsquid.nl, ok deraadt@ markus@ OpenBSD-Commit-ID: fa8d90698da1886570512b96f051e266eac105e0 --- hostfile.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/hostfile.c b/hostfile.c index bd49e3ac7..f5fa80840 100644 --- a/hostfile.c +++ b/hostfile.c @@ -1,4 +1,4 @@ -/* $OpenBSD: hostfile.c,v 1.93 2022/01/06 22:02:52 djm Exp $ */ +/* $OpenBSD: hostfile.c,v 1.94 2023/02/09 09:54:11 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -520,9 +520,17 @@ add_host_to_hostfile(const char *filename, const char *host, if (key == NULL) return 1; /* XXX ? */ hostfile_create_user_ssh_dir(filename, 0); - f = fopen(filename, "a"); + f = fopen(filename, "a+"); if (!f) return 0; + /* Make sure we have a terminating newline. */ + if (fseek(f, -1L, SEEK_END) == 0 && fgetc(f) != '\n') + if (fputc('\n', f) != '\n') { + error("Failed to add terminating newline to %s: %s", + filename, strerror(errno)); + fclose(f); + return 0; + } success = write_host_entry(f, host, NULL, key, store_hash); fclose(f); return success; From caec6da1a583ed8c32c6ad3b81bbcaab46ac8b61 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Wed, 8 Feb 2023 08:06:03 +0000 Subject: [PATCH 004/232] upstream: ssh-agent doesn't actually take -v, so the recently-added ones will result in the test not cleaning up after itself. Patch from cjwatson at debian.org vi bz#3536. OpenBSD-Regress-ID: 1fc8283568f5bf2f918517c2c1e778072cf61b1a --- regress/agent-getpeereid.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/regress/agent-getpeereid.sh b/regress/agent-getpeereid.sh index 79e9c7d9e..f6532f0e9 100644 --- a/regress/agent-getpeereid.sh +++ b/regress/agent-getpeereid.sh @@ -1,3 +1,4 @@ +# $OpenBSD: agent-getpeereid.sh,v 1.15 2023/02/08 08:06:03 dtucker Exp $ # $OpenBSD: agent-getpeereid.sh,v 1.13 2021/09/01 00:50:27 dtucker Exp $ # Placed in the Public Domain. @@ -53,7 +54,7 @@ else fi trace "kill agent" - ${SSHAGENT} -vvv -k >>$OBJ/ssh-agent.log 2>&1 + ${SSHAGENT} -k >>$OBJ/ssh-agent.log 2>&1 fi rm -f ${OBJ}/agent From 22efb01e355bba4755b730ed417f91c081445bfc Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 9 Feb 2023 09:55:33 +0000 Subject: [PATCH 005/232] upstream: Test adding terminating newline to known_hosts. OpenBSD-Regress-ID: 5fc3010ac450195b3fbdeb68e875564968800365 --- regress/knownhosts.sh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/regress/knownhosts.sh b/regress/knownhosts.sh index dfc768ac9..7a9da5b14 100644 --- a/regress/knownhosts.sh +++ b/regress/knownhosts.sh @@ -1,4 +1,4 @@ -# $OpenBSD: knownhosts.sh,v 1.1 2021/10/01 05:20:20 dtucker Exp $ +# $OpenBSD: knownhosts.sh,v 1.2 2023/02/09 09:55:33 dtucker Exp $ # Placed in the Public Domain. tid="known hosts" @@ -15,3 +15,21 @@ ${SSH} -ohashknownhosts=yes -o stricthostkeychecking=no $opts somehost true \ trace "test hashed known hosts" ${SSH} $opts somehost true || fail "reconnect with hashed known hosts" + +trace "no newline at end of known_hosts" +printf "something" >$OBJ/known_hosts +${SSH} $opts -ostricthostkeychecking=no somehost true \ + || fail "hostkey update, missing newline, no strict" +${SSH} $opts -ostricthostkeychecking=yes somehost true \ + || fail "reconnect after adding with missing newline" + +trace "newline at end of known_hosts" +printf "something\n" >$OBJ/known_hosts +${SSH} $opts -ostricthostkeychecking=no somehost true \ + || fail "hostkey update, newline, no strict" +${SSH} $opts -ostricthostkeychecking=yes somehost true \ + || fail "reconnect after adding without missing newline" +lines=`wc -l <$OBJ/known_hosts` +if [ $lines -ne 2 ]; then + fail "expected 2 lines in known_hosts, found $lines" +fi From d3b8d4198b6595f23b5859d43dc8fc701f97429b Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 10 Feb 2023 14:26:44 +1100 Subject: [PATCH 006/232] Add CentOS 7 test targets. --- .github/workflows/selfhosted.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/selfhosted.yml b/.github/workflows/selfhosted.yml index 50bc9fffb..d067e48f8 100644 --- a/.github/workflows/selfhosted.yml +++ b/.github/workflows/selfhosted.yml @@ -21,6 +21,7 @@ jobs: matrix: target: - alpine + - centos7 - debian-i386 - dfly30 - dfly48 @@ -51,6 +52,7 @@ jobs: include: # Then we include extra libvirt test configs. - { target: aix51, config: default, host: libvirt } + - { target: centos7, config: pam, host: libvirt } - { target: debian-i386, config: pam, host: libvirt } - { target: dfly30, config: without-openssl, host: libvirt} - { target: dfly48, config: pam ,host: libvirt } From df7d3dbf7194db8e97730ee0425d4d9d7bdb8b10 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 10 Feb 2023 04:40:28 +0000 Subject: [PATCH 007/232] upstream: make `ssh -Q CASignatureAlgorithms` work as the manpage says it should bz3532 OpenBSD-Commit-ID: 0ddb17b3fcbd99bfb5baea4ac5e449620cbd3adc --- ssh.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ssh.c b/ssh.c index 87454b84a..918389bcc 100644 --- a/ssh.c +++ b/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.584 2023/01/17 18:52:44 millert Exp $ */ +/* $OpenBSD: ssh.c,v 1.585 2023/02/10 04:40:28 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -794,6 +794,7 @@ main(int ac, char **av) else if (strcmp(optarg, "key-plain") == 0) cp = sshkey_alg_list(0, 1, 0, '\n'); else if (strcmp(optarg, "key-sig") == 0 || + strcasecmp(optarg, "CASignatureAlgorithms") == 0 || strcasecmp(optarg, "PubkeyAcceptedKeyTypes") == 0 || /* deprecated name */ strcasecmp(optarg, "PubkeyAcceptedAlgorithms") == 0 || strcasecmp(optarg, "HostKeyAlgorithms") == 0 || From 18938d11a90b74d63c20b2d3c965d5bd64786ab1 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 10 Feb 2023 04:47:19 +0000 Subject: [PATCH 008/232] upstream: add a `sshd -G` option that parses and prints the effective configuration without attempting to load private keys and perform other checks. This allows usage of the option before keys have been generated. bz3460 feedback/ok dtucker@ OpenBSD-Commit-ID: 774504f629023fc25a559ab1d95401adb3a7fb29 --- sshd.8 | 20 +++++++++++++++++--- sshd.c | 44 ++++++++++++++++++++++++++++---------------- 2 files changed, 45 insertions(+), 19 deletions(-) diff --git a/sshd.8 b/sshd.8 index bace97839..eb063c716 100644 --- a/sshd.8 +++ b/sshd.8 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd.8,v 1.322 2023/01/18 01:50:21 millert Exp $ -.Dd $Mdocdate: January 18 2023 $ +.\" $OpenBSD: sshd.8,v 1.323 2023/02/10 04:47:19 djm Exp $ +.Dd $Mdocdate: February 10 2023 $ .Dt SSHD 8 .Os .Sh NAME @@ -43,7 +43,7 @@ .Sh SYNOPSIS .Nm sshd .Bk -words -.Op Fl 46DdeiqTtV +.Op Fl 46DGdeiqTtV .Op Fl C Ar connection_spec .Op Fl c Ar host_certificate_file .Op Fl E Ar log_file @@ -154,6 +154,15 @@ The default is .Pa /etc/ssh/sshd_config . .Nm refuses to start if there is no configuration file. +.It Fl G +Parse and print configuration file. +Check the validity of the configuration file, output the effective configuration +to stdout and then exit. +Optionally, +.Cm Match +rules may be applied by specifying the connection parameters using one or more +.Fl C +options. .It Fl g Ar login_grace_time Gives the grace time for clients to authenticate themselves (default 120 seconds). @@ -208,6 +217,11 @@ Optionally, rules may be applied by specifying the connection parameters using one or more .Fl C options. +This is similar to the +.Fl G +flag, but it includes the additional testing performed by the +.Fl t +flag. .It Fl t Test mode. Only check the validity of the configuration file and sanity of the keys. diff --git a/sshd.c b/sshd.c index 6321936c0..ce48602d7 100644 --- a/sshd.c +++ b/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.596 2023/01/18 01:50:21 millert Exp $ */ +/* $OpenBSD: sshd.c,v 1.597 2023/02/10 04:47:19 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -901,7 +901,7 @@ usage(void) { fprintf(stderr, "%s, %s\n", SSH_RELEASE, SSH_OPENSSL_VERSION); fprintf(stderr, -"usage: sshd [-46DdeiqTtV] [-C connection_spec] [-c host_cert_file]\n" +"usage: sshd [-46DdeGiqTtV] [-C connection_spec] [-c host_cert_file]\n" " [-E log_file] [-f config_file] [-g login_grace_time]\n" " [-h host_key_file] [-o option] [-p port] [-u len]\n" ); @@ -1524,6 +1524,21 @@ prepare_proctitle(int ac, char **av) return ret; } +static void +print_config(struct ssh *ssh, struct connection_info *connection_info) +{ + /* + * If no connection info was provided by -C then use + * use a blank one that will cause no predicate to match. + */ + if (connection_info == NULL) + connection_info = get_connection_info(ssh, 0, 0); + connection_info->test = 1; + parse_server_match_config(&options, &includes, connection_info); + dump_config(&options); + exit(0); +} + /* * Main program for the daemon. */ @@ -1533,7 +1548,7 @@ main(int ac, char **av) struct ssh *ssh = NULL; extern char *optarg; extern int optind; - int r, opt, on = 1, already_daemon, remote_port; + int r, opt, on = 1, do_dump_cfg = 0, already_daemon, remote_port; int sock_in = -1, sock_out = -1, newsock = -1; const char *remote_ip, *rdomain; char *fp, *line, *laddr, *logfile = NULL; @@ -1581,7 +1596,7 @@ main(int ac, char **av) /* Parse command-line arguments. */ while ((opt = getopt(ac, av, - "C:E:b:c:f:g:h:k:o:p:u:46DQRTdeiqrtV")) != -1) { + "C:E:b:c:f:g:h:k:o:p:u:46DGQRTdeiqrtV")) != -1) { switch (opt) { case '4': options.address_family = AF_INET; @@ -1606,6 +1621,9 @@ main(int ac, char **av) case 'D': no_daemon_flag = 1; break; + case 'G': + do_dump_cfg = 1; + break; case 'E': logfile = optarg; /* FALLTHROUGH */ @@ -1693,7 +1711,7 @@ main(int ac, char **av) } if (rexeced_flag || inetd_flag) rexec_flag = 0; - if (!test_flag && rexec_flag && !path_absolute(av[0])) + if (!test_flag && !do_dump_cfg && rexec_flag && !path_absolute(av[0])) fatal("sshd re-exec requires execution with an absolute path"); if (rexeced_flag) closefrom(REEXEC_MIN_FREE_FD); @@ -1799,6 +1817,9 @@ main(int ac, char **av) debug("sshd version %s, %s", SSH_VERSION, SSH_OPENSSL_VERSION); + if (do_dump_cfg) + print_config(ssh, connection_info); + /* Store privilege separation user for later use if required. */ privsep_chroot = use_privsep && (getuid() == 0 || geteuid() == 0); if ((privsep_pw = getpwnam(SSH_PRIVSEP_USER)) == NULL) { @@ -1981,17 +2002,8 @@ main(int ac, char **av) "world-writable.", _PATH_PRIVSEP_CHROOT_DIR); } - if (test_flag > 1) { - /* - * If no connection info was provided by -C then use - * use a blank one that will cause no predicate to match. - */ - if (connection_info == NULL) - connection_info = get_connection_info(ssh, 0, 0); - connection_info->test = 1; - parse_server_match_config(&options, &includes, connection_info); - dump_config(&options); - } + if (test_flag > 1) + print_config(ssh, connection_info); /* Configuration looks good, so exit if in test mode. */ if (test_flag) From d651f5c9fe37e61491eee46c49ba9fa03dbc0e6a Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 10 Feb 2023 04:56:30 +0000 Subject: [PATCH 009/232] upstream: let ssh-keygen and ssh-keyscan accept -Ohashalg=sha1|sha256 when outputting SSHFP fingerprints to allow algorithm selection. bz3493 ok dtucker@ OpenBSD-Commit-ID: e6e07fe21318a873bd877f333e189eb963a11b3d --- dns.c | 7 +++++-- dns.h | 4 ++-- ssh-keygen.1 | 19 +++++++++++++++++-- ssh-keygen.c | 30 ++++++++++++++++++++---------- ssh-keyscan.1 | 19 +++++++++++++++++-- ssh-keyscan.c | 22 ++++++++++++++++------ 6 files changed, 77 insertions(+), 24 deletions(-) diff --git a/dns.c b/dns.c index f2310bec2..823951efa 100644 --- a/dns.c +++ b/dns.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dns.c,v 1.42 2022/02/01 23:32:51 djm Exp $ */ +/* $OpenBSD: dns.c,v 1.43 2023/02/10 04:56:30 djm Exp $ */ /* * Copyright (c) 2003 Wesley Griffin. All rights reserved. @@ -301,7 +301,8 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address, * Export the fingerprint of a key as a DNS resource record */ int -export_dns_rr(const char *hostname, struct sshkey *key, FILE *f, int generic) +export_dns_rr(const char *hostname, struct sshkey *key, FILE *f, int generic, + int alg) { u_int8_t rdata_pubkey_algorithm = 0; u_int8_t rdata_digest_type = SSHFP_HASH_RESERVED; @@ -311,6 +312,8 @@ export_dns_rr(const char *hostname, struct sshkey *key, FILE *f, int generic) int success = 0; for (dtype = SSHFP_HASH_SHA1; dtype < SSHFP_HASH_MAX; dtype++) { + if (alg != -1 && dtype != alg) + continue; rdata_digest_type = dtype; if (dns_read_key(&rdata_pubkey_algorithm, &rdata_digest_type, &rdata_digest, &rdata_digest_len, key)) { diff --git a/dns.h b/dns.h index c9b61c4f2..864ab7d00 100644 --- a/dns.h +++ b/dns.h @@ -1,4 +1,4 @@ -/* $OpenBSD: dns.h,v 1.19 2021/07/19 03:13:28 dtucker Exp $ */ +/* $OpenBSD: dns.h,v 1.20 2023/02/10 04:56:30 djm Exp $ */ /* * Copyright (c) 2003 Wesley Griffin. All rights reserved. @@ -54,6 +54,6 @@ enum sshfp_hashes { int verify_host_key_dns(const char *, struct sockaddr *, struct sshkey *, int *); -int export_dns_rr(const char *, struct sshkey *, FILE *, int); +int export_dns_rr(const char *, struct sshkey *, FILE *, int, int); #endif /* DNS_H */ diff --git a/ssh-keygen.1 b/ssh-keygen.1 index 8b1f617d2..715c9cc68 100644 --- a/ssh-keygen.1 +++ b/ssh-keygen.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keygen.1,v 1.226 2022/09/10 08:50:53 jsg Exp $ +.\" $OpenBSD: ssh-keygen.1,v 1.227 2023/02/10 04:56:30 djm Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -35,7 +35,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: September 10 2022 $ +.Dd $Mdocdate: February 10 2023 $ .Dt SSH-KEYGEN 1 .Os .Sh NAME @@ -518,6 +518,21 @@ suffixed with a Z character, which causes them to be interpreted in the UTC time zone. .El .Pp +When generating SSHFP DNS records from public keys using the +.Fl r +flag, the following options are accepted: +.Bl -tag -width Ds +.It Cm hashalg Ns = Ns Ar algorithm +Selects a hash algorithm to use when printing SSHFP records using the +.Fl D +flag. +Valid algorithms are +.Dq sha1 +and +.Dq sha256. +The default is to print both. +.El +.Pp The .Fl O option may be specified multiple times. diff --git a/ssh-keygen.c b/ssh-keygen.c index ae05440f6..5f8337f4e 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.461 2022/12/04 23:50:49 cheloha Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.462 2023/02/10 04:56:30 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -1479,13 +1479,23 @@ do_change_passphrase(struct passwd *pw) */ static int do_print_resource_record(struct passwd *pw, char *fname, char *hname, - int print_generic) + int print_generic, char * const *opts, size_t nopts) { struct sshkey *public; char *comment = NULL; struct stat st; - int r; + int r, hash = -1; + size_t i; + for (i = 0; i < nopts; i++) { + if (strncasecmp(opts[i], "hashalg=", 8) == 0) { + if ((hash = ssh_digest_alg_by_name(opts[i] + 8)) == -1) + fatal("Unsupported hash algorithm"); + } else { + error("Invalid option \"%s\"", opts[i]); + return SSH_ERR_INVALID_ARGUMENT; + } + } if (fname == NULL) fatal_f("no filename"); if (stat(fname, &st) == -1) { @@ -1495,7 +1505,7 @@ do_print_resource_record(struct passwd *pw, char *fname, char *hname, } if ((r = sshkey_load_public(fname, &public, &comment)) != 0) fatal_r(r, "Failed to read v2 public key from \"%s\"", fname); - export_dns_rr(hname, public, stdout, print_generic); + export_dns_rr(hname, public, stdout, print_generic, hash); sshkey_free(public); free(comment); return 1; @@ -3725,7 +3735,7 @@ main(int argc, char **argv) if (have_identity) { n = do_print_resource_record(pw, identity_file, - rr_hostname, print_generic); + rr_hostname, print_generic, opts, nopts); if (n == 0) fatal("%s: %s", identity_file, strerror(errno)); exit(0); @@ -3733,19 +3743,19 @@ main(int argc, char **argv) n += do_print_resource_record(pw, _PATH_HOST_RSA_KEY_FILE, rr_hostname, - print_generic); + print_generic, opts, nopts); n += do_print_resource_record(pw, _PATH_HOST_DSA_KEY_FILE, rr_hostname, - print_generic); + print_generic, opts, nopts); n += do_print_resource_record(pw, _PATH_HOST_ECDSA_KEY_FILE, rr_hostname, - print_generic); + print_generic, opts, nopts); n += do_print_resource_record(pw, _PATH_HOST_ED25519_KEY_FILE, rr_hostname, - print_generic); + print_generic, opts, nopts); n += do_print_resource_record(pw, _PATH_HOST_XMSS_KEY_FILE, rr_hostname, - print_generic); + print_generic, opts, nopts); if (n == 0) fatal("no keys found."); exit(0); diff --git a/ssh-keyscan.1 b/ssh-keyscan.1 index ca4feea2a..6fb0c6f3f 100644 --- a/ssh-keyscan.1 +++ b/ssh-keyscan.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keyscan.1,v 1.47 2022/10/28 02:29:34 djm Exp $ +.\" $OpenBSD: ssh-keyscan.1,v 1.48 2023/02/10 04:56:30 djm Exp $ .\" .\" Copyright 1995, 1996 by David Mazieres . .\" @@ -6,7 +6,7 @@ .\" permitted provided that due credit is given to the author and the .\" OpenBSD project by leaving this copyright notice intact. .\" -.Dd $Mdocdate: October 28 2022 $ +.Dd $Mdocdate: February 10 2023 $ .Dt SSH-KEYSCAN 1 .Os .Sh NAME @@ -16,6 +16,7 @@ .Nm ssh-keyscan .Op Fl 46cDHv .Op Fl f Ar file +.Op Fl O Ar option .Op Fl p Ar port .Op Fl T Ar timeout .Op Fl t Ar type @@ -97,6 +98,20 @@ and .Xr sshd 8 , but they do not reveal identifying information should the file's contents be disclosed. +.It Fl O Ar option +Specify a key/value option. +At present, only a single option is supported: +.Bl -tag -width Ds +.It Cm hashalg Ns = Ns Ar algorithm +Selects a hash algorithm to use when printing SSHFP records using the +.Fl D +flag. +Valid algorithms are +.Dq sha1 +and +.Dq sha256. +The default is to print both. +.El .It Fl p Ar port Connect to .Ar port diff --git a/ssh-keyscan.c b/ssh-keyscan.c index 1318c2fa6..ad574eaf5 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keyscan.c,v 1.149 2022/12/26 19:16:03 jmc Exp $ */ +/* $OpenBSD: ssh-keyscan.c,v 1.150 2023/02/10 04:56:30 djm Exp $ */ /* * Copyright 1995, 1996 by David Mazieres . * @@ -40,6 +40,7 @@ #include "sshbuf.h" #include "sshkey.h" #include "cipher.h" +#include "digest.h" #include "kex.h" #include "compat.h" #include "myproposal.h" @@ -80,6 +81,8 @@ int print_sshfp = 0; /* Print SSHFP records instead of known_hosts */ int found_one = 0; /* Successfully found a key */ +int hashalg = -1; /* Hash for SSHFP records or -1 for all */ + #define MAXMAXFD 256 /* The number of seconds after which to give up on a TCP connection */ @@ -314,7 +317,7 @@ keyprint_one(const char *host, struct sshkey *key) found_one = 1; if (print_sshfp) { - export_dns_rr(host, key, stdout, 0); + export_dns_rr(host, key, stdout, 0, hashalg); return; } @@ -698,9 +701,8 @@ static void usage(void) { fprintf(stderr, - "usage: %s [-46cDHv] [-f file] [-p port] [-T timeout] [-t type]\n" - "\t\t [host | addrlist namelist]\n", - __progname); + "usage: ssh-keyscan [-46cDHv] [-f file] [-p port] [-T timeout] [-t type]\n" + " [-O option] [host | addrlist namelist]\n"); exit(1); } @@ -726,7 +728,7 @@ main(int argc, char **argv) if (argc <= 1) usage(); - while ((opt = getopt(argc, argv, "cDHv46p:T:t:f:")) != -1) { + while ((opt = getopt(argc, argv, "cDHv46O:p:T:t:f:")) != -1) { switch (opt) { case 'H': hash_hosts = 1; @@ -766,6 +768,14 @@ main(int argc, char **argv) optarg = NULL; argv[fopt_count++] = optarg; break; + case 'O': + /* Maybe other misc options in the future too */ + if (strncmp(optarg, "hashalg=", 8) != 0) + fatal("Unsupported -O option"); + if ((hashalg = ssh_digest_alg_by_name( + optarg + 8)) == -1) + fatal("Unsupported hash algorithm"); + break; case 't': get_keytypes = 0; tname = strtok(optarg, ","); From 6180b0fa4f7996687678702806257e661fd5931e Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 10 Feb 2023 05:06:03 +0000 Subject: [PATCH 010/232] upstream: test -Ohashalg=... and that the default output contains both specified hash algorithms; prompted by dtucker@ OpenBSD-Regress-ID: 26f309208c8d8b8fa9c5f419767b85f1e9b22f51 --- regress/keygen-sshfp.sh | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/regress/keygen-sshfp.sh b/regress/keygen-sshfp.sh index 2abf9adec..0f5eb8555 100644 --- a/regress/keygen-sshfp.sh +++ b/regress/keygen-sshfp.sh @@ -1,4 +1,4 @@ -# $OpenBSD: keygen-sshfp.sh,v 1.2 2021/07/19 02:29:28 dtucker Exp $ +# $OpenBSD: keygen-sshfp.sh,v 1.3 2023/02/10 05:06:03 djm Exp $ # Placed in the Public Domain. tid="keygen-sshfp" @@ -16,6 +16,25 @@ if [ "$fp" != \ fail "keygen fingerprint sha256" fi +# Expect two lines of output without an explicit algorithm +fp=`${SSHKEYGEN} -r test -f ${SRC}/ed25519_openssh.pub | wc -l` +if [ $(($fp + 0)) -ne 2 ] ; then + fail "incorrect number of SSHFP records $fp (expected 2)" +fi + +# Test explicit algorithm selection +exp="test IN SSHFP 4 1 8a8647a7567e202ce317e62606c799c53d4c121f" +fp=`${SSHKEYGEN} -Ohashalg=sha1 -r test -f ${SRC}/ed25519_openssh.pub` +if [ "x$exp" != "x$fp" ] ; then + fail "incorrect SHA1 SSHFP output" +fi + +exp="test IN SSHFP 4 2 54a506fb849aafb9f229cf78a94436c281efcb4ae67c8a430e8c06afcb5ee18f" +fp=`${SSHKEYGEN} -Ohashalg=sha256 -r test -f ${SRC}/ed25519_openssh.pub` +if [ "x$exp" != "x$fp" ] ; then + fail "incorrect SHA256 SSHFP output" +fi + if ${SSH} -Q key-plain | grep ssh-rsa >/dev/null; then fp=`${SSHKEYGEN} -r test -f ${SRC}/rsa_openssh.pub | awk '$5=="1"{print $6}'` if [ "$fp" != "99c79cc09f5f81069cc017cdf9552cfc94b3b929" ]; then @@ -27,3 +46,4 @@ if ${SSH} -Q key-plain | grep ssh-rsa >/dev/null; then fail "keygen fingerprint sha256" fi fi + From d9685121ff6d57b8797411f3cb123884a4b96e30 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sat, 11 Feb 2023 12:32:19 +1100 Subject: [PATCH 011/232] Improve seccomp compat on older systems. Check if flags to mmap and madvise are defined before using them. Should fix problems building on older Linux systems that don't have these. bz#3537, with & ok djm@. --- sandbox-seccomp-filter.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c index 78c266231..23b40b643 100644 --- a/sandbox-seccomp-filter.c +++ b/sandbox-seccomp-filter.c @@ -189,10 +189,14 @@ #endif /* __NR_futex || __NR_futex_time64 */ #if defined(__NR_mmap) || defined(__NR_mmap2) +# ifdef MAP_FIXED_NOREPLACE +# define SC_MMAP_FLAGS MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED|MAP_FIXED_NOREPLACE +# else +# define SC_MMAP_FLAGS MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED +# endif /* MAP_FIXED_NOREPLACE */ /* Use this for both __NR_mmap and __NR_mmap2 variants */ # define SC_MMAP(_nr) \ - SC_DENY_UNLESS_ARG_MASK(_nr, 3, \ - MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED|MAP_FIXED_NOREPLACE, EINVAL), \ + SC_DENY_UNLESS_ARG_MASK(_nr, 3, SC_MMAP_FLAGS, EINVAL), \ SC_ALLOW_ARG_MASK(_nr, 2, PROT_READ|PROT_WRITE|PROT_NONE) #endif /* __NR_mmap || __NR_mmap2 */ @@ -308,11 +312,21 @@ static const struct sock_filter preauth_insns[] = { #endif #ifdef __NR_madvise SC_ALLOW_ARG(__NR_madvise, 2, MADV_NORMAL), +# ifdef MADV_FREE SC_ALLOW_ARG(__NR_madvise, 2, MADV_FREE), +# endif +# ifdef MADV_DONTNEED SC_ALLOW_ARG(__NR_madvise, 2, MADV_DONTNEED), +# endif +# ifdef MADV_DONTFORK SC_ALLOW_ARG(__NR_madvise, 2, MADV_DONTFORK), +# endif +# ifdef MADV_DONTDUMP SC_ALLOW_ARG(__NR_madvise, 2, MADV_DONTDUMP), +# endif +# ifdef MADV_WIPEONFORK SC_ALLOW_ARG(__NR_madvise, 2, MADV_WIPEONFORK), +# endif SC_DENY(__NR_madvise, EINVAL), #endif #ifdef __NR_mmap From 16e82bf53fc34e43e3b948d43b68d5b27a7335e6 Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Fri, 10 Feb 2023 06:39:27 +0000 Subject: [PATCH 012/232] upstream: sort SYNOPSIS; OpenBSD-Commit-ID: dacd9da33277d5669a51213d880632599c890c1e --- sshd.8 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sshd.8 b/sshd.8 index eb063c716..9c8f2fcaa 100644 --- a/sshd.8 +++ b/sshd.8 @@ -33,7 +33,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd.8,v 1.323 2023/02/10 04:47:19 djm Exp $ +.\" $OpenBSD: sshd.8,v 1.324 2023/02/10 06:39:27 jmc Exp $ .Dd $Mdocdate: February 10 2023 $ .Dt SSHD 8 .Os @@ -43,7 +43,7 @@ .Sh SYNOPSIS .Nm sshd .Bk -words -.Op Fl 46DGdeiqTtV +.Op Fl 46DdeGiqTtV .Op Fl C Ar connection_spec .Op Fl c Ar host_certificate_file .Op Fl E Ar log_file From d39a96f70f81878c77336ed35f5c648c1804b71a Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Fri, 10 Feb 2023 06:40:48 +0000 Subject: [PATCH 013/232] upstream: space between macro and punctuation; OpenBSD-Commit-ID: abc95e550be9e6d9a7ff64b65c104c7be21ab19e --- ssh-keygen.1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssh-keygen.1 b/ssh-keygen.1 index 715c9cc68..1be082282 100644 --- a/ssh-keygen.1 +++ b/ssh-keygen.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keygen.1,v 1.227 2023/02/10 04:56:30 djm Exp $ +.\" $OpenBSD: ssh-keygen.1,v 1.228 2023/02/10 06:40:48 jmc Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -529,7 +529,7 @@ flag. Valid algorithms are .Dq sha1 and -.Dq sha256. +.Dq sha256 . The default is to print both. .El .Pp From 285cf6cd4b91a0a0ce33193c358c99085af33e43 Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Fri, 10 Feb 2023 06:41:53 +0000 Subject: [PATCH 014/232] upstream: space between macro and punctuation; sort usage(); OpenBSD-Commit-ID: 6141610cfca037700730e41f868d1d9124958f8c --- ssh-keyscan.1 | 4 ++-- ssh-keyscan.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ssh-keyscan.1 b/ssh-keyscan.1 index 6fb0c6f3f..aa6d34f63 100644 --- a/ssh-keyscan.1 +++ b/ssh-keyscan.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keyscan.1,v 1.48 2023/02/10 04:56:30 djm Exp $ +.\" $OpenBSD: ssh-keyscan.1,v 1.49 2023/02/10 06:41:53 jmc Exp $ .\" .\" Copyright 1995, 1996 by David Mazieres . .\" @@ -109,7 +109,7 @@ flag. Valid algorithms are .Dq sha1 and -.Dq sha256. +.Dq sha256 . The default is to print both. .El .It Fl p Ar port diff --git a/ssh-keyscan.c b/ssh-keyscan.c index ad574eaf5..3f3092e63 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keyscan.c,v 1.150 2023/02/10 04:56:30 djm Exp $ */ +/* $OpenBSD: ssh-keyscan.c,v 1.151 2023/02/10 06:41:53 jmc Exp $ */ /* * Copyright 1995, 1996 by David Mazieres . * @@ -701,8 +701,8 @@ static void usage(void) { fprintf(stderr, - "usage: ssh-keyscan [-46cDHv] [-f file] [-p port] [-T timeout] [-t type]\n" - " [-O option] [host | addrlist namelist]\n"); + "usage: ssh-keyscan [-46cDHv] [-f file] [-O option] [-p port] [-T timeout]\n" + " [-t type] [host | addrlist namelist]\n"); exit(1); } From 537cccd804eaf65f32bdce037cc31db4e0ab0f44 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 16 Feb 2023 07:55:15 +0000 Subject: [PATCH 015/232] upstream: Remove SSH_BUG_IGNOREMSG compat flag since it's only applicable to SSH1 and thus no longer used. ok markus@ "kill it with fire" djm@ OpenBSD-Commit-ID: ea13318b1937795d9db4790d3ce0a6ed01584dab --- compat.c | 9 +-------- compat.h | 4 ++-- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/compat.c b/compat.c index 478a9403e..7d0e27153 100644 --- a/compat.c +++ b/compat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.c,v 1.121 2023/02/02 12:10:05 djm Exp $ */ +/* $OpenBSD: compat.c,v 1.122 2023/02/16 07:55:15 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. * @@ -77,13 +77,6 @@ compat_banner(struct ssh *ssh, const char *version) { "3.0.*", SSH_BUG_DEBUG }, { "3.0 SecureCRT*", SSH_OLD_SESSIONID }, { "1.7 SecureFX*", SSH_OLD_SESSIONID }, - { "1.2.18*," - "1.2.19*," - "1.2.20*," - "1.2.21*," - "1.2.22*", SSH_BUG_IGNOREMSG }, - { "1.3.2*", /* F-Secure */ - SSH_BUG_IGNOREMSG }, { "Cisco-1.*", SSH_BUG_DHGEX_LARGE| SSH_BUG_HOSTKEYS }, { "*SSH Compatible Server*", /* Netscreen */ diff --git a/compat.h b/compat.h index 167409b2b..a9937dfdb 100644 --- a/compat.h +++ b/compat.h @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.h,v 1.57 2021/06/06 03:40:39 djm Exp $ */ +/* $OpenBSD: compat.h,v 1.58 2023/02/16 07:55:15 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved. @@ -35,7 +35,7 @@ /* #define unused 0x00000020 */ #define SSH_BUG_DEBUG 0x00000040 /* #define unused 0x00000080 */ -#define SSH_BUG_IGNOREMSG 0x00000100 +/* #define unused 0x00000100 */ /* #define unused 0x00000200 */ #define SSH_BUG_PASSWORDPAD 0x00000400 #define SSH_BUG_SCANNER 0x00000800 From 68350152406339170721c15e97afdf827a5e4001 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 16 Feb 2023 10:10:00 +0000 Subject: [PATCH 016/232] upstream: Remove SSH_BUG_PASSWORDPAD compat bit since it's no longer used. ok markus@ OpenBSD-Commit-ID: b92c21f56fe4b7f9a54790d6a9650725c226820b --- compat.c | 13 +------------ compat.h | 4 ++-- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/compat.c b/compat.c index 7d0e27153..3d40f1a3d 100644 --- a/compat.c +++ b/compat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.c,v 1.122 2023/02/16 07:55:15 dtucker Exp $ */ +/* $OpenBSD: compat.c,v 1.123 2023/02/16 10:10:00 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. * @@ -79,17 +79,6 @@ compat_banner(struct ssh *ssh, const char *version) { "1.7 SecureFX*", SSH_OLD_SESSIONID }, { "Cisco-1.*", SSH_BUG_DHGEX_LARGE| SSH_BUG_HOSTKEYS }, - { "*SSH Compatible Server*", /* Netscreen */ - SSH_BUG_PASSWORDPAD }, - { "*OSU_0*," - "OSU_1.0*," - "OSU_1.1*," - "OSU_1.2*," - "OSU_1.3*," - "OSU_1.4*," - "OSU_1.5alpha1*," - "OSU_1.5alpha2*," - "OSU_1.5alpha3*", SSH_BUG_PASSWORDPAD }, { "*SSH_Version_Mapper*", SSH_BUG_SCANNER }, { "PuTTY_Local:*," /* dev versions < Sep 2014 */ diff --git a/compat.h b/compat.h index a9937dfdb..9abe056dd 100644 --- a/compat.h +++ b/compat.h @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.h,v 1.58 2023/02/16 07:55:15 dtucker Exp $ */ +/* $OpenBSD: compat.h,v 1.59 2023/02/16 10:10:00 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved. @@ -37,7 +37,7 @@ /* #define unused 0x00000080 */ /* #define unused 0x00000100 */ /* #define unused 0x00000200 */ -#define SSH_BUG_PASSWORDPAD 0x00000400 +/* #define unused 0x00000400 */ #define SSH_BUG_SCANNER 0x00000800 #define SSH_BUG_BIGENDIANAES 0x00001000 #define SSH_BUG_RSASIGMD5 0x00002000 From 500f90b39db5f0014e6b0c49ff1f45c994b69293 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 17 Feb 2023 10:02:08 +1100 Subject: [PATCH 017/232] whitespace at EOL --- openbsd-compat/libressl-api-compat.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/openbsd-compat/libressl-api-compat.c b/openbsd-compat/libressl-api-compat.c index 801a2e8dd..498180dc8 100644 --- a/openbsd-compat/libressl-api-compat.c +++ b/openbsd-compat/libressl-api-compat.c @@ -10,21 +10,21 @@ * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -39,10 +39,10 @@ * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -54,7 +54,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -75,7 +75,7 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in From c81c2bea6e828d52b62b448b4ffdd3c163177975 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 17 Feb 2023 10:12:40 +1100 Subject: [PATCH 018/232] whitespace fixes --- openbsd-compat/bsd-snprintf.c | 90 +++++++++++++++++------------------ 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/openbsd-compat/bsd-snprintf.c b/openbsd-compat/bsd-snprintf.c index b9eaee14f..bc505b838 100644 --- a/openbsd-compat/bsd-snprintf.c +++ b/openbsd-compat/bsd-snprintf.c @@ -35,9 +35,9 @@ * original. Also, there is now a builtin-test, just compile with: * gcc -DTEST_SNPRINTF -o snprintf snprintf.c -lm * and run snprintf for results. - * + * * Thomas Roessler 01/27/98 for mutt 0.89i - * The PGP code was using unsigned hexadecimal formats. + * The PGP code was using unsigned hexadecimal formats. * Unfortunately, unsigned formats simply didn't work. * * Michael Elkins 03/05/98 for mutt 0.90.8 @@ -55,20 +55,20 @@ * * date: 2002/12/19 19:56:31; author: herb; state: Exp; lines: +2 -0 * actually print args for %g and %e - * + * * date: 2002/06/03 13:37:52; author: jmcd; state: Exp; lines: +8 -0 * Since includes.h isn't included here, VA_COPY has to be defined here. I don't * see any include file that is guaranteed to be here, so I'm defining it * locally. Fixes AIX and Solaris builds. - * + * * date: 2002/06/03 03:07:24; author: tridge; state: Exp; lines: +5 -13 * put the ifdef for HAVE_VA_COPY in one place rather than in lots of * functions - * + * * date: 2002/05/17 14:51:22; author: jmcd; state: Exp; lines: +21 -4 * Fix usage of va_list passed as an arg. Use __va_copy before using it * when it exists. - * + * * date: 2002/04/16 22:38:04; author: idra; state: Exp; lines: +20 -14 * Fix incorrect zpadlen handling in fmtfp. * Thanks to Ollie Oldham for spotting it. @@ -167,7 +167,7 @@ (pos)++; \ } while (0) -static int dopr(char *buffer, size_t maxlen, const char *format, +static int dopr(char *buffer, size_t maxlen, const char *format, va_list args_in); static int fmtstr(char *buffer, size_t *currlen, size_t maxlen, char *value, int flags, int min, int max); @@ -192,19 +192,19 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) va_list args; VA_COPY(args, args_in); - + state = DP_S_DEFAULT; currlen = flags = cflags = min = 0; max = -1; ch = *format++; - + while (state != DP_S_DONE) { - if (ch == '\0') + if (ch == '\0') state = DP_S_DONE; switch(state) { case DP_S_DEFAULT: - if (ch == '%') + if (ch == '%') state = DP_S_FLAGS; else DOPR_OUTCH(buffer, currlen, maxlen, ch); @@ -253,7 +253,7 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) if (ch == '.') { state = DP_S_MAX; ch = *format++; - } else { + } else { state = DP_S_MOD; } break; @@ -306,7 +306,7 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) switch (ch) { case 'd': case 'i': - if (cflags == DP_C_SHORT) + if (cflags == DP_C_SHORT) value = va_arg (args, int); else if (cflags == DP_C_LONG) value = va_arg (args, long int); @@ -489,12 +489,12 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) } } if (maxlen != 0) { - if (currlen < maxlen - 1) + if (currlen < maxlen - 1) buffer[currlen] = '\0'; - else if (maxlen > 0) + else if (maxlen > 0) buffer[maxlen - 1] = '\0'; } - + return currlen < INT_MAX ? (int)currlen : -1; } @@ -514,11 +514,11 @@ fmtstr(char *buffer, size_t *currlen, size_t maxlen, for (strln = 0; strln < max && value[strln]; ++strln); /* strlen */ padlen = min - strln; - if (padlen < 0) + if (padlen < 0) padlen = 0; - if (flags & DP_F_MINUS) + if (flags & DP_F_MINUS) padlen = -padlen; /* Left Justify */ - + while ((padlen > 0) && (cnt < max)) { DOPR_OUTCH(buffer, *currlen, maxlen, ' '); --padlen; @@ -550,12 +550,12 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen, int spadlen = 0; /* amount to space pad */ int zpadlen = 0; /* amount to zero pad */ int caps = 0; - + if (max < 0) max = 0; - + uvalue = value; - + if(!(flags & DP_F_UNSIGNED)) { if( value < 0 ) { signvalue = '-'; @@ -567,7 +567,7 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen, signvalue = ' '; } } - + if (flags & DP_F_UP) caps = 1; /* Should characters be upper case? */ do { @@ -587,7 +587,7 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen, zpadlen = MAX(zpadlen, spadlen); spadlen = 0; } - if (flags & DP_F_MINUS) + if (flags & DP_F_MINUS) spadlen = -spadlen; /* Left Justifty */ #ifdef DEBUG_SNPRINTF @@ -602,7 +602,7 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen, } /* Sign */ - if (signvalue) + if (signvalue) DOPR_OUTCH(buffer, *currlen, maxlen, signvalue); /* Zeros */ @@ -618,7 +618,7 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen, --place; DOPR_OUTCH(buffer, *currlen, maxlen, convert[place]); } - + /* Left Justified spaces */ while (spadlen < 0) { DOPR_OUTCH(buffer, *currlen, maxlen, ' '); @@ -633,19 +633,19 @@ static LDOUBLE abs_val(LDOUBLE value) if (value < 0) result = -value; - + return result; } static LDOUBLE POW10(int val) { LDOUBLE result = 1; - + while (val) { result *= 10; val--; } - + return result; } @@ -656,7 +656,7 @@ static LLONG ROUND(LDOUBLE value) intpart = (LLONG)value; value = value - intpart; if (value >= 0.5) intpart++; - + return intpart; } @@ -692,7 +692,7 @@ static double my_modf(double x0, double *iptr) ret = my_modf(x0-l*f, &i2); (*iptr) = l*f + i2; return ret; - } + } (*iptr) = l; return x - (*iptr); @@ -710,14 +710,14 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, int iplace = 0; int fplace = 0; int padlen = 0; /* amount to pad */ - int zpadlen = 0; + int zpadlen = 0; int caps = 0; int idx; double intpart; double fracpart; double temp; - - /* + + /* * AIX manpage says the default is 0, but Solaris says the default * is 6, and sprintf on AIX defaults to 6 */ @@ -745,8 +745,8 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, if (max == 0) ufvalue += 0.5; /* if max = 0 we must round */ #endif - /* - * Sorry, we only support 16 digits past the decimal because of our + /* + * Sorry, we only support 16 digits past the decimal because of our * conversion method */ if (max > 16) @@ -760,7 +760,7 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, my_modf(temp, &intpart); fracpart = ROUND((POW10(max)) * (ufvalue - intpart)); - + if (fracpart >= POW10(max)) { intpart++; fracpart -= POW10(max); @@ -794,16 +794,16 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, if (fplace == 311) fplace--; } fconvert[fplace] = 0; - + /* -1 for decimal point, another -1 if we are printing a sign */ - padlen = min - iplace - max - 1 - ((signvalue) ? 1 : 0); + padlen = min - iplace - max - 1 - ((signvalue) ? 1 : 0); zpadlen = max - fplace; if (zpadlen < 0) zpadlen = 0; - if (padlen < 0) + if (padlen < 0) padlen = 0; - if (flags & DP_F_MINUS) + if (flags & DP_F_MINUS) padlen = -padlen; /* Left Justifty */ - + if ((flags & DP_F_ZERO) && (padlen > 0)) { if (signvalue) { DOPR_OUTCH(buffer, *currlen, maxlen, signvalue); @@ -819,9 +819,9 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, DOPR_OUTCH(buffer, *currlen, maxlen, ' '); --padlen; } - if (signvalue) + if (signvalue) DOPR_OUTCH(buffer, *currlen, maxlen, signvalue); - + while (iplace > 0) { --iplace; DOPR_OUTCH(buffer, *currlen, maxlen, iconvert[iplace]); @@ -837,7 +837,7 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, */ if (max > 0) { DOPR_OUTCH(buffer, *currlen, maxlen, '.'); - + while (zpadlen > 0) { DOPR_OUTCH(buffer, *currlen, maxlen, '0'); --zpadlen; From 0833ccf2c8b7ae08b296c06f17bd53e3ab94b0b0 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 17 Feb 2023 03:06:18 +0000 Subject: [PATCH 019/232] upstream: Remove now-unused compat bit SSH_BUG_BIGENDIANAES. This was previously set for OpenSSH 2.3 (released in 2000) but this check was removed in OpenSSH 7.7 (2018). ok djm@ deraadt@ OpenBSD-Commit-ID: 326426ea328707fc9e83305291ab135c87f678af --- compat.c | 12 ++---------- compat.h | 4 ++-- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/compat.c b/compat.c index 3d40f1a3d..ad04328d5 100644 --- a/compat.c +++ b/compat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.c,v 1.123 2023/02/16 10:10:00 dtucker Exp $ */ +/* $OpenBSD: compat.c,v 1.124 2023/02/17 03:06:18 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. * @@ -142,15 +142,7 @@ compat_banner(struct ssh *ssh, const char *version) char * compat_cipher_proposal(struct ssh *ssh, char *cipher_prop) { - if (!(ssh->compat & SSH_BUG_BIGENDIANAES)) - return xstrdup(cipher_prop); - debug2_f("original cipher proposal: %s", cipher_prop); - if ((cipher_prop = match_filter_denylist(cipher_prop, "aes*")) == NULL) - fatal("match_filter_denylist failed"); - debug2_f("compat cipher proposal: %s", cipher_prop); - if (*cipher_prop == '\0') - fatal("No supported ciphers found"); - return cipher_prop; + return xstrdup(cipher_prop); } /* Always returns pointer to allocated memory, caller must free. */ diff --git a/compat.h b/compat.h index 9abe056dd..8d0ea2d68 100644 --- a/compat.h +++ b/compat.h @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.h,v 1.59 2023/02/16 10:10:00 dtucker Exp $ */ +/* $OpenBSD: compat.h,v 1.60 2023/02/17 03:06:18 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved. @@ -39,7 +39,7 @@ /* #define unused 0x00000200 */ /* #define unused 0x00000400 */ #define SSH_BUG_SCANNER 0x00000800 -#define SSH_BUG_BIGENDIANAES 0x00001000 +/* #define unused 0x00001000 */ #define SSH_BUG_RSASIGMD5 0x00002000 #define SSH_OLD_DHGEX 0x00004000 #define SSH_BUG_NOREKEY 0x00008000 From 2a7e3449908571af601a4c2d12ab140096442e47 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 17 Feb 2023 04:22:50 +0000 Subject: [PATCH 020/232] upstream: Remove now-unused compat bit SSH_BUG_RSASIGMD5. The code to set this was removed in OpenSSH 7.7 when support for SSH implementations dating back to before RFC standardization were removed. "burn it all" djm@ OpenBSD-Commit-ID: 6330935fbe23dd00be79891505e06d1ffdac7cda --- auth2-hostbased.c | 8 +------- auth2-pubkey.c | 8 +------- compat.c | 12 ++---------- compat.h | 4 ++-- kex.c | 6 +----- monitor.c | 7 +------ sshconnect2.c | 20 +++----------------- 7 files changed, 11 insertions(+), 54 deletions(-) diff --git a/auth2-hostbased.c b/auth2-hostbased.c index 6b517db41..cdfe7fd85 100644 --- a/auth2-hostbased.c +++ b/auth2-hostbased.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-hostbased.c,v 1.50 2022/09/17 10:34:29 djm Exp $ */ +/* $OpenBSD: auth2-hostbased.c,v 1.51 2023/02/17 04:22:50 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -101,12 +101,6 @@ userauth_hostbased(struct ssh *ssh, const char *method) "(received %d, expected %d)", key->type, pktype); goto done; } - if (sshkey_type_plain(key->type) == KEY_RSA && - (ssh->compat & SSH_BUG_RSASIGMD5) != 0) { - error("Refusing RSA key because peer uses unsafe " - "signature format"); - goto done; - } if (match_pattern_list(pkalg, options.hostbased_accepted_algos, 0) != 1) { logit_f("signature algorithm %s not in " "HostbasedAcceptedAlgorithms", pkalg); diff --git a/auth2-pubkey.c b/auth2-pubkey.c index 5d59febc3..b4f1f6384 100644 --- a/auth2-pubkey.c +++ b/auth2-pubkey.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-pubkey.c,v 1.117 2022/09/17 10:34:29 djm Exp $ */ +/* $OpenBSD: auth2-pubkey.c,v 1.118 2023/02/17 04:22:50 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2010 Damien Miller. All rights reserved. @@ -153,12 +153,6 @@ userauth_pubkey(struct ssh *ssh, const char *method) "(received %d, expected %d)", key->type, pktype); goto done; } - if (sshkey_type_plain(key->type) == KEY_RSA && - (ssh->compat & SSH_BUG_RSASIGMD5) != 0) { - logit("Refusing RSA key because client uses unsafe " - "signature scheme"); - goto done; - } if (auth2_key_already_used(authctxt, key)) { logit("refusing previously-used %s key", sshkey_type(key)); goto done; diff --git a/compat.c b/compat.c index ad04328d5..f967fc829 100644 --- a/compat.c +++ b/compat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.c,v 1.124 2023/02/17 03:06:18 dtucker Exp $ */ +/* $OpenBSD: compat.c,v 1.125 2023/02/17 04:22:50 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. * @@ -149,15 +149,7 @@ compat_cipher_proposal(struct ssh *ssh, char *cipher_prop) char * compat_pkalg_proposal(struct ssh *ssh, char *pkalg_prop) { - if (!(ssh->compat & SSH_BUG_RSASIGMD5)) - return xstrdup(pkalg_prop); - debug2_f("original public key proposal: %s", pkalg_prop); - if ((pkalg_prop = match_filter_denylist(pkalg_prop, "ssh-rsa")) == NULL) - fatal("match_filter_denylist failed"); - debug2_f("compat public key proposal: %s", pkalg_prop); - if (*pkalg_prop == '\0') - fatal("No supported PK algorithms found"); - return pkalg_prop; + return xstrdup(pkalg_prop); } /* Always returns pointer to allocated memory, caller must free. */ diff --git a/compat.h b/compat.h index 8d0ea2d68..1da367e84 100644 --- a/compat.h +++ b/compat.h @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.h,v 1.60 2023/02/17 03:06:18 dtucker Exp $ */ +/* $OpenBSD: compat.h,v 1.61 2023/02/17 04:22:50 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved. @@ -40,7 +40,7 @@ /* #define unused 0x00000400 */ #define SSH_BUG_SCANNER 0x00000800 /* #define unused 0x00001000 */ -#define SSH_BUG_RSASIGMD5 0x00002000 +/* #define unused 0x00002000 */ #define SSH_OLD_DHGEX 0x00004000 #define SSH_BUG_NOREKEY 0x00008000 /* #define unused 0x00010000 */ diff --git a/kex.c b/kex.c index 8cdefcf7c..7731ca900 100644 --- a/kex.c +++ b/kex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.c,v 1.173 2022/11/07 10:05:38 dtucker Exp $ */ +/* $OpenBSD: kex.c,v 1.174 2023/02/17 04:22:50 dtucker Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * @@ -1404,10 +1404,6 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms, r = SSH_ERR_CONN_CLOSED; /* XXX */ goto out; } - if ((ssh->compat & SSH_BUG_RSASIGMD5) != 0) { - logit("Remote version \"%.100s\" uses unsafe RSA signature " - "scheme; disabling use of RSA keys", remote_version); - } /* success */ r = 0; out: diff --git a/monitor.c b/monitor.c index 91e0e6245..f856c8738 100644 --- a/monitor.c +++ b/monitor.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor.c,v 1.234 2022/06/15 16:08:25 djm Exp $ */ +/* $OpenBSD: monitor.c,v 1.235 2023/02/17 04:22:50 dtucker Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -1161,11 +1161,6 @@ mm_answer_keyallowed(struct ssh *ssh, int sock, struct sshbuf *m) fatal_fr(r, "parse"); if (key != NULL && authctxt->valid) { - /* These should not make it past the privsep child */ - if (sshkey_type_plain(key->type) == KEY_RSA && - (ssh->compat & SSH_BUG_RSASIGMD5) != 0) - fatal_f("passed a SSH_BUG_RSASIGMD5 key"); - switch (type) { case MM_USERKEY: auth_method = "publickey"; diff --git a/sshconnect2.c b/sshconnect2.c index 58fe98db2..f0e6e6623 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect2.c,v 1.361 2022/09/17 10:33:18 djm Exp $ */ +/* $OpenBSD: sshconnect2.c,v 1.362 2023/02/17 04:22:50 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2008 Damien Miller. All rights reserved. @@ -1874,20 +1874,6 @@ pubkey_reset(Authctxt *authctxt) id->tried = 0; } -static int -try_identity(struct ssh *ssh, Identity *id) -{ - if (!id->key) - return (0); - if (sshkey_type_plain(id->key->type) == KEY_RSA && - (ssh->compat & SSH_BUG_RSASIGMD5) != 0) { - debug("Skipped %s key %s for RSA/MD5 server", - sshkey_type(id->key), id->filename); - return (0); - } - return 1; -} - static int userauth_pubkey(struct ssh *ssh) { @@ -1908,7 +1894,7 @@ userauth_pubkey(struct ssh *ssh) * private key instead */ if (id->key != NULL) { - if (try_identity(ssh, id)) { + if (id->key != NULL) { ident = format_identity(id); debug("Offering public key: %s", ident); free(ident); @@ -1918,7 +1904,7 @@ userauth_pubkey(struct ssh *ssh) debug("Trying private key: %s", id->filename); id->key = load_identity_file(id); if (id->key != NULL) { - if (try_identity(ssh, id)) { + if (id->key != NULL) { id->isprivate = 1; sent = sign_and_send_pubkey(ssh, id); } From ab69dda05d5268454209f529fa80f477e60d846a Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 20 Feb 2023 18:24:39 +1100 Subject: [PATCH 021/232] Always use the openssl binary configure tells us. This fixes tests on platforms that do not have the openssl tool installed at all. --- regress/test-exec.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index df43f0214..325393ce9 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -102,7 +102,8 @@ CONCH=conch # Tools used by multiple tests NC=$OBJ/netcat -OPENSSL_BIN="${OPENSSL_BIN:-openssl}" +# Always use the one configure tells us to, even if that's empty. +#OPENSSL_BIN="${OPENSSL_BIN:-openssl}" if [ "x$TEST_SSH_SSH" != "x" ]; then SSH="${TEST_SSH_SSH}" From ef798bad38505f7bf1b5fa5c0843dfc5a2b192b9 Mon Sep 17 00:00:00 2001 From: Mayank Sharma Date: Mon, 20 Feb 2023 17:37:15 +0530 Subject: [PATCH 022/232] Add includes to ptimeout test. Fixes test failures on AIX due to type mismatches. --- regress/unittests/misc/test_ptimeout.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/regress/unittests/misc/test_ptimeout.c b/regress/unittests/misc/test_ptimeout.c index 7adc590e9..f56e88996 100644 --- a/regress/unittests/misc/test_ptimeout.c +++ b/regress/unittests/misc/test_ptimeout.c @@ -5,6 +5,8 @@ * Placed in the public domain. */ +#include "includes.h" + #include #include #include From 17781aaa5188ee1477f7779b280d105512e3dbed Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 21 Feb 2023 17:38:55 +1100 Subject: [PATCH 023/232] Wrap stdint.h inside ifdef. --- regress/unittests/misc/test_ptimeout.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/regress/unittests/misc/test_ptimeout.c b/regress/unittests/misc/test_ptimeout.c index f56e88996..284f0a1ee 100644 --- a/regress/unittests/misc/test_ptimeout.c +++ b/regress/unittests/misc/test_ptimeout.c @@ -9,7 +9,9 @@ #include #include -#include +#ifdef HAVE_STDINT_H +# include +#endif #include #include #include From 357fb8ae14c07cd025eeed66e73de91bab569849 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 21 Feb 2023 17:51:09 +1100 Subject: [PATCH 024/232] Also run unit tests on AIX VMs. In the past these tests took too long, but these days it only adds about 5 min to the run. --- .github/configs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/configs b/.github/configs index bdd5ddbdf..8f21fc54a 100755 --- a/.github/configs +++ b/.github/configs @@ -221,7 +221,7 @@ case "${TARGET_HOST}" in # test run does not time out. # The agent-restrict test fails due to some quoting issue when run # with sh or ksh so specify bash for now. - TEST_TARGET="t-exec TEST_SHELL=bash" + TEST_TARGET="t-exec unit TEST_SHELL=bash" SKIP_LTESTS="rekey sftp" ;; debian-riscv64) From fe0bd3cde9665d364e5eedd2c2c2e60d4cdc3786 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Tue, 21 Feb 2023 06:48:18 +0000 Subject: [PATCH 025/232] upstream: fseek to end of known_hosts before writing to it. POSIX and ANSI C require that applications call fseek or similar between read and writing to a RW file. OpenBSD doesn't enforce this, but some (System V derived) platforms need this to prevent it from writing a spurious extra byte (in this case, a newline). ok djm@ deraadt@ OpenBSD-Commit-ID: 33e680dcd8110582a93a40a8491024e961f45137 --- hostfile.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/hostfile.c b/hostfile.c index f5fa80840..c5669c703 100644 --- a/hostfile.c +++ b/hostfile.c @@ -1,4 +1,4 @@ -/* $OpenBSD: hostfile.c,v 1.94 2023/02/09 09:54:11 dtucker Exp $ */ +/* $OpenBSD: hostfile.c,v 1.95 2023/02/21 06:48:18 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -515,7 +515,7 @@ add_host_to_hostfile(const char *filename, const char *host, const struct sshkey *key, int store_hash) { FILE *f; - int success; + int success, addnl = 0; if (key == NULL) return 1; /* XXX ? */ @@ -525,12 +525,13 @@ add_host_to_hostfile(const char *filename, const char *host, return 0; /* Make sure we have a terminating newline. */ if (fseek(f, -1L, SEEK_END) == 0 && fgetc(f) != '\n') - if (fputc('\n', f) != '\n') { - error("Failed to add terminating newline to %s: %s", - filename, strerror(errno)); - fclose(f); - return 0; - } + addnl = 1; + if (fseek(f, 0L, SEEK_END) != 0 || (addnl && fputc('\n', f) != '\n')) { + error("Failed to add terminating newline to %s: %s", + filename, strerror(errno)); + fclose(f); + return 0; + } success = write_host_entry(f, host, NULL, key, store_hash); fclose(f); return success; From 6c9fc9d7a9f7abf82c3294d74e6d4a25735862ce Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 22 Feb 2023 03:56:43 +0000 Subject: [PATCH 026/232] upstream: fix progressmeter corruption on wide displays; bz3534 feedback/ok dtucker@ OpenBSD-Commit-ID: f4affee067cec7c182f3e0b307d758e0472762a3 --- progressmeter.c | 97 +++++++++++++++++++++++++++---------------------- 1 file changed, 53 insertions(+), 44 deletions(-) diff --git a/progressmeter.c b/progressmeter.c index 8baf798f1..d9bfe795c 100644 --- a/progressmeter.c +++ b/progressmeter.c @@ -1,4 +1,4 @@ -/* $OpenBSD: progressmeter.c,v 1.50 2020/01/23 07:10:22 dtucker Exp $ */ +/* $OpenBSD: progressmeter.c,v 1.51 2023/02/22 03:56:43 djm Exp $ */ /* * Copyright (c) 2003 Nils Nordman. All rights reserved. * @@ -30,8 +30,11 @@ #include #include +#include +#include #include #include +#include #include #include #include @@ -51,10 +54,6 @@ /* determines whether we can output to the terminal */ static int can_output(void); -/* formats and inserts the specified size into the given buffer */ -static void format_size(char *, int, off_t); -static void format_rate(char *, int, off_t); - /* window resizing */ static void sig_winch(int); static void setscreensize(void); @@ -84,10 +83,14 @@ can_output(void) return (getpgrp() == tcgetpgrp(STDOUT_FILENO)); } -static void -format_rate(char *buf, int size, off_t bytes) +/* size needed to format integer type v, using (nbits(v) * log2(10) / 10) */ +#define STRING_SIZE(v) (((sizeof(v) * 8 * 4) / 10) + 1) + +static const char * +format_rate(off_t bytes) { int i; + static char buf[STRING_SIZE(bytes) * 2 + 16]; bytes *= 100; for (i = 0; bytes >= 100*1000 && unit[i] != 'T'; i++) @@ -96,37 +99,40 @@ format_rate(char *buf, int size, off_t bytes) i++; bytes = (bytes + 512) / 1024; } - snprintf(buf, size, "%3lld.%1lld%c%s", + snprintf(buf, sizeof(buf), "%3lld.%1lld%c%s", (long long) (bytes + 5) / 100, (long long) (bytes + 5) / 10 % 10, unit[i], i ? "B" : " "); + return buf; } -static void -format_size(char *buf, int size, off_t bytes) +static const char * +format_size(off_t bytes) { int i; + static char buf[STRING_SIZE(bytes) + 16]; for (i = 0; bytes >= 10000 && unit[i] != 'T'; i++) bytes = (bytes + 512) / 1024; - snprintf(buf, size, "%4lld%c%s", + snprintf(buf, sizeof(buf), "%4lld%c%s", (long long) bytes, unit[i], i ? "B" : " "); + return buf; } void refresh_progress_meter(int force_update) { - char buf[MAX_WINSIZE + 1]; + char *buf = NULL, *obuf = NULL; off_t transferred; double elapsed, now; int percent; off_t bytes_left; int cur_speed; int hours, minutes, seconds; - int file_len; + int file_len, cols; if ((!force_update && !alarm_fired && !win_resized) || !can_output()) return; @@ -164,32 +170,29 @@ refresh_progress_meter(int force_update) } else bytes_per_second = cur_speed; - /* filename */ - buf[0] = '\0'; - file_len = win_size - 36; - if (file_len > 0) { - buf[0] = '\r'; - snmprintf(buf+1, sizeof(buf)-1, &file_len, "%-*s", - file_len, file); - } + last_update = now; + /* Don't bother if we can't even display the completion percentage */ + if (win_size < 4) + return; + + /* filename */ + file_len = cols = win_size - 36; + if (file_len > 0) { + asmprintf(&buf, INT_MAX, &cols, "%-*s", file_len, file); + /* If we used fewer columns than expected then pad */ + if (cols < file_len) + xextendf(&buf, NULL, "%*s", file_len - cols, ""); + } /* percent of transfer done */ if (end_pos == 0 || cur_pos == end_pos) percent = 100; else percent = ((float)cur_pos / end_pos) * 100; - snprintf(buf + strlen(buf), win_size - strlen(buf), - " %3d%% ", percent); - /* amount transferred */ - format_size(buf + strlen(buf), win_size - strlen(buf), - cur_pos); - strlcat(buf, " ", win_size); - - /* bandwidth usage */ - format_rate(buf + strlen(buf), win_size - strlen(buf), - (off_t)bytes_per_second); - strlcat(buf, "/s ", win_size); + /* percent / amount transferred / bandwidth usage */ + xextendf(&buf, NULL, " %3d%% %s %s/s ", percent, format_size(cur_pos), + format_rate((off_t)bytes_per_second)); /* ETA */ if (!transferred) @@ -198,9 +201,9 @@ refresh_progress_meter(int force_update) stalled = 0; if (stalled >= STALL_TIME) - strlcat(buf, "- stalled -", win_size); + xextendf(&buf, NULL, "- stalled -"); else if (bytes_per_second == 0 && bytes_left) - strlcat(buf, " --:-- ETA", win_size); + xextendf(&buf, NULL, " --:-- ETA"); else { if (bytes_left > 0) seconds = bytes_left / bytes_per_second; @@ -212,21 +215,27 @@ refresh_progress_meter(int force_update) minutes = seconds / 60; seconds -= minutes * 60; - if (hours != 0) - snprintf(buf + strlen(buf), win_size - strlen(buf), - "%d:%02d:%02d", hours, minutes, seconds); - else - snprintf(buf + strlen(buf), win_size - strlen(buf), - " %02d:%02d", minutes, seconds); + if (hours != 0) { + xextendf(&buf, NULL, "%d:%02d:%02d", + hours, minutes, seconds); + } else + xextendf(&buf, NULL, " %02d:%02d", minutes, seconds); if (bytes_left > 0) - strlcat(buf, " ETA", win_size); + xextendf(&buf, NULL, " ETA"); else - strlcat(buf, " ", win_size); + xextendf(&buf, NULL, " "); } - atomicio(vwrite, STDOUT_FILENO, buf, win_size - 1); - last_update = now; + /* Finally, truncate string at window width */ + cols = win_size - 1; + asmprintf(&obuf, INT_MAX, &cols, " %s", buf); + if (obuf != NULL) { + *obuf = '\r'; /* must insert as asmprintf() would escape it */ + atomicio(vwrite, STDOUT_FILENO, obuf, strlen(obuf)); + } + free(buf); + free(obuf); } /*ARGSUSED*/ From 0c5d4c843df5605b043a758d69f9a611ef63c479 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 24 Feb 2023 13:44:13 +1100 Subject: [PATCH 027/232] Explicitly set permissions on user and host keys. On cygwin, the umask might not be sufficient. Should fix tests on Github runners. --- regress/test-exec.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 325393ce9..4091d3a37 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -674,6 +674,9 @@ for t in ${SSH_HOSTKEY_TYPES}; do # don't use SUDO for proxy connect echo HostKey $OBJ/$t >> $OBJ/sshd_proxy + + # explicitly set perms since cygwin inhertited perms might be too open + chmod 600 $OBJ/$t $OBJ/host.$t done chmod 644 $OBJ/authorized_keys_$USER From 52b75db61030a6c8baf66b73644380cf3f58e26a Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sat, 25 Feb 2023 14:43:28 +1100 Subject: [PATCH 028/232] Remove extended ACLs from working dirs. This should allow umask to work as expected and prevent tests from failing due to excessive permissions on private keys. --- .github/setup_ci.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh index e4480e614..691c70dd7 100755 --- a/.github/setup_ci.sh +++ b/.github/setup_ci.sh @@ -7,10 +7,10 @@ PACKAGES="" case "`./config.guess`" in *cygwin) PACKAGER=setup - echo Setting CYGWIN sustem environment variable. + echo Setting CYGWIN system environment variable. setx CYGWIN "binmode" - chmod -R go-rw /cygdrive/d/a - umask 077 + echo Removing extended ACLs so umask works as expected. + setfacl -b . regress PACKAGES="$PACKAGES,autoconf,automake,cygwin-devel,gcc-core" PACKAGES="$PACKAGES,make,openssl-devel,zlib-devel" ;; From eb88d07c43afe407094e7d609248d85a15e148ef Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sat, 25 Feb 2023 14:45:41 +1100 Subject: [PATCH 029/232] Revert explicit chmods on private keys. This should no longer be needed on Cygwin test runners due to previous commit. --- regress/test-exec.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 4091d3a37..325393ce9 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -674,9 +674,6 @@ for t in ${SSH_HOSTKEY_TYPES}; do # don't use SUDO for proxy connect echo HostKey $OBJ/$t >> $OBJ/sshd_proxy - - # explicitly set perms since cygwin inhertited perms might be too open - chmod 600 $OBJ/$t $OBJ/host.$t done chmod 644 $OBJ/authorized_keys_$USER From 01dbeb3084d714bbd001ff9d03b9de542e8cdf58 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Mon, 27 Feb 2023 17:07:52 +1100 Subject: [PATCH 030/232] avoid clash between for getopt's struct option Since we don't use getopt_long() nothing outside the getopt() implementation itself uses this structure, so move it into the source to remove it from visibility and clashes with libc's ok dtucker@ --- openbsd-compat/getopt.h | 3 +++ openbsd-compat/getopt_long.c | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/openbsd-compat/getopt.h b/openbsd-compat/getopt.h index 8eb12447e..65c8bc7fb 100644 --- a/openbsd-compat/getopt.h +++ b/openbsd-compat/getopt.h @@ -40,6 +40,7 @@ #define required_argument 1 #define optional_argument 2 +#if 0 struct option { /* name of long option */ const char *name; @@ -58,6 +59,8 @@ int getopt_long(int, char * const *, const char *, const struct option *, int *); int getopt_long_only(int, char * const *, const char *, const struct option *, int *); +#endif + #ifndef _GETOPT_DEFINED_ #define _GETOPT_DEFINED_ int getopt(int, char * const *, const char *); diff --git a/openbsd-compat/getopt_long.c b/openbsd-compat/getopt_long.c index 1a5001f7d..c2863a789 100644 --- a/openbsd-compat/getopt_long.c +++ b/openbsd-compat/getopt_long.c @@ -72,6 +72,20 @@ #include "log.h" +struct option { + /* name of long option */ + const char *name; + /* + * one of no_argument, required_argument, and optional_argument: + * whether option takes an argument + */ + int has_arg; + /* if not NULL, set *flag to val when option found */ + int *flag; + /* if flag not NULL, value to set *flag to; else return value */ + int val; +}; + int opterr = 1; /* if error message should be printed */ int optind = 1; /* index into parent argv vector */ int optopt = '?'; /* character checked for validity */ From b0fd60a9de62a03189ad57d0c07f0ac51dc00e95 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 27 Feb 2023 17:28:59 +1100 Subject: [PATCH 031/232] Do shadow expiry calcs using "long long". Coverity flags these as potentially not 64bit time_t safe so use long long for the calculations and debug output. ok djm@ --- auth-shadow.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/auth-shadow.c b/auth-shadow.c index c77ee8da9..e1eb68bc3 100644 --- a/auth-shadow.c +++ b/auth-shadow.c @@ -56,13 +56,13 @@ int auth_shadow_acctexpired(struct spwd *spw) { time_t today; - int daysleft; + long long daysleft; int r; today = time(NULL) / DAY; daysleft = spw->sp_expire - today; - debug3("%s: today %d sp_expire %d days left %d", __func__, (int)today, - (int)spw->sp_expire, daysleft); + debug3("%s: today %lld sp_expire %lld days left %lld", __func__, + (long long)today, (long long)spw->sp_expire, daysleft); if (spw->sp_expire == -1) { debug3("account expiration disabled"); @@ -70,9 +70,9 @@ auth_shadow_acctexpired(struct spwd *spw) logit("Account %.100s has expired", spw->sp_namp); return 1; } else if (daysleft <= spw->sp_warn) { - debug3("account will expire in %d days", daysleft); + debug3("account will expire in %lld days", daysleft); if ((r = sshbuf_putf(loginmsg, - "Your account will expire in %d day%s.\n", daysleft, + "Your account will expire in %lld day%s.\n", daysleft, daysleft == 1 ? "" : "s")) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); } From aa33b4d396abf47a2a45f982f28d054fb1dcb5c3 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 27 Feb 2023 21:04:22 +1100 Subject: [PATCH 032/232] Cast time_t's in debug output to long long. Should fix Coverity warning about truncation of 64bit time_t. --- auth-shadow.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/auth-shadow.c b/auth-shadow.c index e1eb68bc3..b1e3aa9fc 100644 --- a/auth-shadow.c +++ b/auth-shadow.c @@ -98,8 +98,8 @@ auth_shadow_pwexpired(Authctxt *ctxt) } today = time(NULL) / DAY; - debug3("%s: today %d sp_lstchg %d sp_max %d", __func__, (int)today, - (int)spw->sp_lstchg, (int)spw->sp_max); + debug3_f("today %lld sp_lstchg %lld sp_max %lld", (long long)today, + (long long)spw->sp_lstchg, (long long)spw->sp_max); #if defined(__hpux) && !defined(HAVE_SECUREWARE) if (iscomsec()) { From 803392933a3a6f09f834aa5f0c2aab06a3b382f4 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 27 Feb 2023 22:12:40 +0000 Subject: [PATCH 033/232] upstream: Plug mem leak on globbed ls error path. Spotted by Coverity, ok deraadt@ OpenBSD-Commit-ID: de28476025db29820a9a2e56e98b964d8a02861c --- sftp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sftp.c b/sftp.c index b3616c15c..deb975cba 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.225 2023/01/05 05:49:13 djm Exp $ */ +/* $OpenBSD: sftp.c,v 1.226 2023/02/27 22:12:40 dtucker Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -1030,6 +1030,7 @@ do_globbed_ls(struct sftp_conn *conn, const char *path, if (lflag & LS_LONG_VIEW) { if (g.gl_statv[i] == NULL) { error("no stat information for %s", fname); + free(fname); continue; } lname = ls_file(fname, g.gl_statv[i], 1, From 44ca56ba0b3f531f1d85730cc701097cd49e6868 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Tue, 28 Feb 2023 08:45:24 +0000 Subject: [PATCH 034/232] upstream: Explicitly ignore return from fchmod similar to other calls to prevent warning. OpenBSD-Commit-ID: fdc5287dcee0860b5a493186414226c655b0eb0a --- ssh-keygen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssh-keygen.c b/ssh-keygen.c index 5f8337f4e..a49eb9447 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.462 2023/02/10 04:56:30 djm Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.463 2023/02/28 08:45:24 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -1337,7 +1337,7 @@ do_known_hosts(struct passwd *pw, const char *name, int find_host, unlink(tmp); fatal("fdopen: %s", strerror(oerrno)); } - fchmod(fd, sb.st_mode & 0644); + (void)fchmod(fd, sb.st_mode & 0644); inplace = 1; } /* XXX support identity_file == "-" for stdin */ From 8ead62ed5e86c7df597d8604f332f49cd1527b85 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Tue, 28 Feb 2023 21:31:50 +0000 Subject: [PATCH 035/232] upstream: fatal out if allocating banner string fails to avoid potential null deref later in sscanf. Spotted by Coverity, ok deraadt@ OpenBSD-Commit-ID: 74e8d228ac00552e96e9e968dfcccf8dd1f46ad5 --- kex.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kex.c b/kex.c index 7731ca900..fce848fda 100644 --- a/kex.c +++ b/kex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.c,v 1.174 2023/02/17 04:22:50 dtucker Exp $ */ +/* $OpenBSD: kex.c,v 1.175 2023/02/28 21:31:50 dtucker Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * @@ -1345,7 +1345,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms, } peer_version_string = sshbuf_dup_string(peer_version); if (peer_version_string == NULL) - error_f("sshbuf_dup_string failed"); + fatal_f("sshbuf_dup_string failed"); /* XXX must be same size for sscanf */ if ((remote_version = calloc(1, sshbuf_len(peer_version))) == NULL) { error_f("calloc failed"); From a6f4ac8a2baf77e5361cfa017d0dc250d1409bec Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Wed, 1 Mar 2023 09:29:32 +0000 Subject: [PATCH 036/232] upstream: Rework logging for the regression tests. Previously we would log to ssh.log and sshd.log, but that is insufficient for tests that have more than one concurent ssh/sshd. Instead, we'll log to separate datestamped files in a $OBJ/log/ and leave a symlink at the previous location pointing at the most recent instance with an entry in regress.log showing which files were created at each point. This should be sufficient to reconstruct what happened even for tests that use multiple instances of each program. If the test fails, tar up all of the logs for later analysis. This will let us also capture the output from some of the other tools which was previously sent to /dev/null although most of those will be in future commits. OpenBSD-Regress-ID: f802aa9e7fa51d1a01225c05fb0412d015c33e24 --- Makefile.in | 5 +++ regress/Makefile | 6 +-- regress/agent-restrict.sh | 6 +-- regress/agent.sh | 4 +- regress/integrity.sh | 4 +- regress/multiplex.sh | 4 +- regress/sshd-log-wrapper.sh | 12 ------ regress/test-exec.sh | 80 ++++++++++++++++++++++++++++++------- regress/timestamp.c | 46 +++++++++++++++++++++ 9 files changed, 128 insertions(+), 39 deletions(-) delete mode 100644 regress/sshd-log-wrapper.sh create mode 100644 regress/timestamp.c diff --git a/Makefile.in b/Makefile.in index c0ebfa041..70287f51f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -517,6 +517,10 @@ regress/modpipe$(EXEEXT): $(srcdir)/regress/modpipe.c $(REGRESSLIBS) $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/modpipe.c \ $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) +regress/timestamp$(EXEEXT): $(srcdir)/regress/timestamp.c $(REGRESSLIBS) + $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/timestamp.c \ + $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) + regress/setuid-allowed$(EXEEXT): $(srcdir)/regress/setuid-allowed.c $(REGRESSLIBS) $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/setuid-allowed.c \ $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) @@ -691,6 +695,7 @@ regress/misc/sk-dummy/sk-dummy.so: $(SK_DUMMY_OBJS) regress-binaries: regress-prep $(LIBCOMPAT) \ regress/modpipe$(EXEEXT) \ + regress/timestamp$(EXEEXT) \ regress/setuid-allowed$(EXEEXT) \ regress/netcat$(EXEEXT) \ regress/check-perm$(EXEEXT) \ diff --git a/regress/Makefile b/regress/Makefile index bf1d057aa..d80bf59fa 100644 --- a/regress/Makefile +++ b/regress/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.122 2023/01/06 08:07:39 djm Exp $ +# $OpenBSD: Makefile,v 1.124 2023/03/01 09:29:32 dtucker Exp $ tests: prep file-tests t-exec unit @@ -138,8 +138,8 @@ CLEANFILES= *.core actual agent-key.* authorized_keys_${USERNAME} \ sshd_config.* sshd_proxy sshd_proxy.* sshd_proxy_bak \ sshd_proxy_orig t10.out t10.out.pub t12.out t12.out.pub \ t2.out t3.out t6.out1 t6.out2 t7.out t7.out.pub \ - t8.out t8.out.pub t9.out t9.out.pub testdata \ - user_*key* user_ca* user_key* + t8.out t8.out.pub t9.out t9.out.pub \ + timestamp testdata user_*key* user_ca* user_key* # Enable all malloc(3) randomisations and checks TEST_ENV= "MALLOC_OPTIONS=CFGJRSUX" diff --git a/regress/agent-restrict.sh b/regress/agent-restrict.sh index a30aed7bf..62cea8522 100644 --- a/regress/agent-restrict.sh +++ b/regress/agent-restrict.sh @@ -1,4 +1,4 @@ -# $OpenBSD: agent-restrict.sh,v 1.5 2022/01/13 04:53:16 dtucker Exp $ +# $OpenBSD: agent-restrict.sh,v 1.6 2023/03/01 09:29:32 dtucker Exp $ # Placed in the Public Domain. tid="agent restrictions" @@ -39,14 +39,14 @@ Host host_$h Hostname host_$h HostkeyAlias host_$h IdentityFile $OBJ/user_$h - ProxyCommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy_host_$h + ProxyCommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" ${OBJ}/sshd-log-wrapper.sh -i -f $OBJ/sshd_proxy_host_$h _EOF # Variant with no specified keys. cat << _EOF >> $OBJ/ssh_proxy_noid Host host_$h Hostname host_$h HostkeyAlias host_$h - ProxyCommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy_host_$h + ProxyCommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" ${OBJ}/sshd-log-wrapper.sh -i -f $OBJ/sshd_proxy_host_$h _EOF done cat $OBJ/ssh_proxy.bak >> $OBJ/ssh_proxy diff --git a/regress/agent.sh b/regress/agent.sh index f187b6757..5f1060608 100644 --- a/regress/agent.sh +++ b/regress/agent.sh @@ -1,4 +1,4 @@ -# $OpenBSD: agent.sh,v 1.20 2021/02/25 03:27:34 djm Exp $ +# $OpenBSD: agent.sh,v 1.21 2023/03/01 09:29:32 dtucker Exp $ # Placed in the Public Domain. tid="simple agent test" @@ -9,7 +9,7 @@ if [ $? -ne 2 ]; then fi trace "start agent, args ${EXTRA_AGENT_ARGS} -s" -eval `${SSHAGENT} ${EXTRA_AGENT_ARGS} -s` > /dev/null +eval `${SSHAGENT} ${EXTRA_AGENT_ARGS} -s` >`ssh_logfile ssh-agent` r=$? if [ $r -ne 0 ]; then fatal "could not start ssh-agent: exit code $r" diff --git a/regress/integrity.sh b/regress/integrity.sh index bc030cb74..202483c75 100644 --- a/regress/integrity.sh +++ b/regress/integrity.sh @@ -1,4 +1,4 @@ -# $OpenBSD: integrity.sh,v 1.24 2020/01/21 08:06:27 djm Exp $ +# $OpenBSD: integrity.sh,v 1.25 2023/03/01 09:29:32 dtucker Exp $ # Placed in the Public Domain. tid="integrity" @@ -18,7 +18,7 @@ macs="$macs `${SSH} -Q cipher-auth`" # >> $OBJ/ssh_proxy # sshd-command for proxy (see test-exec.sh) -cmd="$SUDO env SSH_SK_HELPER="$SSH_SK_HELPER" sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy" +cmd="$SUDO env SSH_SK_HELPER="$SSH_SK_HELPER" sh ${OBJ}/sshd-log-wrapper.sh -i -f $OBJ/sshd_proxy" for m in $macs; do trace "test $tid: mac $m" diff --git a/regress/multiplex.sh b/regress/multiplex.sh index f9c8fc10b..8282d0d94 100644 --- a/regress/multiplex.sh +++ b/regress/multiplex.sh @@ -1,4 +1,4 @@ -# $OpenBSD: multiplex.sh,v 1.35 2023/01/13 04:47:34 dtucker Exp $ +# $OpenBSD: multiplex.sh,v 1.36 2023/03/01 09:29:32 dtucker Exp $ # Placed in the Public Domain. make_tmpdir @@ -87,7 +87,7 @@ cmp ${DATA} ${COPY} || fail "scp: corrupted copy of ${DATA}" rm -f ${COPY} verbose "test $tid: forward" trace "forward over TCP/IP and check result" -$NC -N -l 127.0.0.1 $((${PORT} + 1)) < ${DATA} > /dev/null & +$NC -N -l 127.0.0.1 $((${PORT} + 1)) < ${DATA} >`ssh_logfile nc` & netcat_pid=$! ${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -L127.0.0.1:$((${PORT} + 2)):127.0.0.1:$((${PORT} + 1)) otherhost >>$TEST_SSH_LOGFILE 2>&1 sleep 1 # XXX remove once race fixed diff --git a/regress/sshd-log-wrapper.sh b/regress/sshd-log-wrapper.sh deleted file mode 100644 index 4b3c91137..000000000 --- a/regress/sshd-log-wrapper.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# $OpenBSD: sshd-log-wrapper.sh,v 1.5 2022/01/04 08:38:53 dtucker Exp $ -# Placed in the Public Domain. -# -# simple wrapper for sshd proxy mode to catch stderr output -# sh sshd-log-wrapper.sh /path/to/logfile /path/to/sshd [args...] - -log=$1 -shift - -echo "Executing: $@" >>$log -exec "$@" -E$log diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 325393ce9..eecbac093 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.94 2023/01/13 04:47:34 dtucker Exp $ +# $OpenBSD: test-exec.sh,v 1.95 2023/03/01 09:29:32 dtucker Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -240,7 +240,13 @@ fi # Logfiles. # SSH_LOGFILE should be the debug output of ssh(1) only # SSHD_LOGFILE should be the debug output of sshd(8) only -# REGRESS_LOGFILE is the output of the test itself stdout and stderr +# REGRESS_LOGFILE is the log of progress of the regress test itself. +# TEST_SSH_LOGDIR will contain datestamped logs of all binaries run in +# chronological order. +if [ "x$TEST_SSH_LOGDIR" = "x" ]; then + TEST_SSH_LOGDIR=$OBJ/log + mkdir -p $TEST_SSH_LOGDIR +fi if [ "x$TEST_SSH_LOGFILE" = "x" ]; then TEST_SSH_LOGFILE=$OBJ/ssh.log fi @@ -276,20 +282,27 @@ if [ "x$TEST_REGRESS_CACHE_DIR" != "x" ]; then fi # truncate logfiles ->$TEST_SSH_LOGFILE ->$TEST_SSHD_LOGFILE >$TEST_REGRESS_LOGFILE -# Create wrapper ssh with logging. We can't just specify "SSH=ssh -E..." -# because sftp and scp don't handle spaces in arguments. scp and sftp like -# to use -q so we remove those to preserve our debug logging. In the rare -# instance where -q is desirable -qq is equivalent and is not removed. +# Create ssh and sshd wrappers with logging. These create a datestamped +# unique file for every invocation so that we can retain all logs from a +# given test no matter how many times it's invoked. It also leaves a +# symlink with the original name for tests (and people) who look for that. + +# For ssh, e can't just specify "SSH=ssh -E..." because sftp and scp don't +# handle spaces in arguments. scp and sftp like to use -q so we remove those +# to preserve our debug logging. In the rare instance where -q is desirable +# -qq is equivalent and is not removed. SSHLOGWRAP=$OBJ/ssh-log-wrapper.sh cat >$SSHLOGWRAP <>${TEST_SSH_LOGFILE} +timestamp="\`$OBJ/timestamp\`" +logfile="${TEST_SSH_LOGDIR}/\${timestamp}.ssh.\$\$.log" +echo "Executing: ${SSH} \$@" log \${logfile} >>$TEST_REGRESS_LOGFILE +echo "Executing: ${SSH} \$@" >>\${logfile} for i in "\$@";do shift;case "\$i" in -q):;; *) set -- "\$@" "\$i";;esac;done -exec ${SSH} -E${TEST_SSH_LOGFILE} "\$@" +ln -f -s \${logfile} $TEST_SSH_LOGFILE +exec ${SSH} -E\${logfile} "\$@" EOD chmod a+rx $OBJ/ssh-log-wrapper.sh @@ -297,6 +310,27 @@ REAL_SSH="$SSH" REAL_SSHD="$SSHD" SSH="$SSHLOGWRAP" +SSHDLOGWRAP=$OBJ/sshd-log-wrapper.sh +cat >$SSHDLOGWRAP <>$TEST_REGRESS_LOGFILE +echo "Executing: ${SSHD} \$@" >>\${logfile} +exec ${SSHD} -E\${logfile} "\$@" +EOD +chmod a+rx $OBJ/sshd-log-wrapper.sh + +ssh_logfile () +{ + tool="$1" + timestamp="`$OBJ/timestamp`" + logfile="${TEST_SSH_LOGDIR}/${timestamp}.$tool.$$.log" + echo "Logging $tool to log \${logfile}" >>$TEST_REGRESS_LOGFILE + echo $logfile +} + # Some test data. We make a copy because some tests will overwrite it. # The tests may assume that $DATA exists and is writable and $COPY does # not exist. Tests requiring larger data files can call increase_datafile_size @@ -451,9 +485,10 @@ cleanup () start_debug_log () { - echo "trace: $@" >$TEST_REGRESS_LOGFILE - echo "trace: $@" >$TEST_SSH_LOGFILE - echo "trace: $@" >$TEST_SSHD_LOGFILE + echo "trace: $@" >>$TEST_REGRESS_LOGFILE + if [ -d "$TEST_SSH_LOGDIR" ]; then + rm -f $TEST_SSH_LOGDIR/* + fi } save_debug_log () @@ -464,6 +499,20 @@ save_debug_log () (cat $TEST_REGRESS_LOGFILE; echo) >>$OBJ/failed-regress.log (cat $TEST_SSH_LOGFILE; echo) >>$OBJ/failed-ssh.log (cat $TEST_SSHD_LOGFILE; echo) >>$OBJ/failed-sshd.log + + # Save all logfiles in a tarball. + testname=`echo $tid | tr ' ' _` + (cd $OBJ && + logfiles="" + for i in $TEST_REGRESS_LOGFILE $TEST_SSH_LOGFILE $TEST_SSHD_LOGFILE \ + $TEST_SSH_LOGDIR; do + if [ -e "`basename $i`" ]; then + logfiles="$logfiles `basename $i`" + else + logfiles="$logfiles $i" + fi + done + tar cfv $OBJ/failed-$testname-logs.tar $logfiles) } trace () @@ -725,7 +774,7 @@ if test "$REGRESS_INTEROP_PUTTY" = "yes" ; then echo "HostName=127.0.0.1" >> ${OBJ}/.putty/sessions/localhost_proxy echo "PortNumber=$PORT" >> ${OBJ}/.putty/sessions/localhost_proxy echo "ProxyMethod=5" >> ${OBJ}/.putty/sessions/localhost_proxy - echo "ProxyTelnetCommand=sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy" >> ${OBJ}/.putty/sessions/localhost_proxy + echo "ProxyTelnetCommand=${OBJ}/sshd-log-wrapper.sh -i -f $OBJ/sshd_proxy" >> ${OBJ}/.putty/sessions/localhost_proxy echo "ProxyLocalhost=1" >> ${OBJ}/.putty/sessions/localhost_proxy PUTTYDIR=${OBJ}/.putty @@ -735,7 +784,7 @@ fi # create a proxy version of the client config ( cat $OBJ/ssh_config - echo proxycommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy + echo proxycommand ${SUDO} env SSH_SK_HELPER=\"$SSH_SK_HELPER\" ${OBJ}/sshd-log-wrapper.sh -i -f $OBJ/sshd_proxy ) > $OBJ/ssh_proxy # check proxy config @@ -744,6 +793,7 @@ ${SSHD} -t -f $OBJ/sshd_proxy || fatal "sshd_proxy broken" start_sshd () { # start sshd + logfile="${TEST_SSH_LOGDIR}/sshd.`$OBJ/timestamp`.$$.log" $SUDO ${SSHD} -f $OBJ/sshd_config "$@" -t || fatal "sshd_config broken" $SUDO env SSH_SK_HELPER="$SSH_SK_HELPER" \ ${SSHD} -f $OBJ/sshd_config "$@" -E$TEST_SSHD_LOGFILE diff --git a/regress/timestamp.c b/regress/timestamp.c new file mode 100644 index 000000000..77dae457b --- /dev/null +++ b/regress/timestamp.c @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2023 Darren Tucker + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* $OpenBSD: timestamp.c,v 1.1 2023/03/01 09:29:32 dtucker Exp $ */ + +/* + * Print a microsecond-granularity timestamp to stdout in an ISO8601-ish + * format, which we can then use as the first component of the log file + * so that they'll sort into chronological order. + */ + +#include + +#include +#include +#include + +int +main(void) +{ + struct timeval tv; + struct tm *tm; + char buf[1024]; + + if (gettimeofday(&tv, NULL) != 0) + exit(1); + if ((tm = localtime(&tv.tv_sec)) == NULL) + exit(2); + if (strftime(buf, sizeof buf, "%Y%m%dT%H%M%S", tm) <= 0) + exit(3); + printf("%s.%06d\n", buf, (int)tv.tv_usec); + exit(0); +} From 131fcbcaffd1e3bcf5ab766ec497b5d768955310 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Wed, 1 Mar 2023 23:23:02 +1100 Subject: [PATCH 037/232] Adjust test jobs for new log directory. --- .github/run_test.sh | 2 +- .github/workflows/c-cpp.yml | 1 + .github/workflows/selfhosted.yml | 1 + .github/workflows/upstream.yml | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/run_test.sh b/.github/run_test.sh index 8eeaf5e9b..d5fd487d9 100755 --- a/.github/run_test.sh +++ b/.github/run_test.sh @@ -21,7 +21,7 @@ if [ ! -z "$SUDO" ] && [ ! -z "$TEST_SSH_HOSTBASED_AUTH" ]; then fi output_failed_logs() { - for i in regress/failed*; do + for i in regress/failed*.log; do if [ -f "$i" ]; then echo ------------------------------------------------------------------------- echo LOGFILE $i diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index e6ea49550..f3163884a 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -123,3 +123,4 @@ jobs: regress/valgrind-out/ regress/asan.log.* regress/msan.log.* + regress/log/* diff --git a/.github/workflows/selfhosted.yml b/.github/workflows/selfhosted.yml index d067e48f8..d38cba520 100644 --- a/.github/workflows/selfhosted.yml +++ b/.github/workflows/selfhosted.yml @@ -111,6 +111,7 @@ jobs: config.h config.log regress/*.log + regress/log/* regress/valgrind-out/ - name: shutdown VM if: always() diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 1e2c2acb7..b280793d3 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -46,6 +46,7 @@ jobs: name: ${{ matrix.target }}-${{ matrix.config }}-logs path: | /usr/obj/regress/usr.bin/ssh/obj/*.log + /usr/obj/regress/usr.bin/ssh/obj/log/* - name: shutdown VM if: always() run: vmshutdown From 13fe8f9785e6d90400ce548939a0b0ddc11fcb3c Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Wed, 1 Mar 2023 21:54:50 +0000 Subject: [PATCH 038/232] upstream: Remove old log symlinks before creating new ones. In -portable some platforms don't like overwriting existing symlinks. OpenBSD-Regress-ID: 7e7ddc0beb73e945e1c4c58d51c8a125b518120f --- regress/test-exec.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index eecbac093..8e5962445 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.95 2023/03/01 09:29:32 dtucker Exp $ +# $OpenBSD: test-exec.sh,v 1.96 2023/03/01 21:54:50 dtucker Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -301,7 +301,8 @@ logfile="${TEST_SSH_LOGDIR}/\${timestamp}.ssh.\$\$.log" echo "Executing: ${SSH} \$@" log \${logfile} >>$TEST_REGRESS_LOGFILE echo "Executing: ${SSH} \$@" >>\${logfile} for i in "\$@";do shift;case "\$i" in -q):;; *) set -- "\$@" "\$i";;esac;done -ln -f -s \${logfile} $TEST_SSH_LOGFILE +rm -f $TEST_SSH_LOGFILE +ln -s \${logfile} $TEST_SSH_LOGFILE exec ${SSH} -E\${logfile} "\$@" EOD @@ -315,7 +316,8 @@ cat >$SSHDLOGWRAP <>$TEST_REGRESS_LOGFILE echo "Executing: ${SSHD} \$@" >>\${logfile} exec ${SSHD} -E\${logfile} "\$@" From 03a03c6002525f5ad9c8fc874a5d5826a35d9858 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 2 Mar 2023 06:41:56 +0000 Subject: [PATCH 039/232] upstream: Always call fclose on checkpoints. In the case of an fprintf failure we would not call fclose which would leak the FILE pointer. While we're there, try to clean up the temp file on failure. Spotted by Coverity, ok djm@ OpenBSD-Commit-ID: 73c7ccc5d4fcc235f54c6b20767a2815408525ef --- moduli.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/moduli.c b/moduli.c index 9f660ef26..481ca2aa8 100644 --- a/moduli.c +++ b/moduli.c @@ -1,4 +1,4 @@ -/* $OpenBSD: moduli.c,v 1.38 2022/05/01 23:20:30 djm Exp $ */ +/* $OpenBSD: moduli.c,v 1.39 2023/03/02 06:41:56 dtucker Exp $ */ /* * Copyright 1994 Phil Karn * Copyright 1996-1998, 2003 William Allen Simpson @@ -452,7 +452,7 @@ write_checkpoint(char *cpfile, u_int32_t lineno) { FILE *fp; char tmp[PATH_MAX]; - int r; + int r, writeok, closeok; r = snprintf(tmp, sizeof(tmp), "%s.XXXXXXXXXX", cpfile); if (r < 0 || r >= PATH_MAX) { @@ -469,13 +469,16 @@ write_checkpoint(char *cpfile, u_int32_t lineno) close(r); return; } - if (fprintf(fp, "%lu\n", (unsigned long)lineno) > 0 && fclose(fp) == 0 - && rename(tmp, cpfile) == 0) + writeok = (fprintf(fp, "%lu\n", (unsigned long)lineno) > 0); + closeok = (fclose(fp) == 0); + if (writeok && closeok && rename(tmp, cpfile) == 0) { debug3("wrote checkpoint line %lu to '%s'", (unsigned long)lineno, cpfile); - else + } else { logit("failed to write to checkpoint file '%s': %s", cpfile, strerror(errno)); + (void)unlink(tmp); + } } static unsigned long From 860201201d4ae655702807966901682cff30a171 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 2 Mar 2023 08:14:52 +0000 Subject: [PATCH 040/232] upstream: Quote grep and log message better. OpenBSD-Regress-ID: 3823d9063127169736aa274b1784cb28e15b64d4 --- regress/dhgex.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/regress/dhgex.sh b/regress/dhgex.sh index 6dd4cfe3f..30064f30a 100644 --- a/regress/dhgex.sh +++ b/regress/dhgex.sh @@ -1,4 +1,4 @@ -# $OpenBSD: dhgex.sh,v 1.7 2020/12/21 22:48:41 dtucker Exp $ +# $OpenBSD: dhgex.sh,v 1.8 2023/03/02 08:14:52 dtucker Exp $ # Placed in the Public Domain. tid="dhgex" @@ -31,8 +31,8 @@ ssh_test_dhgex() # check what we request grep "SSH2_MSG_KEX_DH_GEX_REQUEST($groupsz) sent" ${LOG} >/dev/null if [ $? != 0 ]; then - got=`egrep "SSH2_MSG_KEX_DH_GEX_REQUEST(.*) sent" ${LOG}` - fail "$tid unexpected GEX sizes, expected $groupsz, got $got" + got="`egrep 'SSH2_MSG_KEX_DH_GEX_REQUEST(.*) sent' ${LOG}`" + fail "$tid unexpected GEX sizes, expected $groupsz, got '$got'" fi # check what we got. gotbits="`awk 'BEGIN{FS="/"}/bits set:/{print $2}' ${LOG} | From 0d514659b23a257247491179cfbb53a6dd64e164 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 2 Mar 2023 08:24:41 +0000 Subject: [PATCH 041/232] upstream: Fix breakage on dhgex test. This was due to the sshd logs being written to the wrong log file. While there, make save_debug_logs less verbose, write the name of the tarball to regress.log and use $SUDO to remove the old symlinks (which shouldn't be needed, but won't hurt). Initial problem spotted by anton@. OpenBSD-Regress-ID: 9c44fb9cd418e6ff31165e7a6c1f9f11a6d19f5b --- regress/test-exec.sh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 8e5962445..0ba30d58b 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.96 2023/03/01 21:54:50 dtucker Exp $ +# $OpenBSD: test-exec.sh,v 1.97 2023/03/02 08:24:41 dtucker Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -301,7 +301,7 @@ logfile="${TEST_SSH_LOGDIR}/\${timestamp}.ssh.\$\$.log" echo "Executing: ${SSH} \$@" log \${logfile} >>$TEST_REGRESS_LOGFILE echo "Executing: ${SSH} \$@" >>\${logfile} for i in "\$@";do shift;case "\$i" in -q):;; *) set -- "\$@" "\$i";;esac;done -rm -f $TEST_SSH_LOGFILE +$SUDO rm -f $TEST_SSH_LOGFILE ln -s \${logfile} $TEST_SSH_LOGFILE exec ${SSH} -E\${logfile} "\$@" EOD @@ -316,8 +316,8 @@ cat >$SSHDLOGWRAP <>$TEST_REGRESS_LOGFILE echo "Executing: ${SSHD} \$@" >>\${logfile} exec ${SSHD} -E\${logfile} "\$@" @@ -495,15 +495,18 @@ start_debug_log () save_debug_log () { + testname=`echo $tid | tr ' ' _` + tarname="$OBJ/failed-$testname-logs.tar" + echo $@ >>$TEST_REGRESS_LOGFILE echo $@ >>$TEST_SSH_LOGFILE echo $@ >>$TEST_SSHD_LOGFILE + echo "Saving debug logs to $tarname" >>$TEST_REGRESS_LOGFILE (cat $TEST_REGRESS_LOGFILE; echo) >>$OBJ/failed-regress.log (cat $TEST_SSH_LOGFILE; echo) >>$OBJ/failed-ssh.log (cat $TEST_SSHD_LOGFILE; echo) >>$OBJ/failed-sshd.log # Save all logfiles in a tarball. - testname=`echo $tid | tr ' ' _` (cd $OBJ && logfiles="" for i in $TEST_REGRESS_LOGFILE $TEST_SSH_LOGFILE $TEST_SSHD_LOGFILE \ @@ -514,7 +517,7 @@ save_debug_log () logfiles="$logfiles $i" fi done - tar cfv $OBJ/failed-$testname-logs.tar $logfiles) + tar cf "$tarname" $logfiles) } trace () From 5fc60e8246c36b8255f72a937ebe9787b39648c6 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 2 Mar 2023 11:10:27 +0000 Subject: [PATCH 042/232] upstream: Remove SUDO in proxy command wrapper. Anything that needs sudo is already run by it, and it breaks if root isn't in sudoers. OpenBSD-Regress-ID: 6cf22fda32a89c16915f31a6ed9bbdbef2a3bac9 --- regress/test-exec.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 0ba30d58b..eaa12992d 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -1,4 +1,4 @@ -# $OpenBSD: test-exec.sh,v 1.97 2023/03/02 08:24:41 dtucker Exp $ +# $OpenBSD: test-exec.sh,v 1.98 2023/03/02 11:10:27 dtucker Exp $ # Placed in the Public Domain. #SUDO=sudo @@ -301,8 +301,8 @@ logfile="${TEST_SSH_LOGDIR}/\${timestamp}.ssh.\$\$.log" echo "Executing: ${SSH} \$@" log \${logfile} >>$TEST_REGRESS_LOGFILE echo "Executing: ${SSH} \$@" >>\${logfile} for i in "\$@";do shift;case "\$i" in -q):;; *) set -- "\$@" "\$i";;esac;done -$SUDO rm -f $TEST_SSH_LOGFILE -ln -s \${logfile} $TEST_SSH_LOGFILE +rm -f $TEST_SSH_LOGFILE +ln -f -s \${logfile} $TEST_SSH_LOGFILE exec ${SSH} -E\${logfile} "\$@" EOD @@ -316,8 +316,8 @@ cat >$SSHDLOGWRAP <>$TEST_REGRESS_LOGFILE echo "Executing: ${SSHD} \$@" >>\${logfile} exec ${SSHD} -E\${logfile} "\$@" From 32755a98c29114b13f4c9d47454bbb265b932ad7 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 3 Mar 2023 02:34:29 +0000 Subject: [PATCH 043/232] upstream: Check return value from fctnl and warn on failure. Spotted by Coverity, ok djm@ OpenBSD-Commit-ID: 2097c7db3cf657f1e3a6c5077041bacc63143cab --- sshconnect2.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sshconnect2.c b/sshconnect2.c index f0e6e6623..5b232e1b1 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect2.c,v 1.362 2023/02/17 04:22:50 dtucker Exp $ */ +/* $OpenBSD: sshconnect2.c,v 1.363 2023/03/03 02:34:29 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2008 Damien Miller. All rights reserved. @@ -2075,7 +2075,8 @@ ssh_keysign(struct ssh *ssh, struct sshkey *key, u_char **sigp, size_t *lenp, if (dup2(sock, STDERR_FILENO + 1) == -1) fatal_f("dup2: %s", strerror(errno)); sock = STDERR_FILENO + 1; - fcntl(sock, F_SETFD, 0); /* keep the socket on exec */ + if (fcntl(sock, F_SETFD, 0) == -1) /* keep the socket on exec */ + debug3_f("fcntl F_SETFD: %s", strerror(errno)); closefrom(sock + 1); debug3_f("[child] pid=%ld, exec %s", From e37261dff33af23f37202cfce0848d36f5c1055c Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 3 Mar 2023 02:37:58 +0000 Subject: [PATCH 044/232] upstream: Use time_t for x11_refuse_time timeout. We need SSH_TIME_T_MAX for this, so move from misc.c to misc.h so it's available. Fixes a Coverity warning for 64bit time_t safety, ok djm@ OpenBSD-Commit-ID: c69c4c3152cdaab953706db4ccf4d5fd682f7d8d --- clientloop.c | 10 +++++----- misc.c | 5 +---- misc.h | 5 ++++- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/clientloop.c b/clientloop.c index fef9efc6c..b46fcdde7 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.387 2023/01/06 02:39:59 djm Exp $ */ +/* $OpenBSD: clientloop.c,v 1.388 2023/03/03 02:37:58 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -158,7 +158,7 @@ static int connection_in; /* Connection to server (input). */ static int connection_out; /* Connection to server (output). */ static int need_rekeying; /* Set to non-zero if rekeying is requested. */ static int session_closed; /* In SSH2: login session closed. */ -static u_int x11_refuse_time; /* If >0, refuse x11 opens after this time. */ +static time_t x11_refuse_time; /* If >0, refuse x11 opens after this time. */ static time_t server_alive_time; /* Time to do server_alive_check */ static int hostkeys_update_complete; static int session_setup_complete; @@ -376,8 +376,8 @@ client_x11_get_proto(struct ssh *ssh, const char *display, if (timeout != 0 && x11_refuse_time == 0) { now = monotime() + 1; - if (UINT_MAX - timeout < now) - x11_refuse_time = UINT_MAX; + if (SSH_TIME_T_MAX - timeout < now) + x11_refuse_time = SSH_TIME_T_MAX; else x11_refuse_time = now + timeout; channel_set_x11_refuse_time(ssh, @@ -1617,7 +1617,7 @@ client_request_x11(struct ssh *ssh, const char *request_type, int rchan) "malicious server."); return NULL; } - if (x11_refuse_time != 0 && (u_int)monotime() >= x11_refuse_time) { + if (x11_refuse_time != 0 && monotime() >= x11_refuse_time) { verbose("Rejected X11 connection after ForwardX11Timeout " "expired"); return NULL; diff --git a/misc.c b/misc.c index c098dc610..6135b1556 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.180 2023/01/06 02:37:04 djm Exp $ */ +/* $OpenBSD: misc.c,v 1.181 2023/03/03 02:37:58 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -2452,9 +2452,6 @@ parse_absolute_time(const char *s, uint64_t *tp) return 0; } -/* On OpenBSD time_t is int64_t which is long long. */ -/* #define SSH_TIME_T_MAX LLONG_MAX */ - void format_absolute_time(uint64_t t, char *buf, size_t len) { diff --git a/misc.h b/misc.h index 84d93e059..07408ca13 100644 --- a/misc.h +++ b/misc.h @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.h,v 1.101 2023/01/06 02:37:04 djm Exp $ */ +/* $OpenBSD: misc.h,v 1.102 2023/03/03 02:37:58 dtucker Exp $ */ /* * Author: Tatu Ylonen @@ -240,4 +240,7 @@ void notify_complete(struct notifier_ctx *, const char *, ...) typedef void (*sshsig_t)(int); sshsig_t ssh_signal(int, sshsig_t); +/* On OpenBSD time_t is int64_t which is long long. */ +/* #define SSH_TIME_T_MAX LLONG_MAX */ + #endif /* _MISC_H */ From 93291bd723959adf462b1df958106cf07a7734dd Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 3 Mar 2023 03:12:24 +0000 Subject: [PATCH 045/232] upstream: Check return values of dup2. Spotted by Coverity, ok djm@ OpenBSD-Commit-ID: 19fb1b53072826d00c67df677731d2f6c1dd602b --- scp.c | 8 +++++--- sshd.c | 14 +++++++++----- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/scp.c b/scp.c index 1adff5cec..a893d4a28 100644 --- a/scp.c +++ b/scp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scp.c,v 1.252 2023/01/10 23:22:15 millert Exp $ */ +/* $OpenBSD: scp.c,v 1.253 2023/03/03 03:12:24 dtucker Exp $ */ /* * scp - secure remote copy. This is basically patched BSD rcp which * uses ssh to do the data transfer (instead of using rcmd). @@ -394,8 +394,10 @@ do_cmd2(char *host, char *remuser, int port, char *cmd, /* Fork a child to execute the command on the remote host using ssh. */ pid = fork(); if (pid == 0) { - dup2(fdin, 0); - dup2(fdout, 1); + if (dup2(fdin, 0) == -1) + perror("dup2"); + if (dup2(fdout, 1) == -1) + perror("dup2"); replacearg(&args, 0, "%s", ssh_program); if (port != -1) { diff --git a/sshd.c b/sshd.c index ce48602d7..748c15ee2 100644 --- a/sshd.c +++ b/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.597 2023/02/10 04:47:19 djm Exp $ */ +/* $OpenBSD: sshd.c,v 1.598 2023/03/03 03:12:24 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -2117,17 +2117,21 @@ main(int ac, char **av) if (rexec_flag) { debug("rexec start in %d out %d newsock %d pipe %d sock %d", sock_in, sock_out, newsock, startup_pipe, config_s[0]); - dup2(newsock, STDIN_FILENO); - dup2(STDIN_FILENO, STDOUT_FILENO); + if (dup2(newsock, STDIN_FILENO) == -1) + debug3_f("dup2 stdin: %s", strerror(errno)); + if (dup2(STDIN_FILENO, STDOUT_FILENO) == -1) + debug3_f("dup2 stdout: %s", strerror(errno)); if (startup_pipe == -1) close(REEXEC_STARTUP_PIPE_FD); else if (startup_pipe != REEXEC_STARTUP_PIPE_FD) { - dup2(startup_pipe, REEXEC_STARTUP_PIPE_FD); + if (dup2(startup_pipe, REEXEC_STARTUP_PIPE_FD) == -1) + debug3_f("dup2 startup_p: %s", strerror(errno)); close(startup_pipe); startup_pipe = REEXEC_STARTUP_PIPE_FD; } - dup2(config_s[1], REEXEC_CONFIG_PASS_FD); + if (dup2(config_s[1], REEXEC_CONFIG_PASS_FD) == -1) + debug3_f("dup2 config_s: %s", strerror(errno)); close(config_s[1]); ssh_signal(SIGHUP, SIG_IGN); /* avoid reset to SIG_DFL */ From 8bf61e95610b48192d4e1720cc15d9004617301d Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 3 Mar 2023 14:50:03 +1100 Subject: [PATCH 046/232] Add Coverity badges. --- .github/ci-status.md | 1 + README.md | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/ci-status.md b/.github/ci-status.md index 3d4877588..c57c3d83d 100644 --- a/.github/ci-status.md +++ b/.github/ci-status.md @@ -4,6 +4,7 @@ master : [![Upstream self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml/badge.svg)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/upstream.yml?query=branch:master) [![CIFuzz](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/cifuzz.yml) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) +[![Coverity Status](https://scan.coverity.com/projects/21341/badge.svg)](https://scan.coverity.com/projects/openssh-portable) 9.2 : [![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_2)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_2) diff --git a/README.md b/README.md index 3da933817..9431b0ffd 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ [![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) +[![Coverity Status](https://scan.coverity.com/projects/21341/badge.svg)](https://scan.coverity.com/projects/openssh-portable) OpenSSH is a complete implementation of the SSH protocol (version 2) for secure remote login, command execution and file transfer. It includes a client ``ssh`` and server ``sshd``, file transfer utilities ``scp`` and ``sftp`` as well as tools for key generation (``ssh-keygen``), run-time key storage (``ssh-agent``) and a number of supporting programs. From d1c1b3272e8895a96c4f5889bd6e07a8525bd9f1 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 3 Mar 2023 04:34:49 +0000 Subject: [PATCH 047/232] upstream: actually print "channeltimeout none" in config dump mode; spotted via Coverity CID 405022 OpenBSD-Commit-ID: b074b52bf138b75f08264e8da15880b29c7a630f --- servconf.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/servconf.c b/servconf.c index 2e039da8b..552fda750 100644 --- a/servconf.c +++ b/servconf.c @@ -1,5 +1,5 @@ -/* $OpenBSD: servconf.c,v 1.390 2023/01/17 09:44:48 djm Exp $ */ +/* $OpenBSD: servconf.c,v 1.391 2023/03/03 04:34:49 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -2917,8 +2917,16 @@ dump_cfg_strarray_oneline(ServerOpCodes code, u_int count, char **vals) { u_int i; - if (count <= 0 && code != sAuthenticationMethods) - return; + switch (code) { + case sAuthenticationMethods: + case sChannelTimeout: + break; + default: + if (count <= 0) + return; + break; + } + printf("%s", lookup_opcode_name(code)); for (i = 0; i < count; i++) printf(" %s", vals[i]); From 78571a5fe9847d40d7f220c92b707574ae9ec4ce Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 3 Mar 2023 04:36:20 +0000 Subject: [PATCH 048/232] upstream: some options are not first-match-wins. Mention that there are exceptions at the start of the manpage and label some of them in the option description. OpenBSD-Commit-ID: 3b74728446fa6fc8742769eeb8c3674e233e84c4 --- sshd_config.5 | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/sshd_config.5 b/sshd_config.5 index 7313a7f79..9a1578f75 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.347 2023/01/18 06:55:32 jmc Exp $ -.Dd $Mdocdate: January 18 2023 $ +.\" $OpenBSD: sshd_config.5,v 1.348 2023/03/03 04:36:20 djm Exp $ +.Dd $Mdocdate: March 3 2023 $ .Dt SSHD_CONFIG 5 .Os .Sh NAME @@ -48,7 +48,7 @@ reads configuration data from .Fl f on the command line). The file contains keyword-argument pairs, one per line. -For each keyword, the first obtained value will be used. +Unless noted otherwise, for each keyword, the first obtained value will be used. Lines starting with .Ql # and empty lines are interpreted as comments. @@ -120,6 +120,9 @@ The allow/deny groups directives are processed in the following order: See PATTERNS in .Xr ssh_config 5 for more information on patterns. +This keyword may appear multiple times in +.Nm +with each instance appending to the list. .It Cm AllowStreamLocalForwarding Specifies whether StreamLocal (Unix-domain socket) forwarding is permitted. The available options are @@ -177,6 +180,9 @@ The allow/deny users directives are processed in the following order: See PATTERNS in .Xr ssh_config 5 for more information on patterns. +This keyword may appear multiple times in +.Nm +with each instance appending to the list. .It Cm AuthenticationMethods Specifies the authentication methods that must be successfully completed for a user to be granted access. @@ -629,6 +635,9 @@ The allow/deny groups directives are processed in the following order: See PATTERNS in .Xr ssh_config 5 for more information on patterns. +This keyword may appear multiple times in +.Nm +with each instance appending to the list. .It Cm DenyUsers This keyword can be followed by a list of user name patterns, separated by spaces. @@ -647,6 +656,9 @@ The allow/deny users directives are processed in the following order: See PATTERNS in .Xr ssh_config 5 for more information on patterns. +This keyword may appear multiple times in +.Nm +with each instance appending to the list. .It Cm DisableForwarding Disables all forwarding features, including X11, .Xr ssh-agent 1 , From 1842d523fae63b862ce8e60725c9b606cddb86a6 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 3 Mar 2023 05:00:34 +0000 Subject: [PATCH 049/232] upstream: guard against getsockname(-1, ...) from Coverity CID 291832 OpenBSD-Commit-ID: e58d5227327917d189229b7f0b37d2780f360d5f --- canohost.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/canohost.c b/canohost.c index a810da0ee..457e9097e 100644 --- a/canohost.c +++ b/canohost.c @@ -1,4 +1,4 @@ -/* $OpenBSD: canohost.c,v 1.75 2020/10/18 11:32:01 djm Exp $ */ +/* $OpenBSD: canohost.c,v 1.76 2023/03/03 05:00:34 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -72,6 +72,9 @@ get_socket_address(int sock, int remote, int flags) char ntop[NI_MAXHOST]; int r; + if (sock < 0) + return NULL; + /* Get IP address of client. */ addrlen = sizeof(addr); memset(&addr, 0, sizeof(addr)); From e44846a4487d2885ac7f2610be09b1e2bf52249b Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 3 Mar 2023 09:48:51 +0000 Subject: [PATCH 050/232] upstream: Check for non-NULL before string comparison. From jjelen at redhat.com via bz#2687. OpenBSD-Commit-ID: 0d9b2e0cac88a311b5766b1aef737082583c285f --- clientloop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clientloop.c b/clientloop.c index b46fcdde7..1bdc7e61d 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.388 2023/03/03 02:37:58 dtucker Exp $ */ +/* $OpenBSD: clientloop.c,v 1.389 2023/03/03 09:48:51 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -2112,7 +2112,7 @@ update_known_hosts(struct hostkeys_update_ctx *ctx) free(response); response = read_passphrase("Accept updated hostkeys? " "(yes/no): ", RP_ECHO); - if (strcasecmp(response, "yes") == 0) + if (response != NULL && strcasecmp(response, "yes") == 0) break; else if (quit_pending || response == NULL || strcasecmp(response, "no") == 0) { From 4a3918f51bd2d968387e7aa87e33b32c78077fb4 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 3 Mar 2023 10:23:42 +0000 Subject: [PATCH 051/232] upstream: Ensure ms_remain is always initialized similar to what we do in ssh_packet_write_wait. bz#2687, from jjelen at redhat.com. OpenBSD-Commit-ID: a50e0541cf823f8d1c72f71ccde925d3dbe6dfac --- packet.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packet.c b/packet.c index 3f64d2d32..fd14f0009 100644 --- a/packet.c +++ b/packet.c @@ -1,4 +1,4 @@ -/* $OpenBSD: packet.c,v 1.308 2022/08/31 02:56:40 djm Exp $ */ +/* $OpenBSD: packet.c,v 1.309 2023/03/03 10:23:42 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1324,7 +1324,7 @@ int ssh_packet_read_seqnr(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) { struct session_state *state = ssh->state; - int len, r, ms_remain; + int len, r, ms_remain = 0; struct pollfd pfd; char buf[8192]; struct timeval start; From 6c165c36246d8004c20e1df5cec4961a5ac422d6 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Sat, 4 Mar 2023 03:22:59 +0000 Subject: [PATCH 052/232] upstream: Use time_t for x11 timeout. Use time_t instead of u_int for remaining x11 timeout checks for 64bit time_t safety. From Coverity CIDs 405197 and 405028, ok djm@ OpenBSD-Commit-ID: 356685bfa1fc3d81bd95722d3fc47101cc1a4972 --- channels.c | 8 ++++---- channels.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/channels.c b/channels.c index 0d26358cc..89a7fa3d3 100644 --- a/channels.c +++ b/channels.c @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.c,v 1.427 2023/01/18 02:00:10 djm Exp $ */ +/* $OpenBSD: channels.c,v 1.428 2023/03/04 03:22:59 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -198,7 +198,7 @@ struct ssh_channels { u_int x11_saved_data_len; /* Deadline after which all X11 connections are refused */ - u_int x11_refuse_time; + time_t x11_refuse_time; /* * Fake X11 authentication data. This is what the server will be @@ -1258,7 +1258,7 @@ x11_open_helper(struct ssh *ssh, struct sshbuf *b) /* Is this being called after the refusal deadline? */ if (sc->x11_refuse_time != 0 && - (u_int)monotime() >= sc->x11_refuse_time) { + monotime() >= sc->x11_refuse_time) { verbose("Rejected X11 connection after ForwardX11Timeout " "expired"); return -1; @@ -1879,7 +1879,7 @@ port_open_helper(struct ssh *ssh, Channel *c, char *rtype) } void -channel_set_x11_refuse_time(struct ssh *ssh, u_int refuse_time) +channel_set_x11_refuse_time(struct ssh *ssh, time_t refuse_time) { ssh->chanctxt->x11_refuse_time = refuse_time; } diff --git a/channels.h b/channels.h index 101843a06..91cc466cc 100644 --- a/channels.h +++ b/channels.h @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.h,v 1.148 2023/01/18 02:00:10 djm Exp $ */ +/* $OpenBSD: channels.h,v 1.149 2023/03/04 03:22:59 dtucker Exp $ */ /* * Author: Tatu Ylonen @@ -375,7 +375,7 @@ int permitopen_port(const char *); /* x11 forwarding */ -void channel_set_x11_refuse_time(struct ssh *, u_int); +void channel_set_x11_refuse_time(struct ssh *, time_t); int x11_connect_display(struct ssh *); int x11_create_display_inet(struct ssh *, int, int, int, u_int *, int **); void x11_request_forwarding_with_spoofing(struct ssh *, int, From fc7f8f2188d4a4fc8ba77eddbe863c7665666db5 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Sun, 5 Mar 2023 05:34:09 +0000 Subject: [PATCH 053/232] upstream: Remove unused compat.h includes. We've previously removed a lot of the really old compatibility code, and with it went the need to include compat.h in most of the files that have it. OpenBSD-Commit-ID: 5af8baa194be00a3092d17598e88a5b29f7ea2b4 --- auth.c | 3 +-- auth2-hostbased.c | 3 +-- auth2-none.c | 3 +-- auth2-pubkeyfile.c | 3 +-- auth2.c | 3 +-- authfd.c | 3 +-- dispatch.c | 3 +-- kexgexs.c | 3 +-- readconf.c | 3 +-- servconf.c | 3 +-- serverloop.c | 3 +-- session.c | 3 +-- ssh-agent.c | 3 +-- ssh-dss.c | 3 +-- ssh-rsa.c | 3 +-- sshconnect.c | 3 +-- 16 files changed, 16 insertions(+), 32 deletions(-) diff --git a/auth.c b/auth.c index 03a777cce..3b380d9bb 100644 --- a/auth.c +++ b/auth.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth.c,v 1.159 2022/12/09 00:17:40 dtucker Exp $ */ +/* $OpenBSD: auth.c,v 1.160 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -74,7 +74,6 @@ #include "authfile.h" #include "monitor_wrap.h" #include "ssherr.h" -#include "compat.h" #include "channels.h" /* import */ diff --git a/auth2-hostbased.c b/auth2-hostbased.c index cdfe7fd85..06bb464ff 100644 --- a/auth2-hostbased.c +++ b/auth2-hostbased.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-hostbased.c,v 1.51 2023/02/17 04:22:50 dtucker Exp $ */ +/* $OpenBSD: auth2-hostbased.c,v 1.52 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -40,7 +40,6 @@ #include "log.h" #include "misc.h" #include "servconf.h" -#include "compat.h" #include "sshkey.h" #include "hostfile.h" #include "auth.h" diff --git a/auth2-none.c b/auth2-none.c index d9f97223c..8966fd082 100644 --- a/auth2-none.c +++ b/auth2-none.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-none.c,v 1.24 2021/12/19 22:12:07 djm Exp $ */ +/* $OpenBSD: auth2-none.c,v 1.25 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -44,7 +44,6 @@ #include "log.h" #include "misc.h" #include "servconf.h" -#include "compat.h" #include "ssh2.h" #include "ssherr.h" #ifdef GSSAPI diff --git a/auth2-pubkeyfile.c b/auth2-pubkeyfile.c index 0cfacac35..31e7481fb 100644 --- a/auth2-pubkeyfile.c +++ b/auth2-pubkeyfile.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-pubkeyfile.c,v 1.3 2022/07/01 03:52:57 djm Exp $ */ +/* $OpenBSD: auth2-pubkeyfile.c,v 1.4 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2010 Damien Miller. All rights reserved. @@ -42,7 +42,6 @@ #include "ssh.h" #include "log.h" #include "misc.h" -#include "compat.h" #include "sshkey.h" #include "digest.h" #include "hostfile.h" diff --git a/auth2.c b/auth2.c index 6c061934b..c1bffe960 100644 --- a/auth2.c +++ b/auth2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2.c,v 1.164 2022/02/23 11:18:13 djm Exp $ */ +/* $OpenBSD: auth2.c,v 1.165 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -46,7 +46,6 @@ #include "sshbuf.h" #include "misc.h" #include "servconf.h" -#include "compat.h" #include "sshkey.h" #include "hostfile.h" #include "auth.h" diff --git a/authfd.c b/authfd.c index b633e35ea..13f9432ef 100644 --- a/authfd.c +++ b/authfd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: authfd.c,v 1.130 2022/04/27 11:08:55 dtucker Exp $ */ +/* $OpenBSD: authfd.c,v 1.131 2023/03/05 05:34:09 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -55,7 +55,6 @@ #include "sshkey.h" #include "authfd.h" #include "cipher.h" -#include "compat.h" #include "log.h" #include "atomicio.h" #include "misc.h" diff --git a/dispatch.c b/dispatch.c index 6e4c501e0..6118147bf 100644 --- a/dispatch.c +++ b/dispatch.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dispatch.c,v 1.32 2019/01/19 21:33:13 djm Exp $ */ +/* $OpenBSD: dispatch.c,v 1.33 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -34,7 +34,6 @@ #include "log.h" #include "dispatch.h" #include "packet.h" -#include "compat.h" #include "ssherr.h" int diff --git a/kexgexs.c b/kexgexs.c index 72b444f69..676de77ad 100644 --- a/kexgexs.c +++ b/kexgexs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kexgexs.c,v 1.44 2021/12/19 22:08:06 djm Exp $ */ +/* $OpenBSD: kexgexs.c,v 1.45 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Niels Provos. All rights reserved. * Copyright (c) 2001 Markus Friedl. All rights reserved. @@ -46,7 +46,6 @@ #include "packet.h" #include "dh.h" #include "ssh2.h" -#include "compat.h" #ifdef GSSAPI #include "ssh-gss.h" #endif diff --git a/readconf.c b/readconf.c index cf7949884..e71428b28 100644 --- a/readconf.c +++ b/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.372 2023/01/13 02:58:20 dtucker Exp $ */ +/* $OpenBSD: readconf.c,v 1.373 2023/03/05 05:34:09 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -54,7 +54,6 @@ #include "xmalloc.h" #include "ssh.h" #include "ssherr.h" -#include "compat.h" #include "cipher.h" #include "pathnames.h" #include "log.h" diff --git a/servconf.c b/servconf.c index 552fda750..9d5b73ecf 100644 --- a/servconf.c +++ b/servconf.c @@ -1,5 +1,5 @@ -/* $OpenBSD: servconf.c,v 1.391 2023/03/03 04:34:49 djm Exp $ */ +/* $OpenBSD: servconf.c,v 1.392 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -54,7 +54,6 @@ #include "sshbuf.h" #include "misc.h" #include "servconf.h" -#include "compat.h" #include "pathnames.h" #include "cipher.h" #include "sshkey.h" diff --git a/serverloop.c b/serverloop.c index 6db0916d8..550a3ba8b 100644 --- a/serverloop.c +++ b/serverloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: serverloop.c,v 1.234 2023/01/17 09:44:48 djm Exp $ */ +/* $OpenBSD: serverloop.c,v 1.235 2023/03/05 05:34:09 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -69,7 +69,6 @@ #include "canohost.h" #include "sshpty.h" #include "channels.h" -#include "compat.h" #include "ssh2.h" #include "sshkey.h" #include "cipher.h" diff --git a/session.c b/session.c index f30d7ac51..a08c268f9 100644 --- a/session.c +++ b/session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: session.c,v 1.333 2023/01/06 02:42:34 djm Exp $ */ +/* $OpenBSD: session.c,v 1.334 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -72,7 +72,6 @@ #include "ssherr.h" #include "match.h" #include "uidswap.h" -#include "compat.h" #include "channels.h" #include "sshkey.h" #include "cipher.h" diff --git a/ssh-agent.c b/ssh-agent.c index 63e1137bc..d5811f973 100644 --- a/ssh-agent.c +++ b/ssh-agent.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-agent.c,v 1.294 2022/12/04 11:03:11 dtucker Exp $ */ +/* $OpenBSD: ssh-agent.c,v 1.295 2023/03/05 05:34:09 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -80,7 +80,6 @@ #include "sshbuf.h" #include "sshkey.h" #include "authfd.h" -#include "compat.h" #include "log.h" #include "misc.h" #include "digest.h" diff --git a/ssh-dss.c b/ssh-dss.c index 2ea0c0a55..3174ef146 100644 --- a/ssh-dss.c +++ b/ssh-dss.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-dss.c,v 1.48 2022/10/28 00:44:44 djm Exp $ */ +/* $OpenBSD: ssh-dss.c,v 1.49 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -37,7 +37,6 @@ #include #include "sshbuf.h" -#include "compat.h" #include "ssherr.h" #include "digest.h" #define SSHKEY_INTERNAL diff --git a/ssh-rsa.c b/ssh-rsa.c index 6516ddc13..be8f51e75 100644 --- a/ssh-rsa.c +++ b/ssh-rsa.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-rsa.c,v 1.78 2022/10/28 02:47:04 djm Exp $ */ +/* $OpenBSD: ssh-rsa.c,v 1.79 2023/03/05 05:34:09 dtucker Exp $ */ /* * Copyright (c) 2000, 2003 Markus Friedl * @@ -28,7 +28,6 @@ #include #include "sshbuf.h" -#include "compat.h" #include "ssherr.h" #define SSHKEY_INTERNAL #include "sshkey.h" diff --git a/sshconnect.c b/sshconnect.c index 792bc34bc..7f350eea6 100644 --- a/sshconnect.c +++ b/sshconnect.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect.c,v 1.361 2023/01/13 02:44:02 djm Exp $ */ +/* $OpenBSD: sshconnect.c,v 1.362 2023/03/05 05:34:09 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -54,7 +54,6 @@ #include "ssh.h" #include "sshbuf.h" #include "packet.h" -#include "compat.h" #include "sshkey.h" #include "sshconnect.h" #include "log.h" From 23b8cb41767af99a1aac24589d1882d9c8c2c205 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Sun, 5 Mar 2023 08:18:58 +0000 Subject: [PATCH 054/232] upstream: Plug mem leak in moduli checkpoint option parsing. From Coverity CID 291894. OpenBSD-Commit-ID: 9b1aba2d049741ae21c8dc4560a7e29ab17310f4 --- ssh-keygen.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ssh-keygen.c b/ssh-keygen.c index a49eb9447..f7e929f61 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.463 2023/02/28 08:45:24 dtucker Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.464 2023/03/05 08:18:58 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -3053,6 +3053,7 @@ do_moduli_screen(const char *out_file, char **opts, size_t nopts) generator_wanted, checkpoint, start_lineno, lines_to_process) != 0) fatal("modulus screening failed"); + free(checkpoint); #else /* WITH_OPENSSL */ fatal("Moduli screening is not supported"); #endif /* WITH_OPENSSL */ From aa59d6a489fb20973fa461d0fdb1110db412947b Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Sun, 5 Mar 2023 09:24:35 +0000 Subject: [PATCH 055/232] upstream: Fix mem and FILE leaks in moduli screening. If multiple -Ocheckpoint= options are passed, the earlier ones would be overwritten and leaked. If we use an input file that wasn't stdin, close that. From Coverity CIDs 291884 and 291894. OpenBSD-Commit-ID: a4d9d15f572926f841788912e2b282485ad09e8b --- ssh-keygen.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ssh-keygen.c b/ssh-keygen.c index f7e929f61..b0fe5e6b0 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.464 2023/03/05 08:18:58 dtucker Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.465 2023/03/05 09:24:35 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -3015,6 +3015,7 @@ do_moduli_screen(const char *out_file, char **opts, size_t nopts) } else if (strncmp(opts[i], "start-line=", 11) == 0) { start_lineno = strtoul(opts[i]+11, NULL, 10); } else if (strncmp(opts[i], "checkpoint=", 11) == 0) { + free(checkpoint); checkpoint = xstrdup(opts[i]+11); } else if (strncmp(opts[i], "generator=", 10) == 0) { generator_wanted = (u_int32_t)strtonum( @@ -3053,6 +3054,8 @@ do_moduli_screen(const char *out_file, char **opts, size_t nopts) generator_wanted, checkpoint, start_lineno, lines_to_process) != 0) fatal("modulus screening failed"); + if (in != stdin) + (void)fclose(in); free(checkpoint); #else /* WITH_OPENSSL */ fatal("Moduli screening is not supported"); From 9641753e0fd146204d57b2a4165f552a81afade4 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 6 Mar 2023 12:14:48 +0000 Subject: [PATCH 056/232] upstream: Refactor creation of KEX proposal. This adds kex_proposal_populate_entries (and corresponding free) which populates the KEX proposal array with dynamically allocated strings. This replaces the previous mix of static and dynamic that has been the source of previous leaks and bugs. Remove unused compat functions. With & ok djm@. OpenBSD-Commit-ID: f2f99da4aae2233cb18bf9c749320c5e040a9c7b --- compat.c | 19 ++------------- compat.h | 6 ++--- kex.c | 59 +++++++++++++++++++++++++++++++++++++++++++++- kex.h | 5 +++- sshconnect2.c | 65 +++++++++++++++++++-------------------------------- sshd.c | 34 ++++++++++----------------- 6 files changed, 102 insertions(+), 86 deletions(-) diff --git a/compat.c b/compat.c index f967fc829..b59f0bfc0 100644 --- a/compat.c +++ b/compat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.c,v 1.125 2023/02/17 04:22:50 dtucker Exp $ */ +/* $OpenBSD: compat.c,v 1.126 2023/03/06 12:14:48 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. * @@ -36,7 +36,6 @@ #include "compat.h" #include "log.h" #include "match.h" -#include "kex.h" /* determine bug flags from SSH protocol banner */ void @@ -140,21 +139,7 @@ compat_banner(struct ssh *ssh, const char *version) /* Always returns pointer to allocated memory, caller must free. */ char * -compat_cipher_proposal(struct ssh *ssh, char *cipher_prop) -{ - return xstrdup(cipher_prop); -} - -/* Always returns pointer to allocated memory, caller must free. */ -char * -compat_pkalg_proposal(struct ssh *ssh, char *pkalg_prop) -{ - return xstrdup(pkalg_prop); -} - -/* Always returns pointer to allocated memory, caller must free. */ -char * -compat_kex_proposal(struct ssh *ssh, char *p) +compat_kex_proposal(struct ssh *ssh, const char *p) { char *cp = NULL, *cp2 = NULL; diff --git a/compat.h b/compat.h index 1da367e84..1a19060fc 100644 --- a/compat.h +++ b/compat.h @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.h,v 1.61 2023/02/17 04:22:50 dtucker Exp $ */ +/* $OpenBSD: compat.h,v 1.62 2023/03/06 12:14:48 dtucker Exp $ */ /* * Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved. @@ -61,7 +61,5 @@ struct ssh; void compat_banner(struct ssh *, const char *); -char *compat_cipher_proposal(struct ssh *, char *); -char *compat_pkalg_proposal(struct ssh *, char *); -char *compat_kex_proposal(struct ssh *, char *); +char *compat_kex_proposal(struct ssh *, const char *); #endif diff --git a/kex.c b/kex.c index fce848fda..2ffc789ce 100644 --- a/kex.c +++ b/kex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.c,v 1.175 2023/02/28 21:31:50 dtucker Exp $ */ +/* $OpenBSD: kex.c,v 1.176 2023/03/06 12:14:48 dtucker Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * @@ -57,10 +57,12 @@ #include "misc.h" #include "dispatch.h" #include "monitor.h" +#include "myproposal.h" #include "ssherr.h" #include "sshbuf.h" #include "digest.h" +#include "xmalloc.h" /* prototype */ static int kex_choose_conf(struct ssh *); @@ -317,6 +319,61 @@ kex_assemble_names(char **listp, const char *def, const char *all) return r; } +/* + * Fill out a proposal array with dynamically allocated values, which may + * be modified as required for compatibility reasons. + * Any of the options may be NULL, in which case the default is used. + * Array contents must be freed by calling kex_proposal_free_entries. + */ +void +kex_proposal_populate_entries(struct ssh *ssh, char *prop[PROPOSAL_MAX], + const char *kexalgos, const char *ciphers, const char *macs, + const char *comp, const char *hkalgs) +{ + const char *defpropserver[PROPOSAL_MAX] = { KEX_SERVER }; + const char *defpropclient[PROPOSAL_MAX] = { KEX_CLIENT }; + const char **defprop = ssh->kex->server ? defpropserver : defpropclient; + u_int i; + + if (prop == NULL) + fatal_f("proposal missing"); + + for (i = 0; i < PROPOSAL_MAX; i++) { + switch(i) { + case PROPOSAL_KEX_ALGS: + prop[i] = compat_kex_proposal(ssh, + kexalgos ? kexalgos : defprop[i]); + break; + case PROPOSAL_ENC_ALGS_CTOS: + case PROPOSAL_ENC_ALGS_STOC: + prop[i] = xstrdup(ciphers ? ciphers : defprop[i]); + break; + case PROPOSAL_MAC_ALGS_CTOS: + case PROPOSAL_MAC_ALGS_STOC: + prop[i] = xstrdup(macs ? macs : defprop[i]); + break; + case PROPOSAL_COMP_ALGS_CTOS: + case PROPOSAL_COMP_ALGS_STOC: + prop[i] = xstrdup(comp ? comp : defprop[i]); + break; + case PROPOSAL_SERVER_HOST_KEY_ALGS: + prop[i] = xstrdup(hkalgs ? hkalgs : defprop[i]); + break; + default: + prop[i] = xstrdup(defprop[i]); + } + } +} + +void +kex_proposal_free_entries(char *prop[PROPOSAL_MAX]) +{ + u_int i; + + for (i = 0; i < PROPOSAL_MAX; i++) + free(prop[i]); +} + /* put algorithm proposal into buffer */ int kex_prop2buf(struct sshbuf *b, char *proposal[PROPOSAL_MAX]) diff --git a/kex.h b/kex.h index c35329501..8b54e3f4b 100644 --- a/kex.h +++ b/kex.h @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.h,v 1.117 2022/01/06 21:55:23 djm Exp $ */ +/* $OpenBSD: kex.h,v 1.118 2023/03/06 12:14:48 dtucker Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. @@ -182,6 +182,9 @@ int kex_names_valid(const char *); char *kex_alg_list(char); char *kex_names_cat(const char *, const char *); int kex_assemble_names(char **, const char *, const char *); +void kex_proposal_populate_entries(struct ssh *, char *prop[PROPOSAL_MAX], + const char *, const char *, const char *, const char *, const char *); +void kex_proposal_free_entries(char *prop[PROPOSAL_MAX]); int kex_exchange_identification(struct ssh *, int, const char *); diff --git a/sshconnect2.c b/sshconnect2.c index 5b232e1b1..03d00d33b 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect2.c,v 1.363 2023/03/03 02:34:29 dtucker Exp $ */ +/* $OpenBSD: sshconnect2.c,v 1.364 2023/03/06 12:14:48 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2008 Damien Miller. All rights reserved. @@ -56,7 +56,6 @@ #include "cipher.h" #include "sshkey.h" #include "kex.h" -#include "myproposal.h" #include "sshconnect.h" #include "authfile.h" #include "dh.h" @@ -221,24 +220,17 @@ void ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port, const struct ssh_conn_info *cinfo) { - char *myproposal[PROPOSAL_MAX] = { KEX_CLIENT }; - char *s, *all_key; - char *prop_kex = NULL, *prop_enc = NULL, *prop_hostkey = NULL; - int r, use_known_hosts_order = 0; + char *myproposal[PROPOSAL_MAX]; + char *s, *all_key, *hkalgs = NULL; + int r; xxx_host = host; xxx_hostaddr = hostaddr; xxx_conn_info = cinfo; - /* - * If the user has not specified HostkeyAlgorithms, or has only - * appended or removed algorithms from that list then prefer algorithms - * that are in the list that are supported by known_hosts keys. - */ - if (options.hostkeyalgorithms == NULL || - options.hostkeyalgorithms[0] == '-' || - options.hostkeyalgorithms[0] == '+') - use_known_hosts_order = 1; + if (options.rekey_limit || options.rekey_interval) + ssh_packet_set_rekey_limits(ssh, options.rekey_limit, + options.rekey_interval); /* Expand or fill in HostkeyAlgorithms */ all_key = sshkey_alg_list(0, 0, 1, ','); @@ -249,29 +241,22 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port, if ((s = kex_names_cat(options.kex_algorithms, "ext-info-c")) == NULL) fatal_f("kex_names_cat"); - myproposal[PROPOSAL_KEX_ALGS] = prop_kex = compat_kex_proposal(ssh, s); - myproposal[PROPOSAL_ENC_ALGS_CTOS] = - myproposal[PROPOSAL_ENC_ALGS_STOC] = prop_enc = - compat_cipher_proposal(ssh, options.ciphers); - myproposal[PROPOSAL_COMP_ALGS_CTOS] = - myproposal[PROPOSAL_COMP_ALGS_STOC] = - (char *)compression_alg_list(options.compression); - myproposal[PROPOSAL_MAC_ALGS_CTOS] = - myproposal[PROPOSAL_MAC_ALGS_STOC] = options.macs; - if (use_known_hosts_order) { - /* Query known_hosts and prefer algorithms that appear there */ - myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = prop_hostkey = - compat_pkalg_proposal(ssh, - order_hostkeyalgs(host, hostaddr, port, cinfo)); - } else { - /* Use specified HostkeyAlgorithms exactly */ - myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = prop_hostkey = - compat_pkalg_proposal(ssh, options.hostkeyalgorithms); - } - if (options.rekey_limit || options.rekey_interval) - ssh_packet_set_rekey_limits(ssh, options.rekey_limit, - options.rekey_interval); + /* + * If the user has not specified HostkeyAlgorithms, or has only + * appended or removed algorithms from that list then prefer algorithms + * that are in the list that are supported by known_hosts keys. + */ + if (options.hostkeyalgorithms == NULL || + options.hostkeyalgorithms[0] == '-' || + options.hostkeyalgorithms[0] == '+') + hkalgs = order_hostkeyalgs(host, hostaddr, port, cinfo); + + kex_proposal_populate_entries(ssh, myproposal, s, options.ciphers, + options.macs, compression_alg_list(options.compression), + hkalgs ? hkalgs : options.hostkeyalgorithms); + + free(hkalgs); /* start key exchange */ if ((r = kex_setup(ssh, myproposal)) != 0) @@ -295,6 +280,7 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port, ssh_dispatch_run_fatal(ssh, DISPATCH_BLOCK, &ssh->kex->done); /* remove ext-info from the KEX proposals for rekeying */ + free(myproposal[PROPOSAL_KEX_ALGS]); myproposal[PROPOSAL_KEX_ALGS] = compat_kex_proposal(ssh, options.kex_algorithms); if ((r = kex_prop2buf(ssh->kex->my, myproposal)) != 0) @@ -308,10 +294,7 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port, (r = ssh_packet_write_wait(ssh)) != 0) fatal_fr(r, "send packet"); #endif - /* Free only parts of proposal that were dynamically allocated here. */ - free(prop_kex); - free(prop_enc); - free(prop_hostkey); + kex_proposal_free_entries(myproposal); } /* diff --git a/sshd.c b/sshd.c index 748c15ee2..c45092ea4 100644 --- a/sshd.c +++ b/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.598 2023/03/03 03:12:24 dtucker Exp $ */ +/* $OpenBSD: sshd.c,v 1.599 2023/03/06 12:14:48 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -104,7 +104,6 @@ #include "digest.h" #include "sshkey.h" #include "kex.h" -#include "myproposal.h" #include "authfile.h" #include "pathnames.h" #include "atomicio.h" @@ -2389,30 +2388,23 @@ sshd_hostkey_sign(struct ssh *ssh, struct sshkey *privkey, static void do_ssh2_kex(struct ssh *ssh) { - char *myproposal[PROPOSAL_MAX] = { KEX_SERVER }; + char *hkalgs = NULL, *myproposal[PROPOSAL_MAX]; + const char *compression = NULL; struct kex *kex; - char *prop_kex = NULL, *prop_enc = NULL, *prop_hostkey = NULL; int r; - myproposal[PROPOSAL_KEX_ALGS] = prop_kex = compat_kex_proposal(ssh, - options.kex_algorithms); - myproposal[PROPOSAL_ENC_ALGS_CTOS] = - myproposal[PROPOSAL_ENC_ALGS_STOC] = prop_enc = - compat_cipher_proposal(ssh, options.ciphers); - myproposal[PROPOSAL_MAC_ALGS_CTOS] = - myproposal[PROPOSAL_MAC_ALGS_STOC] = options.macs; - - if (options.compression == COMP_NONE) { - myproposal[PROPOSAL_COMP_ALGS_CTOS] = - myproposal[PROPOSAL_COMP_ALGS_STOC] = "none"; - } - if (options.rekey_limit || options.rekey_interval) ssh_packet_set_rekey_limits(ssh, options.rekey_limit, options.rekey_interval); - myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = prop_hostkey = - compat_pkalg_proposal(ssh, list_hostkey_types()); + if (options.compression == COMP_NONE) + compression = "none"; + hkalgs = list_hostkey_types(); + + kex_proposal_populate_entries(ssh, myproposal, options.kex_algorithms, + options.ciphers, options.macs, compression, hkalgs); + + free(hkalgs); /* start key exchange */ if ((r = kex_setup(ssh, myproposal)) != 0) @@ -2447,9 +2439,7 @@ do_ssh2_kex(struct ssh *ssh) (r = ssh_packet_write_wait(ssh)) != 0) fatal_fr(r, "send test"); #endif - free(prop_kex); - free(prop_enc); - free(prop_hostkey); + kex_proposal_free_entries(myproposal); debug("KEX done"); } From c5e6e890839ec520ab9301a92cba56303749dea2 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 7 Mar 2023 01:30:52 +0000 Subject: [PATCH 057/232] upstream: correct size for array argument when changing UMAC_OUTPUT_LEN Coverity CID 291845; ok dtucker@ OpenBSD-Commit-ID: 2eb017d10705bb623d4418691f961c930eafaec0 --- umac.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/umac.c b/umac.c index a710424ce..d5958babf 100644 --- a/umac.c +++ b/umac.c @@ -1,4 +1,4 @@ -/* $OpenBSD: umac.c,v 1.22 2022/01/01 05:55:06 jsg Exp $ */ +/* $OpenBSD: umac.c,v 1.23 2023/03/07 01:30:52 djm Exp $ */ /* ----------------------------------------------------------------------- * * umac.c -- C Implementation UMAC Message Authentication @@ -233,7 +233,8 @@ static void pdf_init(pdf_ctx *pc, aes_int_key prf_key) explicit_bzero(buf, sizeof(buf)); } -static void pdf_gen_xor(pdf_ctx *pc, const UINT8 nonce[8], UINT8 buf[8]) +static void pdf_gen_xor(pdf_ctx *pc, const UINT8 nonce[8], + UINT8 buf[UMAC_OUTPUT_LEN]) { /* 'ndx' indicates that we'll be using the 0th or 1st eight bytes * of the AES output. If last time around we returned the ndx-1st From 3f9231c2e1f374ebb08016ba00ea97b47c0ed20b Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 7 Mar 2023 05:37:26 +0000 Subject: [PATCH 058/232] upstream: fix memory leak in process_read() path; Spotted by James Robinson in GHPR363; ok markus@ OpenBSD-Commit-ID: cdc2d98e6478b7e7f3a36976845adae3820429d8 --- sftp-server.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sftp-server.c b/sftp-server.c index fe61a3515..49ca1ca9f 100644 --- a/sftp-server.c +++ b/sftp-server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-server.c,v 1.145 2022/11/09 09:04:12 dtucker Exp $ */ +/* $OpenBSD: sftp-server.c,v 1.146 2023/03/07 05:37:26 djm Exp $ */ /* * Copyright (c) 2000-2004 Markus Friedl. All rights reserved. * @@ -819,7 +819,7 @@ process_read(u_int32_t id) } if (len > buflen) { debug3_f("allocate %zu => %u", buflen, len); - if ((buf = realloc(NULL, len)) == NULL) + if ((buf = realloc(buf, len)) == NULL) fatal_f("realloc failed"); buflen = len; } From 03acc50d0ccb78fc91d1570de1cd0fdfea646028 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 6 Mar 2023 12:15:47 +0000 Subject: [PATCH 059/232] upstream: Unit test for kex_proposal_populate_entries. OpenBSD-Regress-ID: bdb211d80d572a08bf14b49fe2a58b9ff265c006 --- regress/unittests/kex/test_proposal.c | 40 ++++++++++++++++++++++++++- regress/unittests/kex/tests.c | 8 ++++-- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/regress/unittests/kex/test_proposal.c b/regress/unittests/kex/test_proposal.c index d6cf0f5da..a5f92b542 100644 --- a/regress/unittests/kex/test_proposal.c +++ b/regress/unittests/kex/test_proposal.c @@ -1,4 +1,4 @@ -/* $OpenBSD: test_proposal.c,v 1.1 2023/02/02 12:12:52 djm Exp $ */ +/* $OpenBSD: test_proposal.c,v 1.2 2023/03/06 12:15:47 dtucker Exp $ */ /* * Regress test KEX * @@ -81,3 +81,41 @@ kex_proposal(void) } TEST_DONE(); } + +void +kex_proposal_populate_tests(void) +{ + char *prop[PROPOSAL_MAX], *kexalgs, *ciphers, *macs, *hkalgs; + const char *comp = compression_alg_list(0); + int i; + struct ssh ssh; + struct kex kex; + + kexalgs = kex_alg_list(','); + ciphers = cipher_alg_list(',', 0); + macs = mac_alg_list(','); + hkalgs = kex_alg_list(','); + + ssh.kex = &kex; + TEST_START("compat_kex_proposal_populate"); + for (i = 0; i <= 1; i++) { + kex.server = i; + for (ssh.compat = 0; ssh.compat < 0x40000000; ) { + kex_proposal_populate_entries(&ssh, prop, NULL, NULL, + NULL, NULL, NULL); + kex_proposal_free_entries(prop); + kex_proposal_populate_entries(&ssh, prop, kexalgs, + ciphers, macs, hkalgs, comp); + kex_proposal_free_entries(prop); + if (ssh.compat == 0) + ssh.compat = 1; + else + ssh.compat <<= 1; + } + } + + free(kexalgs); + free(ciphers); + free(macs); + free(hkalgs); +} diff --git a/regress/unittests/kex/tests.c b/regress/unittests/kex/tests.c index 2a83dafbc..d3044f033 100644 --- a/regress/unittests/kex/tests.c +++ b/regress/unittests/kex/tests.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tests.c,v 1.2 2023/02/02 12:12:52 djm Exp $ */ +/* $OpenBSD: tests.c,v 1.3 2023/03/06 12:15:47 dtucker Exp $ */ /* * Placed in the public domain */ @@ -6,11 +6,13 @@ #include "../test_helper/test_helper.h" void kex_tests(void); -void kex_proposal(void); +void kex_proposal_tests(void); +void kex_proposal_populate_tests(void); void tests(void) { kex_tests(); - kex_proposal(); + kex_proposal_tests(); + kex_proposal_populate_tests(); } From 4710077096edff2e6926dd5b15bf586491d317db Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Tue, 7 Mar 2023 06:09:14 +0000 Subject: [PATCH 060/232] upstream: Fix mem leak in environment setup. From jjelen at redhat.com via bz#2687, ok djm@ OpenBSD-Commit-ID: 9f9e4ba3cac003e6f81da3bcebd1b9ec43e7f353 --- session.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/session.c b/session.c index a08c268f9..89dcfdab6 100644 --- a/session.c +++ b/session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: session.c,v 1.334 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: session.c,v 1.335 2023/03/07 06:09:14 dtucker Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -1158,6 +1158,7 @@ do_setup_env(struct ssh *ssh, Session *s, const char *shell) } *value++ = '\0'; child_set_env(&env, &envsize, cp, value); + free(cp); } /* SSH_CLIENT deprecated */ From 42a06b29a4c99272bf690f9b3be520b08b448dc5 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 7 Mar 2023 18:34:41 +1100 Subject: [PATCH 061/232] Add header changes missed in previous. --- regress/unittests/kex/test_proposal.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/regress/unittests/kex/test_proposal.c b/regress/unittests/kex/test_proposal.c index a5f92b542..fa4192bb6 100644 --- a/regress/unittests/kex/test_proposal.c +++ b/regress/unittests/kex/test_proposal.c @@ -18,21 +18,24 @@ #include "../test_helper/test_helper.h" +#include "cipher.h" #include "compat.h" #include "ssherr.h" #include "sshbuf.h" #include "kex.h" +#include "myproposal.h" #include "packet.h" #include "xmalloc.h" -void kex_proposal(void); +void kex_proposal_tests(void); +void kex_proposal_populate_tests(void); #define CURVE25519 "curve25519-sha256@libssh.org" #define DHGEX1 "diffie-hellman-group-exchange-sha1" #define DHGEX256 "diffie-hellman-group-exchange-sha256" #define KEXALGOS CURVE25519","DHGEX256","DHGEX1 void -kex_proposal(void) +kex_proposal_tests(void) { size_t i; struct ssh ssh; From eee9f3fc3d52ae7d2106929bb06b7f291fb0b81a Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 7 Mar 2023 21:47:42 +0000 Subject: [PATCH 062/232] upstream: refactor to be more readable top to bottom. Prompted by Coverity CID 405048 which was a false-positive fd leak; ok dtucker@ OpenBSD-Commit-ID: fc55ec2af622a017defb9b768bf26faefc792c00 --- channels.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/channels.c b/channels.c index 89a7fa3d3..405671d03 100644 --- a/channels.c +++ b/channels.c @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.c,v 1.428 2023/03/04 03:22:59 dtucker Exp $ */ +/* $OpenBSD: channels.c,v 1.429 2023/03/07 21:47:42 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1986,11 +1986,14 @@ channel_post_connecting(struct ssh *ssh, Channel *c) fatal_f("channel %d: no remote id", c->self); /* for rdynamic the OPEN_CONFIRMATION has been sent already */ isopen = (c->type == SSH_CHANNEL_RDYNAMIC_FINISH); + if (getsockopt(c->sock, SOL_SOCKET, SO_ERROR, &err, &sz) == -1) { err = errno; error("getsockopt SO_ERROR failed"); } + if (err == 0) { + /* Non-blocking connection completed */ debug("channel %d: connected to %s port %d", c->self, c->connect_ctx.host, c->connect_ctx.port); channel_connect_ctx_free(&c->connect_ctx); @@ -2008,16 +2011,17 @@ channel_post_connecting(struct ssh *ssh, Channel *c) (r = sshpkt_send(ssh)) != 0) fatal_fr(r, "channel %i open confirm", c->self); } - } else { - debug("channel %d: connection failed: %s", - c->self, strerror(err)); - /* Try next address, if any */ - if ((sock = connect_next(&c->connect_ctx)) > 0) { - close(c->sock); - c->sock = c->rfd = c->wfd = sock; - return; - } - /* Exhausted all addresses */ + return; + } + if (err == EINTR || err == EAGAIN || err == EINPROGRESS) + return; + + /* Non-blocking connection failed */ + debug("channel %d: connection failed: %s", c->self, strerror(err)); + + /* Try next address, if any */ + if ((sock = connect_next(&c->connect_ctx)) == -1) { + /* Exhausted all addresses for this destination */ error("connect_to %.100s port %d: failed.", c->connect_ctx.host, c->connect_ctx.port); channel_connect_ctx_free(&c->connect_ctx); @@ -2036,6 +2040,10 @@ channel_post_connecting(struct ssh *ssh, Channel *c) chan_mark_dead(ssh, c); } } + + /* New non-blocking connection in progress */ + close(c->sock); + c->sock = c->rfd = c->wfd = sock; } static int From 27fd251bc906a763e70ce0f27c8abdf8bbd1e416 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 8 Mar 2023 00:05:37 +0000 Subject: [PATCH 063/232] upstream: use RSA/SHA256 when testing usability of private key; based on fix in bz3546 by Dmitry Belyavskiy; with/ok dtucker OpenBSD-Commit-ID: 0ef414cc363a832f9fab92a5da0234448bce2eba --- ssh-keygen.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ssh-keygen.c b/ssh-keygen.c index b0fe5e6b0..2c0c9cd35 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.465 2023/03/05 09:24:35 dtucker Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.466 2023/03/08 00:05:37 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -476,6 +476,7 @@ do_convert_private_ssh2(struct sshbuf *b) { struct sshkey *key = NULL; char *type, *cipher; + const char *alg = NULL; u_char e1, e2, e3, *sig = NULL, data[] = "abcde12345"; int r, rlen, ktype; u_int magic, i1, i2, i3, i4; @@ -584,6 +585,7 @@ do_convert_private_ssh2(struct sshbuf *b) if ((r = ssh_rsa_complete_crt_parameters(key, rsa_iqmp)) != 0) fatal_fr(r, "generate RSA parameters"); BN_clear_free(rsa_iqmp); + alg = "rsa-sha2-256"; break; } rlen = sshbuf_len(b); @@ -592,10 +594,10 @@ do_convert_private_ssh2(struct sshbuf *b) /* try the key */ if ((r = sshkey_sign(key, &sig, &slen, data, sizeof(data), - NULL, NULL, NULL, 0)) != 0) + alg, NULL, NULL, 0)) != 0) error_fr(r, "signing with converted key failed"); else if ((r = sshkey_verify(key, sig, slen, data, sizeof(data), - NULL, 0, NULL)) != 0) + alg, 0, NULL)) != 0) error_fr(r, "verification with converted key failed"); if (r != 0) { sshkey_free(key); From 147ae57d4dfa0508109f93b78a7d8b92819e1f83 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 8 Mar 2023 00:05:58 +0000 Subject: [PATCH 064/232] upstream: use RSA/SHA256 when testing usability of private key in agent; with/ok dtucker OpenBSD-Commit-ID: fe1382e2fdf23fcae631308e72342bad56066a56 --- ssh-add.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ssh-add.c b/ssh-add.c index 777f21e26..752b86dfc 100644 --- a/ssh-add.c +++ b/ssh-add.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-add.c,v 1.166 2022/06/18 02:17:16 dtucker Exp $ */ +/* $OpenBSD: ssh-add.c,v 1.167 2023/03/08 00:05:58 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -477,6 +477,7 @@ test_key(int agent_fd, const char *filename) { struct sshkey *key = NULL; u_char *sig = NULL; + const char *alg = NULL; size_t slen = 0; int r, ret = -1; char data[1024]; @@ -485,14 +486,16 @@ test_key(int agent_fd, const char *filename) error_r(r, "Couldn't read public key %s", filename); return -1; } + if (sshkey_type_plain(key->type) == KEY_RSA) + alg = "rsa-sha2-256"; arc4random_buf(data, sizeof(data)); if ((r = ssh_agent_sign(agent_fd, key, &sig, &slen, data, sizeof(data), - NULL, 0)) != 0) { + alg, 0)) != 0) { error_r(r, "Agent signature failed for %s", filename); goto done; } if ((r = sshkey_verify(key, sig, slen, data, sizeof(data), - NULL, 0, NULL)) != 0) { + alg, 0, NULL)) != 0) { error_r(r, "Signature verification failed for %s", filename); goto done; } From a76085bda883c2104afb33ab0334eca190927362 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Wed, 8 Mar 2023 17:25:37 +1100 Subject: [PATCH 065/232] Extra brackets to prevent warning. --- openbsd-compat/bsd-getentropy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openbsd-compat/bsd-getentropy.c b/openbsd-compat/bsd-getentropy.c index 554dfad70..0231e066c 100644 --- a/openbsd-compat/bsd-getentropy.c +++ b/openbsd-compat/bsd-getentropy.c @@ -51,7 +51,7 @@ _ssh_compat_getentropy(void *s, size_t len) size_t o = 0; #ifdef HAVE_GETENTROPY - if (r = getentropy(s, len) == 0) + if ((r = getentropy(s, len)) == 0) return 0; #endif /* HAVE_GETENTROPY */ #ifdef HAVE_GETRANDOM From 51875897b81b5c21b80c256a29597916edbde454 Mon Sep 17 00:00:00 2001 From: "guenther@openbsd.org" Date: Wed, 8 Mar 2023 04:43:12 +0000 Subject: [PATCH 066/232] upstream: Delete obsolete /* ARGSUSED */ lint comments. ok miod@ millert@ OpenBSD-Commit-ID: 7be168a570264d59e96a7d2d22e927d45fee0e4c --- auth2.c | 4 +--- clientloop.c | 4 +--- kex.c | 4 +--- mux.c | 4 +--- progressmeter.c | 4 +--- serverloop.c | 4 +--- sftp-client.c | 3 +-- sftp.c | 7 +------ ssh-agent.c | 3 +-- ssh-ecdsa-sk.c | 3 +-- ssh-ecdsa.c | 4 +--- sshconnect2.c | 14 +------------- sshd.c | 6 +----- 13 files changed, 13 insertions(+), 51 deletions(-) diff --git a/auth2.c b/auth2.c index c1bffe960..34346e573 100644 --- a/auth2.c +++ b/auth2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2.c,v 1.165 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: auth2.c,v 1.166 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * @@ -177,7 +177,6 @@ do_authentication2(struct ssh *ssh) ssh->authctxt = NULL; } -/*ARGSUSED*/ static int input_service_request(int type, u_int32_t seq, struct ssh *ssh) { @@ -255,7 +254,6 @@ ensure_minimum_time_since(double start, double seconds) nanosleep(&ts, NULL); } -/*ARGSUSED*/ static int input_userauth_request(int type, u_int32_t seq, struct ssh *ssh) { diff --git a/clientloop.c b/clientloop.c index 1bdc7e61d..3fb72fb2f 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.389 2023/03/03 09:48:51 dtucker Exp $ */ +/* $OpenBSD: clientloop.c,v 1.390 2023/03/08 04:43:12 guenther Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -215,7 +215,6 @@ quit_message(const char *fmt, ...) * Signal handler for the window change signal (SIGWINCH). This just sets a * flag indicating that the window has changed. */ -/*ARGSUSED */ static void window_change_handler(int sig) { @@ -226,7 +225,6 @@ window_change_handler(int sig) * Signal handler for signals that cause the program to terminate. These * signals must be trapped to restore terminal modes. */ -/*ARGSUSED */ static void signal_handler(int sig) { diff --git a/kex.c b/kex.c index 2ffc789ce..7afb838cf 100644 --- a/kex.c +++ b/kex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.c,v 1.176 2023/03/06 12:14:48 dtucker Exp $ */ +/* $OpenBSD: kex.c,v 1.177 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * @@ -461,7 +461,6 @@ kex_prop_free(char **proposal) free(proposal); } -/* ARGSUSED */ int kex_protocol_error(int type, u_int32_t seq, struct ssh *ssh) { @@ -642,7 +641,6 @@ kex_send_kexinit(struct ssh *ssh) return 0; } -/* ARGSUSED */ int kex_input_kexinit(int type, u_int32_t seq, struct ssh *ssh) { diff --git a/mux.c b/mux.c index e7580ac74..b3ffde9fe 100644 --- a/mux.c +++ b/mux.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mux.c,v 1.95 2023/01/06 02:39:59 djm Exp $ */ +/* $OpenBSD: mux.c,v 1.96 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2002-2008 Damien Miller * @@ -186,7 +186,6 @@ static const struct { }; /* Cleanup callback fired on closure of mux client _session_ channel */ -/* ARGSUSED */ static void mux_master_session_cleanup_cb(struct ssh *ssh, int cid, int force, void *unused) { @@ -208,7 +207,6 @@ mux_master_session_cleanup_cb(struct ssh *ssh, int cid, int force, void *unused) } /* Cleanup callback fired on closure of mux client _control_ channel */ -/* ARGSUSED */ static void mux_master_control_cleanup_cb(struct ssh *ssh, int cid, int force, void *unused) { diff --git a/progressmeter.c b/progressmeter.c index d9bfe795c..25da3b2fa 100644 --- a/progressmeter.c +++ b/progressmeter.c @@ -1,4 +1,4 @@ -/* $OpenBSD: progressmeter.c,v 1.51 2023/02/22 03:56:43 djm Exp $ */ +/* $OpenBSD: progressmeter.c,v 1.52 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2003 Nils Nordman. All rights reserved. * @@ -238,7 +238,6 @@ refresh_progress_meter(int force_update) free(obuf); } -/*ARGSUSED*/ static void sig_alarm(int ignore) { @@ -281,7 +280,6 @@ stop_progress_meter(void) atomicio(vwrite, STDOUT_FILENO, "\n", 1); } -/*ARGSUSED*/ static void sig_winch(int sig) { diff --git a/serverloop.c b/serverloop.c index 550a3ba8b..de5fa2e3c 100644 --- a/serverloop.c +++ b/serverloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: serverloop.c,v 1.235 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: serverloop.c,v 1.236 2023/03/08 04:43:12 guenther Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -112,14 +112,12 @@ bind_permitted(int port, uid_t uid) return 1; } -/*ARGSUSED*/ static void sigchld_handler(int sig) { child_terminated = 1; } -/*ARGSUSED*/ static void sigterm_handler(int sig) { diff --git a/sftp-client.c b/sftp-client.c index e01464818..87b4d142a 100644 --- a/sftp-client.c +++ b/sftp-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-client.c,v 1.168 2023/01/11 05:39:38 djm Exp $ */ +/* $OpenBSD: sftp-client.c,v 1.169 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -149,7 +149,6 @@ request_find(struct requests *requests, u_int id) return req; } -/* ARGSUSED */ static int sftpio(void *_bwlimit, size_t amount) { diff --git a/sftp.c b/sftp.c index deb975cba..3a2525462 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.226 2023/02/27 22:12:40 dtucker Exp $ */ +/* $OpenBSD: sftp.c,v 1.227 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -217,7 +217,6 @@ static const struct CMD cmds[] = { { NULL, -1, -1, -1 } }; -/* ARGSUSED */ static void killchild(int signo) { @@ -232,7 +231,6 @@ killchild(int signo) _exit(1); } -/* ARGSUSED */ static void suspchild(int signo) { @@ -244,7 +242,6 @@ suspchild(int signo) kill(getpid(), SIGSTOP); } -/* ARGSUSED */ static void cmd_interrupt(int signo) { @@ -256,14 +253,12 @@ cmd_interrupt(int signo) errno = olderrno; } -/* ARGSUSED */ static void read_interrupt(int signo) { interrupted = 1; } -/*ARGSUSED*/ static void sigchld_handler(int sig) { diff --git a/ssh-agent.c b/ssh-agent.c index d5811f973..5e68c7deb 100644 --- a/ssh-agent.c +++ b/ssh-agent.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-agent.c,v 1.295 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: ssh-agent.c,v 1.296 2023/03/08 04:43:12 guenther Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1960,7 +1960,6 @@ cleanup_exit(int i) _exit(i); } -/*ARGSUSED*/ static void cleanup_handler(int sig) { diff --git a/ssh-ecdsa-sk.c b/ssh-ecdsa-sk.c index 729e5487c..5dcd3c13d 100644 --- a/ssh-ecdsa-sk.c +++ b/ssh-ecdsa-sk.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-ecdsa-sk.c,v 1.17 2022/10/28 00:44:44 djm Exp $ */ +/* $OpenBSD: ssh-ecdsa-sk.c,v 1.18 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2010 Damien Miller. All rights reserved. @@ -230,7 +230,6 @@ webauthn_check_prepare_hash(const u_char *data, size_t datalen, return r; } -/* ARGSUSED */ static int ssh_ecdsa_sk_verify(const struct sshkey *key, const u_char *sig, size_t siglen, diff --git a/ssh-ecdsa.c b/ssh-ecdsa.c index 4bcb89baf..341c32409 100644 --- a/ssh-ecdsa.c +++ b/ssh-ecdsa.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-ecdsa.c,v 1.25 2022/10/28 00:44:44 djm Exp $ */ +/* $OpenBSD: ssh-ecdsa.c,v 1.26 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2010 Damien Miller. All rights reserved. @@ -222,7 +222,6 @@ ssh_ecdsa_deserialize_private(const char *ktype, struct sshbuf *b, return r; } -/* ARGSUSED */ static int ssh_ecdsa_sign(struct sshkey *key, u_char **sigp, size_t *lenp, @@ -288,7 +287,6 @@ ssh_ecdsa_sign(struct sshkey *key, return ret; } -/* ARGSUSED */ static int ssh_ecdsa_verify(const struct sshkey *key, const u_char *sig, size_t siglen, diff --git a/sshconnect2.c b/sshconnect2.c index 03d00d33b..613b69e0f 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect2.c,v 1.364 2023/03/06 12:14:48 dtucker Exp $ */ +/* $OpenBSD: sshconnect2.c,v 1.365 2023/03/08 04:43:12 guenther Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2008 Damien Miller. All rights reserved. @@ -489,7 +489,6 @@ ssh_userauth2(struct ssh *ssh, const char *local_user, } } -/* ARGSUSED */ static int input_userauth_service_accept(int type, u_int32_t seq, struct ssh *ssh) { @@ -521,7 +520,6 @@ input_userauth_service_accept(int type, u_int32_t seq, struct ssh *ssh) return r; } -/* ARGSUSED */ static int input_userauth_ext_info(int type, u_int32_t seqnr, struct ssh *ssh) { @@ -566,7 +564,6 @@ userauth(struct ssh *ssh, char *authlist) } } -/* ARGSUSED */ static int input_userauth_error(int type, u_int32_t seq, struct ssh *ssh) { @@ -574,7 +571,6 @@ input_userauth_error(int type, u_int32_t seq, struct ssh *ssh) return 0; } -/* ARGSUSED */ static int input_userauth_banner(int type, u_int32_t seq, struct ssh *ssh) { @@ -594,7 +590,6 @@ input_userauth_banner(int type, u_int32_t seq, struct ssh *ssh) return r; } -/* ARGSUSED */ static int input_userauth_success(int type, u_int32_t seq, struct ssh *ssh) { @@ -627,7 +622,6 @@ input_userauth_success_unexpected(int type, u_int32_t seq, struct ssh *ssh) } #endif -/* ARGSUSED */ static int input_userauth_failure(int type, u_int32_t seq, struct ssh *ssh) { @@ -688,7 +682,6 @@ format_identity(Identity *id) return ret; } -/* ARGSUSED */ static int input_userauth_pk_ok(int type, u_int32_t seq, struct ssh *ssh) { @@ -896,7 +889,6 @@ process_gssapi_token(struct ssh *ssh, gss_buffer_t recv_tok) return status; } -/* ARGSUSED */ static int input_gssapi_response(int type, u_int32_t plen, struct ssh *ssh) { @@ -941,7 +933,6 @@ input_gssapi_response(int type, u_int32_t plen, struct ssh *ssh) return r; } -/* ARGSUSED */ static int input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh) { @@ -974,7 +965,6 @@ input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh) return r; } -/* ARGSUSED */ static int input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh) { @@ -1009,7 +999,6 @@ input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh) return 0; } -/* ARGSUSED */ static int input_gssapi_error(int type, u_int32_t plen, struct ssh *ssh) { @@ -1087,7 +1076,6 @@ userauth_passwd(struct ssh *ssh) /* * parse PASSWD_CHANGEREQ, prompt user and send SSH2_MSG_USERAUTH_REQUEST */ -/* ARGSUSED */ static int input_userauth_passwd_changereq(int type, u_int32_t seqnr, struct ssh *ssh) { diff --git a/sshd.c b/sshd.c index c45092ea4..264e81ac7 100644 --- a/sshd.c +++ b/sshd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.599 2023/03/06 12:14:48 dtucker Exp $ */ +/* $OpenBSD: sshd.c,v 1.600 2023/03/08 04:43:12 guenther Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -294,7 +294,6 @@ close_startup_pipes(void) * the server key). */ -/*ARGSUSED*/ static void sighup_handler(int sig) { @@ -324,7 +323,6 @@ sighup_restart(void) /* * Generic signal handler for terminating signals in the master daemon. */ -/*ARGSUSED*/ static void sigterm_handler(int sig) { @@ -335,7 +333,6 @@ sigterm_handler(int sig) * SIGCHLD handler. This is called whenever a child dies. This will then * reap any zombies left by exited children. */ -/*ARGSUSED*/ static void main_sigchld_handler(int sig) { @@ -352,7 +349,6 @@ main_sigchld_handler(int sig) /* * Signal handler for the alarm after the login grace period has expired. */ -/*ARGSUSED*/ static void grace_alarm_handler(int sig) { From dfb9b736e1ccf9e6b03eea21cd961f4fd0634c98 Mon Sep 17 00:00:00 2001 From: "tb@openbsd.org" Date: Wed, 8 Mar 2023 05:33:53 +0000 Subject: [PATCH 067/232] upstream: ssh-pkcs11: synchronize error messages with errors A handful of error messages contained incorrect function names or otherwise inaccurate descriptions. Fix them to match reality. input/ok djm OpenBSD-Commit-ID: 165a15db52f75b31e1804b043480c36af09f3411 --- ssh-pkcs11.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c index b2e2b32a5..6be647ec4 100644 --- a/ssh-pkcs11.c +++ b/ssh-pkcs11.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-pkcs11.c,v 1.55 2021/11/18 21:11:01 djm Exp $ */ +/* $OpenBSD: ssh-pkcs11.c,v 1.56 2023/03/08 05:33:53 tb Exp $ */ /* * Copyright (c) 2010 Markus Friedl. All rights reserved. * Copyright (c) 2014 Pedro Martelletto. All rights reserved. @@ -523,7 +523,7 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, BIGNUM *r = NULL, *s = NULL; if ((k11 = EC_KEY_get_ex_data(ec, ec_key_idx)) == NULL) { - ossl_error("EC_KEY_get_key_method_data failed for ec"); + ossl_error("EC_KEY_get_ex_data failed for ec"); return (NULL); } @@ -545,7 +545,7 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, goto done; } if (siglen < 64 || siglen > 132 || siglen % 2) { - ossl_error("d2i_ECDSA_SIG failed"); + error_f("bad signature length: %lu", (u_long)siglen); goto done; } bnlen = siglen/2; @@ -555,7 +555,7 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, } if ((r = BN_bin2bn(sig, bnlen, NULL)) == NULL || (s = BN_bin2bn(sig+bnlen, bnlen, NULL)) == NULL) { - ossl_error("d2i_ECDSA_SIG failed"); + ossl_error("BN_bin2bn failed"); ECDSA_SIG_free(ret); ret = NULL; goto done; From 36c6c3eff5e4a669ff414b9daf85f919666e8e03 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Wed, 8 Mar 2023 06:21:32 +0000 Subject: [PATCH 068/232] upstream: Plug mem leak. Coverity CID 405196, ok djm@ OpenBSD-Commit-ID: 175f09349387c292f626da68f65f334faaa085f2 --- sftp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sftp.c b/sftp.c index 3a2525462..4a3774421 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.227 2023/03/08 04:43:12 guenther Exp $ */ +/* $OpenBSD: sftp.c,v 1.228 2023/03/08 06:21:32 dtucker Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -1997,7 +1997,9 @@ complete_match(EditLine *el, struct sftp_conn *conn, char *remote_path, memset(&g, 0, sizeof(g)); if (remote != LOCAL) { - tmp = make_absolute_pwd_glob(tmp, remote_path); + tmp2 = make_absolute_pwd_glob(tmp, remote_path); + free(tmp); + tmp = tmp2; remote_glob(conn, tmp, GLOB_DOOFFS|GLOB_MARK, NULL, &g); } else glob(tmp, GLOB_DOOFFS|GLOB_MARK, NULL, &g); From a231414970e01a35f45a295d5f93698fa1249b28 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 9 Mar 2023 18:19:44 +1100 Subject: [PATCH 069/232] Limit the number of PAM environment variables. From Coverity CID 405194, tweaks and ok djm@ --- auth-pam.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/auth-pam.c b/auth-pam.c index b324953a1..f5a06b1f6 100644 --- a/auth-pam.c +++ b/auth-pam.c @@ -351,11 +351,12 @@ import_environments(struct sshbuf *b) /* Import environment from subprocess */ if ((r = sshbuf_get_u32(b, &num_env)) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); - if (num_env > 1024) - fatal("%s: received %u environment variables, expected <= 1024", - __func__, num_env); + if (num_env > 1024) { + fatal_f("received %u environment variables, expected <= 1024", + num_env); + } sshpam_env = xcalloc(num_env + 1, sizeof(*sshpam_env)); - debug3("PAM: num env strings %d", num_env); + debug3("PAM: num env strings %u", num_env); for(i = 0; i < num_env; i++) { if ((r = sshbuf_get_cstring(b, &(sshpam_env[i]), NULL)) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); @@ -365,7 +366,11 @@ import_environments(struct sshbuf *b) /* Import PAM environment from subprocess */ if ((r = sshbuf_get_u32(b, &num_env)) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); - debug("PAM: num PAM env strings %d", num_env); + if (num_env > 1024) { + fatal_f("received %u PAM env variables, expected <= 1024", + num_env); + } + debug("PAM: num PAM env strings %u", num_env); for (i = 0; i < num_env; i++) { if ((r = sshbuf_get_cstring(b, &env, NULL)) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); From bfd1ad01d974a316b60622759ad17537fa2d92b4 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 9 Mar 2023 18:24:54 +1100 Subject: [PATCH 070/232] Limit the number of PAM environment variables. xcalloc has its own limits, but these are specific to PAM. From Coverity CID 405198, ok djm@ --- monitor.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/monitor.c b/monitor.c index f856c8738..fda4a3660 100644 --- a/monitor.c +++ b/monitor.c @@ -1097,6 +1097,10 @@ mm_answer_pam_respond(struct ssh *ssh, int sock, struct sshbuf *m) sshpam_authok = NULL; if ((r = sshbuf_get_u32(m, &num)) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); + if (num > PAM_MAX_NUM_MSG) { + fatal_f("Too many PAM messages, got %u, expected <= %u", + num, (unsigned)PAM_MAX_NUM_MSG); + } if (num > 0) { resp = xcalloc(num, sizeof(char *)); for (i = 0; i < num; ++i) { From 54ac4ab2b53ce9fcb66b8250dee91c070e4167ed Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 9 Mar 2023 06:58:26 +0000 Subject: [PATCH 071/232] upstream: include destination constraints for smartcard keys too. Spotted by Luci Stanescu; ok deraadt@ markus@ OpenBSD-Commit-ID: add879fac6903a1cb1d1e42c4309e5359c3d870f --- authfd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/authfd.c b/authfd.c index 13f9432ef..77dc3cce5 100644 --- a/authfd.c +++ b/authfd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: authfd.c,v 1.131 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: authfd.c,v 1.132 2023/03/09 06:58:26 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -665,7 +665,7 @@ ssh_update_card(int sock, int add, const char *reader_id, const char *pin, struct dest_constraint **dest_constraints, size_t ndest_constraints) { struct sshbuf *msg; - int r, constrained = (life || confirm); + int r, constrained = (life || confirm || dest_constraints); u_char type; if (add) { From 733030840c4772f858de95d5940ec0c37663e8b0 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 9 Mar 2023 07:11:05 +0000 Subject: [PATCH 072/232] upstream: Re-split the merge of the reorder-hostkeys test. In the kex_proposal_populate_entries change I merged the the check for reordering hostkeys with the actual reordering, but kex_assemble_names mutates options.hostkeyalgorithms which renders the check ineffective. Put the check back where it was. Spotted and tested by jsg@, ok djm@ OpenBSD-Commit-ID: a7469f25a738db5567395d1881e32479a7ffc9de --- sshconnect2.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/sshconnect2.c b/sshconnect2.c index 613b69e0f..bc05f0214 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect2.c,v 1.365 2023/03/08 04:43:12 guenther Exp $ */ +/* $OpenBSD: sshconnect2.c,v 1.366 2023/03/09 07:11:05 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2008 Damien Miller. All rights reserved. @@ -222,7 +222,7 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port, { char *myproposal[PROPOSAL_MAX]; char *s, *all_key, *hkalgs = NULL; - int r; + int r, use_known_hosts_order = 0; xxx_host = host; xxx_hostaddr = hostaddr; @@ -232,6 +232,16 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port, ssh_packet_set_rekey_limits(ssh, options.rekey_limit, options.rekey_interval); + /* + * If the user has not specified HostkeyAlgorithms, or has only + * appended or removed algorithms from that list then prefer algorithms + * that are in the list that are supported by known_hosts keys. + */ + if (options.hostkeyalgorithms == NULL || + options.hostkeyalgorithms[0] == '-' || + options.hostkeyalgorithms[0] == '+') + use_known_hosts_order = 1; + /* Expand or fill in HostkeyAlgorithms */ all_key = sshkey_alg_list(0, 0, 1, ','); if ((r = kex_assemble_names(&options.hostkeyalgorithms, @@ -242,14 +252,7 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port, if ((s = kex_names_cat(options.kex_algorithms, "ext-info-c")) == NULL) fatal_f("kex_names_cat"); - /* - * If the user has not specified HostkeyAlgorithms, or has only - * appended or removed algorithms from that list then prefer algorithms - * that are in the list that are supported by known_hosts keys. - */ - if (options.hostkeyalgorithms == NULL || - options.hostkeyalgorithms[0] == '-' || - options.hostkeyalgorithms[0] == '+') + if (use_known_hosts_order) hkalgs = order_hostkeyalgs(host, hostaddr, port, cinfo); kex_proposal_populate_entries(ssh, myproposal, s, options.ciphers, From 633d3dc2a1e9e2a013d019a0576a0771c8423713 Mon Sep 17 00:00:00 2001 From: "jcs@openbsd.org" Date: Thu, 9 Mar 2023 21:06:24 +0000 Subject: [PATCH 073/232] upstream: modify parentheses in conditionals to make it clearer what is being assigned and what is being checked ok djm dtucker OpenBSD-Commit-ID: 19c10baa46ae559474409f75a5cb3d0eade7a9b8 --- authfd.c | 6 +++--- readconf.c | 4 ++-- ssh-agent.c | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/authfd.c b/authfd.c index 77dc3cce5..25a363664 100644 --- a/authfd.c +++ b/authfd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: authfd.c,v 1.132 2023/03/09 06:58:26 djm Exp $ */ +/* $OpenBSD: authfd.c,v 1.133 2023/03/09 21:06:24 jcs Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -490,8 +490,8 @@ encode_dest_constraint(struct sshbuf *m, const struct dest_constraint *dc) if ((b = sshbuf_new()) == NULL) return SSH_ERR_ALLOC_FAIL; - if ((r = encode_dest_constraint_hop(b, &dc->from) != 0) || - (r = encode_dest_constraint_hop(b, &dc->to) != 0) || + if ((r = encode_dest_constraint_hop(b, &dc->from)) != 0 || + (r = encode_dest_constraint_hop(b, &dc->to)) != 0 || (r = sshbuf_put_string(b, NULL, 0)) != 0) /* reserved */ goto out; if ((r = sshbuf_put_stringb(m, b)) != 0) diff --git a/readconf.c b/readconf.c index e71428b28..a51baae40 100644 --- a/readconf.c +++ b/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.373 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: readconf.c,v 1.374 2023/03/09 21:06:24 jcs Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -616,7 +616,7 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw, } arg = criteria = NULL; this_result = 1; - if ((negate = attrib[0] == '!')) + if ((negate = (attrib[0] == '!'))) attrib++; /* Criterion "all" has no argument and must appear alone */ if (strcasecmp(attrib, "all") == 0) { diff --git a/ssh-agent.c b/ssh-agent.c index 5e68c7deb..618bb1981 100644 --- a/ssh-agent.c +++ b/ssh-agent.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-agent.c,v 1.296 2023/03/08 04:43:12 guenther Exp $ */ +/* $OpenBSD: ssh-agent.c,v 1.297 2023/03/09 21:06:24 jcs Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1023,8 +1023,8 @@ parse_dest_constraint(struct sshbuf *m, struct dest_constraint *dc) error_fr(r, "parse"); goto out; } - if ((r = parse_dest_constraint_hop(frombuf, &dc->from) != 0) || - (r = parse_dest_constraint_hop(tobuf, &dc->to) != 0)) + if ((r = parse_dest_constraint_hop(frombuf, &dc->from)) != 0 || + (r = parse_dest_constraint_hop(tobuf, &dc->to)) != 0) goto out; /* already logged */ if (elen != 0) { error_f("unsupported extensions (len %zu)", elen); From 77adde4305542ebe3005dd456122624fe2347b01 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 10 Mar 2023 13:27:29 +1100 Subject: [PATCH 074/232] Wrap mkstemp calls with umask set/restore. glibc versions 2.06 and earlier did not set a umask on files created by mkstemp created the world-writable. Wrap mkstemp to set and restore the umask. From Coverity (CIDs 291826 291886 291891), ok djm@ --- openbsd-compat/mktemp.c | 22 ++++++++++++++++++++++ openbsd-compat/openbsd-compat.h | 2 ++ 2 files changed, 24 insertions(+) diff --git a/openbsd-compat/mktemp.c b/openbsd-compat/mktemp.c index ac922c1ec..4b13b9834 100644 --- a/openbsd-compat/mktemp.c +++ b/openbsd-compat/mktemp.c @@ -34,6 +34,28 @@ #include #include +#ifdef mkstemp +#undef mkstemp +#endif + +/* + * From glibc man page: 'In glibc versions 2.06 and earlier, the file is + * created with permissions 0666, that is, read and write for all users.' + * Provide a wrapper to make sure the mask is reasonable (POSIX requires + * mode 0600, so mask off any other bits). + */ +int +_ssh_mkstemp(char *template) +{ + mode_t mask; + int ret; + + mask = umask(0177); + ret = mkstemp(template); + (void)umask(mask); + return ret; +} + #if !defined(HAVE_MKDTEMP) #define MKTEMP_NAME 0 diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h index 895ecf9ea..cc4cf2055 100644 --- a/openbsd-compat/openbsd-compat.h +++ b/openbsd-compat/openbsd-compat.h @@ -141,6 +141,8 @@ int mkstemp(char *path); char *mkdtemp(char *path); #endif +#define mkstemp(x) _ssh_mkstemp(x) + #ifndef HAVE_DAEMON int daemon(int nochdir, int noclose); #endif From 7187d3f86bf8f2066cc9941f217d23b0cacae25e Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 10 Mar 2023 02:24:56 +0000 Subject: [PATCH 075/232] upstream: Remove no-op (int) > INT_MAX checks since they can never be true. From Coverity CID 405031, ok djm@ OpenBSD-Commit-ID: 9df3783b181e056595e2bb9edf7ed41d61cf8e84 --- readconf.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/readconf.c b/readconf.c index a51baae40..6ded2313d 100644 --- a/readconf.c +++ b/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.374 2023/03/09 21:06:24 jcs Exp $ */ +/* $OpenBSD: readconf.c,v 1.375 2023/03/10 02:24:56 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -2130,15 +2130,13 @@ parse_pubkey_algos: value2 = 0; /* unlimited lifespan by default */ if (value == 3 && arg2 != NULL) { /* allow "AddKeysToAgent confirm 5m" */ - if ((value2 = convtime(arg2)) == -1 || - value2 > INT_MAX) { + if ((value2 = convtime(arg2)) == -1) { error("%s line %d: invalid time value.", filename, linenum); goto out; } } else if (value == -1 && arg2 == NULL) { - if ((value2 = convtime(arg)) == -1 || - value2 > INT_MAX) { + if ((value2 = convtime(arg)) == -1) { error("%s line %d: unsupported option", filename, linenum); goto out; From d6d38fd77cbe091c59e1bb720c3a494df4990640 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 10 Mar 2023 02:32:04 +0000 Subject: [PATCH 076/232] upstream: Like sshd_config, some ssh_config options are not first-match-wins. sshd_config.5 was fixed in r1.348, this is the same for this file OpenBSD-Commit-ID: 7be55b9351cde449b136afcc52d07aa4113b215e --- ssh_config.5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ssh_config.5 b/ssh_config.5 index 9eb6b9779..c56b9d7be 100644 --- a/ssh_config.5 +++ b/ssh_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh_config.5,v 1.378 2023/01/13 07:13:40 jmc Exp $ -.Dd $Mdocdate: January 13 2023 $ +.\" $OpenBSD: ssh_config.5,v 1.379 2023/03/10 02:32:04 djm Exp $ +.Dd $Mdocdate: March 10 2023 $ .Dt SSH_CONFIG 5 .Os .Sh NAME @@ -56,7 +56,7 @@ system-wide configuration file .Pq Pa /etc/ssh/ssh_config .El .Pp -For each parameter, the first obtained value +Unless noted otherwise, for each parameter, the first obtained value will be used. The configuration files contain sections separated by .Cm Host From 4e04d68d6a33cdc73b831fd4b5e6124175555d3d Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 10 Mar 2023 03:01:51 +0000 Subject: [PATCH 077/232] upstream: Expliticly ignore return code from fcntl(.. FD_CLOEXEC) since there's not much we can do anyway. From Coverity CID 291857, ok djm@ OpenBSD-Commit-ID: 051429dd07af8db3fec10d82cdc78d90bb051729 --- channels.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/channels.c b/channels.c index 405671d03..d9f59f466 100644 --- a/channels.c +++ b/channels.c @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.c,v 1.429 2023/03/07 21:47:42 djm Exp $ */ +/* $OpenBSD: channels.c,v 1.430 2023/03/10 03:01:51 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -387,11 +387,11 @@ channel_register_fds(struct ssh *ssh, Channel *c, int rfd, int wfd, int efd, int val; if (rfd != -1) - fcntl(rfd, F_SETFD, FD_CLOEXEC); + (void)fcntl(rfd, F_SETFD, FD_CLOEXEC); if (wfd != -1 && wfd != rfd) - fcntl(wfd, F_SETFD, FD_CLOEXEC); + (void)fcntl(wfd, F_SETFD, FD_CLOEXEC); if (efd != -1 && efd != rfd && efd != wfd) - fcntl(efd, F_SETFD, FD_CLOEXEC); + (void)fcntl(efd, F_SETFD, FD_CLOEXEC); c->rfd = rfd; c->wfd = wfd; From bf4dae0ad192c3e2f03f7223834b00d88ace3d3e Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 10 Mar 2023 14:46:57 +1100 Subject: [PATCH 078/232] Add prototypes for mkstemp replacements. Should prevent warnings due to our wrapper function. --- openbsd-compat/mktemp.c | 1 + openbsd-compat/openbsd-compat.h | 1 + 2 files changed, 2 insertions(+) diff --git a/openbsd-compat/mktemp.c b/openbsd-compat/mktemp.c index 4b13b9834..cca956a51 100644 --- a/openbsd-compat/mktemp.c +++ b/openbsd-compat/mktemp.c @@ -37,6 +37,7 @@ #ifdef mkstemp #undef mkstemp #endif +int mkstemp(char *); /* * From glibc man page: 'In glibc versions 2.06 and earlier, the file is diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h index cc4cf2055..78faea962 100644 --- a/openbsd-compat/openbsd-compat.h +++ b/openbsd-compat/openbsd-compat.h @@ -142,6 +142,7 @@ char *mkdtemp(char *path); #endif #define mkstemp(x) _ssh_mkstemp(x) +int _ssh_mkstemp(char *); #ifndef HAVE_DAEMON int daemon(int nochdir, int noclose); From 89b8df518f21677045599df0ad3e5dd0f39909b5 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 10 Mar 2023 04:06:21 +0000 Subject: [PATCH 079/232] upstream: Plug mem leak on error path. Coverity CID 405026, ok djm@. OpenBSD-Commit-ID: 8212ca05d01966fb5e72205c592b2257708a2aac --- dns.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dns.c b/dns.c index 823951efa..939241440 100644 --- a/dns.c +++ b/dns.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dns.c,v 1.43 2023/02/10 04:56:30 djm Exp $ */ +/* $OpenBSD: dns.c,v 1.44 2023/03/10 04:06:21 dtucker Exp $ */ /* * Copyright (c) 2003 Wesley Griffin. All rights reserved. @@ -258,6 +258,7 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address, if (!dns_read_key(&hostkey_algorithm, &dnskey_digest_type, &hostkey_digest, &hostkey_digest_len, hostkey)) { error("Error calculating key fingerprint."); + free(dnskey_digest); freerrset(fingerprints); return -1; } From 0fda9d704d3bbf54a5e64ce02a6fecb11fe7f047 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 10 Mar 2023 15:59:46 +1100 Subject: [PATCH 080/232] bounds checking for getrrsetbyname() replacement; Spotted by Coverity in CID 405033; ok millert@ --- openbsd-compat/getrrsetbyname.c | 47 +++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/openbsd-compat/getrrsetbyname.c b/openbsd-compat/getrrsetbyname.c index 73de5e948..8f5939840 100644 --- a/openbsd-compat/getrrsetbyname.c +++ b/openbsd-compat/getrrsetbyname.c @@ -390,6 +390,9 @@ parse_dns_response(const u_char *answer, int size) struct dns_response *resp; const u_char *cp; + if (size < HFIXEDSZ) + return (NULL); + /* allocate memory for the response */ resp = calloc(1, sizeof(*resp)); if (resp == NULL) @@ -456,14 +459,22 @@ parse_dns_qsection(const u_char *answer, int size, const u_char **cp, int count) int i, length; char name[MAXDNAME]; - for (i = 1, head = NULL, prev = NULL; i <= count; i++, prev = curr) { +#define NEED(need) \ + do { \ + if (*cp + need > answer + size) \ + goto fail; \ + } while (0) - /* allocate and initialize struct */ - curr = calloc(1, sizeof(struct dns_query)); - if (curr == NULL) { + for (i = 1, head = NULL, prev = NULL; i <= count; i++, prev = curr) { + if (*cp >= answer + size) { + fail: free_dns_query(head); return (NULL); } + /* allocate and initialize struct */ + curr = calloc(1, sizeof(struct dns_query)); + if (curr == NULL) + goto fail; if (head == NULL) head = curr; if (prev != NULL) @@ -481,16 +492,20 @@ parse_dns_qsection(const u_char *answer, int size, const u_char **cp, int count) free_dns_query(head); return (NULL); } + NEED(length); *cp += length; /* type */ + NEED(INT16SZ); curr->type = _getshort(*cp); *cp += INT16SZ; /* class */ + NEED(INT16SZ); curr->class = _getshort(*cp); *cp += INT16SZ; } +#undef NEED return (head); } @@ -503,14 +518,23 @@ parse_dns_rrsection(const u_char *answer, int size, const u_char **cp, int i, length; char name[MAXDNAME]; - for (i = 1, head = NULL, prev = NULL; i <= count; i++, prev = curr) { +#define NEED(need) \ + do { \ + if (*cp + need > answer + size) \ + goto fail; \ + } while (0) - /* allocate and initialize struct */ - curr = calloc(1, sizeof(struct dns_rr)); - if (curr == NULL) { + for (i = 1, head = NULL, prev = NULL; i <= count; i++, prev = curr) { + if (*cp >= answer + size) { + fail: free_dns_rr(head); return (NULL); } + + /* allocate and initialize struct */ + curr = calloc(1, sizeof(struct dns_rr)); + if (curr == NULL) + goto fail; if (head == NULL) head = curr; if (prev != NULL) @@ -528,25 +552,31 @@ parse_dns_rrsection(const u_char *answer, int size, const u_char **cp, free_dns_rr(head); return (NULL); } + NEED(length); *cp += length; /* type */ + NEED(INT16SZ); curr->type = _getshort(*cp); *cp += INT16SZ; /* class */ + NEED(INT16SZ); curr->class = _getshort(*cp); *cp += INT16SZ; /* ttl */ + NEED(INT32SZ); curr->ttl = _getlong(*cp); *cp += INT32SZ; /* rdata size */ + NEED(INT16SZ); curr->size = _getshort(*cp); *cp += INT16SZ; /* rdata itself */ + NEED(curr->size); curr->rdata = malloc(curr->size); if (curr->rdata == NULL) { free_dns_rr(head); @@ -555,6 +585,7 @@ parse_dns_rrsection(const u_char *answer, int size, const u_char **cp, memcpy(curr->rdata, *cp, curr->size); *cp += curr->size; } +#undef NEED return (head); } From 83a56a49fd50f4acf900f934279482e4ef329715 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 10 Mar 2023 07:17:08 +0000 Subject: [PATCH 081/232] upstream: Explicitly ignore return from fcntl (... FD_CLOEXEC) here too. Coverity CID 291853. OpenBSD-Commit-ID: 99d8b3da9d0be1d07ca8dd8e98800a890349e9b5 --- sshconnect.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sshconnect.c b/sshconnect.c index 7f350eea6..e6012f01e 100644 --- a/sshconnect.c +++ b/sshconnect.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect.c,v 1.362 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: sshconnect.c,v 1.363 2023/03/10 07:17:08 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -363,7 +363,7 @@ ssh_create_socket(struct addrinfo *ai) error("socket: %s", strerror(errno)); return -1; } - fcntl(sock, F_SETFD, FD_CLOEXEC); + (void)fcntl(sock, F_SETFD, FD_CLOEXEC); /* Use interactive QOS (if specified) until authentication completed */ if (options.ip_qos_interactive != INT_MAX) From 8f287ba60d342b3e2f750e7332d2131e3ec7ecd0 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Sun, 12 Mar 2023 09:41:18 +0000 Subject: [PATCH 082/232] upstream: calloc can return NULL but xcalloc can't. From Coverity CID 291881, ok djm@ OpenBSD-Commit-ID: 50204b755f66b2ec7ac3cfe379d07d85ca161d2b --- sftp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sftp.c b/sftp.c index 4a3774421..29081db3d 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.228 2023/03/08 06:21:32 dtucker Exp $ */ +/* $OpenBSD: sftp.c,v 1.229 2023/03/12 09:41:18 dtucker Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -1007,7 +1007,7 @@ do_globbed_ls(struct sftp_conn *conn, const char *path, */ for (nentries = 0; g.gl_pathv[nentries] != NULL; nentries++) ; /* count entries */ - indices = calloc(nentries, sizeof(*indices)); + indices = xcalloc(nentries, sizeof(*indices)); for (i = 0; i < nentries; i++) indices[i] = i; From d95af508e78c0cd3dce56b83853baaa59ae295cf Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Sun, 12 Mar 2023 10:40:39 +0000 Subject: [PATCH 083/232] upstream: Limit number of entries in SSH2_MSG_EXT_INFO request. This is already constrained by the maximum SSH packet size but this makes it explicit. Prompted by Coverity CID 291868, ok djm@ markus@ OpenBSD-Commit-ID: aea023819aa44a2dcb9dd0fbec10561896fc3a09 --- kex.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kex.c b/kex.c index 7afb838cf..b4e2ab75f 100644 --- a/kex.c +++ b/kex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.c,v 1.177 2023/03/08 04:43:12 guenther Exp $ */ +/* $OpenBSD: kex.c,v 1.178 2023/03/12 10:40:39 dtucker Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * @@ -541,6 +541,11 @@ kex_input_ext_info(int type, u_int32_t seq, struct ssh *ssh) ssh_dispatch_set(ssh, SSH2_MSG_EXT_INFO, &kex_protocol_error); if ((r = sshpkt_get_u32(ssh, &ninfo)) != 0) return r; + if (ninfo >= 1024) { + error("SSH2_MSG_EXT_INFO with too many entries, expected " + "<=1024, received %u", ninfo); + return SSH_ERR_INVALID_FORMAT; + } for (i = 0; i < ninfo; i++) { if ((r = sshpkt_get_cstring(ssh, &name, NULL)) != 0) return r; From 1d270bd303afaf6d94e9098cbbf18e5e539e2088 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Tue, 14 Mar 2023 07:26:25 +0000 Subject: [PATCH 084/232] upstream: Check pointer for NULL before deref. None of the existing callers seem to do that, but it's worth checking. From Coverity CID 291834, ok djm@ OpenBSD-Commit-ID: a0a97113f192a7cb1a2c97b932f677f573cda7a4 --- authfile.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/authfile.c b/authfile.c index 9ed4f4c3a..445f2dd54 100644 --- a/authfile.c +++ b/authfile.c @@ -1,4 +1,4 @@ -/* $OpenBSD: authfile.c,v 1.143 2022/06/21 14:52:13 tobhe Exp $ */ +/* $OpenBSD: authfile.c,v 1.144 2023/03/14 07:26:25 dtucker Exp $ */ /* * Copyright (c) 2000, 2013 Markus Friedl. All rights reserved. * @@ -211,6 +211,8 @@ sshkey_try_load_public(struct sshkey **kp, const char *filename, int r; struct sshkey *k = NULL; + if (kp == NULL) + return SSH_ERR_INVALID_ARGUMENT; *kp = NULL; if (commentp != NULL) *commentp = NULL; From 6fd4daafb949b66bf555f3100f715a9ec64c3390 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Tue, 14 Mar 2023 07:28:47 +0000 Subject: [PATCH 085/232] upstream: Free KRL ptr in addition to its contents. From Coverity CID 291841, ok djm@ OpenBSD-Commit-ID: f146ba08b1b43af4e0d7ad8c4dae3748b4fa31b6 --- krl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/krl.c b/krl.c index 473a9d737..1fed42b22 100644 --- a/krl.c +++ b/krl.c @@ -14,7 +14,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $OpenBSD: krl.c,v 1.54 2022/04/28 02:53:31 djm Exp $ */ +/* $OpenBSD: krl.c,v 1.55 2023/03/14 07:28:47 dtucker Exp $ */ #include "includes.h" @@ -191,6 +191,7 @@ ssh_krl_free(struct ssh_krl *krl) TAILQ_REMOVE(&krl->revoked_certs, rc, entry); revoked_certs_free(rc); } + free(krl); } void From ba7532d0dac9aaf0ad7270664c43837fc9f64a5f Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 15 Mar 2023 21:19:57 +0000 Subject: [PATCH 086/232] upstream: openssh-9.3 OpenBSD-Commit-ID: 8011495f2449c1029bb316bd015eab2e00509848 --- version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.h b/version.h index d83ae5b94..69e76e634 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ -/* $OpenBSD: version.h,v 1.96 2023/02/02 12:10:22 djm Exp $ */ +/* $OpenBSD: version.h,v 1.97 2023/03/15 21:19:57 djm Exp $ */ -#define SSH_VERSION "OpenSSH_9.2" +#define SSH_VERSION "OpenSSH_9.3" #define SSH_PORTABLE "p1" #define SSH_RELEASE SSH_VERSION SSH_PORTABLE From 1dba63eb10c40b6fda9f5012ed6ae87e2d3d028e Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 16 Mar 2023 08:27:54 +1100 Subject: [PATCH 087/232] crank version --- README | 3 ++- contrib/redhat/openssh.spec | 2 +- contrib/suse/openssh.spec | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README b/README index 89bcddd9e..796101c7a 100644 --- a/README +++ b/README @@ -1,4 +1,5 @@ -See https://www.openssh.com/releasenotes.html#9.2p1 for the release notes. +See https://www.openssh.com/releasenotes.html#9.3p1 for the release +notes. Please read https://www.openssh.com/report.html for bug reporting instructions and note that we do not use Github for bug reporting or diff --git a/contrib/redhat/openssh.spec b/contrib/redhat/openssh.spec index 423079a03..a665aa20b 100644 --- a/contrib/redhat/openssh.spec +++ b/contrib/redhat/openssh.spec @@ -1,4 +1,4 @@ -%global ver 9.2p1 +%global ver 9.3p1 %global rel 1%{?dist} # OpenSSH privilege separation requires a user & group ID diff --git a/contrib/suse/openssh.spec b/contrib/suse/openssh.spec index e533ed542..406b7c0b8 100644 --- a/contrib/suse/openssh.spec +++ b/contrib/suse/openssh.spec @@ -13,7 +13,7 @@ Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation Name: openssh -Version: 9.2p1 +Version: 9.3p1 URL: https://www.openssh.com/ Release: 1 Source0: openssh-%{version}.tar.gz From cb30fbdbee869f1ce11f06aa97e1cb8717a0b645 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 16 Mar 2023 08:28:19 +1100 Subject: [PATCH 088/232] depend --- .depend | 51 +++++++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/.depend b/.depend index 5226523aa..259bf3b2f 100644 --- a/.depend +++ b/.depend @@ -16,21 +16,20 @@ auth-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-c auth-rhosts.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h uidswap.h pathnames.h log.h ssherr.h misc.h xmalloc.h sshbuf.h sshkey.h servconf.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-shadow.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h auth-sia.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -auth.o: authfile.h monitor_wrap.h compat.h channels.h +auth.o: authfile.h monitor_wrap.h channels.h auth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h canohost.h uidswap.h packet.h dispatch.h auth2-chall.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h misc.h servconf.h auth2-gss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -auth2-hostbased.o: canohost.h monitor_wrap.h pathnames.h match.h -auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h +auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h canohost.h +auth2-hostbased.o: monitor_wrap.h pathnames.h match.h auth2-kbdint.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h log.h ssherr.h misc.h servconf.h -auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h compat.h ssh2.h monitor_wrap.h +auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h ssh2.h monitor_wrap.h auth2-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h monitor_wrap.h misc.h servconf.h auth2-pubkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth2-pubkey.o: pathnames.h uidswap.h auth-options.h canohost.h monitor_wrap.h authfile.h match.h channels.h session.h sk-api.h -auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h compat.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h -auth2.o: digest.h -auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h -authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h compat.h log.h ssherr.h atomicio.h misc.h +auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h +auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h digest.h +authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h log.h ssherr.h atomicio.h misc.h authfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh.h log.h ssherr.h authfile.h misc.h atomicio.h sshkey.h sshbuf.h krl.h bitmap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h bitmap.h canohost.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h canohost.h misc.h @@ -44,11 +43,11 @@ cipher.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat cleanup.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h clientloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h packet.h dispatch.h sshbuf.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h clientloop.o: myproposal.h log.h ssherr.h misc.h readconf.h clientloop.h sshconnect.h authfd.h atomicio.h sshpty.h match.h msg.h hostfile.h -compat.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h log.h ssherr.h match.h kex.h mac.h crypto_api.h +compat.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h log.h ssherr.h match.h dh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h digest-libc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h digest.h digest-openssl.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -dispatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh2.h log.h ssherr.h dispatch.h packet.h openbsd-compat/sys-queue.h compat.h +dispatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh2.h log.h ssherr.h dispatch.h packet.h openbsd-compat/sys-queue.h dns.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h ssherr.h dns.h log.h digest.h ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h entropy.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -61,7 +60,7 @@ hash.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h hmac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h digest.h hmac.h hostfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h sshkey.h hostfile.h log.h ssherr.h misc.h pathnames.h digest.h hmac.h sshbuf.h kex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h ssh2.h atomicio.h version.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h -kex.o: match.h misc.h monitor.h sshbuf.h digest.h +kex.o: match.h misc.h monitor.h myproposal.h sshbuf.h digest.h xmalloc.h kexc25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h ssh2.h kexdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h kexecdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h @@ -94,8 +93,8 @@ platform-tracing.o: includes.h config.h defines.h platform.h openbsd-compat/open platform.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h poly1305.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h poly1305.h progressmeter.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h progressmeter.h atomicio.h misc.h utf8.h -readconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h ssherr.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.h -readconf.o: uidswap.h myproposal.h digest.h +readconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h ssherr.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.h uidswap.h +readconf.o: myproposal.h digest.h readpass.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h misc.h pathnames.h log.h ssherr.h ssh.h uidswap.h rijndael.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h rijndael.h sandbox-capsicum.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -107,12 +106,12 @@ sandbox-seccomp-filter.o: includes.h config.h defines.h platform.h openbsd-compa sandbox-solaris.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sandbox-systrace.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h scp.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h atomicio.h pathnames.h log.h ssherr.h misc.h progressmeter.h utf8.h sftp.h sftp-common.h sftp-client.h -servconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h openbsd-compat/sys-queue.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h -servconf.o: kex.h mac.h crypto_api.h match.h channels.h groupaccess.h canohost.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h myproposal.h digest.h -serverloop.o: cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h session.h auth-options.h serverloop.h -serverloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h compat.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h -session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h -session.o: rijndael.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfd.h pathnames.h log.h misc.h servconf.h sshlogin.h serverloop.h canohost.h session.h kex.h mac.h crypto_api.h monitor_wrap.h sftp.h atomicio.h +servconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h openbsd-compat/sys-queue.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h +servconf.o: mac.h crypto_api.h match.h channels.h groupaccess.h canohost.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h myproposal.h digest.h +serverloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h +serverloop.o: rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h session.h auth-options.h serverloop.h +session.o: hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfd.h pathnames.h log.h misc.h servconf.h sshlogin.h serverloop.h canohost.h session.h kex.h mac.h crypto_api.h monitor_wrap.h sftp.h atomicio.h +session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sftp-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssherr.h sshbuf.h log.h atomicio.h progressmeter.h misc.h utf8.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h sftp-common.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssherr.h sshbuf.h log.h misc.h sftp.h sftp-common.h sftp-glob.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h @@ -125,7 +124,7 @@ sk-usbhid.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-com sntrup761.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h srclimit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h addr.h canohost.h log.h ssherr.h misc.h srclimit.h xmalloc.h ssh-add.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h log.h ssherr.h sshkey.h sshbuf.h authfd.h authfile.h pathnames.h misc.h digest.h ssh-sk.h sk-api.h hostfile.h -ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h compat.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h myproposal.h +ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h myproposal.h ssh-dss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh-ecdsa-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h sshbuf.h ssherr.h digest.h sshkey.h ssh-ecdsa.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h @@ -133,8 +132,8 @@ ssh-ed25519-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbs ssh-ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h log.h ssherr.h sshbuf.h sshkey.h ssh.h ssh-keygen.o: cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh-keygen.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h authfile.h sshbuf.h pathnames.h log.h ssherr.h misc.h match.h hostfile.h dns.h ssh.h ssh2.h ssh-pkcs11.h atomicio.h krl.h digest.h utf8.h authfd.h sshsig.h ssh-sk.h sk-api.h cipher.h -ssh-keyscan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h compat.h myproposal.h packet.h dispatch.h log.h -ssh-keyscan.o: ssherr.h atomicio.h misc.h hostfile.h ssh_api.h ssh2.h dns.h addr.h +ssh-keyscan.o: dispatch.h log.h ssherr.h atomicio.h misc.h hostfile.h ssh_api.h ssh2.h dns.h addr.h +ssh-keyscan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h kex.h mac.h crypto_api.h compat.h myproposal.h packet.h ssh-keysign.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h sshkey.h ssh.h ssh2.h misc.h sshbuf.h authfile.h msg.h canohost.h pathnames.h readconf.h uidswap.h ssh-pkcs11-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh-pkcs11-helper.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h sshbuf.h log.h ssherr.h misc.h sshkey.h authfd.h ssh-pkcs11.h @@ -153,12 +152,12 @@ sshbuf-getput-crypto.o: includes.h config.h defines.h platform.h openbsd-compat/ sshbuf-io.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h atomicio.h sshbuf-misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h sshbuf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h misc.h -sshconnect.o: authfd.h kex.h mac.h crypto_api.h -sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h sshkey.h sshconnect.h log.h ssherr.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h +sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h sshkey.h sshconnect.h log.h ssherr.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h authfd.h +sshconnect.o: kex.h mac.h crypto_api.h sshconnect2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h packet.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h -sshconnect2.o: myproposal.h sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h +sshconnect2.o: sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h -sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h myproposal.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h +sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h ssherr.o: ssherr.h sshkey-xmss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h ssh2.h ssherr.h misc.h sshbuf.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h match.h ssh-sk.h openbsd-compat/openssl-compat.h From 610ac1cb077cd5a1ebfc21612154bfa13d2ec825 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 16 Mar 2023 21:38:04 +1100 Subject: [PATCH 089/232] Show 9.3 branch instead of 9.2. --- .github/ci-status.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/ci-status.md b/.github/ci-status.md index c57c3d83d..f3e088fd6 100644 --- a/.github/ci-status.md +++ b/.github/ci-status.md @@ -6,6 +6,6 @@ master : [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) [![Coverity Status](https://scan.coverity.com/projects/21341/badge.svg)](https://scan.coverity.com/projects/openssh-portable) -9.2 : -[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_2)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_2) -[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_2)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_2) +9.3 : +[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg?branch=V_9_3)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml?query=branch:V_9_3) +[![C/C++ CI self-hosted](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml/badge.svg?branch=V_9_3)](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_9_3) From abda22fb48302f2142233f71d27c74040288c518 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sun, 19 Mar 2023 15:36:13 +1100 Subject: [PATCH 090/232] Test latest OpenSSL 1.1, 3.0 and LibreSSL 3.7. --- .github/workflows/c-cpp.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index f3163884a..3d9aa22db 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -55,7 +55,7 @@ jobs: - { target: ubuntu-latest, config: libressl-3.4.3 } - { target: ubuntu-latest, config: libressl-3.5.3 } - { target: ubuntu-latest, config: libressl-3.6.1 } - - { target: ubuntu-latest, config: libressl-3.7.0 } + - { target: ubuntu-latest, config: libressl-3.7.1 } - { target: ubuntu-latest, config: openssl-master } - { target: ubuntu-latest, config: openssl-noec } - { target: ubuntu-latest, config: openssl-1.0.1 } @@ -66,10 +66,10 @@ jobs: - { target: ubuntu-latest, config: openssl-1.1.1k } - { target: ubuntu-latest, config: openssl-1.1.1n } - { target: ubuntu-latest, config: openssl-1.1.1q } - - { target: ubuntu-latest, config: openssl-1.1.1s } + - { target: ubuntu-latest, config: openssl-1.1.1t } - { target: ubuntu-latest, config: openssl-3.0.0 } - - { target: ubuntu-latest, config: openssl-3.0.5 } - { target: ubuntu-latest, config: openssl-3.0.7 } + - { target: ubuntu-latest, config: openssl-3.1.0 } - { target: ubuntu-latest, config: openssl-1.1.1_stable } - { target: ubuntu-latest, config: openssl-3.0 } # stable branch - { target: ubuntu-22.04, config: pam } From 7280401bdd77ca54be6867a154cc01e0d72612e0 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 24 Mar 2023 13:56:25 +1100 Subject: [PATCH 091/232] remove support for old libcrypto OpenSSH now requires LibreSSL 3.1.0 or greater or OpenSSL 1.1.1 or greater with/ok dtucker@ --- .github/workflows/c-cpp.yml | 7 - INSTALL | 8 +- cipher-aes.c | 2 +- configure.ac | 96 ++--- openbsd-compat/libressl-api-compat.c | 556 +-------------------------- openbsd-compat/openssl-compat.h | 151 +------- 6 files changed, 40 insertions(+), 780 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 3d9aa22db..d299a3246 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -47,9 +47,6 @@ jobs: - { target: ubuntu-20.04, config: tcmalloc } - { target: ubuntu-20.04, config: musl } - { target: ubuntu-latest, config: libressl-master } - - { target: ubuntu-latest, config: libressl-2.2.9 } - - { target: ubuntu-latest, config: libressl-2.8.3 } - - { target: ubuntu-latest, config: libressl-3.0.2 } - { target: ubuntu-latest, config: libressl-3.2.6 } - { target: ubuntu-latest, config: libressl-3.3.6 } - { target: ubuntu-latest, config: libressl-3.4.3 } @@ -58,10 +55,6 @@ jobs: - { target: ubuntu-latest, config: libressl-3.7.1 } - { target: ubuntu-latest, config: openssl-master } - { target: ubuntu-latest, config: openssl-noec } - - { target: ubuntu-latest, config: openssl-1.0.1 } - - { target: ubuntu-latest, config: openssl-1.0.1u } - - { target: ubuntu-latest, config: openssl-1.0.2u } - - { target: ubuntu-latest, config: openssl-1.1.0h } - { target: ubuntu-latest, config: openssl-1.1.1 } - { target: ubuntu-latest, config: openssl-1.1.1k } - { target: ubuntu-latest, config: openssl-1.1.1n } diff --git a/INSTALL b/INSTALL index 68b15e131..f99d1e2a8 100644 --- a/INSTALL +++ b/INSTALL @@ -21,12 +21,8 @@ https://zlib.net/ libcrypto from either of LibreSSL or OpenSSL. Building without libcrypto is supported but severely restricts the available ciphers and algorithms. - - LibreSSL (https://www.libressl.org/) - - OpenSSL (https://www.openssl.org) with any of the following versions: - - 1.0.x >= 1.0.1 or 1.1.0 >= 1.1.0g or any 1.1.1 - -Note that due to a bug in EVP_CipherInit OpenSSL 1.1 versions prior to -1.1.0g can't be used. + - LibreSSL (https://www.libressl.org/) 3.1.0 or greater + - OpenSSL (https://www.openssl.org) 1.1.1 or greater LibreSSL/OpenSSL should be compiled as a position-independent library (i.e. -fPIC, eg by configuring OpenSSL as "./config [options] -fPIC" diff --git a/cipher-aes.c b/cipher-aes.c index 8b1017272..87c763353 100644 --- a/cipher-aes.c +++ b/cipher-aes.c @@ -69,7 +69,7 @@ ssh_rijndael_init(EVP_CIPHER_CTX *ctx, const u_char *key, const u_char *iv, static int ssh_rijndael_cbc(EVP_CIPHER_CTX *ctx, u_char *dest, const u_char *src, - LIBCRYPTO_EVP_INL_TYPE len) + size_t len) { struct ssh_rijndael_ctx *c; u_char buf[RIJNDAEL_BLOCKSIZE]; diff --git a/configure.ac b/configure.ac index 22fee70f6..1c0ccdf19 100644 --- a/configure.ac +++ b/configure.ac @@ -2802,42 +2802,40 @@ if test "x$openssl" = "xyes" ; then #include #define DATA "conftest.ssllibver" ]], [[ - FILE *fd; - int rc; + FILE *f; - fd = fopen(DATA,"w"); - if(fd == NULL) + if ((f = fopen(DATA, "w")) == NULL) exit(1); -#ifndef OPENSSL_VERSION -# define OPENSSL_VERSION SSLEAY_VERSION -#endif -#ifndef HAVE_OPENSSL_VERSION -# define OpenSSL_version SSLeay_version -#endif -#ifndef HAVE_OPENSSL_VERSION_NUM -# define OpenSSL_version_num SSLeay -#endif - if ((rc = fprintf(fd, "%08lx (%s)\n", + if (fprintf(f, "%08lx (%s)", (unsigned long)OpenSSL_version_num(), - OpenSSL_version(OPENSSL_VERSION))) < 0) + OpenSSL_version(OPENSSL_VERSION)) < 0) + exit(1); +#ifdef LIBRESSL_VERSION_NUMBER + if (fprintf(f, " libressl-%08lx", LIBRESSL_VERSION_NUMBER) < 0) + exit(1); +#endif + if (fputc('\n', f) == EOF || fclose(f) == EOF) exit(1); - exit(0); ]])], [ - ssl_library_ver=`cat conftest.ssllibver` + sslver=`cat conftest.ssllibver` + ssl_showver=`echo "$sslver" | sed 's/ libressl-.*//'` # Check version is supported. - case "$ssl_library_ver" in - 10000*|0*) - AC_MSG_ERROR([OpenSSL >= 1.0.1 required (have "$ssl_library_ver")]) - ;; - 100*) ;; # 1.0.x - 101000[[0123456]]*) - # https://github.com/openssl/openssl/pull/4613 - AC_MSG_ERROR([OpenSSL 1.1.x versions prior to 1.1.0g have a bug that breaks their use with OpenSSH (have "$ssl_library_ver")]) + case "$sslver" in + 100*|10100*) # 1.0.x, 1.1.0x + AC_MSG_ERROR([OpenSSL >= 1.1.1 required (have "$ssl_showver")]) ;; 101*) ;; # 1.1.x - 200*) ;; # LibreSSL + 200*) # LibreSSL + lver=`echo "$sslver" | sed 's/.*libressl-//'` + case "$lver" in + 2*|300*) # 2.x, 3.0.0 + AC_MSG_ERROR([LibreSSL >= 3.1.0 required (have "$ssl_showver")]) + ;; + *) ;; # Assume all other versions are good. + esac + ;; 300*) # OpenSSL 3; we use the 1.1x API CPPFLAGS="$CPPFLAGS -DOPENSSL_API_COMPAT=0x10100000L" @@ -2847,10 +2845,10 @@ if test "x$openssl" = "xyes" ; then CPPFLAGS="$CPPFLAGS -DOPENSSL_API_COMPAT=0x10100000L" ;; *) - AC_MSG_ERROR([Unknown/unsupported OpenSSL version ("$ssl_library_ver")]) + AC_MSG_ERROR([Unknown/unsupported OpenSSL version ("$ssl_showver")]) ;; esac - AC_MSG_RESULT([$ssl_library_ver]) + AC_MSG_RESULT([$ssl_showver]) ], [ AC_MSG_RESULT([not found]) @@ -2863,7 +2861,7 @@ if test "x$openssl" = "xyes" ; then case "$host" in x86_64-*) - case "$ssl_library_ver" in + case "$sslver" in 3000004*) AC_MSG_ERROR([OpenSSL 3.0.4 has a potential RCE in its RSA implementation (CVE-2022-2274)]) ;; @@ -2879,9 +2877,6 @@ if test "x$openssl" = "xyes" ; then #include #include ]], [[ -#ifndef HAVE_OPENSSL_VERSION_NUM -# define OpenSSL_version_num SSLeay -#endif exit(OpenSSL_version_num() == OPENSSL_VERSION_NUMBER ? 0 : 1); ]])], [ @@ -2955,44 +2950,13 @@ if test "x$openssl" = "xyes" ; then ) ) - # LibreSSL/OpenSSL 1.1x API + # LibreSSL/OpenSSL API differences AC_CHECK_FUNCS([ \ - OPENSSL_init_crypto \ - DH_get0_key \ - DH_get0_pqg \ - DH_set0_key \ - DH_set_length \ - DH_set0_pqg \ - DSA_get0_key \ - DSA_get0_pqg \ - DSA_set0_key \ - DSA_set0_pqg \ - DSA_SIG_get0 \ - DSA_SIG_set0 \ - ECDSA_SIG_get0 \ - ECDSA_SIG_set0 \ EVP_CIPHER_CTX_iv \ EVP_CIPHER_CTX_iv_noconst \ EVP_CIPHER_CTX_get_iv \ EVP_CIPHER_CTX_get_updated_iv \ EVP_CIPHER_CTX_set_iv \ - RSA_get0_crt_params \ - RSA_get0_factors \ - RSA_get0_key \ - RSA_set0_crt_params \ - RSA_set0_factors \ - RSA_set0_key \ - RSA_meth_free \ - RSA_meth_dup \ - RSA_meth_set1_name \ - RSA_meth_get_finish \ - RSA_meth_set_priv_enc \ - RSA_meth_set_priv_dec \ - RSA_meth_set_finish \ - EVP_PKEY_get0_RSA \ - EVP_MD_CTX_new \ - EVP_MD_CTX_free \ - EVP_chacha20 \ ]) if test "x$openssl_engine" = "xyes" ; then @@ -3050,8 +3014,8 @@ if test "x$openssl" = "xyes" ; then ] ) - # Check for SHA256, SHA384 and SHA512 support in OpenSSL - AC_CHECK_FUNCS([EVP_sha256 EVP_sha384 EVP_sha512]) + # Check for various EVP support in OpenSSL + AC_CHECK_FUNCS([EVP_sha256 EVP_sha384 EVP_sha512 EVP_chacha20]) # Check complete ECC support in OpenSSL AC_MSG_CHECKING([whether OpenSSL has NID_X9_62_prime256v1]) diff --git a/openbsd-compat/libressl-api-compat.c b/openbsd-compat/libressl-api-compat.c index 498180dc8..59be17397 100644 --- a/openbsd-compat/libressl-api-compat.c +++ b/openbsd-compat/libressl-api-compat.c @@ -1,129 +1,5 @@ -/* $OpenBSD: dsa_lib.c,v 1.29 2018/04/14 07:09:21 tb Exp $ */ -/* $OpenBSD: rsa_lib.c,v 1.37 2018/04/14 07:09:21 tb Exp $ */ -/* $OpenBSD: evp_lib.c,v 1.17 2018/09/12 06:35:38 djm Exp $ */ -/* $OpenBSD: dh_lib.c,v 1.32 2018/05/02 15:48:38 tb Exp $ */ -/* $OpenBSD: p_lib.c,v 1.24 2018/05/30 15:40:50 tb Exp $ */ -/* $OpenBSD: digest.c,v 1.30 2018/04/14 07:09:21 tb Exp $ */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -/* $OpenBSD: dsa_asn1.c,v 1.22 2018/06/14 17:03:19 jsing Exp $ */ -/* $OpenBSD: ecs_asn1.c,v 1.9 2018/03/17 15:24:44 tb Exp $ */ -/* $OpenBSD: digest.c,v 1.30 2018/04/14 07:09:21 tb Exp $ */ -/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL - * project 2000. - */ -/* ==================================================================== - * Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -/* $OpenBSD: rsa_meth.c,v 1.2 2018/09/12 06:35:38 djm Exp $ */ /* - * Copyright (c) 2018 Theo Buehler + * Copyright (c) 2018 Damien Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -147,192 +23,7 @@ #include #include -#include -#include -#include -#include #include -#ifdef OPENSSL_HAS_ECC -#include -#endif -#include - -#ifndef HAVE_DSA_GET0_PQG -void -DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) -{ - if (p != NULL) - *p = d->p; - if (q != NULL) - *q = d->q; - if (g != NULL) - *g = d->g; -} -#endif /* HAVE_DSA_GET0_PQG */ - -#ifndef HAVE_DSA_SET0_PQG -int -DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g) -{ - if ((d->p == NULL && p == NULL) || (d->q == NULL && q == NULL) || - (d->g == NULL && g == NULL)) - return 0; - - if (p != NULL) { - BN_free(d->p); - d->p = p; - } - if (q != NULL) { - BN_free(d->q); - d->q = q; - } - if (g != NULL) { - BN_free(d->g); - d->g = g; - } - - return 1; -} -#endif /* HAVE_DSA_SET0_PQG */ - -#ifndef HAVE_DSA_GET0_KEY -void -DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key) -{ - if (pub_key != NULL) - *pub_key = d->pub_key; - if (priv_key != NULL) - *priv_key = d->priv_key; -} -#endif /* HAVE_DSA_GET0_KEY */ - -#ifndef HAVE_DSA_SET0_KEY -int -DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key) -{ - if (d->pub_key == NULL && pub_key == NULL) - return 0; - - if (pub_key != NULL) { - BN_free(d->pub_key); - d->pub_key = pub_key; - } - if (priv_key != NULL) { - BN_free(d->priv_key); - d->priv_key = priv_key; - } - - return 1; -} -#endif /* HAVE_DSA_SET0_KEY */ - -#ifndef HAVE_RSA_GET0_KEY -void -RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) -{ - if (n != NULL) - *n = r->n; - if (e != NULL) - *e = r->e; - if (d != NULL) - *d = r->d; -} -#endif /* HAVE_RSA_GET0_KEY */ - -#ifndef HAVE_RSA_SET0_KEY -int -RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) -{ - if ((r->n == NULL && n == NULL) || (r->e == NULL && e == NULL)) - return 0; - - if (n != NULL) { - BN_free(r->n); - r->n = n; - } - if (e != NULL) { - BN_free(r->e); - r->e = e; - } - if (d != NULL) { - BN_free(r->d); - r->d = d; - } - - return 1; -} -#endif /* HAVE_RSA_SET0_KEY */ - -#ifndef HAVE_RSA_GET0_CRT_PARAMS -void -RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, - const BIGNUM **iqmp) -{ - if (dmp1 != NULL) - *dmp1 = r->dmp1; - if (dmq1 != NULL) - *dmq1 = r->dmq1; - if (iqmp != NULL) - *iqmp = r->iqmp; -} -#endif /* HAVE_RSA_GET0_CRT_PARAMS */ - -#ifndef HAVE_RSA_SET0_CRT_PARAMS -int -RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) -{ - if ((r->dmp1 == NULL && dmp1 == NULL) || - (r->dmq1 == NULL && dmq1 == NULL) || - (r->iqmp == NULL && iqmp == NULL)) - return 0; - - if (dmp1 != NULL) { - BN_free(r->dmp1); - r->dmp1 = dmp1; - } - if (dmq1 != NULL) { - BN_free(r->dmq1); - r->dmq1 = dmq1; - } - if (iqmp != NULL) { - BN_free(r->iqmp); - r->iqmp = iqmp; - } - - return 1; -} -#endif /* HAVE_RSA_SET0_CRT_PARAMS */ - -#ifndef HAVE_RSA_GET0_FACTORS -void -RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) -{ - if (p != NULL) - *p = r->p; - if (q != NULL) - *q = r->q; -} -#endif /* HAVE_RSA_GET0_FACTORS */ - -#ifndef HAVE_RSA_SET0_FACTORS -int -RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) -{ - if ((r->p == NULL && p == NULL) || (r->q == NULL && q == NULL)) - return 0; - - if (p != NULL) { - BN_free(r->p); - r->p = p; - } - if (q != NULL) { - BN_free(r->q); - r->q = q; - } - - return 1; -} -#endif /* HAVE_RSA_SET0_FACTORS */ #ifndef HAVE_EVP_CIPHER_CTX_GET_IV int @@ -392,249 +83,4 @@ EVP_CIPHER_CTX_set_iv(EVP_CIPHER_CTX *ctx, const unsigned char *iv, size_t len) } #endif /* HAVE_EVP_CIPHER_CTX_SET_IV */ -#ifndef HAVE_DSA_SIG_GET0 -void -DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) -{ - if (pr != NULL) - *pr = sig->r; - if (ps != NULL) - *ps = sig->s; -} -#endif /* HAVE_DSA_SIG_GET0 */ - -#ifndef HAVE_DSA_SIG_SET0 -int -DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s) -{ - if (r == NULL || s == NULL) - return 0; - - BN_clear_free(sig->r); - sig->r = r; - BN_clear_free(sig->s); - sig->s = s; - - return 1; -} -#endif /* HAVE_DSA_SIG_SET0 */ - -#ifdef OPENSSL_HAS_ECC -#ifndef HAVE_ECDSA_SIG_GET0 -void -ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) -{ - if (pr != NULL) - *pr = sig->r; - if (ps != NULL) - *ps = sig->s; -} -#endif /* HAVE_ECDSA_SIG_GET0 */ - -#ifndef HAVE_ECDSA_SIG_SET0 -int -ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) -{ - if (r == NULL || s == NULL) - return 0; - - BN_clear_free(sig->r); - BN_clear_free(sig->s); - sig->r = r; - sig->s = s; - return 1; -} -#endif /* HAVE_ECDSA_SIG_SET0 */ -#endif /* OPENSSL_HAS_ECC */ - -#ifndef HAVE_DH_GET0_PQG -void -DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) -{ - if (p != NULL) - *p = dh->p; - if (q != NULL) - *q = dh->q; - if (g != NULL) - *g = dh->g; -} -#endif /* HAVE_DH_GET0_PQG */ - -#ifndef HAVE_DH_SET0_PQG -int -DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) -{ - if ((dh->p == NULL && p == NULL) || (dh->g == NULL && g == NULL)) - return 0; - - if (p != NULL) { - BN_free(dh->p); - dh->p = p; - } - if (q != NULL) { - BN_free(dh->q); - dh->q = q; - } - if (g != NULL) { - BN_free(dh->g); - dh->g = g; - } - - return 1; -} -#endif /* HAVE_DH_SET0_PQG */ - -#ifndef HAVE_DH_GET0_KEY -void -DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) -{ - if (pub_key != NULL) - *pub_key = dh->pub_key; - if (priv_key != NULL) - *priv_key = dh->priv_key; -} -#endif /* HAVE_DH_GET0_KEY */ - -#ifndef HAVE_DH_SET0_KEY -int -DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) -{ - if (pub_key != NULL) { - BN_free(dh->pub_key); - dh->pub_key = pub_key; - } - if (priv_key != NULL) { - BN_free(dh->priv_key); - dh->priv_key = priv_key; - } - - return 1; -} -#endif /* HAVE_DH_SET0_KEY */ - -#ifndef HAVE_DH_SET_LENGTH -int -DH_set_length(DH *dh, long length) -{ - if (length < 0 || length > INT_MAX) - return 0; - - dh->length = length; - return 1; -} -#endif /* HAVE_DH_SET_LENGTH */ - -#ifndef HAVE_RSA_METH_FREE -void -RSA_meth_free(RSA_METHOD *meth) -{ - if (meth != NULL) { - free((char *)meth->name); - free(meth); - } -} -#endif /* HAVE_RSA_METH_FREE */ - -#ifndef HAVE_RSA_METH_DUP -RSA_METHOD * -RSA_meth_dup(const RSA_METHOD *meth) -{ - RSA_METHOD *copy; - - if ((copy = calloc(1, sizeof(*copy))) == NULL) - return NULL; - memcpy(copy, meth, sizeof(*copy)); - if ((copy->name = strdup(meth->name)) == NULL) { - free(copy); - return NULL; - } - - return copy; -} -#endif /* HAVE_RSA_METH_DUP */ - -#ifndef HAVE_RSA_METH_SET1_NAME -int -RSA_meth_set1_name(RSA_METHOD *meth, const char *name) -{ - char *copy; - - if ((copy = strdup(name)) == NULL) - return 0; - free((char *)meth->name); - meth->name = copy; - return 1; -} -#endif /* HAVE_RSA_METH_SET1_NAME */ - -#ifndef HAVE_RSA_METH_GET_FINISH -int -(*RSA_meth_get_finish(const RSA_METHOD *meth))(RSA *rsa) -{ - return meth->finish; -} -#endif /* HAVE_RSA_METH_GET_FINISH */ - -#ifndef HAVE_RSA_METH_SET_PRIV_ENC -int -RSA_meth_set_priv_enc(RSA_METHOD *meth, int (*priv_enc)(int flen, - const unsigned char *from, unsigned char *to, RSA *rsa, int padding)) -{ - meth->rsa_priv_enc = priv_enc; - return 1; -} -#endif /* HAVE_RSA_METH_SET_PRIV_ENC */ - -#ifndef HAVE_RSA_METH_SET_PRIV_DEC -int -RSA_meth_set_priv_dec(RSA_METHOD *meth, int (*priv_dec)(int flen, - const unsigned char *from, unsigned char *to, RSA *rsa, int padding)) -{ - meth->rsa_priv_dec = priv_dec; - return 1; -} -#endif /* HAVE_RSA_METH_SET_PRIV_DEC */ - -#ifndef HAVE_RSA_METH_SET_FINISH -int -RSA_meth_set_finish(RSA_METHOD *meth, int (*finish)(RSA *rsa)) -{ - meth->finish = finish; - return 1; -} -#endif /* HAVE_RSA_METH_SET_FINISH */ - -#ifndef HAVE_EVP_PKEY_GET0_RSA -RSA * -EVP_PKEY_get0_RSA(EVP_PKEY *pkey) -{ - if (pkey->type != EVP_PKEY_RSA) { - /* EVPerror(EVP_R_EXPECTING_AN_RSA_KEY); */ - return NULL; - } - return pkey->pkey.rsa; -} -#endif /* HAVE_EVP_PKEY_GET0_RSA */ - -#ifndef HAVE_EVP_MD_CTX_NEW -EVP_MD_CTX * -EVP_MD_CTX_new(void) -{ - return calloc(1, sizeof(EVP_MD_CTX)); -} -#endif /* HAVE_EVP_MD_CTX_NEW */ - -#ifndef HAVE_EVP_MD_CTX_FREE -void -EVP_MD_CTX_free(EVP_MD_CTX *ctx) -{ - if (ctx == NULL) - return; - - EVP_MD_CTX_cleanup(ctx); - - free(ctx); -} -#endif /* HAVE_EVP_MD_CTX_FREE */ - #endif /* WITH_OPENSSL */ diff --git a/openbsd-compat/openssl-compat.h b/openbsd-compat/openssl-compat.h index 61a69dd56..d0dd2c345 100644 --- a/openbsd-compat/openssl-compat.h +++ b/openbsd-compat/openssl-compat.h @@ -33,26 +33,13 @@ int ssh_compatible_openssl(long, long); void ssh_libcrypto_init(void); -#if (OPENSSL_VERSION_NUMBER < 0x1000100fL) -# error OpenSSL 1.0.1 or greater is required +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) +# error OpenSSL 1.1.0 or greater is required #endif - -#ifndef OPENSSL_VERSION -# define OPENSSL_VERSION SSLEAY_VERSION -#endif - -#ifndef HAVE_OPENSSL_VERSION -# define OpenSSL_version(x) SSLeay_version(x) -#endif - -#ifndef HAVE_OPENSSL_VERSION_NUM -# define OpenSSL_version_num SSLeay -#endif - -#if OPENSSL_VERSION_NUMBER < 0x10000001L -# define LIBCRYPTO_EVP_INL_TYPE unsigned int -#else -# define LIBCRYPTO_EVP_INL_TYPE size_t +#ifdef LIBRESSL_VERSION_NUMBER +# if LIBRESSL_VERSION_NUMBER < 0x3010000fL +# error LibreSSL 3.1.0 or greater is required +# endif #endif #ifndef OPENSSL_RSA_MAX_MODULUS_BITS @@ -68,25 +55,6 @@ void ssh_libcrypto_init(void); # endif #endif -/* LibreSSL/OpenSSL 1.1x API compat */ -#ifndef HAVE_DSA_GET0_PQG -void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, - const BIGNUM **g); -#endif /* HAVE_DSA_GET0_PQG */ - -#ifndef HAVE_DSA_SET0_PQG -int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g); -#endif /* HAVE_DSA_SET0_PQG */ - -#ifndef HAVE_DSA_GET0_KEY -void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, - const BIGNUM **priv_key); -#endif /* HAVE_DSA_GET0_KEY */ - -#ifndef HAVE_DSA_SET0_KEY -int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key); -#endif /* HAVE_DSA_SET0_KEY */ - #ifndef HAVE_EVP_CIPHER_CTX_GET_IV # ifdef HAVE_EVP_CIPHER_CTX_GET_UPDATED_IV # define EVP_CIPHER_CTX_get_iv EVP_CIPHER_CTX_get_updated_iv @@ -101,112 +69,5 @@ int EVP_CIPHER_CTX_set_iv(EVP_CIPHER_CTX *ctx, const unsigned char *iv, size_t len); #endif /* HAVE_EVP_CIPHER_CTX_SET_IV */ -#ifndef HAVE_RSA_GET0_KEY -void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, - const BIGNUM **d); -#endif /* HAVE_RSA_GET0_KEY */ - -#ifndef HAVE_RSA_SET0_KEY -int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d); -#endif /* HAVE_RSA_SET0_KEY */ - -#ifndef HAVE_RSA_GET0_CRT_PARAMS -void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, - const BIGNUM **iqmp); -#endif /* HAVE_RSA_GET0_CRT_PARAMS */ - -#ifndef HAVE_RSA_SET0_CRT_PARAMS -int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp); -#endif /* HAVE_RSA_SET0_CRT_PARAMS */ - -#ifndef HAVE_RSA_GET0_FACTORS -void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q); -#endif /* HAVE_RSA_GET0_FACTORS */ - -#ifndef HAVE_RSA_SET0_FACTORS -int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q); -#endif /* HAVE_RSA_SET0_FACTORS */ - -#ifndef DSA_SIG_GET0 -void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); -#endif /* DSA_SIG_GET0 */ - -#ifndef DSA_SIG_SET0 -int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s); -#endif /* DSA_SIG_SET0 */ - -#ifdef OPENSSL_HAS_ECC -#ifndef HAVE_ECDSA_SIG_GET0 -void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); -#endif /* HAVE_ECDSA_SIG_GET0 */ - -#ifndef HAVE_ECDSA_SIG_SET0 -int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s); -#endif /* HAVE_ECDSA_SIG_SET0 */ -#endif /* OPENSSL_HAS_ECC */ - -#ifndef HAVE_DH_GET0_PQG -void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, - const BIGNUM **g); -#endif /* HAVE_DH_GET0_PQG */ - -#ifndef HAVE_DH_SET0_PQG -int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); -#endif /* HAVE_DH_SET0_PQG */ - -#ifndef HAVE_DH_GET0_KEY -void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key); -#endif /* HAVE_DH_GET0_KEY */ - -#ifndef HAVE_DH_SET0_KEY -int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key); -#endif /* HAVE_DH_SET0_KEY */ - -#ifndef HAVE_DH_SET_LENGTH -int DH_set_length(DH *dh, long length); -#endif /* HAVE_DH_SET_LENGTH */ - -#ifndef HAVE_RSA_METH_FREE -void RSA_meth_free(RSA_METHOD *meth); -#endif /* HAVE_RSA_METH_FREE */ - -#ifndef HAVE_RSA_METH_DUP -RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth); -#endif /* HAVE_RSA_METH_DUP */ - -#ifndef HAVE_RSA_METH_SET1_NAME -int RSA_meth_set1_name(RSA_METHOD *meth, const char *name); -#endif /* HAVE_RSA_METH_SET1_NAME */ - -#ifndef HAVE_RSA_METH_GET_FINISH -int (*RSA_meth_get_finish(const RSA_METHOD *meth))(RSA *rsa); -#endif /* HAVE_RSA_METH_GET_FINISH */ - -#ifndef HAVE_RSA_METH_SET_PRIV_ENC -int RSA_meth_set_priv_enc(RSA_METHOD *meth, int (*priv_enc)(int flen, - const unsigned char *from, unsigned char *to, RSA *rsa, int padding)); -#endif /* HAVE_RSA_METH_SET_PRIV_ENC */ - -#ifndef HAVE_RSA_METH_SET_PRIV_DEC -int RSA_meth_set_priv_dec(RSA_METHOD *meth, int (*priv_dec)(int flen, - const unsigned char *from, unsigned char *to, RSA *rsa, int padding)); -#endif /* HAVE_RSA_METH_SET_PRIV_DEC */ - -#ifndef HAVE_RSA_METH_SET_FINISH -int RSA_meth_set_finish(RSA_METHOD *meth, int (*finish)(RSA *rsa)); -#endif /* HAVE_RSA_METH_SET_FINISH */ - -#ifndef HAVE_EVP_PKEY_GET0_RSA -RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); -#endif /* HAVE_EVP_PKEY_GET0_RSA */ - -#ifndef HAVE_EVP_MD_CTX_new -EVP_MD_CTX *EVP_MD_CTX_new(void); -#endif /* HAVE_EVP_MD_CTX_new */ - -#ifndef HAVE_EVP_MD_CTX_free -void EVP_MD_CTX_free(EVP_MD_CTX *ctx); -#endif /* HAVE_EVP_MD_CTX_free */ - #endif /* WITH_OPENSSL */ #endif /* _OPENSSL_COMPAT_H */ From b7e27cfd7f163fc16b4c5d041cc28ee488a5eeec Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 24 Mar 2023 15:21:18 +1100 Subject: [PATCH 092/232] put back SSLeay_version compat in configure test Needed to detect old versions and give good "your version is bad" messages at configure time; spotted by dtucker@ --- configure.ac | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 1c0ccdf19..07893e870 100644 --- a/configure.ac +++ b/configure.ac @@ -2803,7 +2803,16 @@ if test "x$openssl" = "xyes" ; then #define DATA "conftest.ssllibver" ]], [[ FILE *f; - + /* We need these legacy bits to warn for old libcrypto */ + #ifndef OPENSSL_VERSION + # define OPENSSL_VERSION SSLEAY_VERSION + #endif + #ifndef HAVE_OPENSSL_VERSION + # define OpenSSL_version SSLeay_version + #endif + #ifndef HAVE_OPENSSL_VERSION_NUM + # define OpenSSL_version_num SSLeay + #endif if ((f = fopen(DATA, "w")) == NULL) exit(1); if (fprintf(f, "%08lx (%s)", From 3c527d55f906e6970d17c4cab6db90ae9e013235 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 24 Mar 2023 15:23:05 +1100 Subject: [PATCH 093/232] Allow building with BoringSSL --- openbsd-compat/openssl-compat.h | 9 +++++++++ sshkey.c | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/openbsd-compat/openssl-compat.h b/openbsd-compat/openssl-compat.h index d0dd2c345..f6796b3ba 100644 --- a/openbsd-compat/openssl-compat.h +++ b/openbsd-compat/openssl-compat.h @@ -55,6 +55,15 @@ void ssh_libcrypto_init(void); # endif #endif +#ifdef OPENSSL_IS_BORINGSSL +/* + * BoringSSL (rightly) got rid of the BN_FLG_CONSTTIME flag, along with + * the entire BN_set_flags() interface. + * https://boringssl.googlesource.com/boringssl/+/0a211dfe9 + */ +# define BN_set_flags(a, b) +#endif + #ifndef HAVE_EVP_CIPHER_CTX_GET_IV # ifdef HAVE_EVP_CIPHER_CTX_GET_UPDATED_IV # define EVP_CIPHER_CTX_get_iv EVP_CIPHER_CTX_get_updated_iv diff --git a/sshkey.c b/sshkey.c index 43712253d..82af3184e 100644 --- a/sshkey.c +++ b/sshkey.c @@ -3342,16 +3342,22 @@ translate_libcrypto_error(unsigned long pem_err) case ERR_LIB_PEM: switch (pem_reason) { case PEM_R_BAD_PASSWORD_READ: +#ifdef PEM_R_PROBLEMS_GETTING_PASSWORD case PEM_R_PROBLEMS_GETTING_PASSWORD: +#endif +#ifdef PEM_R_BAD_DECRYPT case PEM_R_BAD_DECRYPT: +#endif return SSH_ERR_KEY_WRONG_PASSPHRASE; default: return SSH_ERR_INVALID_FORMAT; } case ERR_LIB_EVP: switch (pem_reason) { +#ifdef EVP_R_BAD_DECRYPT case EVP_R_BAD_DECRYPT: return SSH_ERR_KEY_WRONG_PASSPHRASE; +#endif #ifdef EVP_R_BN_DECODE_ERROR case EVP_R_BN_DECODE_ERROR: #endif From 4974293899a068133e976f81d6693670d2b576ca Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 24 Mar 2023 15:24:05 +1100 Subject: [PATCH 094/232] don't use obsolete ERR_load_CRYPTO_strings() OpenSSL (and elsewhere in OpenSSH) uses ERR_load_crypto_strings() --- regress/unittests/test_helper/test_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/unittests/test_helper/test_helper.c b/regress/unittests/test_helper/test_helper.c index 6461d7ffc..e23128aa5 100644 --- a/regress/unittests/test_helper/test_helper.c +++ b/regress/unittests/test_helper/test_helper.c @@ -131,7 +131,7 @@ main(int argc, char **argv) seed_rng(); #ifdef WITH_OPENSSL - ERR_load_CRYPTO_strings(); + ERR_load_crypto_strings(); #endif /* Handle systems without __progname */ From cc5969c033a032d126ff78e5d95cf20abbede4c7 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 24 Mar 2023 15:34:05 +1100 Subject: [PATCH 095/232] another ERR_load_CRYPTO_strings() vestige --- regress/unittests/sshsig/tests.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/unittests/sshsig/tests.c b/regress/unittests/sshsig/tests.c index fdc3baeb7..13cfcfde2 100644 --- a/regress/unittests/sshsig/tests.c +++ b/regress/unittests/sshsig/tests.c @@ -87,7 +87,7 @@ tests(void) #ifdef WITH_OPENSSL OpenSSL_add_all_algorithms(); - ERR_load_CRYPTO_strings(); + ERR_load_crypto_strings(); #endif TEST_START("load data"); From 9a97cd106466a2a9bda2bfaa4c48c4f1b2cc9c1b Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 24 Mar 2023 15:34:29 +1100 Subject: [PATCH 096/232] BoringSSL doesn't support EC_POINT_point2bn() so don't invoke it in unittest --- regress/unittests/sshkey/test_file.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/regress/unittests/sshkey/test_file.c b/regress/unittests/sshkey/test_file.c index 497ab6dde..488944c3b 100644 --- a/regress/unittests/sshkey/test_file.c +++ b/regress/unittests/sshkey/test_file.c @@ -266,6 +266,7 @@ sshkey_file_tests(void) ASSERT_STRING_EQ((const char *)sshbuf_ptr(buf), OBJ_nid2sn(k1->ecdsa_nid)); sshbuf_free(buf); +#ifndef OPENSSL_IS_BORINGSSL /* lacks EC_POINT_point2bn() */ a = load_bignum("ecdsa_1.param.priv"); b = load_bignum("ecdsa_1.param.pub"); c = EC_POINT_point2bn(EC_KEY_get0_group(k1->ecdsa), @@ -277,6 +278,7 @@ sshkey_file_tests(void) BN_free(a); BN_free(b); BN_free(c); +#endif /* OPENSSL_IS_BORINGSSL */ TEST_DONE(); TEST_START("parse ECDSA from private w/ passphrase"); From 021ea5c2860f133f44790970968e0e73208b3a87 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 24 Mar 2023 15:02:52 +1100 Subject: [PATCH 097/232] Github testing support for BoringSSL --- .github/configs | 4 ++++ .github/setup_ci.sh | 13 +++++++++++++ .github/workflows/c-cpp.yml | 1 + 3 files changed, 18 insertions(+) diff --git a/.github/configs b/.github/configs index 8f21fc54a..eb91732c4 100755 --- a/.github/configs +++ b/.github/configs @@ -139,6 +139,10 @@ case "$config" in CONFIGFLAGS="--with-pam" SSHD_CONFOPTS="UsePam yes" ;; + boringssl) + CONFIGFLAGS="--disable-pkcs11" + LIBCRYPTOFLAGS="--with-ssl-dir=/opt/boringssl --with-rpath=-Wl,-rpath," + ;; libressl-*) LIBCRYPTOFLAGS="--with-ssl-dir=/opt/libressl --with-rpath=-Wl,-rpath," ;; diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh index 691c70dd7..489114be8 100755 --- a/.github/setup_ci.sh +++ b/.github/setup_ci.sh @@ -124,6 +124,10 @@ for TARGET in $TARGETS; do esac PACKAGES="${PACKAGES} putty-tools" ;; + boringssl) + INSTALL_BORINGSSL=1 + PACKAGES="${PACKAGES} cmake ninja-build" + ;; valgrind*) PACKAGES="$PACKAGES valgrind" ;; @@ -199,3 +203,12 @@ if [ ! -z "${INSTALL_LIBRESSL}" ]; then ./configure --prefix=/opt/libressl && make -j2 && sudo make install) fi fi + +if [ ! -z "${INSTALL_BORINGSSL}" ]; then + (cd ${HOME} && git clone https://boringssl.googlesource.com/boringssl && + cd ${HOME}/boringssl && mkdir build && cd build && + cmake -GNinja -DCMAKE_POSITION_INDEPENDENT_CODE=ON .. && ninja && + mkdir -p /opt/boringssl/lib && + cp ${HOME}/boringssl/build/crypto/libcrypto.a /opt/boringssl/lib && + cp -r ${HOME}/boringssl/include /opt/boringssl) +fi diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index d299a3246..fbd62f83a 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -46,6 +46,7 @@ jobs: - { target: ubuntu-20.04, config: hardenedmalloc } - { target: ubuntu-20.04, config: tcmalloc } - { target: ubuntu-20.04, config: musl } + - { target: ubuntu-latest, config: boringssl } - { target: ubuntu-latest, config: libressl-master } - { target: ubuntu-latest, config: libressl-3.2.6 } - { target: ubuntu-latest, config: libressl-3.3.6 } From b308c636f5b5d89eecb98be00b3d56306a005a09 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sun, 26 Mar 2023 14:22:53 +1100 Subject: [PATCH 098/232] Find suitable OpenSSL version. Check the installed OpenSSL versions for a suitable one, and if there isn't (and we don't have a specific version configured) then build without OpenSSL. --- .github/configs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/configs b/.github/configs index eb91732c4..cf1988d71 100755 --- a/.github/configs +++ b/.github/configs @@ -296,13 +296,22 @@ case "`./config.guess`" in ;; esac -# If we have a local openssl/libressl, use that. +# Unless specifically configured, search for a suitable version of OpenSSL, +# otherwise build without it. if [ -z "${LIBCRYPTOFLAGS}" ]; then + LIBCRYPTOFLAGS="--without-openssl" # last-match - for i in /usr/local /usr/local/ssl /usr/local/opt/openssl; do + for i in /usr /usr/local /usr/local/ssl /usr/local/opt/openssl; do + ver="none" if [ -x ${i}/bin/openssl ]; then - LIBCRYPTOFLAGS="--with-ssl-dir=${i}" + ver="$(${i}/bin/openssl version)" fi + case "$ver" in + none) ;; + "OpenSSL 0."*|"OpenSSL 1.0."*|"OpenSSL 1.1.0"*) ;; + "LibreSSL 2."*|"LibreSSL 3.0."*) ;; + *) LIBCRYPTOFLAGS="--with-ssl-dir=${i}" ;; + esac done fi From 4a948b1469f185e871160a2d70e2a0fce2858f9e Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sun, 26 Mar 2023 14:39:45 +1100 Subject: [PATCH 099/232] Specify test target if we build without OpenSSL. When we decide we can't use the versions of OpenSSL available, also restrict the tests we run to avoid the ones that need OpenSSL. --- .github/configs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/configs b/.github/configs index cf1988d71..963d806f1 100755 --- a/.github/configs +++ b/.github/configs @@ -313,6 +313,9 @@ if [ -z "${LIBCRYPTOFLAGS}" ]; then *) LIBCRYPTOFLAGS="--with-ssl-dir=${i}" ;; esac done + if [ "${LIBCRYPTOFLAGS}" = "--without-openssl" ]; then + TEST_TARGET="t-exec" + fi fi CONFIGFLAGS="${CONFIGFLAGS} ${LIBCRYPTOFLAGS}" From 4922ac3be8a996780ef3dc220411da2e27c29d9c Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sun, 26 Mar 2023 14:49:43 +1100 Subject: [PATCH 100/232] Split libcrypto and other config flags. This should allow the automatic OpenSSL version selection in the tests to work better. --- .github/configs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/configs b/.github/configs index 963d806f1..7aeeddb8a 100755 --- a/.github/configs +++ b/.github/configs @@ -81,7 +81,8 @@ case "$config" in CFLAGS="-fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer" LDFLAGS="-fsanitize=memory" CPPFLAGS='-Dchroot=chdir -Dexplicit_bzero=bzero -DMSAN_OPTIONS=\"log_path='$SANLOGS'/msan.log\"' - CONFIGFLAGS="--without-openssl --without-zlib --without-shadow" + CONFIGFLAGS="--without-zlib --without-shadow" + LIBCRYPTOFLAGS="--without-openssl" TEST_TARGET="t-exec" ;; *-sanitize-undefined) @@ -244,7 +245,8 @@ case "${TARGET_HOST}" in SKIP_LTESTS="forwarding multiplex proxy-connect hostkey-agent agent-ptrace" ;; minix3) - LIBCRYPTOFLAGS="--without-openssl --disable-security-key" + CONFIGFLAGS="${CONFIGFLAGS} --disable-security-key" + LIBCRYPTOFLAGS="--without-openssl" # Minix does not have a loopback interface so we have to skip any # test that relies on one. # Also, Minix seems to be very limited in the number of select() @@ -268,7 +270,8 @@ case "${TARGET_HOST}" in CONFIGFLAGS="${CONFIGFLAGS} --without-hardening --disable-security-key" ;; openwrt-*) - CONFIGFLAGS="${CONFIGFLAGS} --without-openssl --without-zlib" + CONFIGFLAGS="${CONFIGFLAGS} --without-zlib" + LIBCRYPTOFLAGS="--without-openssl" TEST_TARGET="t-exec" ;; sol10|sol11) From fbd3811ddb2b6ce2e6dba91fde7352c8978e5412 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 27 Mar 2023 11:08:00 +1100 Subject: [PATCH 101/232] Explicitly disable security key test on aix51 VM. We don't know how to build the shared objects required for the security key tests so skip them. --- .github/configs | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/configs b/.github/configs index 7aeeddb8a..cf26413ce 100755 --- a/.github/configs +++ b/.github/configs @@ -221,6 +221,7 @@ esac case "${TARGET_HOST}" in aix*) + CONFIGFLAGS="--disable-security-key" # These are slow real or virtual machines so skip the slowest tests # (which tend to be thw ones that transfer lots of data) so that the # test run does not time out. From 154d8baf631327163571760c2c524bc93c37567c Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 27 Mar 2023 12:22:30 +1100 Subject: [PATCH 102/232] Also look for gdb error message from OpenIndiana. --- regress/agent-ptrace.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/agent-ptrace.sh b/regress/agent-ptrace.sh index df55b34a5..6f172998d 100644 --- a/regress/agent-ptrace.sh +++ b/regress/agent-ptrace.sh @@ -55,7 +55,7 @@ EOF if [ $r -ne 0 ]; then fail "gdb failed: exit code $r" fi - egrep 'ptrace: Operation not permitted.|procfs:.*Permission denied.|ttrace.*Permission denied.|procfs:.*: Invalid argument.|Unable to access task ' >/dev/null ${OBJ}/gdb.out + egrep 'Operation not permitted.|Permission denied.|Invalid argument.|Unable to access task|Inappropriate ioctl for device.' >/dev/null ${OBJ}/gdb.out r=$? rm -f ${OBJ}/gdb.out if [ $r -ne 0 ]; then From 4f0a676486700f10a4788f7e9426e94e39c1c89e Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 27 Mar 2023 03:25:08 +0000 Subject: [PATCH 103/232] upstream: scp: when copying local->remote, check that source file exists before opening SFTP connection to the server. Based on GHPR#370 ok dtucker, markus OpenBSD-Commit-ID: b4dd68e15bfe22ce4fac9960a1066a2b721e54fb --- scp.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scp.c b/scp.c index a893d4a28..470b4f466 100644 --- a/scp.c +++ b/scp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scp.c,v 1.253 2023/03/03 03:12:24 dtucker Exp $ */ +/* $OpenBSD: scp.c,v 1.254 2023/03/27 03:25:08 djm Exp $ */ /* * scp - secure remote copy. This is basically patched BSD rcp which * uses ssh to do the data transfer (instead of using rcmd). @@ -1036,6 +1036,7 @@ toremote(int argc, char **argv, enum scp_mode_e mode, char *sftp_direct) struct sftp_conn *conn = NULL, *conn2 = NULL; arglist alist; int i, r, status; + struct stat sb; u_int j; memset(&alist, '\0', sizeof(alist)); @@ -1178,6 +1179,11 @@ toremote(int argc, char **argv, enum scp_mode_e mode, char *sftp_direct) errs = 1; } else { /* local to remote */ if (mode == MODE_SFTP) { + /* no need to glob: already done by shell */ + if (stat(argv[i], &sb) != 0) { + fatal("stat local \"%s\": %s", argv[i], + strerror(errno)); + } if (remin == -1) { /* Connect to remote now */ conn = do_sftp_connect(thost, tuser, From 009eb4cb48a9708ab9174684dcbcc0f942907abe Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 27 Mar 2023 03:31:05 +0000 Subject: [PATCH 104/232] upstream: fix test: getnameinfo returns a non-zero value on error, not (neccessarily) -1. From GHPR#384 OpenBSD-Commit-ID: d35e2b71268f66f5543a7ea68751972b3ae22b25 --- addr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addr.c b/addr.c index db9ab7ac1..fa8c66922 100644 --- a/addr.c +++ b/addr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: addr.c,v 1.6 2022/10/28 02:29:34 djm Exp $ */ +/* $OpenBSD: addr.c,v 1.7 2023/03/27 03:31:05 djm Exp $ */ /* * Copyright (c) 2004-2008 Damien Miller @@ -443,7 +443,7 @@ addr_ntop(const struct xaddr *n, char *p, size_t len) if (p == NULL || len == 0) return -1; if (getnameinfo(_SA(&ss), slen, p, len, NULL, 0, - NI_NUMERICHOST) == -1) + NI_NUMERICHOST) != 0) return -1; return 0; From f1a17de150f8d309d0c52f9abfaebf11c51a8537 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 27 Mar 2023 03:56:11 +0000 Subject: [PATCH 105/232] upstream: Add tilde and environment variable expansion to RevokedHostKeys. bz#3552, ok djm@ OpenBSD-Commit-ID: ce5d8e0219b63cded594c17d4c2958c06918ec0d --- ssh.c | 10 +++++++++- ssh_config.5 | 13 +++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/ssh.c b/ssh.c index 918389bcc..edf2f119f 100644 --- a/ssh.c +++ b/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.585 2023/02/10 04:40:28 djm Exp $ */ +/* $OpenBSD: ssh.c,v 1.586 2023/03/27 03:56:11 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1421,6 +1421,14 @@ main(int ac, char **av) options.identity_agent = cp; } + if (options.revoked_host_keys != NULL) { + p = tilde_expand_filename(options.revoked_host_keys, getuid()); + cp = default_client_percent_dollar_expand(p, cinfo); + free(p); + free(options.revoked_host_keys); + options.revoked_host_keys = cp; + } + if (options.forward_agent_sock_path != NULL) { p = tilde_expand_filename(options.forward_agent_sock_path, getuid()); diff --git a/ssh_config.5 b/ssh_config.5 index c56b9d7be..0b7d4d192 100644 --- a/ssh_config.5 +++ b/ssh_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh_config.5,v 1.379 2023/03/10 02:32:04 djm Exp $ -.Dd $Mdocdate: March 10 2023 $ +.\" $OpenBSD: ssh_config.5,v 1.380 2023/03/27 03:56:11 dtucker Exp $ +.Dd $Mdocdate: March 27 2023 $ .Dt SSH_CONFIG 5 .Os .Sh NAME @@ -1665,6 +1665,14 @@ an OpenSSH Key Revocation List (KRL) as generated by .Xr ssh-keygen 1 . For more information on KRLs, see the KEY REVOCATION LISTS section in .Xr ssh-keygen 1 . +Arguments to +.Cm RevokedHostKeys +may use the tilde syntax to refer to a user's home directory, +the tokens described in the +.Sx TOKENS +section and environment variables as described in the +.Sx ENVIRONMENT VARIABLES +section. .It Cm SecurityKeyProvider Specifies a path to a library that will be used when loading any FIDO authenticator-hosted keys, overriding the default of using @@ -2135,6 +2143,7 @@ The local username. .Cm Match exec , .Cm RemoteCommand , .Cm RemoteForward , +.Cm RevokedHostKeys , and .Cm UserKnownHostsFile accept the tokens %%, %C, %d, %h, %i, %k, %L, %l, %n, %p, %r, and %u. From 7ebc6f060fc2f70495a56e16d210baae6424cd96 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 27 Mar 2023 03:56:50 +0000 Subject: [PATCH 106/232] upstream: Add RevokedHostKeys to percent expansion test. OpenBSD-Regress-ID: c077fd12a38005dd53d878c5b944154dec88d2ff --- regress/percent.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/regress/percent.sh b/regress/percent.sh index 3dfa8d2df..44561d413 100644 --- a/regress/percent.sh +++ b/regress/percent.sh @@ -1,4 +1,4 @@ -# $OpenBSD: percent.sh,v 1.16 2023/01/14 09:57:08 dtucker Exp $ +# $OpenBSD: percent.sh,v 1.17 2023/03/27 03:56:50 dtucker Exp $ # Placed in the Public Domain. tid="percent expansions" @@ -66,7 +66,8 @@ trial() } for i in matchexec localcommand remotecommand controlpath identityagent \ - forwardagent localforward remoteforward userknownhostsfile; do + forwardagent localforward remoteforward revokedhostkeys \ + userknownhostsfile; do verbose $tid $i percent case "$i" in localcommand|userknownhostsfile) From a64b935cd450ee8d04c26c9cd728629cf9ca5c91 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 27 Mar 2023 19:21:19 +1100 Subject: [PATCH 107/232] Explicitly disable OpenSSL on AIX test VM. --- .github/configs | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/configs b/.github/configs index cf26413ce..d0f3ffde6 100755 --- a/.github/configs +++ b/.github/configs @@ -222,6 +222,7 @@ esac case "${TARGET_HOST}" in aix*) CONFIGFLAGS="--disable-security-key" + LIBCRYPTOFLAGS="--without-openssl" # These are slow real or virtual machines so skip the slowest tests # (which tend to be thw ones that transfer lots of data) so that the # test run does not time out. From f751d9306c62cd1061f966e6a7483d9bab9c379b Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 27 Mar 2023 22:05:29 +1100 Subject: [PATCH 108/232] Pass rpath when building 64bit Solaris. --- .github/configs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/configs b/.github/configs index d0f3ffde6..d8c1ce002 100755 --- a/.github/configs +++ b/.github/configs @@ -215,7 +215,7 @@ esac case "$config" in sol64*) CONFIGFLAGS="x86_64 --with-cflags=-m64 --with-ldflags=-m64 ${CONFIGFLAGS}" - LIBCRYPTOFLAGS="--with-ssl-dir=/usr/local/ssl64" + LIBCRYPTOFLAGS="--with-ssl-dir=/usr/local/ssl64 --with-rpath=-Wl,-rpath," ;; esac From 99668f2e6e0deb833e46cfab56db59ff0fc28c7e Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 28 Mar 2023 09:50:06 +1100 Subject: [PATCH 109/232] Configure with --target instead of deprecated form. --- .github/configs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/configs b/.github/configs index d8c1ce002..9cc2bafbd 100755 --- a/.github/configs +++ b/.github/configs @@ -214,7 +214,7 @@ esac # The Solaris 64bit targets are special since they need a non-flag arg. case "$config" in sol64*) - CONFIGFLAGS="x86_64 --with-cflags=-m64 --with-ldflags=-m64 ${CONFIGFLAGS}" + CONFIGFLAGS="--target=x86_64 --with-cflags=-m64 --with-ldflags=-m64 ${CONFIGFLAGS}" LIBCRYPTOFLAGS="--with-ssl-dir=/usr/local/ssl64 --with-rpath=-Wl,-rpath," ;; esac From 72bd68d37387aa5f81da928f6e82f1c88ed8f674 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 28 Mar 2023 10:35:18 +1100 Subject: [PATCH 110/232] Replace OPENSSL_NO_SHA with HEADER_SHA_H. Since this test doesn't use OpenSSL's SHA2 and may cause conflicts we don't want to include it, but OPENSSL_NO_SHA was removed beginning in OpenSSL's 1.1 series. --- regress/misc/sk-dummy/sk-dummy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/misc/sk-dummy/sk-dummy.c b/regress/misc/sk-dummy/sk-dummy.c index ad5e47452..0972cebf5 100644 --- a/regress/misc/sk-dummy/sk-dummy.c +++ b/regress/misc/sk-dummy/sk-dummy.c @@ -37,7 +37,7 @@ #ifdef WITH_OPENSSL /* We don't use sha2 from OpenSSL and they can conflict with system sha2.h */ -#define OPENSSL_NO_SHA +#define HEADER_SHA_H #define USE_LIBC_SHA2 /* NetBSD 9 */ #include #include From 46db8e14b7f186d32173dcdecd5b785334429b8b Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 28 Mar 2023 12:44:03 +1100 Subject: [PATCH 111/232] Remove HEADER_SHA_H from previous... since it causes more problems than it solves. --- regress/misc/sk-dummy/sk-dummy.c | 1 - 1 file changed, 1 deletion(-) diff --git a/regress/misc/sk-dummy/sk-dummy.c b/regress/misc/sk-dummy/sk-dummy.c index 0972cebf5..507f3f568 100644 --- a/regress/misc/sk-dummy/sk-dummy.c +++ b/regress/misc/sk-dummy/sk-dummy.c @@ -37,7 +37,6 @@ #ifdef WITH_OPENSSL /* We don't use sha2 from OpenSSL and they can conflict with system sha2.h */ -#define HEADER_SHA_H #define USE_LIBC_SHA2 /* NetBSD 9 */ #include #include From 727560e6011efcb36d2f3ac6910444bc775abaa1 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 28 Mar 2023 18:06:42 +1100 Subject: [PATCH 112/232] Prevent conflicts between Solaris SHA2 and OpenSSL. We used to prevent conflicts between native SHA2 headers and OpenSSL's by setting OPENSSL_NO_SHA but that was removed prior to OpenSSL 1.1.0 --- regress/misc/sk-dummy/sk-dummy.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/regress/misc/sk-dummy/sk-dummy.c b/regress/misc/sk-dummy/sk-dummy.c index 507f3f568..1235bea30 100644 --- a/regress/misc/sk-dummy/sk-dummy.c +++ b/regress/misc/sk-dummy/sk-dummy.c @@ -36,9 +36,31 @@ #endif #ifdef WITH_OPENSSL -/* We don't use sha2 from OpenSSL and they can conflict with system sha2.h */ +/* + * We use native (or compat) SHA2, but some bits of OpenSSL conflict with + * some native sha2 implementations. SHA2 is no longer optional in OpenSSL, + * so prevent conflicts as best we can. + */ #define USE_LIBC_SHA2 /* NetBSD 9 */ +#define SHA256_CTX openssl_SHA256_CTX +#define SHA512_CTX openssl_SHA512_CTX +#ifdef SHA1 +# undef SHA1 +#endif +#ifdef SHA224 +# undef SHA224 +#endif +#ifdef SHA256 +# undef SHA256 +#endif +#ifdef SHA384 +# undef SHA384 +#endif +#ifdef SHA512 +# undef SHA512 +#endif #include +#include #include #include #include From b500afcf00ae1b6b73b2ccf171111dfbfeaef74d Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 27 Mar 2023 23:56:54 +0000 Subject: [PATCH 113/232] upstream: Remove compat code for OpenSSL 1.0.* versions now that -portable has dropped support for those versions. OpenBSD-Regress-ID: 82a8eacd87aec28e4aa19f17246ddde9d5ce7fe7 --- regress/misc/sk-dummy/sk-dummy.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/regress/misc/sk-dummy/sk-dummy.c b/regress/misc/sk-dummy/sk-dummy.c index 1235bea30..79593956d 100644 --- a/regress/misc/sk-dummy/sk-dummy.c +++ b/regress/misc/sk-dummy/sk-dummy.c @@ -67,15 +67,6 @@ #include #include #include - -/* Compatibility with OpenSSH 1.0.x */ -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) -#define ECDSA_SIG_get0(sig, pr, ps) \ - do { \ - (*pr) = sig->r; \ - (*ps) = sig->s; \ - } while (0) -#endif #endif /* WITH_OPENSSL */ /* #define SK_DEBUG 1 */ From 82b2b8326962b1a98af279bc5bbbbbcab15b3e45 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Tue, 28 Mar 2023 06:12:38 +0000 Subject: [PATCH 114/232] upstream: Remove compat code for OpenSSL < 1.1.* since -portable no longer supports them. OpenBSD-Commit-ID: ea2893783331947cd29a67612b4e56f818f185ff --- sk-usbhid.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/sk-usbhid.c b/sk-usbhid.c index 46e09c26c..7bb829aa7 100644 --- a/sk-usbhid.c +++ b/sk-usbhid.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sk-usbhid.c,v 1.45 2022/09/14 00:14:37 djm Exp $ */ +/* $OpenBSD: sk-usbhid.c,v 1.46 2023/03/28 06:12:38 dtucker Exp $ */ /* * Copyright (c) 2019 Markus Friedl * Copyright (c) 2020 Pedro Martelletto @@ -104,14 +104,6 @@ #define SELECT_MS 15000 #define POLL_SLEEP_NS 200000000 -/* Compatibility with OpenSSH 1.0.x */ -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) -#define ECDSA_SIG_get0(sig, pr, ps) \ - do { \ - (*pr) = sig->r; \ - (*ps) = sig->s; \ - } while (0) -#endif #ifndef FIDO_ERR_OPERATION_DENIED #define FIDO_ERR_OPERATION_DENIED 0x27 #endif From 9ffa76e1284c85bf459c3dcb8e995733a8967e1b Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Tue, 28 Mar 2023 07:44:32 +0000 Subject: [PATCH 115/232] upstream: Plug more mem leaks in sftp by making make_absolute_pwd_glob work in the same way as make_absolute: you pass it a dynamically allocated string and it either returns it, or frees it and allocates a new one. Patch from emaste at freebsd.org and https://reviews.freebsd.org/D37253 ok djm@ OpenBSD-Commit-ID: 85f7404e9d47fd28b222fbc412678f3361d2dffc --- sftp-client.c | 6 +++++- sftp.c | 16 +++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/sftp-client.c b/sftp-client.c index 87b4d142a..29f4c64d1 100644 --- a/sftp-client.c +++ b/sftp-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-client.c,v 1.169 2023/03/08 04:43:12 guenther Exp $ */ +/* $OpenBSD: sftp-client.c,v 1.170 2023/03/28 07:44:32 dtucker Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -2895,6 +2895,10 @@ path_append(const char *p1, const char *p2) return(ret); } +/* + * Arg p must be dynamically allocated. It will either be returned or + * freed and a replacement allocated. Caller must free returned string. + */ char * make_absolute(char *p, const char *pwd) { diff --git a/sftp.c b/sftp.c index 29081db3d..6c5aab7a5 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.229 2023/03/12 09:41:18 dtucker Exp $ */ +/* $OpenBSD: sftp.c,v 1.230 2023/03/28 07:44:32 dtucker Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -616,15 +616,19 @@ escape_glob(const char *s) return ret; } +/* + * Arg p must be dynamically allocated. make_absolute will either return it + * or free it and and allocate a new one. Caller must free returned string. + */ static char * -make_absolute_pwd_glob(const char *p, const char *pwd) +make_absolute_pwd_glob(char *p, const char *pwd) { char *ret, *escpwd; escpwd = escape_glob(pwd); if (p == NULL) return escpwd; - ret = make_absolute(xstrdup(p), escpwd); + ret = make_absolute(p, escpwd); free(escpwd); return ret; } @@ -637,7 +641,7 @@ process_get(struct sftp_conn *conn, const char *src, const char *dst, glob_t g; int i, r, err = 0; - abs_src = make_absolute_pwd_glob(src, pwd); + abs_src = make_absolute_pwd_glob(xstrdup(src), pwd); memset(&g, 0, sizeof(g)); debug3("Looking up %s", abs_src); @@ -1997,9 +2001,7 @@ complete_match(EditLine *el, struct sftp_conn *conn, char *remote_path, memset(&g, 0, sizeof(g)); if (remote != LOCAL) { - tmp2 = make_absolute_pwd_glob(tmp, remote_path); - free(tmp); - tmp = tmp2; + tmp = make_absolute_pwd_glob(tmp, remote_path); remote_glob(conn, tmp, GLOB_DOOFFS|GLOB_MARK, NULL, &g); } else glob(tmp, GLOB_DOOFFS|GLOB_MARK, NULL, &g); From 13ae327eae598b1043e5ec30e4b170edb3c898a5 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 29 Mar 2023 00:18:35 +0000 Subject: [PATCH 116/232] upstream: fix memory leak; Coverity CID 291848 with/ok dtucker@ OpenBSD-Commit-ID: 37f80cb5d075ead5a00ad1b74175684ab1156ff8 --- auth-options.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/auth-options.c b/auth-options.c index 7cb2a640a..88e9eb1c1 100644 --- a/auth-options.c +++ b/auth-options.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth-options.c,v 1.98 2022/02/08 08:59:12 dtucker Exp $ */ +/* $OpenBSD: auth-options.c,v 1.99 2023/03/29 00:18:35 djm Exp $ */ /* * Copyright (c) 2018 Damien Miller * @@ -703,7 +703,7 @@ serialise_array(struct sshbuf *m, char **a, size_t n) { struct sshbuf *b; size_t i; - int r; + int r = SSH_ERR_INTERNAL_ERROR; if (n > INT_MAX) return SSH_ERR_INTERNAL_ERROR; @@ -712,18 +712,17 @@ serialise_array(struct sshbuf *m, char **a, size_t n) return SSH_ERR_ALLOC_FAIL; } for (i = 0; i < n; i++) { - if ((r = sshbuf_put_cstring(b, a[i])) != 0) { - sshbuf_free(b); - return r; - } + if ((r = sshbuf_put_cstring(b, a[i])) != 0) + goto out; } if ((r = sshbuf_put_u32(m, n)) != 0 || - (r = sshbuf_put_stringb(m, b)) != 0) { - sshbuf_free(b); - return r; - } + (r = sshbuf_put_stringb(m, b)) != 0) + goto out; /* success */ - return 0; + r = 0; + out: + sshbuf_free(b); + return r; } static int From c3da05d95922f5550bcc7815e799474d6a160175 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Wed, 29 Mar 2023 00:59:08 +0000 Subject: [PATCH 117/232] upstream: Plug potential mem leak in process_put. It allocates abs_dst inside a loop but only frees it on exit, so free inside the loop if necessary. Coverity CID 291837, ok djm@ OpenBSD-Commit-ID: a01616503a185519b16f00dde25d34ceaf4ae1a3 --- sftp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sftp.c b/sftp.c index 6c5aab7a5..07b46c7f7 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.230 2023/03/28 07:44:32 dtucker Exp $ */ +/* $OpenBSD: sftp.c,v 1.231 2023/03/29 00:59:08 dtucker Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -769,6 +769,8 @@ process_put(struct sftp_conn *conn, const char *src, const char *dst, goto out; } + free(abs_dst); + abs_dst = NULL; if (g.gl_matchc == 1 && tmp_dst) { /* If directory specified, append filename */ if (dst_is_dir) From 28f1b8ef9b84b8cd2f6c9889a0c60aa4a90dadfa Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Wed, 29 Mar 2023 01:07:48 +0000 Subject: [PATCH 118/232] upstream: Ignore return from sshpkt_disconnect since we set our own return value for the function. Coverity CID 291797, ok djm@ OpenBSD-Commit-ID: 710b57ba954c139240895e23feea41f203201f04 --- kexgexs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kexgexs.c b/kexgexs.c index 676de77ad..5f025cccf 100644 --- a/kexgexs.c +++ b/kexgexs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kexgexs.c,v 1.45 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: kexgexs.c,v 1.46 2023/03/29 01:07:48 dtucker Exp $ */ /* * Copyright (c) 2000 Niels Provos. All rights reserved. * Copyright (c) 2001 Markus Friedl. All rights reserved. @@ -100,7 +100,7 @@ input_kex_dh_gex_request(int type, u_int32_t seq, struct ssh *ssh) /* Contact privileged parent */ kex->dh = PRIVSEP(choose_dh(min, nbits, max)); if (kex->dh == NULL) { - sshpkt_disconnect(ssh, "no matching DH grp found"); + (void)sshpkt_disconnect(ssh, "no matching DH grp found"); r = SSH_ERR_ALLOC_FAIL; goto out; } From 05b8e88ebe23db690abbfb1a91111abea09cde08 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 30 Mar 2023 13:53:29 +1100 Subject: [PATCH 119/232] child_set_eng: verify both env pointer and count. If child_set env was called with a NULL env pointer and a non-zero count it would end up in a null deref, although we don't currently do this. Prompted by Coverity CID 291850, tweak & ok djm@ --- misc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/misc.c b/misc.c index 6135b1556..63c3d4d29 100644 --- a/misc.c +++ b/misc.c @@ -2273,6 +2273,8 @@ child_set_env(char ***envp, u_int *envsizep, const char *name, * If we're passed an uninitialized list, allocate a single null * entry before continuing. */ + if ((*envp == NULL) != (*envsizep == 0)) + fatal_f("environment size mismatch"); if (*envp == NULL && *envsizep == 0) { *envp = xmalloc(sizeof(char *)); *envp[0] = NULL; From f108e77a9dc9852e72215af1bf27731c48434557 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 30 Mar 2023 00:49:37 +0000 Subject: [PATCH 120/232] upstream: Remove dead code from inside if block. The only way the if statement can be true is if both dup()s fail, and in that case the tmp2 can never be set. Coverity CID 291805, ok djm@ OpenBSD-Commit-ID: c0d6089b3fb725015462040cd94e23237449f0c8 --- monitor_wrap.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/monitor_wrap.c b/monitor_wrap.c index 8e379a15c..275171168 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor_wrap.c,v 1.126 2023/01/06 02:47:18 djm Exp $ */ +/* $OpenBSD: monitor_wrap.c,v 1.127 2023/03/30 00:49:37 dtucker Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -577,8 +577,6 @@ mm_pty_allocate(int *ptyfd, int *ttyfd, char *namebuf, size_t namebuflen) error_f("cannot allocate fds for pty"); if (tmp1 > 0) close(tmp1); - if (tmp2 > 0) - close(tmp2); return 0; } close(tmp1); From 34ee842cdd981a759fe8f0d4a37521f9a1c63170 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 30 Mar 2023 03:05:01 +0000 Subject: [PATCH 121/232] upstream: return SSH_ERR_KEY_NOT_FOUND if the allowed_signers file is empty, not SSH_ERR_INTERNAL_ERROR. Also remove some dead code spotted by Coverity; with/ok dtucker@ OpenBSD-Commit-ID: 898a1e817cda9869554b1f586a434f67bcc3b650 --- sshsig.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sshsig.c b/sshsig.c index eb2a931e9..8c906f525 100644 --- a/sshsig.c +++ b/sshsig.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshsig.c,v 1.30 2022/08/19 03:06:30 djm Exp $ */ +/* $OpenBSD: sshsig.c,v 1.31 2023/03/30 03:05:01 djm Exp $ */ /* * Copyright (c) 2019 Google LLC * @@ -977,7 +977,7 @@ sshsig_check_allowed_keys(const char *path, const struct sshkey *sign_key, char *line = NULL; size_t linesize = 0; u_long linenum = 0; - int r = SSH_ERR_INTERNAL_ERROR, oerrno; + int r = SSH_ERR_KEY_NOT_FOUND, oerrno; /* Check key and principal against file */ if ((f = fopen(path, "r")) == NULL) { @@ -1007,7 +1007,7 @@ sshsig_check_allowed_keys(const char *path, const struct sshkey *sign_key, /* Either we hit an error parsing or we simply didn't find the key */ fclose(f); free(line); - return r == 0 ? SSH_ERR_KEY_NOT_FOUND : r; + return r; } int From a4c1c2513e36f111eeaa1322c510067930e5e51e Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 31 Mar 2023 14:17:22 +1100 Subject: [PATCH 122/232] don't call connect() on negative socket Coverity CID 405037 --- channels.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/channels.c b/channels.c index d9f59f466..ffaf89720 100644 --- a/channels.c +++ b/channels.c @@ -5045,8 +5045,10 @@ connect_local_xsocket_path(const char *pathname) struct sockaddr_un addr; sock = socket(AF_UNIX, SOCK_STREAM, 0); - if (sock == -1) + if (sock == -1) { error("socket: %.100s", strerror(errno)); + return -1; + } memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; strlcpy(addr.sun_path, pathname, sizeof addr.sun_path); From 7174ba6f8a431ca4257767a260fc50e204068242 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 30 Mar 2023 07:19:50 +0000 Subject: [PATCH 123/232] upstream: Ignore return value from muxclient(). It normally loops without returning, but it if returns on failure we immediately exit. Coverity CID 405050. OpenBSD-Commit-ID: ab3fde6da384ea588226037c38635a6b2e015295 --- ssh.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssh.c b/ssh.c index edf2f119f..25397e8ea 100644 --- a/ssh.c +++ b/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.586 2023/03/27 03:56:11 dtucker Exp $ */ +/* $OpenBSD: ssh.c,v 1.587 2023/03/30 07:19:50 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1760,7 +1760,7 @@ control_persist_detach(void) close(muxserver_sock); muxserver_sock = -1; options.control_master = SSHCTL_MASTER_NO; - muxclient(options.control_path); + (void)muxclient(options.control_path); /* muxclient() doesn't return on success. */ fatal("Failed to connect to new control master"); } From 0eb8131e4a53b33a8fc9b9ab694e6b6778b87ade Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 31 Mar 2023 00:44:29 +0000 Subject: [PATCH 124/232] upstream: Check fd against >=0 instead of >0 in error path. The dup could in theory return fd 0 although currently it doesn't in practice. From Dmitry Belyavskiy vi github PR#238. OpenBSD-Commit-ID: 4a95f3f7330394dffee5c749d52713cbf3b54846 --- monitor_wrap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/monitor_wrap.c b/monitor_wrap.c index 275171168..3533cf069 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor_wrap.c,v 1.127 2023/03/30 00:49:37 dtucker Exp $ */ +/* $OpenBSD: monitor_wrap.c,v 1.128 2023/03/31 00:44:29 dtucker Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -575,7 +575,7 @@ mm_pty_allocate(int *ptyfd, int *ttyfd, char *namebuf, size_t namebuflen) if ((tmp1 = dup(pmonitor->m_recvfd)) == -1 || (tmp2 = dup(pmonitor->m_recvfd)) == -1) { error_f("cannot allocate fds for pty"); - if (tmp1 > 0) + if (tmp1 >= 0) close(tmp1); return 0; } From fc437c154ef724621a4af236de9bc7e51a8381ae Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 31 Mar 2023 03:22:49 +0000 Subject: [PATCH 125/232] upstream: remove unused variable; prompted by Coverity CID 291879 OpenBSD-Commit-ID: 4c7d20ef776887b0ba1aabcfc1b14690e4ad0a40 --- sshkey.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sshkey.c b/sshkey.c index 82af3184e..01a1c09a9 100644 --- a/sshkey.c +++ b/sshkey.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshkey.c,v 1.134 2022/10/28 02:47:04 djm Exp $ */ +/* $OpenBSD: sshkey.c,v 1.135 2023/03/31 03:22:49 djm Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * Copyright (c) 2008 Alexander von Gernler. All rights reserved. @@ -2743,7 +2743,6 @@ sshkey_private_to_blob2(struct sshkey *prv, struct sshbuf *blob, { u_char *cp, *key = NULL, *pubkeyblob = NULL; u_char salt[SALT_LEN]; - char *b64 = NULL; size_t i, pubkeylen, keylen, ivlen, blocksize, authlen; u_int check; int r = SSH_ERR_INTERNAL_ERROR; @@ -2860,8 +2859,6 @@ sshkey_private_to_blob2(struct sshkey *prv, struct sshbuf *blob, freezero(key, keylen + ivlen); if (pubkeyblob != NULL) freezero(pubkeyblob, pubkeylen); - if (b64 != NULL) - freezero(b64, strlen(b64)); return r; } From 4fb29eeafb40a2076c0dbe54e46b687c318f87aa Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 31 Mar 2023 04:00:37 +0000 Subject: [PATCH 126/232] upstream: don't attempt to decode a ridiculous number of attributes; harmless because of bounds elsewhere, but better to be explicit OpenBSD-Commit-ID: 1a34f4b6896155b80327d15dc7ccf294b538a9f2 --- sftp-common.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sftp-common.c b/sftp-common.c index 50f1bbafb..5d7249825 100644 --- a/sftp-common.c +++ b/sftp-common.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-common.c,v 1.33 2022/09/19 10:41:58 djm Exp $ */ +/* $OpenBSD: sftp-common.c,v 1.34 2023/03/31 04:00:37 djm Exp $ */ /* * Copyright (c) 2001 Markus Friedl. All rights reserved. * Copyright (c) 2001 Damien Miller. All rights reserved. @@ -137,6 +137,8 @@ decode_attrib(struct sshbuf *b, Attrib *a) if ((r = sshbuf_get_u32(b, &count)) != 0) return r; + if (count > 0x100000) + return SSH_ERR_INVALID_FORMAT; for (i = 0; i < count; i++) { if ((r = sshbuf_get_cstring(b, &type, NULL)) != 0 || (r = sshbuf_get_string(b, &data, &dlen)) != 0) From c6011129cafe4c411f6ef670a4cf271314708eb8 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 31 Mar 2023 04:04:15 +0000 Subject: [PATCH 127/232] upstream: remove redundant test OpenBSD-Commit-ID: 6a0b719f9b1ae9d42ad8c5b144c7962c93792f7c --- clientloop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clientloop.c b/clientloop.c index 3fb72fb2f..baa988af4 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.390 2023/03/08 04:43:12 guenther Exp $ */ +/* $OpenBSD: clientloop.c,v 1.391 2023/03/31 04:04:15 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -2270,7 +2270,7 @@ key_accepted_by_hostkeyalgs(const struct sshkey *key) const char *ktype = sshkey_ssh_name(key); const char *hostkeyalgs = options.hostkeyalgorithms; - if (key == NULL || key->type == KEY_UNSPEC) + if (key->type == KEY_UNSPEC) return 0; if (key->type == KEY_RSA && (match_pattern_list("rsa-sha2-256", hostkeyalgs, 0) == 1 || From 1883841fc13d0eada8743cac5d3abe142ee2efa7 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 31 Mar 2023 04:21:56 +0000 Subject: [PATCH 128/232] upstream: don't print key if printing hostname failed; with/ok dtucker@ OpenBSD-Commit-ID: ad42971a6ee5a46feab2d79f7f656f8cf4b119f3 --- ssh-keyscan.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ssh-keyscan.c b/ssh-keyscan.c index 3f3092e63..a53188c7b 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keyscan.c,v 1.151 2023/02/10 06:41:53 jmc Exp $ */ +/* $OpenBSD: ssh-keyscan.c,v 1.152 2023/03/31 04:21:56 djm Exp $ */ /* * Copyright 1995, 1996 by David Mazieres . * @@ -313,6 +313,7 @@ keyprint_one(const char *host, struct sshkey *key) { char *hostport = NULL, *hashed = NULL; const char *known_host; + int r = 0; found_one = 1; @@ -327,9 +328,9 @@ keyprint_one(const char *host, struct sshkey *key) fatal("host_hash failed"); known_host = hash_hosts ? hashed : hostport; if (!get_cert) - fprintf(stdout, "%s ", known_host); - sshkey_write(key, stdout); - fputs("\n", stdout); + r = fprintf(stdout, "%s ", known_host); + if (r >= 0 && sshkey_write(key, stdout) == 0) + (void)fputs("\n", stdout); free(hashed); free(hostport); } From 8ba2d4764bb6a4701cd447d8b52604622ffe65f4 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 31 Mar 2023 04:22:27 +0000 Subject: [PATCH 129/232] upstream: clamp max number of GSSAPI mechanisms to 2048; ok dtucker OpenBSD-Commit-ID: ce66db603a913d3dd57063e330cb5494d70722c4 --- auth2-gss.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/auth2-gss.c b/auth2-gss.c index 2062609d9..f72a38998 100644 --- a/auth2-gss.c +++ b/auth2-gss.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-gss.c,v 1.33 2021/12/19 22:12:07 djm Exp $ */ +/* $OpenBSD: auth2-gss.c,v 1.34 2023/03/31 04:22:27 djm Exp $ */ /* * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved. @@ -48,6 +48,8 @@ #include "ssh-gss.h" #include "monitor_wrap.h" +#define SSH_GSSAPI_MAX_MECHS 2048 + extern ServerOptions options; static int input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh); @@ -75,7 +77,11 @@ userauth_gssapi(struct ssh *ssh, const char *method) fatal_fr(r, "parse packet"); if (mechs == 0) { - debug("Mechanism negotiation is not supported"); + logit_f("mechanism negotiation is not supported"); + return (0); + } else if (mechs > SSH_GSSAPI_MAX_MECHS) { + logit_f("too many mechanisms requested %u > %u", mechs, + SSH_GSSAPI_MAX_MECHS); return (0); } @@ -94,7 +100,7 @@ userauth_gssapi(struct ssh *ssh, const char *method) goid.length = len - 2; ssh_gssapi_test_oid_supported(&ms, &goid, &present); } else { - logit("Badly formed OID received"); + logit_f("badly formed OID received"); } } while (mechs > 0 && !present); From 1c1124dc901fca1ea2cb762044b8f1a5793a2bed Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 31 Mar 2023 04:23:02 +0000 Subject: [PATCH 130/232] upstream: don't leak arg2 on parse_pubkey_algos error path; ok dtucker@ OpenBSD-Commit-ID: 7d0270ad3dd102412ca76add2b3760518abdef75 --- readconf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readconf.c b/readconf.c index 6ded2313d..0816ef6b3 100644 --- a/readconf.c +++ b/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.375 2023/03/10 02:24:56 dtucker Exp $ */ +/* $OpenBSD: readconf.c,v 1.376 2023/03/31 04:23:02 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1578,6 +1578,7 @@ parse_pubkey_algos: error("%s line %d: keyword %s \"%s\" " "argument must appear alone.", filename, linenum, keyword, arg); + free(arg2); goto out; } } else { From 6f0308a3e717ebe68eeb3f95253612fab5dbf20e Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 31 Mar 2023 04:42:29 +0000 Subject: [PATCH 131/232] upstream: Return immediately from get_sock_port if sock <0 so we don't call getsockname on a negative FD. From Coverity CID 291840, ok djm@ OpenBSD-Commit-ID: de1c1130646230c2eda559831fc6bfd1b61d9618 --- canohost.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/canohost.c b/canohost.c index 457e9097e..28f086e5a 100644 --- a/canohost.c +++ b/canohost.c @@ -1,4 +1,4 @@ -/* $OpenBSD: canohost.c,v 1.76 2023/03/03 05:00:34 djm Exp $ */ +/* $OpenBSD: canohost.c,v 1.77 2023/03/31 04:42:29 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -163,6 +163,8 @@ get_sock_port(int sock, int local) char strport[NI_MAXSERV]; int r; + if (sock < 0) + return -1; /* Get IP address of client. */ fromlen = sizeof(from); memset(&from, 0, sizeof(from)); From 6b73aa29035991d1448a1a76f63ac152a6bf931c Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 31 Mar 2023 04:45:08 +0000 Subject: [PATCH 132/232] upstream: Explictly ignore return codes where we don't check them. OpenBSD-Commit-ID: 1ffb03038ba1b6b72667be50cf5e5e396b5f2740 --- scp.c | 6 +++--- sftp.c | 4 ++-- ssh-agent.c | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/scp.c b/scp.c index 470b4f466..a2dea46ff 100644 --- a/scp.c +++ b/scp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scp.c,v 1.254 2023/03/27 03:25:08 djm Exp $ */ +/* $OpenBSD: scp.c,v 1.255 2023/03/31 04:45:08 dtucker Exp $ */ /* * scp - secure remote copy. This is basically patched BSD rcp which * uses ssh to do the data transfer (instead of using rcmd). @@ -194,11 +194,11 @@ killchild(int signo) { if (do_cmd_pid > 1) { kill(do_cmd_pid, signo ? signo : SIGTERM); - waitpid(do_cmd_pid, NULL, 0); + (void)waitpid(do_cmd_pid, NULL, 0); } if (do_cmd_pid2 > 1) { kill(do_cmd_pid2, signo ? signo : SIGTERM); - waitpid(do_cmd_pid2, NULL, 0); + (void)waitpid(do_cmd_pid2, NULL, 0); } if (signo) diff --git a/sftp.c b/sftp.c index 07b46c7f7..13d05793c 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.231 2023/03/29 00:59:08 dtucker Exp $ */ +/* $OpenBSD: sftp.c,v 1.232 2023/03/31 04:45:08 dtucker Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -225,7 +225,7 @@ killchild(int signo) pid = sshpid; if (pid > 1) { kill(pid, SIGTERM); - waitpid(pid, NULL, 0); + (void)waitpid(pid, NULL, 0); } _exit(1); diff --git a/ssh-agent.c b/ssh-agent.c index 618bb1981..c72518ba3 100644 --- a/ssh-agent.c +++ b/ssh-agent.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-agent.c,v 1.297 2023/03/09 21:06:24 jcs Exp $ */ +/* $OpenBSD: ssh-agent.c,v 1.298 2023/03/31 04:45:08 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -2020,8 +2020,8 @@ main(int ac, char **av) sanitise_stdfd(); /* drop */ - setegid(getgid()); - setgid(getgid()); + (void)setegid(getgid()); + (void)setgid(getgid()); platform_disable_tracing(0); /* strict=no */ From f703757234a5c585553e72bba279b255a272750a Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 31 Mar 2023 05:56:36 +0000 Subject: [PATCH 133/232] upstream: Explicitly ignore return from waitpid here too. OpenBSD-Commit-ID: eef2403df083c61028969fc679ee370373eacacb --- scp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scp.c b/scp.c index a2dea46ff..1800ba3c5 100644 --- a/scp.c +++ b/scp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scp.c,v 1.255 2023/03/31 04:45:08 dtucker Exp $ */ +/* $OpenBSD: scp.c,v 1.256 2023/03/31 05:56:36 dtucker Exp $ */ /* * scp - secure remote copy. This is basically patched BSD rcp which * uses ssh to do the data transfer (instead of using rcmd). @@ -2255,8 +2255,8 @@ cleanup_exit(int i) if (remout2 > 0) close(remout2); if (do_cmd_pid > 0) - waitpid(do_cmd_pid, NULL, 0); + (void)waitpid(do_cmd_pid, NULL, 0); if (do_cmd_pid2 > 0) - waitpid(do_cmd_pid2, NULL, 0); + (void)waitpid(do_cmd_pid2, NULL, 0); exit(i); } From b36b162be5e6206f12b734222b7bc517c13a6bc8 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 31 Mar 2023 14:51:20 +1100 Subject: [PATCH 134/232] need va_end() after va_copy(); ok dtucker spotted by Coverity --- openbsd-compat/bsd-snprintf.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/openbsd-compat/bsd-snprintf.c b/openbsd-compat/bsd-snprintf.c index bc505b838..0d23a86c5 100644 --- a/openbsd-compat/bsd-snprintf.c +++ b/openbsd-compat/bsd-snprintf.c @@ -320,7 +320,7 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) value = va_arg (args, int); if (fmtint(buffer, &currlen, maxlen, value, 10, min, max, flags) == -1) - return -1; + goto fail; break; case 'o': flags |= DP_F_UNSIGNED; @@ -340,7 +340,7 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) value = (long)va_arg (args, unsigned int); if (fmtint(buffer, &currlen, maxlen, value, 8, min, max, flags) == -1) - return -1; + goto fail; break; case 'u': flags |= DP_F_UNSIGNED; @@ -360,7 +360,7 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) value = (long)va_arg (args, unsigned int); if (fmtint(buffer, &currlen, maxlen, value, 10, min, max, flags) == -1) - return -1; + goto fail; break; case 'X': flags |= DP_F_UP; @@ -382,7 +382,7 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) value = (long)va_arg (args, unsigned int); if (fmtint(buffer, &currlen, maxlen, value, 16, min, max, flags) == -1) - return -1; + goto fail; break; case 'f': if (cflags == DP_C_LDOUBLE) @@ -391,7 +391,7 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) fvalue = va_arg (args, double); if (fmtfp(buffer, &currlen, maxlen, fvalue, min, max, flags) == -1) - return -1; + goto fail; break; case 'E': flags |= DP_F_UP; @@ -402,7 +402,7 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) fvalue = va_arg (args, double); if (fmtfp(buffer, &currlen, maxlen, fvalue, min, max, flags) == -1) - return -1; + goto fail; break; case 'G': flags |= DP_F_UP; @@ -413,7 +413,7 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) fvalue = va_arg (args, double); if (fmtfp(buffer, &currlen, maxlen, fvalue, min, max, flags) == -1) - return -1; + goto fail; break; case 'c': DOPR_OUTCH(buffer, currlen, maxlen, @@ -428,13 +428,13 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) if (min > 0 && max >= 0 && min > max) max = min; if (fmtstr(buffer, &currlen, maxlen, strvalue, flags, min, max) == -1) - return -1; + goto fail; break; case 'p': strvalue = va_arg (args, void *); if (fmtint(buffer, &currlen, maxlen, (long) strvalue, 16, min, max, flags) == -1) - return -1; + goto fail; break; #if we_dont_want_this_in_openssh case 'n': @@ -494,8 +494,11 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) else if (maxlen > 0) buffer[maxlen - 1] = '\0'; } - + va_end(args); return currlen < INT_MAX ? (int)currlen : -1; + fail: + va_end(args); + return -1; } static int From 09d8da0849e2791b2500267cda333cd238f38754 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 3 Apr 2023 08:10:54 +0000 Subject: [PATCH 135/232] upstream: Move up null check and simplify process_escapes. Based on Coverity CID 291863 which points out we check the channel pointer for NULLness after dereferencing it. Move this to the start of the function, and while there simplify initialization of efc a bit. ok djm@ OpenBSD-Commit-ID: de36e5ad6fde0fe263ca134e986b9095dc59380a --- clientloop.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/clientloop.c b/clientloop.c index baa988af4..99846a978 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.391 2023/03/31 04:04:15 djm Exp $ */ +/* $OpenBSD: clientloop.c,v 1.392 2023/04/03 08:10:54 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1005,14 +1005,12 @@ process_escapes(struct ssh *ssh, Channel *c, u_int i; u_char ch; char *s; - struct escape_filter_ctx *efc = c->filter_ctx == NULL ? - NULL : (struct escape_filter_ctx *)c->filter_ctx; + struct escape_filter_ctx *efc; - if (c->filter_ctx == NULL) + if (c == NULL || c->filter_ctx == NULL || len <= 0) return 0; - if (len <= 0) - return (0); + efc = (struct escape_filter_ctx *)c->filter_ctx; for (i = 0; i < (u_int)len; i++) { /* Get one character at a time. */ @@ -1109,7 +1107,7 @@ process_escapes(struct ssh *ssh, Channel *c, continue; case '&': - if (c && c->ctl_chan != -1) + if (c->ctl_chan != -1) goto noescape; /* * Detach the program (continue to serve From 3b9ceaad7ad63c1c03c2a89e148340ad3a62a482 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Apr 2023 03:12:32 +0000 Subject: [PATCH 136/232] upstream: don't care about glob() return value here. OpenBSD-Commit-ID: 85bb82fea90478a482e9f65a1bec0aa24227fd66 --- sftp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sftp.c b/sftp.c index 13d05793c..f99f0561c 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.232 2023/03/31 04:45:08 dtucker Exp $ */ +/* $OpenBSD: sftp.c,v 1.233 2023/04/06 03:12:32 djm Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -2006,7 +2006,7 @@ complete_match(EditLine *el, struct sftp_conn *conn, char *remote_path, tmp = make_absolute_pwd_glob(tmp, remote_path); remote_glob(conn, tmp, GLOB_DOOFFS|GLOB_MARK, NULL, &g); } else - glob(tmp, GLOB_DOOFFS|GLOB_MARK, NULL, &g); + (void)glob(tmp, GLOB_DOOFFS|GLOB_MARK, NULL, &g); /* Determine length of pwd so we can trim completion display */ for (hadglob = tmplen = pwdlen = 0; tmp[tmplen] != 0; tmplen++) { From 2519110659a1efac6c976895a86659d1b341c91b Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Apr 2023 03:19:32 +0000 Subject: [PATCH 137/232] upstream: match_user() shouldn't be called with user==NULL unless host and ipaddr are also NULL OpenBSD-Commit-ID: fa3518346c21483e9e01a2e4b9436ae501daf8ea --- match.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/match.c b/match.c index 3ac854d38..d6af2561f 100644 --- a/match.c +++ b/match.c @@ -1,4 +1,4 @@ -/* $OpenBSD: match.c,v 1.43 2020/11/03 22:53:12 djm Exp $ */ +/* $OpenBSD: match.c,v 1.44 2023/04/06 03:19:32 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -247,6 +247,9 @@ match_user(const char *user, const char *host, const char *ipaddr, return 0; } + if (user == NULL) + return 0; /* shouldn't happen */ + if ((p = strchr(pattern, '@')) == NULL) return match_pattern(user, pattern); From 3a7b110fbc7e096423f8f7b459deffe4c65d70f4 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Apr 2023 03:21:31 +0000 Subject: [PATCH 138/232] upstream: remove redundant ssh!=NULL check; we'd already dereferenced it OpenBSD-Commit-ID: 852bf12591ec5a9fb12dcbde9b1fd3945ad0df3c --- packet.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packet.c b/packet.c index fd14f0009..fdb8783bc 100644 --- a/packet.c +++ b/packet.c @@ -1,4 +1,4 @@ -/* $OpenBSD: packet.c,v 1.309 2023/03/03 10:23:42 dtucker Exp $ */ +/* $OpenBSD: packet.c,v 1.310 2023/04/06 03:21:31 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1890,7 +1890,7 @@ sshpkt_vfatal(struct ssh *ssh, int r, const char *fmt, va_list ap) case SSH_ERR_NO_COMPRESS_ALG_MATCH: case SSH_ERR_NO_KEX_ALG_MATCH: case SSH_ERR_NO_HOSTKEY_ALG_MATCH: - if (ssh && ssh->kex && ssh->kex->failed_choice) { + if (ssh->kex && ssh->kex->failed_choice) { ssh_packet_clear_keys(ssh); errno = oerrno; logdie("Unable to negotiate with %s: %s. " From 484c5e6168fdb22cbcd73c4ff987cf9ca47989ca Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 6 Apr 2023 03:56:02 +0000 Subject: [PATCH 139/232] upstream: simplify sshsig_find_principals() similar to what happened to sshsig_check_allowed_keys() in r1.31, removing some dead code OpenBSD-Commit-ID: a493e628d4d6c08f878c276d998f4313ba61702d --- sshsig.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sshsig.c b/sshsig.c index 8c906f525..854d67322 100644 --- a/sshsig.c +++ b/sshsig.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshsig.c,v 1.31 2023/03/30 03:05:01 djm Exp $ */ +/* $OpenBSD: sshsig.c,v 1.32 2023/04/06 03:56:02 djm Exp $ */ /* * Copyright (c) 2019 Google LLC * @@ -1018,7 +1018,7 @@ sshsig_find_principals(const char *path, const struct sshkey *sign_key, char *line = NULL; size_t linesize = 0; u_long linenum = 0; - int r = SSH_ERR_INTERNAL_ERROR, oerrno; + int r = SSH_ERR_KEY_NOT_FOUND, oerrno; if ((f = fopen(path, "r")) == NULL) { oerrno = errno; @@ -1028,7 +1028,6 @@ sshsig_find_principals(const char *path, const struct sshkey *sign_key, return SSH_ERR_SYSTEM_ERROR; } - r = SSH_ERR_KEY_NOT_FOUND; while (getline(&line, &linesize, f) != -1) { linenum++; r = check_allowed_keys_line(path, linenum, line, @@ -1056,7 +1055,7 @@ sshsig_find_principals(const char *path, const struct sshkey *sign_key, return SSH_ERR_SYSTEM_ERROR; } fclose(f); - return r == 0 ? SSH_ERR_KEY_NOT_FOUND : r; + return r; } int From 2138f6be595ca106fe4805a1e3ab9c4d8acc697b Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 6 Apr 2023 14:33:10 +1000 Subject: [PATCH 140/232] remove unused upper-case const strings in fmtfp no float format that uses upper-case is supported nor are hex floats. ok dtucker --- openbsd-compat/bsd-snprintf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openbsd-compat/bsd-snprintf.c b/openbsd-compat/bsd-snprintf.c index 0d23a86c5..97892adbd 100644 --- a/openbsd-compat/bsd-snprintf.c +++ b/openbsd-compat/bsd-snprintf.c @@ -714,7 +714,9 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, int fplace = 0; int padlen = 0; /* amount to pad */ int zpadlen = 0; +#if 0 int caps = 0; +#endif int idx; double intpart; double fracpart; @@ -776,8 +778,7 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, idx = (int) ((temp -intpart +0.05)* 10.0); /* idx = (int) (((double)(temp*0.1) -intpart +0.05) *10.0); */ /* printf ("%llf, %f, %x\n", temp, intpart, idx); */ - iconvert[iplace++] = - (caps? "0123456789ABCDEF":"0123456789abcdef")[idx]; + iconvert[iplace++] = "0123456789"[idx]; } while (intpart && (iplace < 311)); if (iplace == 311) iplace--; iconvert[iplace] = 0; @@ -791,8 +792,7 @@ fmtfp (char *buffer, size_t *currlen, size_t maxlen, idx = (int) ((temp -fracpart +0.05)* 10.0); /* idx = (int) ((((temp/10) -fracpart) +0.05) *10); */ /* printf ("%lf, %lf, %ld\n", temp, fracpart, idx ); */ - fconvert[fplace++] = - (caps? "0123456789ABCDEF":"0123456789abcdef")[idx]; + fconvert[fplace++] = "0123456789"[idx]; } while(fracpart && (fplace < 311)); if (fplace == 311) fplace--; } From 6452f89577ec4f22440c31b8e19b061d1a7c4b2a Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 11 Apr 2023 16:49:19 +1000 Subject: [PATCH 141/232] Test against LibreSSL 3.7.2. --- .github/workflows/c-cpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index fbd62f83a..b6cd56c63 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -53,7 +53,7 @@ jobs: - { target: ubuntu-latest, config: libressl-3.4.3 } - { target: ubuntu-latest, config: libressl-3.5.3 } - { target: ubuntu-latest, config: libressl-3.6.1 } - - { target: ubuntu-latest, config: libressl-3.7.1 } + - { target: ubuntu-latest, config: libressl-3.7.2 } - { target: ubuntu-latest, config: openssl-master } - { target: ubuntu-latest, config: openssl-noec } - { target: ubuntu-latest, config: openssl-1.1.1 } From 740dafa20f3f3d325f6f5d44e990b8c8a6d3d816 Mon Sep 17 00:00:00 2001 From: "jsg@openbsd.org" Date: Wed, 12 Apr 2023 08:53:54 +0000 Subject: [PATCH 142/232] upstream: fix double words ok dtucker@ OpenBSD-Commit-ID: 44d3223902fbce5276422bdc8063ab72a4078489 --- PROTOCOL.agent | 4 ++-- sftp-server.c | 4 ++-- sftp.c | 4 ++-- ssh-keygen.c | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PROTOCOL.agent b/PROTOCOL.agent index dba76b0c0..44e463674 100644 --- a/PROTOCOL.agent +++ b/PROTOCOL.agent @@ -31,7 +31,7 @@ should be bound for user authentication or forwarding. When an agent received this message, it will verify the signature and check the consistency of its contents, including refusing to accept a duplicate session identifier, or any attempt to bind a connection -previously bound for authentication. It will then then record the +previously bound for authentication. It will then record the binding for the life of the connection for use later in testing per-key destination constraints. @@ -81,4 +81,4 @@ the constraint is: This option is only valid for XMSS keys. -$OpenBSD: PROTOCOL.agent,v 1.18 2022/09/21 22:26:50 dtucker Exp $ +$OpenBSD: PROTOCOL.agent,v 1.19 2023/04/12 08:53:54 jsg Exp $ diff --git a/sftp-server.c b/sftp-server.c index 49ca1ca9f..0466a0f7f 100644 --- a/sftp-server.c +++ b/sftp-server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-server.c,v 1.146 2023/03/07 05:37:26 djm Exp $ */ +/* $OpenBSD: sftp-server.c,v 1.147 2023/04/12 08:53:54 jsg Exp $ */ /* * Copyright (c) 2000-2004 Markus Friedl. All rights reserved. * @@ -607,7 +607,7 @@ send_handle(u_int32_t id, int handle) int hlen; handle_to_string(handle, &string, &hlen); - debug("request %u: sent handle handle %d", id, handle); + debug("request %u: sent handle %d", id, handle); send_data_or_handle(SSH2_FXP_HANDLE, id, string, hlen); free(string); } diff --git a/sftp.c b/sftp.c index f99f0561c..b113f9309 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.233 2023/04/06 03:12:32 djm Exp $ */ +/* $OpenBSD: sftp.c,v 1.234 2023/04/12 08:53:54 jsg Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -618,7 +618,7 @@ escape_glob(const char *s) /* * Arg p must be dynamically allocated. make_absolute will either return it - * or free it and and allocate a new one. Caller must free returned string. + * or free it and allocate a new one. Caller must free returned string. */ static char * make_absolute_pwd_glob(char *p, const char *pwd) diff --git a/ssh-keygen.c b/ssh-keygen.c index 2c0c9cd35..3a0ba8b9e 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.466 2023/03/08 00:05:37 djm Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.467 2023/04/12 08:53:54 jsg Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -1186,7 +1186,7 @@ known_hosts_hash(struct hostkey_foreach_line *l, void *_ctx) case HKF_STATUS_OK: case HKF_STATUS_MATCHED: /* - * Don't hash hosts already already hashed, with wildcard + * Don't hash hosts already hashed, with wildcard * characters or a CA/revocation marker. */ if (was_hashed || has_wild || l->marker != MRK_NONE) { From ac383f3a5c6f529a2e8a5bc44af79a08c7da294e Mon Sep 17 00:00:00 2001 From: "jsg@openbsd.org" Date: Wed, 12 Apr 2023 14:22:04 +0000 Subject: [PATCH 143/232] upstream: remove duplicate signal.h include OpenBSD-Commit-ID: 30c0a34d74d91ddd0e6992525da70d3293392f70 --- progressmeter.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/progressmeter.c b/progressmeter.c index 25da3b2fa..4ee968e74 100644 --- a/progressmeter.c +++ b/progressmeter.c @@ -1,4 +1,4 @@ -/* $OpenBSD: progressmeter.c,v 1.52 2023/03/08 04:43:12 guenther Exp $ */ +/* $OpenBSD: progressmeter.c,v 1.53 2023/04/12 14:22:04 jsg Exp $ */ /* * Copyright (c) 2003 Nils Nordman. All rights reserved. * @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include From c8eb3941758615c8284a48fff47872db926da63c Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 26 Apr 2023 01:36:03 +0000 Subject: [PATCH 144/232] upstream: Check for ProxyJump=none in CanonicalizeHostname logic. Previously ssh would incorrectly refuse to canonicalise the hostname if ProxyJump was explicitly set to "none" when CanonicalizeHostname=yes bz3567; ok dtucker OpenBSD-Commit-ID: 80a58e43c3a32f97361282f756ec8d3f37989efd --- ssh.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ssh.c b/ssh.c index 25397e8ea..3e8b1ebf2 100644 --- a/ssh.c +++ b/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.587 2023/03/30 07:19:50 dtucker Exp $ */ +/* $OpenBSD: ssh.c,v 1.588 2023/04/26 01:36:03 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -461,7 +461,7 @@ resolve_canonicalize(char **hostp, int port) * a proxy unless the user specifically requests so. */ direct = option_clear_or_none(options.proxy_command) && - options.jump_host == NULL; + option_clear_or_none(options.jump_host); if (!direct && options.canonicalize_hostname != SSH_CANONICALISE_ALWAYS) return NULL; @@ -1200,7 +1200,7 @@ main(int ac, char **av) * CanonicalizeHostname=always */ direct = option_clear_or_none(options.proxy_command) && - options.jump_host == NULL; + option_clear_or_none(options.jump_host); if (addrs == NULL && config_has_permitted_cnames(&options) && (direct || options.canonicalize_hostname == SSH_CANONICALISE_ALWAYS)) { if ((addrs = resolve_host(host, options.port, From aacfd6767497b8fa6d41ecdd3f8e265d1e9ef1f6 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Sun, 30 Apr 2023 22:54:22 +0000 Subject: [PATCH 145/232] upstream: adjust ftruncate() logic to handle servers that reorder requests. sftp/scp will ftruncate the destination file after a transfer completes, to deal with the case where a longer destination file already existed. We tracked the highest contiguous block transferred to deal with this case, but our naive tracking doesn't deal with servers that reorder requests - a misfeature strictly permitted by the protocol but seldom implemented. Adjust the logic to ftruncate() at the highest absolute block received when the transfer is successful. feedback deraadt@ ok markus@ prompted by https://github.com/openssh/openssh-portable/commit/9b733#commitcomment-110679778 OpenBSD-Commit-ID: 4af7fac75958ad8507b4fea58706f3ff0cfddb1b --- sftp-client.c | 50 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/sftp-client.c b/sftp-client.c index 29f4c64d1..098b9121a 100644 --- a/sftp-client.c +++ b/sftp-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-client.c,v 1.170 2023/03/28 07:44:32 dtucker Exp $ */ +/* $OpenBSD: sftp-client.c,v 1.171 2023/04/30 22:54:22 djm Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -1600,7 +1600,7 @@ do_download(struct sftp_conn *conn, const char *remote_path, u_char *handle; int local_fd = -1, write_error; int read_error, write_errno, lmodified = 0, reordered = 0, r; - u_int64_t offset = 0, size, highwater; + u_int64_t offset = 0, size, highwater = 0, maxack = 0; u_int mode, id, buflen, num_req, max_req, status = SSH2_FX_OK; off_t progress_counter; size_t handle_len; @@ -1647,7 +1647,6 @@ do_download(struct sftp_conn *conn, const char *remote_path, error("open local \"%s\": %s", local_path, strerror(errno)); goto fail; } - offset = highwater = 0; if (resume_flag) { if (fstat(local_fd, &st) == -1) { error("stat local \"%s\": %s", @@ -1668,7 +1667,7 @@ do_download(struct sftp_conn *conn, const char *remote_path, close(local_fd); return -1; } - offset = highwater = st.st_size; + offset = highwater = maxack = st.st_size; } /* Read from remote and write to local */ @@ -1750,11 +1749,21 @@ do_download(struct sftp_conn *conn, const char *remote_path, write_errno = errno; write_error = 1; max_req = 0; + } else { + /* + * Track both the highest offset acknowledged + * and the highest *contiguous* offset + * acknowledged. + * We'll need the latter for ftruncate()ing + * interrupted transfers. + */ + if (maxack < req->offset + len) + maxack = req->offset + len; + if (!reordered && req->offset <= highwater) + highwater = maxack; + else if (!reordered && req->offset > highwater) + reordered = 1; } - else if (!reordered && req->offset <= highwater) - highwater = req->offset + len; - else if (!reordered && req->offset > highwater) - reordered = 1; progress_counter += len; free(data); @@ -1803,12 +1812,19 @@ do_download(struct sftp_conn *conn, const char *remote_path, /* Sanity check */ if (TAILQ_FIRST(&requests) != NULL) fatal("Transfer complete, but requests still in queue"); + + if (!read_error && !write_error && !interrupted) { + /* we got everything */ + highwater = maxack; + } + /* * Truncate at highest contiguous point to avoid holes on interrupt, * or unconditionally if writing in place. */ if (inplace_flag || read_error || write_error || interrupted) { - if (reordered && resume_flag) { + if (reordered && resume_flag && + (read_error || write_error || interrupted)) { error("Unable to resume download of \"%s\": " "server reordered requests", local_path); } @@ -2008,7 +2024,7 @@ do_upload(struct sftp_conn *conn, const char *local_path, struct stat sb; Attrib a, t, *c = NULL; u_int32_t startid, ackid; - u_int64_t highwater = 0; + u_int64_t highwater = 0, maxack = 0; struct request *ack = NULL; struct requests acks; size_t handle_len; @@ -2150,8 +2166,16 @@ do_upload(struct sftp_conn *conn, const char *local_path, ack->id, ack->len, (unsigned long long)ack->offset); ++ackid; progress_counter += ack->len; + /* + * Track both the highest offset acknowledged and the + * highest *contiguous* offset acknowledged. + * We'll need the latter for ftruncate()ing + * interrupted transfers. + */ + if (maxack < ack->offset + ack->len) + maxack = ack->offset + ack->len; if (!reordered && ack->offset <= highwater) - highwater = ack->offset + ack->len; + highwater = maxack; else if (!reordered && ack->offset > highwater) { debug3_f("server reordered ACKs"); reordered = 1; @@ -2168,6 +2192,10 @@ do_upload(struct sftp_conn *conn, const char *local_path, stop_progress_meter(); free(data); + if (status == SSH2_FX_OK && !interrupted) { + /* we got everything */ + highwater = maxack; + } if (status != SSH2_FX_OK) { error("write remote \"%s\": %s", remote_path, fx2txt(status)); status = SSH2_FX_FAILURE; From d9687f49682e1e93383fc15ab2018850b2ef38c3 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 1 May 2023 11:45:14 +1000 Subject: [PATCH 146/232] Add macos-13 test target. Also flatten OS list for clarity. --- .github/workflows/c-cpp.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index b6cd56c63..d8c509ba3 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -13,7 +13,14 @@ jobs: fail-fast: false matrix: # First we test all OSes in the default configuration. - target: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, windows-2019, windows-2022] + target: + - ubuntu-20.04 + - ubuntu-22.04 + - macos-11 + - macos-12 + - macos-13 + - windows-2019 + - windows-2022 config: [default] # Then we include any extra configs we want to test for specific VMs. # Valgrind slows things down quite a bit, so start them first. From 0e9e2663eb2c6e9c3e10d15d70418312ae67e542 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Mon, 1 May 2023 08:57:29 +0000 Subject: [PATCH 147/232] upstream: Import regenerated moduli. OpenBSD-Commit-ID: 3d5f811cfcaed8cc4a97e1db49ac61bdf118113c --- moduli | 868 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 444 insertions(+), 424 deletions(-) diff --git a/moduli b/moduli index 099fc4263..e7bff9328 100644 --- a/moduli +++ b/moduli @@ -1,425 +1,445 @@ -# $OpenBSD: moduli,v 1.33 2022/11/07 02:21:21 dtucker Exp $ +# $OpenBSD: moduli,v 1.34 2023/05/01 08:57:29 dtucker Exp $ # Time Type Tests Tries Size Generator Modulus -20220714110357 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A429A9923 -20220714110358 2 6 100 2047 5 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A42A9BFB7 -20220714110417 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A4349E923 -20220714110421 2 6 100 2047 5 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A436AA537 -20220714110429 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A43ADB17B -20220714110437 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A43F26D23 -20220714110452 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A4478434B -20220714110507 2 6 100 2047 5 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A44FF2077 -20220714110531 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A45D0597B -20220714110534 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A45E81313 -20220714110541 2 6 100 2047 5 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A462B1987 -20220714110550 2 6 100 2047 5 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A467A15E7 -20220714110557 2 6 100 2047 5 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A46BD40AF -20220714110605 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A470351EB -20220714110630 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A47EA97DB -20220714110630 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A47EAA76B -20220714110648 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A4891615B -20220714110652 2 6 100 2047 5 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A48B5137F -20220714110654 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A48C1EC7B -20220714110707 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A4935FBBB -20220714110707 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A4938A2F3 -20220714110715 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A49847CD3 -20220714110722 2 6 100 2047 5 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A49C04CDF -20220714110726 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A49E68FA3 -20220714110728 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A49FF3563 -20220714110733 2 6 100 2047 2 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A4A266083 -20220714110736 2 6 100 2047 5 E98F2A209BA9F4C8C1FFB02490E599A99FBE28F6A053E240A4BD5FEDE80B23FEA8A1476E9EF6605A4B4B41CC74CB945C7E168A91DB112424480A85CBF5853234B9B1F60F030D38F678BA80AE1461F716C463D7396151EB5F037CC88690FEEF8D16A1B67F56C11874DB5AA3D541BEFF390077C79C86434EDBC2B46821D2AE5D2FA4FFF1B086B07669B09498EA11B0FE26C773F79ACA044E085E0BA43BBE1EBE954AA1EC7A465A3232699E54958B1760AB7A04D9627EC1810970706C96B58BF84999EBED8846D8B384CB945BF782141B1BE2B7C0E04D531A2334DB41BBFD1BEA428C5FD22F50BABDBDFCC5B848F64CBA8D039636311F8D844DFFFBD77A4A4718EF -20220714110741 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63A97ACE7 -20220714110743 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63AA92DEB -20220714110749 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63ADC6787 -20220714110814 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63BC349AB -20220714110816 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63BD5A5D3 -20220714110819 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63BF25123 -20220714110823 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63C158EEF -20220714110828 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63C438BD3 -20220714110845 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63CD80AD7 -20220714110857 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63D3CF5C3 -20220714110900 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63D598D1B -20220714110905 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63D85CF73 -20220714110905 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63D88E27B -20220714110906 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63D93B057 -20220714110907 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63D997D57 -20220714110947 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63F07D89B -20220714110948 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63F12EC37 -20220714110950 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63F1E46CB -20220714110952 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63F36E2EF -20220714110953 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63F3EFE3B -20220714110954 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63F45AF83 -20220714110957 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63F6684DB -20220714110957 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63F674AE7 -20220714111000 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE63F798EBB -20220714111037 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE640C91997 -20220714111042 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE640F6CD07 -20220714111048 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE641309F8B -20220714111052 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE64153581F -20220714111054 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE6415DF757 -20220714111055 2 6 100 2047 5 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE6416B572F -20220714111059 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE6418D88DB -20220714111109 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE641E2FC7B -20220714111127 2 6 100 2047 2 E459BD05870898B0392DDF50E0E0FBCA35E6D6FC6CC9174AE997BE7CBB6902931A8686BEF0D0BC2C82308F0DBF995B77A5952BE4EB437C277A3CBD94356E4AEF676686E76B33FC5586BC6C68859F45F9E71B87AF29583F0808D2F73FD54B15E5D10DDDDB3CF0680C42F17EAD0BD5CAC0B94ED891D1A4775AD74F3E7D7E36B12EF546F6EB27610D5EFBE3F89EC644901CD8D8293CDF9B99731D8FBD2FE920674E74117FCB9CD20B3FD23D2ADD966F5090265131571699A84F3894B14730E0F99E1A49067CB3BE74A34C0E94A6992E02BE30940BDAB6C6E992AF81F6615674B232F4B152F97D9523B1C2ED6EA6DF7C4C69EB66FF9976325AB0A7D50DE6428AF363 -20220714111939 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A40451D63 -20220714111946 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A405CC61B -20220714111948 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4064ADCB -20220714111958 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4087EDCB -20220714112015 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A40C3D9C7 -20220714112026 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A40EBD6CF -20220714112102 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A416BB97B -20220714112247 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A42DDD67B -20220714112248 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A42DFEABF -20220714112340 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A439694EB -20220714112353 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A43C65423 -20220714112428 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4444AE0B -20220714112507 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A44D48CFF -20220714112511 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A44DEBF3B -20220714112549 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A456724A7 -20220714112651 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A464873DF -20220714112736 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A46EA45CB -20220714112754 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A47292543 -20220714112800 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4741F39B -20220714112844 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A47E12BFF -20220714112924 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A486E93AF -20220714112931 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4887FCAB -20220714112951 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A48CAB4D7 -20220714113009 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4908F30F -20220714113024 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4942A64F -20220714113032 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A495DA0A3 -20220714113137 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4A48C463 -20220714113138 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4A4AD4C3 -20220714113152 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4A7E9E6B -20220714113302 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4B7771A7 -20220714113325 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4BCC7A67 -20220714113406 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4C5B14CB -20220714113419 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4C8D693B -20220714113438 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4CD38C17 -20220714113459 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4D1FD413 -20220714113606 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4E11131B -20220714113620 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4E407DDB -20220714113639 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4E816DEF -20220714113802 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A4FA7B0BB -20220714113835 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A501BFD27 -20220714113901 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A5077B90F -20220714113910 2 6 100 3071 2 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A5096B1BB -20220714113911 2 6 100 3071 5 C60003BD3BEA8A30306CD503D00EFB4ED2BF6A45DEA568495ABAF8D2D53A1E0BA1D2C2D3648219C03F47CD52B677D72316114A3882A8A3EB62C4F002DB326C27811A36E332D121EE420DDDF830741F14AA96AC0D2AEB5A80BF31CD18D4E3C02A22BD1986A906EEC3D635669FF26DD25A73FD7650666B101D6C42B0A58D96331E0666C990B56E4F0A5649C76FC7BA599A6DBE245F3A2F16AA4A9216B3AFAA93FE40BBB1149A657C934EC408C063B7130027EF7624C721931FECB563EF32C68E9C275A6A9F8BBF5428CBAED0987CD0EB4BF1BF7AC6F33C37FD88C7A026ABD735F0CD7395A4A22DB22B26C78823FB3BDC98150A82573259E64F407A2B3C017D2E9933E64EF5DDABDD3E748D507D21FF4F7B3450F2640E51DF3993B067DB952F8CD179BE389000934363E209ACF6235D1E9D07D3B0E865C4F9EA6EEB91D2B46B8032B2A3890E4DCA5905E269BD5BF2810548243F13FB13691E5346533538503C9CAA0E56DBE759C182BD04663461B435B8D7A20D69DE33D98AFAA302B86A509ABFAF -20220714114137 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243E7AF7A33 -20220714114223 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243E853FBF7 -20220714114400 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243E99CF2CB -20220714114432 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EA1047DB -20220714114439 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EA262BF3 -20220714114453 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EA58ABD7 -20220714114510 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EA98697F -20220714114514 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EAA6423B -20220714114554 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EB37D447 -20220714114630 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EBBBB32F -20220714114922 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EE2FD6FB -20220714114946 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EE87B393 -20220714114947 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EE89E703 -20220714115027 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EF1D4457 -20220714115124 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243EFF0E74F -20220714115140 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F02F1483 -20220714115239 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F1048C9B -20220714115329 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F1B76437 -20220714115359 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F2205357 -20220714115442 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F2BCF797 -20220714115448 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F2D1B3DB -20220714115516 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F33828DB -20220714115531 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F36A7D87 -20220714115553 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F3B6A657 -20220714115559 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F3CB724F -20220714115604 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F3DB43EF -20220714115627 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F42F1353 -20220714115641 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F45D4ADB -20220714115649 2 6 100 3071 5 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F478CA07 -20220714115654 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F48960F3 -20220714115824 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F5C8FB7B -20220714115834 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F5EAA1CB -20220714120147 2 6 100 3071 2 DA55F6EE023BA05F89B992D6CCEAAD8F6F787812100336939D4C7BD3E08406588C1D2D9C8F4F13A4CEE2F74AAD1ED582272D56866BCBA0449DD6E701CC63FF2DD3B90551DAFE6F228ACF5E3F2B5FE0630B2E5C66D16AE17321A30A0701E511036AAB085C8D3672721EB89A6A6C5CD1406742343617A0B2B09DAD465A2798DEF580B49E25073F0CA98217F242BDB49FD43FB32D31B1983B271A92C13B2A5BD1F39FAF6EC9DE65B5181AB4F6AE3D7D052046ABED2928B5C0B98148EFFB3C2EFD06A61144DDBABE0C4B0E9EDAF0037652A9C5C658F0DAF177DDDFC589A906F46E4F1EBC4A915AE00BB9ACB01B1B62F605209929A8A4274AA498A884DC2E26A1BE9A4FBAD44CF68AA5F92ED35EC66455A01F2273DE2369AB2F07702171AE4D4A551AABAC9C53063C9F1697653877CDE27893DEDF391154D6E5866C919E0C154E5B2B6E00CBA6216FF5FE7EEBE52690BBE6A4CD0693BEDFCB6B217BBA802C6926CEA2021005568848D957894473D76D41254E97267C25836CC2DA3D515243F890B7EB -20220714121337 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D629C7D4793 -20220714121340 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D629C8256DF -20220714121625 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D629DA597BF -20220714122153 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D629FE36413 -20220714122227 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A01CEFF3 -20220714122714 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A20F9823 -20220714122853 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A2BD77FB -20220714123034 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A36B3637 -20220714123040 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A3746D03 -20220714123232 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A437C667 -20220714123319 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A487CC0B -20220714123750 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A65E695F -20220714123800 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A66E6103 -20220714124312 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A8859627 -20220714124408 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A8E56B5B -20220714124440 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A91A43B7 -20220714124606 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A9B26B87 -20220714124627 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A9D62D47 -20220714124631 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62A9DC09BF -20220714125015 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62AB5FE7E3 -20220714125134 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62ABE6A13F -20220714125205 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62AC1B5F1F -20220714125308 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62AC85569F -20220714125411 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62ACF096CF -20220714130454 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62B1384403 -20220714130821 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62B295BE03 -20220714131228 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62B434EA3F -20220714131424 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62B4F3596B -20220714131529 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62B560201F -20220714131556 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62B58D1C3B -20220714131810 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62B673859F -20220714131928 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62B6F7B87B -20220714132227 2 6 100 4095 5 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62B83525E7 -20220714132255 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62B863A7EB -20220714132258 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62B869E2B3 -20220714132926 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62BB0FCCF3 -20220714133046 2 6 100 4095 2 ED38FC9DDCD01CDF39C887875AA0A7EFF8682144089FC338C06E2C138653B5E7A082B537BA5C80A93B7192D153313DE56606C8E2A0CAE8370284BE3ADD97F04BD4EBDFD21A999E13461B544C49742DE120C46D046F6E9C55922E68FF3C8A115E51E70071377B60F8127EB9228A332BD38AF8EF1DA8EFA7012496070426203F3BEECBB286E33C053DC070CD919074DBA97E19C081C6CD8B74DBDF6674F64CD7A7B5F0B7E40B0FD607AF531D55FACAB38C9F550C1D60D89601E6BA1D6BA66F5E18D4C8D4D634C464EC748A260C285D84158CC3DFA9BC03973F32077F7D92C104314173584B96C43F22AFEFA135F3A4C5A0D959B963C8227A337DAC30D8B96F7580D67763621C9F51FAA9E2641D81565810770727EF4C25F8210CCF60B2480070556E874E59D910B9B1822B13420C2843BED4FA4F5CBD7822D651C07CB8657AD1B3629EB337CBA9F1FA50E819E9DEC1DB564FFBC1DEF0561079F96D8ABD0740BE2C997F4EEEF7E8244ECAA6E2BA85E832329220C26A7F088165F583343C190B245CEE6AE40E01D2AFAAFDD509302EBD989AE641131152538C749718FD8D1642B9802DACF3945C0A445D2ECDCF921F8E360495A564C0EE64D74224CF93119AFF5BEA0B61ABBF1DB67A6820A4BF9AD622207ECE7DB9ECE03B4FB6D69D06BBCBEACFCF62D85763DAA5B8C22385D5F4E22352C6EF6495485D00FD019FDF6D62BB96BAAB -20220714133233 2 6 100 4095 5 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C71821637 -20220714133651 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C733193F3 -20220714133712 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C73526D3B -20220714134252 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C75A257CB -20220714134434 2 6 100 4095 5 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C764BC487 -20220714134946 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C785EAE2B -20220714135018 2 6 100 4095 5 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C78963137 -20220714135147 2 6 100 4095 5 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C792D0D87 -20220714135358 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C7A0DE73B -20220714135921 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C7C4451E3 -20220714140317 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C7DE6BDEB -20220714140350 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C7E21885B -20220714140711 2 6 100 4095 5 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C7F85C48F -20220714140736 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C7FAFD0B3 -20220714140813 2 6 100 4095 5 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C7FEDFEA7 -20220714141031 2 6 100 4095 5 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C80E164A7 -20220714141111 2 6 100 4095 5 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C812A1B2F -20220714141544 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C8303F01B -20220714141716 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C839F487B -20220714141912 2 6 100 4095 5 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C846C71CF -20220714142105 2 6 100 4095 5 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C853302EF -20220714142236 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C85CD2F13 -20220714142326 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C8625DC73 -20220714142751 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C87E4924B -20220714142911 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C88684F73 -20220714143324 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C8A2318DB -20220714143325 2 6 100 4095 5 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C8A23F507 -20220714143405 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C8A690A43 -20220714144651 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C8F8FC3A3 -20220714144923 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C90A21B53 -20220714144936 2 6 100 4095 2 C26EA920269D893CF64405388D11C71D52FBD982A1A9308A076F5B755328380B3D920C48C770CFBD278FCEAC8F9425A0A90DF855870D484BAD937C546B0A77676A0C55A150CE32CD4F6EB2F42A1A176199B683E383035F00F93D13B136E94EF38000FA07B393E7FCF3D3780FE4D8B222C94C389ACBBCFDDA3B5EBA8ABA2E8864E9A5A82097DACE58E7B051CAFFE23DB7F1B5A1AC27E5245A40CCE4F85C9F5FF162A994F68E4D6287CA45160ED1FD545ACC957893BC1D39C6FFD755CD8995EEA46A70E462391D5C23D346074415499E835F3F4EFF95A76CB60F1A7B447799105A542C0870A74BEF1C575A112A1CBE2383C32D44CE8D813EE45511ECF7FE252E0882C81300BA1055E44EE6E0EF5A8FBAFF5DB2A3E62EC9BCA93DAB6134D2F3B2EE20C979D17D5272E6BD1F47B4997C02B2A0766B79B1710DE7F5933C4DCBE6C35A376D914B04E07809B94ECD8CE029A54F1AFCBA92EBF0C19AB692F5CD0DE32F78EAB4AD53DBA881F7D737A6899345A8CE7C20E697B6D8E1E3A9886A9EFBCD95FE408E340D298EDD0276AF776FBB4EBD9FDA18322E09BF101506AA8C471EE71CBCF1DCD969524C052B6066D7AE54614DD4AFFAC6EAB393D0CA1CB22FE487DAB99BBA1835490AC275AD9C2C7A7138AC9DF236AD48951C13C0DE1EC58A2120DD24144DCA31564C74A5CEEF143D9BA7F2F6D01670FC6F6DBC07A08D25EE7C90B7330B -20220714150424 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269CB3AC32B -20220714150807 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269CBBB9D93 -20220714153843 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269CFDFF54F -20220714155314 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269D1D2942B -20220714160052 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269D2DACC3B -20220714163103 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269D6EA99C3 -20220714171421 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269DCBECCBF -20220714171847 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269DD5B7993 -20220714173040 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269DEFCEA7F -20220714174048 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269E060A22F -20220714175752 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269E2B3A90F -20220714180116 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269E328818B -20220714181520 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269E513DE83 -20220714182218 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269E604A3CF -20220714182735 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269E6BBA01B -20220714191804 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269ED919FB7 -20220714191958 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269EDD630C3 -20220714193455 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269EFDB6C53 -20220714193500 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269EFDE36FB -20220714194107 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269F0AC9F63 -20220714195248 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269F23F6BF3 -20220714195808 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269F300673F -20220714200658 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269F4322A4F -20220714201511 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269F553D0EF -20220714204211 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269F8F97DF3 -20220714210501 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269FC032A43 -20220714210527 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB98269FC1045CF -20220714214423 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB9826A014F6733 -20220714214717 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB9826A01B72D0B -20220714215814 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB9826A0332253F -20220714222646 2 6 100 6143 5 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB9826A07072DC7 -20220714222943 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB9826A076F0173 -20220714222954 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB9826A07745AAB -20220714223227 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB9826A07CC7BB3 -20220714224745 2 6 100 6143 2 FFB27E2CC8B774D736BFE9ECC0EB33B1BC6D4DEA1E8B360AD96E83A7213A91CCC112624B99480D8B7E7C3B6A70A96B7F267C4FE080158429ECB77525C930D5C61BFC7858FF4D571FE7C533CC24A8B1188EF52DD31B0910207C6B5166A9A097F1D12932EBE47B9B876F2FE0F9344AD4B4BA45B0BBB58908E9D6F8DA689D318AA7C1E198CA2AD22722C00C03A393C8BFC2C037C33429CEDF0660F5716CBC1A15530ED5A3C368B96973A43F1AB70E8BA75ABBB35C85B15E58B56E5C8196B6E9D3C65A236786B55733B64FD6D4F46672EFB796962A3E07AB74C597961E99B573BD8F6046F89C317CA6D9F4922A222CC0EA11E9823F742937FB0EC1A8B7FC8A588193B2AF4C2DECA3EE9724FD8818A0792445FF5E0B7ADDD3EF2282BF471F5322FE0950D91B9B7688B7D134741B60BA427DAF6F09A57C027BE9D5FF6AF15A6DBB183E86E4C682FCD711472039537425BBC2C07D91503187E5F7B9CE7C576AC0CC799791971C23F82C2519635F9B4E1BEE7941DD602EE778E5A99EF77FF9FCFEDC0CC6F90E1F8E2C09D596237C37EC368A78BE8CA54A7406A5BF0708885967909CE810651BC792BD84B1805E3964F31002B647A88FAFF57E94F56E75E5C866E43E7360928B8E7D8E89CE43F5D84E21A3075E9974ED065C825268994DA5E0ABBAFDC1A6636AEB8856C6703CA917C7DF7B607F7DEECD894E6DC133E1904C73499706EC71D2780726A3019F3975835EB22CD82451522CD11A38B28BD742B2A278B886BFFBAF1354D248DE81CE41E8DC7CDD31264D5374CD6D1E53FB07798A5122E18710B2648ABF174A3C8F31222BEFCA76C3F6D7240483119BE84BDB5B72D6CC812A21E2C3A3AF1C263DD5794A716028943E3491EDD9976C4AD900BA4E5BBE2A531BA3B8AF6BF5B952876DB85A70B5C6EBBDDF82E4FD4E518277CDAA86824F82DADE5F73FC60E81C3035A92CC374274DDD8400C144AD28B2B410E186D2A799A1BBAD5B88B1117BE0721D8FD55BF0235620209AACE1B8B2992DBE94F8238AC7E31C758202C548152AF1E4FF39B070B650A52E25793E6E344E027A94CC0CB9826A09DF82A3 -20220715000506 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DB9F7FAC33 -20220715000641 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DB9FB84627 -20220715001211 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBA0756D33 -20220715005345 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBA6234223 -20220715011011 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBA85B2A97 -20220715011444 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBA8F9C90B -20220715011554 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBA9233533 -20220715013220 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBAB54738B -20220715015353 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBAE41CA83 -20220715023846 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBB4450E27 -20220715024203 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBB4B76CCB -20220715024757 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBB58180EF -20220715024833 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBB5965263 -20220715025025 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBB5D2C667 -20220715025333 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBB63FE40F -20220715025633 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBB6A8BD4B -20220715030337 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBB79F8147 -20220715031630 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBB9537AB3 -20220715034438 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBBD1C7CE7 -20220715035610 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBBEAD09D7 -20220715040817 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBC04657DF -20220715041331 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBC0FC243B -20220715041430 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBC11DB2DF -20220715042040 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBC1ED4A53 -20220715042920 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBC31D6CE7 -20220715043335 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBC3B0A75B -20220715051034 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBC8A470E7 -20220715051434 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBC92E3067 -20220715052452 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBCA8D11CB -20220715052700 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBCAD7588B -20220715053146 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBCB7CEC27 -20220715061333 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBD12F317B -20220715063310 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBD3D846E7 -20220715071637 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBD9B91D57 -20220715074108 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBDCFB3DEB -20220715074918 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBDE19622F -20220715080656 2 6 100 6143 5 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBE07CF9D7 -20220715083930 2 6 100 6143 2 E258E7BF12F3DDA792F3E7480A3563579067E7CB60FB18E010DAC18E1AD5671C1E0B1CED8BCF199C52405B70A169CCDAE2B112117B67D54C6F892B1822DC08FACB88D9C1E424709E41932AB799392DA34E0D560B03C459B2208DDB99ECA51883F8BADB33EF313D908ADB72802512653760C2AE00320555606FC09B797CFF13219A102668C5DCF4248DEEB9B7C779A2AE009842942DAE4032491A233698B8BEC159904F8AC25D1E90454A45F786C433C843224D755DE28AC1CAD4E9736C6D4180BA705B607842915F257BBC730C733882911A8A51738DF20BA48EF64240646041BA8C6F3FDEDE140EC3AA3EBD710F5E12A3F5C50C2784FA32CB6E24CDFC621602E67C80DEB8347146AF1983C201E2B4A868B2DD61D079D41AD874F63E22B42101130C646F0217A74192C47B8A732F69DDE9C05ED4E2B7E3CCA501D687F1FAED478D3910BF3689DB3865574926D16FD3DED6561FDD8BA46FDE6121312E798A0CA83993CEEFECC033CB73442A2C954E8BD1C752BAAD8D074F6F6829E515446A8BA834CF7D08B3170721C1388BD55BC802011B9863B91C9B4DB305D881A503B918428569418BC0B2ECC7FC3F9F34B8F66C5EA842B4AB441AFD29FFE658AFE94BE0E9FD2E9743778DC58CBD1DD8DC7220A9D04944B032C6FC0DFA46BEE2D47AA5DC569F0945F72E7751EC0DD7F218CED8AEF74AA9A8864147C3A89B5C6217888C86C51C83FB77FB91B2F7C6BC0D2624192F33FA8891D897593FD164F4822077B028627CB568412A4A2E9931C24BAF6F01A5A7A85EC446A0E67002F55367249F74087A7015D2580009DA08CA0789265B4EE073185A0892AEB1BEEDD00265AD397F87AB4ED831E3702A562627584AA7A195CF453F70D56CF201F73D6AC01E934A32432464337A6599C97F7B61F04E198AC75AA77BD9FAD027B1C82FBB1E78DC641859D3CA7C7EF28F1A612AE1F41B9B360C3A96367D0F3B4BBB9E0F5EDFDFDCD2731510DFB728BD4688B62988D79CE39513524935E2A43E68EB7210093111D92C3683A7FAD835D2B2C86A8C173AA67CCFD59934234D5EB190F8AB93E9C1E0DBE4E93003 -20220715092424 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5F92A52BAF -20220715100057 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5F9547AC47 -20220715100859 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5F95DC0013 -20220715102100 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5F96B85E23 -20220715132304 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FA3BD9C93 -20220715133936 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FA4ECF027 -20220715140222 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FA68BEE73 -20220715161822 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FB045A9D3 -20220715162253 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FB09339CB -20220715175344 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FB7156F2B -20220715182025 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FB90A53D7 -20220715190627 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FBC5E2767 -20220715191213 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FBCCA724F -20220715193806 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FBEA4C29B -20220715204457 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FC370204F -20220715212313 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FC63E9CA7 -20220715225401 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FCCC8EC9F -20220715230508 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FCD93025B -20220716003950 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FD4674843 -20220716005647 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FD59BD53B -20220716005928 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FD5CCEB93 -20220716010051 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FD5E69E93 -20220716020432 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FDA8D1BCB -20220716023453 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FDCC2AC1B -20220716034034 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FE18492D7 -20220716040249 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FE31D1047 -20220716044634 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FE64EDBE3 -20220716051650 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FE87F8BEB -20220716052859 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FE963564B -20220716055849 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FEB816243 -20220716063757 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FEE5510C7 -20220716071444 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FF0F7F9DB -20220716071604 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FF10F3AFB -20220716073329 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FF251281F -20220716074224 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FF2F3BB2B -20220716074605 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FF338BF7B -20220716075807 2 6 100 7679 5 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FF4157C77 -20220716082904 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FF657E773 -20220716083710 2 6 100 7679 2 D29885507D691EF92591A09643ED996F7CBCB7BC2C100AB3FEF5257A5931CC62D6E976C8702F99622C00702F7A97A8DF2C58E6CE1B087955544A6F08E64CC55AE62AB2F2ACA5CCAAC3FB093CC1D0CD964316B4E10C149B72EF468C7D57DC47980B0B4682B79EA3DB224C5E13BA7B8B0CD8C26BD8E884F0A96B77ED42A749A4556C14B417241BFD807B6B985F8474D53AB3002E46E860DA6AF2FC4387C33540FE64DBA835028710E1A8EB05307283DFA15CB67282334BFFF511D4B6284C18620B0F64A87E026EE576D0C201314CB24FE513DDA9AC0747065B315BAEB2D7AC801CE819708A224840C3C2C23F34DAEF1BED28091CB489EBC99E7B89A285ADC47D3DE4DDB71A5EE4184A642FF8E3E1E67536F7534C67D2A196319B597D7A7A4B2B7D852613818A51FF6CE7D1DF0161AD5F06FFD764F0026354A1CB946F03E37C14F7DD98A9F59A7493F2869AAE39AF064F81DEBF3C94A082CCDA26F5C03367BDA1D1975B5E08CD7E91F02D3537EABB4D98B36D7DAD24C7CB36C850148CD911BA89585653F5B582A23C459A78515E3FC5851B08F8EC2E68736BD7488DC5C73FE40A61DC7F4581C95E20E70E7ECB010365B89CD233A8175A4CE862770D5126AB0E606CD8030490E3B1B05EB3F094B8246259D9A9A84434D02A173F37A9FB883844BFBEE307790649463C4EDE0F1F68D9B61C50004E5F38913D160D5AD214A2C1D85E985A288316951FE89FB77890C1BC16B2DE9920803C9BD746373B0D1F42F829083BC4725EA573509AB8F9DAF3BC3309B4B4A29A8A37023A53B7B73B5DD172809329DC7A966953C30A6A0824EEE510657CEC1F93A9C3CD21D58E8B04B4C877AB6D13D575D206D90ED601E9BB8244944A941CFD382806CF5774E6A61502A63AEB74769B80D65D155FC1F5AD9177C81326DC157750D3B8BB75CF52CD21382BE99983F5AD520351166A4B83A7F2BD8D2EFB143492246F2BAF9247839FDCB947E1EB162E2FB8CD4248DEFCD728929684C6F0DF72F25837EC2A7E23064B9FC38590988B79A5FC925B6E7564167CEE374D24FEB1CF59AD5FF37A65BCBAAE9961DFC805E49EDB3DF6001C2EBBC868E9B4A46AB2BF6D9F060D85E965DB7C5D9E5F4DE5677C1A127A26FFE12C57FCA2ED7A950C89B1CAD3C4E5E279C6D197DAC5300051BDF4A05C2FC76E57F3A7362F145C651AFC9AEBB962A3D7D1FAD0DBFAC833B968DE988A4FC799CE55479D89E5F64A2DBE6102926E49661A000A0B0BD49DE7826EEFC0638DE10DB3E68591FFEDA521BE4A6C5447406B293866292CFAB1CE3E68AED693F1D3EB9EE521962ECA88D7D2629FD9DA3E324C131AFB78B5C41831FF5FF6EF1FA3 -20220716120340 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9C6CA376F -20220716142712 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9D11411D7 -20220716145403 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9D307585F -20220716150439 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9D3C1E427 -20220716152458 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9D530FD67 -20220716154334 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9D680C84B -20220716161140 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9D885D85B -20220716162236 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9D954CF4F -20220716171055 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9DCC6C8EF -20220716174339 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9DF237BE3 -20220716174802 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9DF73C52B -20220716175227 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9DFC26653 -20220716181229 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9E131151F -20220716182155 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9E1D9F2CB -20220716194638 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9E7EE6D9F -20220716195641 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9E8A6F4EF -20220716204017 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9EBD085BF -20220716212803 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9EF3B06BB -20220716213736 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9EFE990EB -20220716213807 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9EFF487B3 -20220716213938 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9F0105893 -20220716221754 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9F2D67283 -20220716223623 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9F4287F5F -20220716225952 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9F5D27563 -20220716233959 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5F9F8B474DF -20220717013433 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5FA00EBDEF3 -20220717053018 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5FA11D62647 -20220717084749 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5FA200FD4E7 -20220717092719 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5FA22EFF85F -20220717101211 2 6 100 7679 5 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5FA26140AA7 -20220717123906 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5FA3081C463 -20220717124254 2 6 100 7679 2 EA4C603AE36BD71059D57FCCBE1B8044C230D76993BB57E1277B27A6C4A4B08347D6279C073FCF3AAD938D631C2E6E154467895D8B122C872ED09D0C78541A55F8830207EFC2CA1556E6D9E0E78B0312C663061F6B0692FBB22CA020B4CC24E01DA76F8DC12D2BB87459FC747E3ECE875C8AD2879CD41BD91192BDEB4F30701EB53DD437163646BB8CEDCF66068617495CA9D1611A5C9E4D531A3B575745036E3A3D933984464EB3D86C30ABB3219805BA78FDA311A8F734BCCC83463CDC569AFFB0ECED647616BB7BC3C9865E79E2C4E711F2EB4A2DA078AFF66C15BEAEE0B581037715C505BFB0FE9A9FA47121981F8528DFD137FA66D33083E6F4B74BF2C4AAF0754D0E704803F0F16DF0A9FE41E0C237FFB72BCF0E458F009A77A3E096FD6BDB4799B70C9CE864A108B66D34B56DC9F390CAEBFFC15DAD572F8E57D7CAC68ECE12652303221AF1CC9AD239473CA7E14A1B7B9A6EBF827813340F6D1C97032A7A1FEF147A202A274B0C17F9DCA25214180FA619E3201C174D4B0DDA30D4A1F3EF179126EF859526C539E075EB6E91E2E30AC104FBC69D940D5A70225BBDE026CBBF357DC7543BF3F83A7525AB8F96FDEC0464CD4EB3B106984BD1C4F27BF166079C66790F1CA1AFB56A3B780F6927143E9F85687A2A99F77C46806D8E1C190147CF42E2D1D9A70F964A5CC63D813511685F6BEE77E20CD38D58334EFE7EC2F068A26426001A83758DC82E9B0300CC2FAA0999616147B6B2BF93CBE227D8586CF54FCED628C1AD540844FB6E57CC378881FC90FC3989536CA13F097EAD6F0B45356C6A9DA87873793E68AA272D5253CA239515318649B54DEB926AF82E3D9DE7DBBA0962ED73A8233577E7073A303EDFFFA7E94D596CCECA2BC8BA08A5DBE249F45232C3675FBD21A32E9B489C7804E2C406C7B4B071976E8064A91C5E53A5316CBA74A5398A625B8BAAAFA34A225E54AC174ACEEA6135EFDB59FF42774E3E30B1C8D4CDC20F8803AF0743A8CD0343C8A6065D94C0EB262BD8CB2556D1C9639E52087DDF83698A6040619246D3DAD1CCC8F5373E06FA90AFAC990E64E91EF4C0315AF1F1114B61FC7E8198BA27E7519D81842534D19E4EDF1F356D150F389F1F3D4942A68F08A404E551A4387D1D81ACFC1BD8721B228371DF7FFD9153C3E3EE705E950C2BE384CEB19E47F04C7631F67D7AFF302BD1901648855D8E585605823A95AE079C3C278DF3C5FBB5F40D35473544A37DFA2F3A1EA09908340706E655AAB5DC8C54637738A77DAF6777221463D125A2D9DDE153A0BC99A92A4FFEECCB766F012AC74909A66DD6828F23C6B3C45A2AEEE593DECA2A6FA5FA30C8F0E3 -20220717143701 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A912221EF5FC3 -20220717153012 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A9122251C88EB -20220717154944 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91222646A2EB -20220717155622 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A912226A76CDB -20220717183729 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A9122303F69EB -20220717205515 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A9122387E1CD3 -20220717211522 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A912239B0E0C3 -20220717215431 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91223C0BF2F3 -20220717230904 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A9122407F3053 -20220718023518 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91224CC83943 -20220718024030 2 6 100 8191 5 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91224D17A47F -20220718025313 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91224DDA8E53 -20220718030104 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91224E4FCCC3 -20220718035055 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A9122514E0C5B -20220718042416 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91225341AD73 -20220718044525 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91225482241B -20220718061152 2 6 100 8191 5 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91225999F347 -20220718061417 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A912259BDFF6B -20220718064948 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91225BD2B193 -20220718080208 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A9122602EE1DB -20220718090911 2 6 100 8191 5 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A912264269067 -20220718102418 2 6 100 8191 5 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A912268ABA127 -20220718112555 2 6 100 8191 5 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91226C611AC7 -20220718120905 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91226EEF51AB -20220718123459 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91227079AAF3 -20220718132216 2 6 100 8191 5 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A9122734DC097 -20220718151026 2 6 100 8191 5 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A912279BA57CF -20220718151038 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A912279BC79AB -20220718153329 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91227B1AC9E3 -20220718153657 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91227B5347F3 -20220718164629 2 6 100 8191 5 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91227F6F51E7 -20220718183946 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A9122863E85E3 -20220718195516 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91228ACE2663 -20220718212930 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A9122906E4B83 -20220719004619 2 6 100 8191 2 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91229C28A03B -20220719005356 2 6 100 8191 5 F2F7A2BAF50A41FBCCDE554E561409993B1C6E4133229CAC67C79DE5FEC1F9FBEBECCCE838368FBFA93F774AD02E99F65F8B3F56B3047638FE35167D048A951E3A317CED92846B94A639A0B3D5F098B35BDA8C139A8EB185EC3F843A6778FAB4EEC4DD1B20F071BC9E5075F7AEF1531CC8FB12E64D48A478BBC398D69E12066975EC2A96BCC6D155FB0BDA03C4D4E817DCCF320E8F34447A94C64E28B8F84D07C08BDDA1215CC370EF5EB970A75ED4F8ADB47F36B134A3430DAA59FEF55CD4B9786F693B09BC9C3E6F1F745BABBC6F5892BC4E416BDA02BD59DD7C763179B2897CBCAF284E0A2DE08E4E32BB1F66169D83FA0206C7962184A15527C7CA8EF04AF87921933A2B9C614145AFEC715C833924B8C863E7E20A07AA21A72C450BBC446B9B51407D90261CDE342C5D585A0482DB8FFC95B72992ED5D8085B8A3A8335A1423F7715AB83DB4D88BB599B272B8F80BE3C03B0A3C4F7C2F2486984FE13CA8E4510EA33B45BD782D415AEE1C22885D10BB5D16521E8907054ADE2FA85D8284B89849B05696AC17AD99279CB7675E8261EDFD7CF38B0E714E4C126D13363422B9D1097C590DD4DE80A1CF7872B2D8F6951877EEB91DC4C24F47C9949676565244DB3B923EE368EE43720DC186E96B0B6E0908D967CC5D5C055659978668FCCE03F8D1F087A9EF12446BA87FF4345D757F477C1A838B5EF0A9F45C712A8147A71EA88FBDA3B9A7D1BB5A477A4C224F5F067271E13CBCA9AFBC444FA340B55987BA1D2263107F495BAD2001B296C5E9F700A7C9C3C966E507428A8F9D0A55E240F4E30F3E4E6159E464311FFA3DFC418DD8B5F28640E6CA09D8A76207F978038A3E8A14C66A3237F0E099E16965B72573CE9B895622FF7606EE54E51D0D0F470280EDC42C6F6E0E298ACC1F7DCDFE3B1299BE5774C8584C11EDB9A89A7FF3E899CD4A74816EFB2223D520CEEBD82D09F4CE741BBC0E0B0C597C14AE6C29255C8C8A5E89353FC1A7BDBD5E329D4D850DAF65851D23931426FEBBE80217562727A9088697C7EED3153BD9475FB85A4A443A71680C7032ADDD3A03F4B6CEB8FDD75DA0CA9332C6E5CE2AFAE921F98B37FE8A64EBB1AF3F29D1D1DE8F2328F3C8B2D6BB8ABF00DE82CCDAA0156061616163E1AF9B65AB54D07A0D927DA73C9304C214AE7AF00BC57B759DFDD12CC6947423BBFCF51949E19F6C1CD6FB208FF43C8CCC89D132B0EB4A6C66C1F3EBDDAAA553BB328AB0F89C9D0B28A1DBE5D8302A1333120D3BEEF97F0AD01439C4491EE560D05EB79E62D14328BE63C3D8D3B97973FEF44A23F1DCC674A32EC85E2A6837F2782623D09ED658324912498A4AB925BA55CE6AC89FA1C73ADAFC12AB808A25A49F1301EE991316CEE05D92290908DC9C5709CF9912570EB56DE350DB4604C401380B2F1FFC2869409B2C5A91229C9C1FCF -20220719014859 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF869C312A97 -20220719020529 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF869D2642A7 -20220719034913 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86A3588B53 -20220719044402 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86A69DB913 -20220719045215 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86A717D82B -20220719064925 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86AE08C58B -20220719074822 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86B18928B3 -20220719094802 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86B8C09B6B -20220719101343 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86BA4587CB -20220719105007 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86BC6960B7 -20220719115822 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86C07CBCB3 -20220719124950 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86C387963B -20220719151704 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86CC63DE8F -20220719153327 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86CD62A8BF -20220719161053 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86CF9B2757 -20220719173122 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86D470273B -20220719182307 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86D77C4343 -20220719193427 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86DBAD7B57 -20220719202131 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86DE7D76A7 -20220719211624 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86E1C9623F -20220719211743 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86E1DE6F77 -20220719222342 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86E5D38CDF -20220720003008 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86ED5B9A6F -20220720003329 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86ED8EE32F -20220720034214 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86F8B88CAB -20220720041812 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86FADD0EF3 -20220720042023 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86FAFF7543 -20220720044537 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86FC7D0CB7 -20220720045239 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF86FCE7D05B -20220720055829 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF8700DC7CB3 -20220720061526 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF8701E01D2F -20220720071915 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF8705ABB603 -20220720080553 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF870876A9CF -20220720093358 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF870DC82DC7 -20220720094947 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF870EBB9097 -20220720110223 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF871329D297 -20220720112240 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF871467194B -20220720121337 2 6 100 8191 5 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF87176DFD6F -20220720124230 2 6 100 8191 2 C5A088686E2057FDD426A4329908C72093AFD4A412B73B7C03574CCFAA7EBA44BF6CF5AD03B49A0AEF8A18CCAF15B0D7B12DEE66078C6A3CCE94DCA05193912A668B6E247962F8CC51046DC6DAF5AE92C169A8F00D116524762DAA1E9FF3F3270F2831FA8C94010DAD76A0032523EB9A610EBBA3BF3EFE82471449768C5B844277FC90486CBC00B6C0EA93DE6067DF863B5F1E5D5BD9781DEB1C5A111AEF62BD8016C4210CB6CA14C45559266711960B7F7FEF20E96391F59D019973FB9EFEE8C198D70EC2080C69EBCCEFA9CE2D93081A47E916F667AFFE28642A8E36133D03A3058D9E65DC0C13959DDC40CFF31B53768D41369CF05EDA59CAA0643949A1ED78B8D2F748A93F3DCE01A22AB1F23EC4E63F7A97D7863907A401633B92A073F62B56FD341B9E2B1497FB139FC2FEBD1F5EEE3A001D9DE86C6F8EBA8DDC0C0504A7A46409D036BB9534BC293BB4D9E77A9A2D0296528266EB6BD8071695F854C4E35912B78E10B2D9574D9F238E7649F998CCA0F2639068B0895E71F79E84BF631367A9221DA5F0C12191EA1CC93CA0D863269E7D25F65D29BC9D70F30B287849533A99D5DA2B8D1337DFA905E46A8673F45028192B297D52CF62C5137E4F7D824EB166CB37FBC393EF1FCC235DCC5D7A224B3A2CF975ADAEA330413E7B6DE83EF6181CBA7AF33575369AD7FBFAD0A6B7211BC3BD8EC3648AB6421D2A9142E95AA6827ACA734A605B88585BF5B30EEC75823DCA57EF524421EFC354CA2EE5D9123B1883FBDC41A0DB3558536B410089013F051EE93C3ADD61500F1A3A37CB403F5378AC3AC40D0022617442EDDCA56B012C17A0A50F33B3C6A2F8BE955F22800C4DA6D65ADB413E87ADE5351FD20BE2BF281ABF8CC8BB78A6723D2B9CDE699BCCD47FB7EBEC2F2EA46B6060EAC9101A4448D2CC4D0C6EA9A1A78CE6528C39CF879B75EDB0F0F84602A1EC66250F1BEA8BB250BE675BF6EFDBEDEB1B97699A8F248B68506BBD4F968CAB83FC8C3AEED661AD3682A6B38ADCF7FE0C7A257C4BD376A56207EA4E0F89DA41460BAA707C74A6670C5953ECCAF324A79DA05116A0493B16BDE9D12DE376ED0DA9A7B9780BD3096633EF40D52D03C5ECCB24630046AF5270657416BD7B2F45EEA86C3019E91A946132621E6E96BCA9C42609390EEBA2D1CD06C47DB2A2FDEFF2788505AD177A07AE04A6549909FBA711F714B1F76054668E119FA19B4830819C5108EB186F95AD1ECA0D91AA79337EBABA0AA0F84487227E6951F537BA293556D43E16DD77DE63FD9702EA9E6FDAA775B4C96A16D8DD35852A9079ACB398792F6E89D56595B3E9340BA56525F270E2E976FB376E77F02CD8231988125030610AE2FCFA69A8FAD3D98122D0E8CEF28E5AA696EE497C0B8C8299B77480095577B78251DB69997A17F148EEC4E89A323BF747EF871929A88B +20230417120124 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C943E0383 +20230417120129 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C9462F9B3 +20230417120132 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C94818443 +20230417120135 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C949B755F +20230417120155 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C954A83D7 +20230417120158 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C95657A3B +20230417120201 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C957B51F3 +20230417120201 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C957EB6BB +20230417120206 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C95AF6707 +20230417120209 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C95C36207 +20230417120211 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C95D89093 +20230417120214 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C95F024C3 +20230417120220 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C962642AB +20230417120225 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C96584C87 +20230417120238 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C96CE8FAF +20230417120304 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C97B17897 +20230417120306 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C97C2F6B3 +20230417120317 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C9827CC27 +20230417120345 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C9922340F +20230417120401 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C99B05AC3 +20230417120406 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C99DFACAB +20230417120409 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C99F8E8CB +20230417120414 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C9A202DEF +20230417120414 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C9A2503C3 +20230417120441 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C9B0A324B +20230417120445 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C9B33D5C3 +20230417120447 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C9B411987 +20230417120448 2 6 100 2047 5 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C9B494607 +20230417120456 2 6 100 2047 2 ED2A924913C58F89692C7C19D5075DA18DAC087CF012163C5646F4794A5082F4C9484C4D5691813AFD61BC001A8406A5D574BFF03BE23BC6D47E847E2BCEE71529CC26026D0A1171DAFC8D0CB4827E195260AA6B14FCF7DACC02CD3A8AA5892CB166D75219DB8A739D4DCB04CE626180EDC992DA4F8A6A71362F15EF700EE98DF93904085D7FFC6433C88DE5AF7F2887A55362F963BDCB229D72A6920A363AD76ABD3BE7321BB07DD8C69AA3B824B2C52D0C9CE9F362A4E73452CD0CA3D95BBDDB01B8EB1AECEBF563A4BB36B7957EBB5BB814FC51BE58CC474035CCDC7C753984A530EB565E1A7DE1EFE84B33BD42FA8856BCAAF6F6A937896B931C9B8CC7AB +20230417120528 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A6455043 +20230417120532 2 6 100 2047 5 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A66D5957 +20230417120533 2 6 100 2047 5 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A6717F0F +20230417120546 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A6E2BA9B +20230417120547 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A6EAA9CB +20230417120607 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A79FC72B +20230417120608 2 6 100 2047 5 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A7A811FF +20230417120614 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A7DE27B3 +20230417120616 2 6 100 2047 5 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A7EEE8FF +20230417120628 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A85E5CA3 +20230417120637 2 6 100 2047 5 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A8AD9E57 +20230417120643 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A8DEAEA3 +20230417120649 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A9129123 +20230417120659 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A972661B +20230417120700 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A979D6A3 +20230417120703 2 6 100 2047 5 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A998550F +20230417120704 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3A9A1128B +20230417120715 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AA04DA23 +20230417120716 2 6 100 2047 5 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AA119F0F +20230417120717 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AA15B76B +20230417120732 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AA9F9413 +20230417120736 2 6 100 2047 5 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AABFACEF +20230417120754 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AB62E753 +20230417120807 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3ABD48FAB +20230417120809 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3ABE6D223 +20230417120818 2 6 100 2047 5 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AC33888F +20230417120822 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AC57C9AB +20230417120823 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AC62FF5B +20230417120828 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AC887DDB +20230417120838 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3ACDD94C3 +20230417120846 2 6 100 2047 5 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AD2B9D3F +20230417120847 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AD344873 +20230417120850 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3AD46FA4B +20230417120900 2 6 100 2047 2 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3ADA332FB +20230417120904 2 6 100 2047 5 EEBE899F650DF44524FF30ED346D3194D97BB10C569F8893CF14E8C1F69BAD0AB49C38EB947AACA1AB0C4F69B4E4DFBCA29AB2BC4722D5D5A335BA06EEF733A5C348CA1D536F91BA3DBCA0E5FD00412E4206BF93E7C055BF7CC9EE38082E21F4A0B8F61DDB684F41215E676A268CA8D49ED432CB778CF91B6FEBD8FC652E042A7E949169A6AAA15A74B905C5EF5E0B81D7524725D207CCAD05E2B255E91470E114AE4ED55C9B592BCD6AB64FB65623D9DB57934F12F3AED693BC152F3EB08F445760049378C584973A4FF4CC404C9BC9B638CD2E27FE21F8AB925BCF874DFCB0D915DC6BF1BD482FBC861CEFEAFCA437B3669CB60B5F7E47DEC9CBF3ADC084EF +20230417121744 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2D99166AB +20230417121754 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2D9B0872F +20230417121757 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2D9B900E3 +20230417121800 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2D9C2B1E3 +20230417121825 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DA1F5717 +20230417121847 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DA6B2143 +20230417121944 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DB3ACBB3 +20230417122011 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DB9C216B +20230417122021 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DBBDFA2B +20230417122056 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DC38C803 +20230417122127 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DCA602F7 +20230417122129 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DCACFFF3 +20230417122132 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DCB4B893 +20230417122219 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DD5A5A03 +20230417122219 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DD5CD153 +20230417122238 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DD9E09A3 +20230417122247 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DDBD243F +20230417122408 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DED32707 +20230417122430 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DF223A83 +20230417122433 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DF2B9D83 +20230417122440 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DF426847 +20230417122457 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2DF7BCFA3 +20230417122624 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E0B497FB +20230417122658 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E12D46AF +20230417122710 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E159181B +20230417122711 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E15E6583 +20230417122714 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E1654A4F +20230417122733 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E1AA366F +20230417122739 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E1BE2C5F +20230417122922 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E32EE927 +20230417122925 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E337B273 +20230417123014 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E3DFEA5F +20230417123028 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E40E1737 +20230417123047 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E4515123 +20230417123056 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E4701B43 +20230417123056 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E470F5FB +20230417123120 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E4C3CB4B +20230417123255 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E6107DB7 +20230417123326 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E67ED8B7 +20230417123345 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E6C1920F +20230417123354 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E6DFA043 +20230417123440 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E77B3AA3 +20230417123609 2 6 100 3071 5 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2E8C255DF +20230417123747 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2EA2B40F3 +20230417123841 2 6 100 3071 2 D721E9FFB0F42262EBE068B02546B1857649EC8D8172C9EFB33A5C244FC57C5C0A5208035FE2DA4C342C9E9F7503D8FE89B39B3AA1244E30BEDD885598832B4574846A1594EFFCDB86E91A62343F0E37DACCC022595BDAA2A06EDC553174928C0EB8BC8D223F49AE5F43F0D10090C825050C4C301E9C02AC5F0353D83F0EC0FD2B5A147CDE7635D93E77461FFBB34F7DCB7AC51C79876859C75A04E1BA8A0851F5DBCA3C317452641359B3D9F53D60011979ACCA30F1919867B605FBC775B4C7DE2E76F2B468F232D914AD6D0893708F3882D7098CCB612DD1CEDDAE43DBE1486B530C13D5CB01EE3F962388C7A0B7182DFB76C4AF1A0ED17843AA78F76EDA5B58F730A43299CA7FDDC5D972EA9AF01A36BC9739E3933A3291F6AE0A171F172A6A527147CE08132739A198C9D086FFB0B84878CD3BAE644EC2FF8133A5DB391D0ABD4ED732F674DF45D0C3BCC98D11A0C962BE01DD573A8B7DBEEE81E8866FDDB94877C2552E4E232B7D12DC71A3A30C22C6D504B53A9FE4BDCE1CD2EAEAE16B +20230417123920 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3A5E1FC7 +20230417123928 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3A7A8353 +20230417123939 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3AA10DE7 +20230417123945 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3AB25DCB +20230417123953 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3ACEB053 +20230417124009 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3B05AD5B +20230417124024 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3B39B303 +20230417124029 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3B4BDF1F +20230417124109 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3BD5489B +20230417124127 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3C1470EB +20230417124227 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3CE4EBC3 +20230417124244 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3D22B88B +20230417124306 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3D6CF783 +20230417124307 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3D715E4B +20230417124326 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3DAC5AB3 +20230417124406 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3E2FBD0F +20230417124407 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3E3504B3 +20230417124415 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3E516D97 +20230417124450 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3ECEC67B +20230417124508 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3F0E9FFB +20230417124601 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A3FD1B78F +20230417124628 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A40357A17 +20230417124639 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A405C53B3 +20230417124805 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A4191A5DF +20230417124913 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A427B559F +20230417124937 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A42CEE57F +20230417124938 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A42D34AF7 +20230417125003 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A4329C5A7 +20230417125012 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A4347143B +20230417125021 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A436AB003 +20230417125142 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A448A9A43 +20230417125152 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A44AB761F +20230417125204 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A44D48BCB +20230417125224 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A45197863 +20230417125302 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A459B79F7 +20230417125312 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A45BFF7BB +20230417125323 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A45E659C3 +20230417125407 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A467F9F2F +20230417125506 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A474AE883 +20230417125516 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A476DD73B +20230417125557 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A47F974F3 +20230417125610 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A4827BA43 +20230417125801 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A49B5D97F +20230417125803 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A49BC1273 +20230417125827 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A4A0F4523 +20230417125933 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A4AF059AB +20230417130019 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A4B913D0B +20230417130025 2 6 100 3071 5 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A4BA8802F +20230417130030 2 6 100 3071 2 C4747DFF05D355ABFB6E5F6FDAE3BCBE31EAEE34C49ABBAF89CC8E6309CEA65B6B417DC3760DAC07D51C759168CE9225D1CD9C97EA230DDC793E4AD05C72063DB2A49CD27B57CC287D26FAE461817464B84A3EBA3D517574D5E6ECE37053776F3009150444AF274DDD85D9EAACACB6A0EA99E3292A7238EDE2AFA0B9EB39D7C170E6909AC7F14E402F7708759345F542F8EC91A0F1AD12D6F5449F0C140C694DB136CFA002BE3C1C0F21531A8EF2AF85BF85B3B176EFB022718319101EE4AB208BC7BC4D5BB7536DE84934F783761CF7DE217DAC95239199146395CD1EDFFE586C8558FB73277ED6A432EAD6634AE0D35708BBADC335A3666E101508438C5269EEEF13FF0316C4B497E7B2D838AC51B2CE40A90FF6D01EB980FEB9E7F5FDBC94A2107AC0F9AA91A821C05C77624C4F0EBD956919C02DB43B457CC0416DD4170BA2005ACDC929E796D94D96A54CC3102E41D00276D2E540C917ED72AB1C6579E3DDDEC6ED7719A89EEF2A1D49F457B756A573A4BD1AF5F95E26EF1F3A4BB8247B +20230417131219 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E27BDE22FB +20230417131442 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E27CD43153 +20230417131501 2 6 100 4095 5 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E27CF4BFD7 +20230417131650 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E27DB2B14B +20230417131657 2 6 100 4095 5 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E27DBF71FF +20230417131955 2 6 100 4095 5 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E27EF8AE1F +20230417132223 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E27FFCB94B +20230417132225 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E27FFEA3B3 +20230417132516 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E281200CD3 +20230417133132 2 6 100 4095 5 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E283AC7167 +20230417133149 2 6 100 4095 5 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E283CBB837 +20230417133526 2 6 100 4095 5 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E28539A7E7 +20230417134301 2 6 100 4095 5 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E28842D85F +20230417134528 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E2892BF3C3 +20230417134857 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E28A9390AB +20230417135216 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E28BECDCB3 +20230417140717 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E291FB0063 +20230417140828 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E29272AC03 +20230417140936 2 6 100 4095 5 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E292E18A4F +20230417141154 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E293CF26BB +20230417141515 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E2951E8503 +20230417141826 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E29669544B +20230417142656 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E299CE52F3 +20230417142717 2 6 100 4095 5 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E299F07077 +20230417142807 2 6 100 4095 5 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E29A3EFCFF +20230417143013 2 6 100 4095 2 F276C2B5EA33827576113DA1557DAAF34337A5AA948EAF20BE835D94FB8F1A619106EE29BB65F72D1E1D87180BE08FEBCD6D34961C28414AE1DEB661034334579171972DE85073678980212D6147D692D6DF5C2FE83EEBAC6AF4291A9609B6D2C32A532687DEF60553A17F4DB82C8CF6FCFF7BDC54CDACCA94DD6B9C6EF8D5C6142DA36609E8D910EF4CC974DDFC28C152CC2F6C3B8EB9694F47B16EFB925F94C2CE8D36E69E3C6A15D0903E4F8251010FE3BB625D717E61B789F347829A6B0BEDE369F9BD0608529E9554A20B384AE6017C4DCD888CA536AC537F1BE49EDB99BD3DA550C2C42F1C0D9200541E7788D0FDF63855C4E8730CBEEF1069104D28F3E02E4B9B43127B7E030DF609ECA801A031FA508434B94B9D4CC495A14DD36BDD73534A987EC3278AA3B65C41C788963D98F9384B7598C2A4A5C82570156E57691D9232E312D211B6EE4BE6B21184F17808C85A00D31439D0586521F4E81AFBEB31CF45A78F8780CBD305ADC2058FA46C7D07752C680A7D6607111D4CCD14151B58B57AF3F1A75C9DE0C3C9E2130ABC0E99176B16F2008C05A6179C6880A3C50E16F8C46DAC4D9AC828C6F535E7E2123BFCB5F8B7F818865B943C045F0386B2E630391B52E7D4BDA5B68B95E42A274215A21EFDC76A604A54F403A465135CA3C479BCADEE0B88273824A73177BCE9AE84D870B76EC5E9A90C58D875E29B0F6BFB +20230417143250 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3A2E74663 +20230417143303 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3A2FA9DFB +20230417143423 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3A383862F +20230417143748 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3A4E1E6F3 +20230417143924 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3A5885103 +20230417143934 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3A5996373 +20230417144442 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3A7976643 +20230417144545 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3A800917B +20230417144731 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3A8B4AEA3 +20230417144803 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3A8E81D07 +20230417145101 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3AA116A2F +20230417145423 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3AB6705BB +20230417145750 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3ACC23463 +20230417150019 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3ADB5D94B +20230417150211 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3AE71770F +20230417150325 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3AEEBBF5B +20230417150603 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3AFF73B4B +20230417150807 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B0C44DCB +20230417150816 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B0D1394B +20230417150849 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B106812B +20230417151239 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B27ED09B +20230417151347 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B2F2550F +20230417151425 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B332B547 +20230417151611 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B3EA8AB3 +20230417151713 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B4513E53 +20230417151925 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B52DCCC3 +20230417152202 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B637CD3F +20230417152609 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B7DC96B7 +20230417152728 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B8629C67 +20230417152827 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3B8CADF07 +20230417153140 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3BA074D97 +20230417153158 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3BA24F59B +20230417153250 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3BA7AE117 +20230417153439 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3BB3840C3 +20230417153801 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3BC88A33F +20230417153940 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3BD2FAC67 +20230417154048 2 6 100 4095 5 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3BDA47277 +20230417154515 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3BF5CCBEB +20230417154742 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3C0541E73 +20230417154853 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3C0CD2823 +20230417154902 2 6 100 4095 2 DD51C971A271D216F492E589C7321ADE786218DC52E48C0014AD0C8463D97D684EFDAF651BB95E2F66938587A96FD8F21C9438D3C6C8FFE1FE615DADF90227BA15FF8BA4124074AEB8553A747DEA8726F53CD2301A4A23E6A1185F25F79A11694B6221CA88C33AF35FF542870577070F669EBA8CE673D772133F6A2BED84B841B57C433D4A2EC542C39CF9FB2E3770BF8AF5929B14064513857F0CE6C0E21A867EFCAB0C8244DB1E3A4256F1480DBFD5E66E7E7D44A0AE5021E6F932241D2209F5525B0798EA2C4190A429AD5B5CACFC7EDBC39B1B123E6414BC54AE2FCE4D14BC9BF13CDD4D6D18FADE09E520B8E243BF3C404BD4FBC506924FEA7E18B826AEF83E478672F43E84F1137526F15BAF86BEF8A3CDB41210CAEB4BFC1C0D929A9ED23E37C179FEE8DCF225A73F0A85F3FC3182AC6F4C9C956ECBD5EC9F6DC5E37A3207C37F21E911E970939F1BEE07D09BADE42EF4A6B379473B1E18A069D1A4B606075200D8FD0A1494F10C86916E0772A422FC4EF74BA4471DBBD8347C5550625FC462ACBA0718514F07852B7AA5AAD4147C665E6FBE01BA6860B74D6CFA733E61EB3BB1CA7C8025FF0EFE2B62197074F630A1A947EE208B39CE7B6C096D9C73A0507367CF0E2E7C5BCADBF50FA89CE31173FCAF98D02DBFD7AE226237461EF97074C893EF6539F67E298CF1E8F2EECD5C5A7D38F5635365C32771F3C0DB5AEB +20230417160813 2 6 100 6143 5 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09E6043C37 +20230417160955 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09E63E5ECB +20230417161116 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09E66D0C13 +20230417173223 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09F118B56B +20230417174435 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09F2AC221B +20230417175622 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09F431B3AB +20230417175805 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09F466880B +20230417183350 2 6 100 6143 5 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09F91A3D7F +20230417184313 2 6 100 6143 5 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09FA5788BF +20230417185829 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09FC599A13 +20230417190440 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09FD2A3E43 +20230417190730 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09FD87730B +20230417191209 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E09FE2497BB +20230417194348 2 6 100 6143 5 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A0251ABDF +20230417195254 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A0382A6EB +20230417201258 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A0626800B +20230417202628 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A07E2F2B3 +20230417203654 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A09425B53 +20230417204838 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A0ACBF40B +20230417205653 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A0BE7263B +20230417212057 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A0F16EC4B +20230417213120 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A1077CDCB +20230417214744 2 6 100 6143 5 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A129A10AF +20230417221328 2 6 100 6143 5 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A15F72EDF +20230417222735 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A17CA8523 +20230417224212 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A19B5D243 +20230417224454 2 6 100 6143 5 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A1A0C1567 +20230417225206 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A1AFC257B +20230417225753 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A1BBA535B +20230417231103 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A1D71EBBB +20230417233302 2 6 100 6143 5 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A204E454F +20230417234117 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A2161C2F3 +20230417235538 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A233C6313 +20230418001249 2 6 100 6143 5 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A25743D17 +20230418001609 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A25E2D033 +20230418001631 2 6 100 6143 5 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A25EEEE27 +20230418002758 2 6 100 6143 5 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A276810B7 +20230418005715 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A2B4072A3 +20230418010752 2 6 100 6143 2 E46F881BE5C8A93A760C690AEBB76537B0B760CEF7E185FFC5AAEA0A2CDD1421E824F043E03614B5A628A80227CCF49F4E0234CB7A1DC3FB0919CF408BA43315FA3383CC9933EE3F177DDD127F680CAD5B701B1BD4D275420EB426175A3F2AB4D8793AF82737C7443ECE98B6C9A54989BC857F6F71E0528D07F8701ABD4FE58992C0D3A106068AB3FB08D3055C647E692A7B43D675CC821EEAE2B51106B9473DF2F4D2069EE1FDB832F741C751F54318419FEC81A5EC3DF257176652B329279D8BF310D0F54568DE5D9D079114EE6597FB320DE0DCD72F10AD51D65722BCFCDF61BBA1F08D6BA05B9AA367D4CB1DB8E050222057FFA5B9678B18DBABE66A022EF78447D7181D4658AF75466E1CA5458852DE729D5AE7E21D4720A2DBF648714C0FBB797C0C3D2CDB2C153B3573C6C483EB905ED338BC7141D779115E746A9BA67DDE0A8690CF0AAE64576F5AA58BD5945FC3A9C7A6527A658EFDEE7E4180F761D7CF1222E6280BFB503047A6E4DE2FB273C31532BDFA1D73E6CDA027E03F63EA237597AE56258EB12181B96AB931709C688BF4770E71A5FC83495131C79AC32EE5C04BCFB23D1414D2DFC21B713F65EE5B9AAF208A2B993B27C2DEEC1C1F334C4305D6EB95C4DF54C8ECB40DC7CDAECBA98F8A48D89D1E1F2F29212FC6A3BD022358D2797E359187FC69332D78C8185BCB0FB45DA3D89128405C30F36B25AE7FA1887ED26B188E67C61BB2799179F8429E2821ACEB946F05FEFDBDDCD34B94B11D8290881B38DC4896B0393494F79DA78CA3871A95820C6E12189C4BB12CEE21A83B01990F52A94B360D33701958332BD600B1EB0547CB6E6ABB89E8CDC20EF346BEB032DE096E17C5C40BFF40EADDF81EF428E0D0873E2630A833AE2C353209C4322366D745ED93A51550A284FC67448E373D843300ED3B2EB094897B7B1318A544CB17A399FFF4F0E9C7B681245245B84D87898C49E6D3CD514CE7489BA76584CA9FE216D3F5C69BB332B50B8FFC153421848B5BE0F3FA25624BB9415D947F46C16ED7B6541D8BF642D6407CADD18702A3642CA6B4281091F28E0A2C9EFD13 +20230418012058 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375B6CD63D7 +20230418012826 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375B7C73CEB +20230418021312 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375BDAC84F7 +20230418024639 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375C1F8860F +20230418024643 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375C1FA3B4F +20230418025309 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375C2CE464B +20230418030814 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375C4C3707B +20230418031522 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375C5B95BDB +20230418033054 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375C7B41ED3 +20230418034725 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375C9D253E7 +20230418035159 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375CA67420F +20230418040206 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375CBBA3E37 +20230418041509 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375CD6CC14B +20230418041639 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375CD9FAC87 +20230418043135 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375CF9403A3 +20230418043522 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375D012B66B +20230418045745 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375D2FD7267 +20230418052031 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375D6045D63 +20230418052723 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375D6E70C73 +20230418053117 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375D766A2F3 +20230418053137 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375D771B1BB +20230418054951 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375D9D7E09F +20230418055013 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375D9E3AA03 +20230418055054 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375D9FBD5B3 +20230418073313 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375E77882EB +20230418074130 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375E888520B +20230418080153 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375EB2BC2C7 +20230418080336 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375EB640357 +20230418090623 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375F38F9E2B +20230418091211 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375F450FA1F +20230418094003 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375F7EF9113 +20230418100906 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375FBCE0373 +20230418101337 2 6 100 6143 2 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375FC615953 +20230418102743 2 6 100 6143 5 D87B312D2FDDD6A6859E8AFC18BA9BD5277D8512257428F787213E185E899E0F6522D5BF15826D513286CE011C3075457ADE549AF31D0B119B6042318589A00E271ACE924C8345AB9417EF02AB0A4DFFB421B386A1366E64AD4D533600C56C62130EE0F5460D919972E95120C54924CB6773DC35AB41169829AB673F2A865DA93FF23867E8260C186D12345BA8F7B0123C14D0065F07698AADD8E18381E3CB9F00C22D13F28FFBC01A2D068BBB31DA6C94B5253061A5C008FBE4E546E6C743E0A902145ECA71CA698A1789D4E223C065D03980E07D07E1829D46FFF04BD620BE6C06C2916BD3B2DE59513E2582DAEFA8C80333D2D5393109B151D33246D82AD26D31968FBA185975FE72146E767BE6900D39A0D41F290DAAE8FC0BF1696538CE7EB20A60CE6BF7089C137E392A0DCAF26B0C29D57F07C06E619BCB8A1CC2D40839791CF5A2AECCDB219F78B01FA32110F95BB2A020DA3E4434DFE37DEF5DBFAFF9811C4DC09E7AC5E8B4D185A1CF5B60B80DE34891E75819EC6FF2AB5B6B8D822B5B20D431805D0AE8FAF0A2254B4B661A1A3C7D0E9666A7C4841B894C796FC4218246357F57FD12B0284B90645C9EBF382EEE1565FD5AF51BE53CC6104C849A50B969A4A7136D38126658FACFEF7A04FA57D21D20A1D50E791E5E4900252D72E2340C12DFCD51A63D63B0ADFA040AD2580F3CC3098E75B82F488496E59664B5B90C712447F5C797BF94C8222B03727ED63E4C12BAB974C2B4AB5F4D626BC03772D993AB441E55676189E13E47BD43C4E5BCBF6ACA579199E6743D555ACEE8D451450D0930A550C7BBA5678BCB66C55ED5F1E1C1A23230F5760AC019CBC7316C3DA7DEFB469A891BE37FEC8B198F5DA123E1DB77662E639A6D6C7530CD7F13B0C204C442363349CAD4B1BBCA422FB96896CE6DFF68DE0D52806975F67759F87CDF1E343ACA3AEFFEC5F6E14F82D5628DE5108E3245CE5370802DB35CFC5FE3E57759515BDA3E3A26DE95F6A1E06E72C2FF24E7C9C83FD8691BC7E510A3E3F90403D0E7A979B59A1FA356FEFDE5DF79A540A65C4F54159BB34D7E7375FE3AB57F +20230418104554 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A8EED2781B +20230418120300 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A8F42A6567 +20230418133631 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A8FAB96A33 +20230418134401 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A8FB3C693B +20230418135304 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A8FBE1FDF7 +20230418140347 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A8FCA2EF8F +20230418140739 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A8FCE86483 +20230418143257 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A8FEA8B8EB +20230418143741 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A8FEFCF0EF +20230418145224 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A9000357FF +20230418150943 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A9013DFCAF +20230418160126 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A904D89E1B +20230418161313 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A905ACEFEB +20230418180127 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A90D3AA387 +20230418182846 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A90F1CD427 +20230418202701 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A9174E9CF7 +20230418204312 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A918741C57 +20230418204839 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A918D3DC5B +20230418211022 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A91A55DFBF +20230418212613 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A91B73EC93 +20230418221337 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A91EBBED5F +20230418225747 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A921D917E7 +20230419002050 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A92785525B +20230419004356 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A9292AACFF +20230419022901 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A9308E1103 +20230419023745 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A9312D894B +20230419030420 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A933069573 +20230419031318 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A933A41003 +20230419033911 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A93567E59B +20230419042004 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A93840906F +20230419061114 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A93FF67383 +20230419071818 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A9449D35D3 +20230419074500 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A94676D117 +20230419120028 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A9581F62B3 +20230419120616 2 6 100 7679 5 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A95884E00F +20230419121044 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A958D6B5F3 +20230419123026 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A95A32A0C3 +20230419123300 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A95A5F992B +20230419134253 2 6 100 7679 2 E6328EAAA3BE5DE7BC6DF1162500D0156A4EAB04554C56D34676E60C43C89A1F8E27529EF3EC83D92452B5643F31BE9E2E8739F8FF94F1ABAD41FFFBC12BE470E1E7C00F03202514C1C7E529D812382488E8C3255F0C8172587FE308C2B628DDE448F2F304AB7B8423341E094D5284250535298A938097C4BFAFE2F4F86003DB7220BDAE8FBEE421A77B4F657E3614E8A2E921C80622A91B56B18B597BBAF44537B9114CAAB58A858808079845327240322CEC27D2A3B779E60ABF0939A8BA547608BCE19255161850CEAF0FB1AB7F8FD9235B4821AC5D307220BE3C27FF12880194B3062FFAF52AC118092FCCFFA1CBC1EAA9BD2C07CA4EB2E2766AD27D65F7F6B3C23F18410D079142808E6311E381F2EA13C4980B1EEA01A9225875D979E807C8F69EF5B75A8ABA1ED8279978AC653E910BA02EF0C3478618570AEDF059D314BF3BDA7B827F41542EA7FD62A705C9F5B68F25CF5470BE09E0C0D324738D479D8AF107CD2F8141C2E086F4D5F207FA28EB8F84F0A006ED5F4A9D2FC54D41064EEB71EA9322296A69606C3330873C74C9EC71A2752DEA3A9A50730910013B3B1BD18108B7B19AC3C728D79BD12C5B42DA4C4D68575BE63872E07972878EE9014BFFEE2B10641B1F55FFC344DECBB2C51E72FCA9BDD60FEBDCB206C53D2598D35EA6F19CC29077C6975D6D03E5BF66EF6A681A2F1CB8586588B205D10FD92738F87E613374FF334DE27D8DB2CFDBD54093464FF9C965268FB9F237FD2DD11CBED0C29C919577722F7038F1D66B18BEC3730FCAB90065610C1835655EB37A93C8E126AA68C4ABC1F3035A3A9A8D7AF1FBA8891CBACFC4579551287AA6631345DBF4D15B8E2FB5C6FCE0A13D02F9FF6A378D46E95A6441F658BCE43E0852CC38B6EB2F3FF22918C7183AC9C599A4769D5DBC015731C346945913240DC338E31FBCF336C25CE3E23313EDA94FFE0046242F7A58ED59920B3C1A54B9AD0F7606B955422A22AC0598BCC0EEEEBD12E9B90647D9D9A6E26C875C7A25DC002812A6C6765872FAFE3DEBD75B09FCED45A358E6E5DDFC76C2A4230740C67DA9F0EB1D270F5742236D231FA14BD72C361BBB42D795624FF32BA6F68C9BA4762DC366C9AA41CC6453AD4D33F2972DD18D4A8EBCE2A0B9DC708BF37A5419F12B746F6A16A352CDDD7EEDC57E74762C98D388F8C7462DE48D87FC8E5BBAEC758D8C641F5666E4E5F9D09634247B0267C13F620F0B08B97D792F718665E14B0B04B9EA56CAF0DB6791621CC130EB9FEB08AF04F8E0C42B25254548236CA04808E527174D8323B6B548E5EC4E5201F29166E9822A52416B873B22E65A3CA8CFCC1508A95F419D8B +20230419140355 2 6 100 7679 5 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275B6DAF6E7 +20230419164053 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275C1BD51F3 +20230419164703 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275C22B54BB +20230419184237 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275CA289983 +20230419184441 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275CA4ABA5B +20230419191659 2 6 100 7679 5 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275CC85EF37 +20230419203722 2 6 100 7679 5 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275D2235D8F +20230419204226 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275D27D56C3 +20230419210337 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275D3F789AB +20230419212914 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275D5C166C3 +20230419223024 2 6 100 7679 5 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275D9E7621F +20230419225541 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275DBB85733 +20230420003433 2 6 100 7679 5 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275E281C87F +20230420020414 2 6 100 7679 5 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275E8AA20A7 +20230420020944 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275E90CEC1B +20230420033320 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275EEE545FB +20230420040742 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275F1541A43 +20230420051608 2 6 100 7679 5 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275F60EA9DF +20230420054435 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275F807287B +20230420065254 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275FCB923C3 +20230420070106 2 6 100 7679 5 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40275FD48EA57 +20230420075138 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F4027600C3C693 +20230420080219 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F4027601848A23 +20230420082952 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F4027603750093 +20230420085330 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F402760517E16B +20230420101848 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F402760B1F3F33 +20230420111601 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F402760F23C613 +20230420125724 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40276162D7A03 +20230420130717 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F4027616DD043B +20230420132347 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40276180015AB +20230420140830 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F402761B14F4DB +20230420145219 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F402761E29C17B +20230420145940 2 6 100 7679 5 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F402761EAD5A67 +20230420150934 2 6 100 7679 2 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F402761F5F3F03 +20230420163440 2 6 100 7679 5 ED95B1E8982BC7E5DD6FE4F09F3C276F55F746A034CC2F3F0D6D9D15F57C5912D649A6949A697F938BCB3B6F36A34106627F30FBB938F7BFB8EF66FE2986897300E55A2446E0FC196FDFB0B058C5810F1F86BCA99FBF8640C922DB18BA48C357F750757F4FBCDD5EC841D41113F273269B03745636A6BBCBDB59BBF7D0B96BA6DE2AF01A50E63E3A4AB683A491787509991AC0989506489C3AAFDDEB90096AB3D0D75805BDD30C8C3CFC214B02DD42201D46FBDE4CB61B5C249F7FF268149DD6624C8763C1DBFCC4BB132C84C06821B69C2DC60518A6F48743CADD638C5952562F98205473D526EA658DD2D94A0BE537771CF38C11A7C2B30BD3F4F8CB260BA3F74CD86FB12A553E869710C87B9125E3E09C84BA77DCE75C8EBCD4B5F3213C128AD00C4FB1F3461B638DF8BA435B57A69D728C7F749BE7D99F33975EA0A1B9E244422770C6448AF7C4FD9C6354B6BDBAA9537FBFFC026A60F2A537C1DE8A0241B26AF08D69266E6BA90FEBC78E6B4D1047C006293040E8639BBFB85A3C1719DCE255B098512811E73A4DE11CEB7D6313400AA282470FC79E392ABFFC6268C257805BEB6BDD870C967E7C38E2F4BFDB67B4FDAB05B4FCA1135163C7F4F23E78BB83BB9021246D97D5EE3B99CF8E02060A08B5B3A111D4C5C065ACC3A9D767CF612B124317F9561BED7135A7A65C6718C65B0E63A0A05E819546B14BE5AEB5157C5F7A91125E523B1A154F3EE998B8FB120ED1E647BA6742FCF0648998EC2A8A28E97386C25AD5D0C30AB634747B7082CD1FAC7B6146262BE4F74C1C84BDC5DCCFD70601E3895ED04EC59C7A67E12D607EE8F121BC3A2BB34767C47269B604ECE063CCB5E2E32444D5D2CBD0680467EB0AE70C7B22D4ACE868D12F7ABBC42FFA210AB2124073E8312C778057ABD78E38EAF7D929F4FEE09EA8C754281D8D3C05377909F7FA0F37615E3B6BCF8497FBD62C357B8D5D019F589A767B76B2E99A6EDFED1A69178B5E634CB97DE7CA4E087D58BC62CB902251DC212B6B4B43FABA537E2D961C45174F648AC43CBF4C7EA00012AB68B1020A007972E57FA7119E40E44EB68EF6A7BE7BFB3DEED0FC4FBC5D54B0FD440D586EE8768092616F415EF079BB7D707A2F3D8DD622AEB12EED0BDC92356E20A2775EFEE512F93DCE561EC4DC86DBE1B2D98BE130E41F966AC2B28BD89921E1CCB79F90BC1E638F26C1AD2288A74AFE4D317DE4202BF05401F36E8B4F768090C99214AAF63FCFCBE016463462F6EECB5DA4F28F6420E67B05557AA57D29F8CE3AC8BEC44336F5B2ED9705714770D3D481FABF3601A10EBADFDA1B03DF30483025E9E0918CE305F40276254852AF +20230420182032 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B71FBDC11B +20230420195640 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B72538E3F3 +20230420200923 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B725F3E50F +20230420202526 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B726E264AF +20230420210905 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B72964F467 +20230420225631 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B72F962103 +20230421020353 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B73A554953 +20230421025019 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B73D03C6F7 +20230421025402 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B73D3934DB +20230421025900 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B73D81E4AF +20230421033101 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B73F5DFB7B +20230421041148 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B741AAA7E3 +20230421042239 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B7424B0683 +20230421052746 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B7460F6067 +20230421070426 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B74B975CE3 +20230421071911 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B74C702073 +20230421074756 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B74E1061CF +20230421085630 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B751F35FFF +20230421090204 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B752462FAF +20230421102319 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B75705B853 +20230421105111 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B758A7AC97 +20230421131420 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B760DF7513 +20230421131956 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B76132615B +20230421135550 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B763472133 +20230421153558 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B7690B048F +20230421153757 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B76927A217 +20230421155746 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B76A4781CB +20230421165514 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B76D95D9DF +20230421173555 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B76FF163BB +20230421174847 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B770AE85DB +20230421185652 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B774A0D307 +20230421210430 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B77BEE92CB +20230421213116 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B77D820F3B +20230421213341 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B77DA622A3 +20230421215327 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B77ED1585F +20230421220349 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B77F6C72EB +20230421223656 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B78152125B +20230421235028 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B7858BD2E7 +20230421235413 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B785C13573 +20230422011230 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B78A3A0403 +20230422025702 2 6 100 8191 2 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B79042A373 +20230422042255 2 6 100 8191 5 FCF60CA27F941D57B38FB9E34C2D72C459D16DEBD084FB56A6579FC062494A8CDEFCFFBBA6D8B7C811C515C1A1234A95529620DF53CE8FB9BADD3971575C3F31B44F2B37CFFB7733B83FA3927F430A809C5942D23DD7F05445AA3B9D81DB2D65ED91B9E3D0F03E96C30CC3B5D23509B34DD52C49FFB0C720FB8D94C006BC8819CCF3B09712B7B598FEC791C4568F0B276E42247708129B21964866ACFDEF1D4BD1A3162417A41F8992F2B8DA2AFDE571F4F15E58CA7395B0D05C2AE0E5570BC91451E3F1EF50188D6F089BA88E767FA5C8CA926B66BF95BBDE24EDAB82E359581681AFBD7CE2B7E5B318476324DA6C6B2CA8F5B723A4FA40308F83FE05C187EB65B0FCE3C88A8B0EE903E0775570EA99CBF9BE0F5EEFCA1C87BF496206EB584FA37D59176787C224BE6FC7928883D3750C51B7D3A23B411030FF1AF81F258D5F65E0D859E9C50FAD039F6B1BDED73BA469F9139B9F7B1F2373C52320FAA2C9ACE24AC5AA27DC755D6D1C18A85E26CF851722FCF40A0BA06BC39FCF3D41E5269F6815A677AA69B11E7FE1C15B49E9BF2D16CAA4D80AC84D0087F36A91344DCE44BAE7458899C51EE511B81A06DD529B7BF1AB6BAEDF2DE3299F9E53CE8F8045EFA06A2BB0A4746A8F304D376F3AE9993639BEBEB7BB8A7D4D9FE72110CE657D4F1421EE2E13CBB6D771BDA0DC191755A11B7FEC7E5E0F401D9E87787E1B931A75491802547E79C30DFEBB4072B8055BFAAB1F73F488B8C1A57B9DFFD9FB663B823EED77A3D0A36014FD7077BB0BC7EBD5C16584F4A2400AC37945511A9F71847BB7426A18D332833B51AAB4839FD844714A4A5655B73ABFB1217980E45E85398B7CC4F00E89281279BEC2335AF713EAE4C3178333DA014EB0A19DADDB29B4416396FE250FD086A58D898E98BB44F98BFD17415780681536C5496626BD88DA34E4F2651E68E8D7BC952779B9945CEA3947B9F556344178A67BE2D23403F58B87EFB5CC079910F267469BBABA49D2DA01AC3D0E21252602FF132A0B12359D41878CC42DEBF7E25C27816AB1ADAB9508E2AD4DB493040D8671AC70D4045B366D3553082191A46E0BC9649BA4F9F58506314314C971033AEDBF9BDF17A6FF2451EB53326C6745A7BF8007AEFBDE26BD9F880FAB74EF249A8155547BD72EEC5F7DDD1EABA445CEDB920A4AD0BC6E3430976DF2BCB6360ED8B83A3F21A322DB1BF1CC6E99A84D4ABA51694A1BAEFBFED72459EA0807E854D4E97D00FC9272FDFA3101B1A93A73E6E445A83B155646DF89100A8A4806D1FD0B6050240B188C51FE1E595F80DDBF4724549981F7117617261EBF9512E2A4D655C5C388901E87C906DE0B17B2F1FEADDB25E12FB71E9FFE73785B82DCE66D1974438477DE725FEE06A45C945EC6E20FF2D15E9430D186110F0D9376238401043517F73D0D4FA7B7953A1A87 +20230422062516 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054AFDE2F2B +20230422072256 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054B339C3FB +20230422073338 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054B3D7B997 +20230422075019 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054B4D1179F +20230422114740 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054C29B898B +20230422143218 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054CC21806B +20230422150241 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054CDDFDF13 +20230422151148 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054CE67D36F +20230422153713 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054CFDA4817 +20230422154815 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054D0758A03 +20230422162135 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054D2640177 +20230422165112 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054D412F29F +20230422174106 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054D6FF9DEF +20230422202834 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054E0C09CCB +20230422224100 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054E879D08B +20230422231400 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054EA62450B +20230422234622 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054EC3EFCC3 +20230423001926 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054EE2C1057 +20230423032142 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C054F8AFB6D7 +20230423075205 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C055085ED347 +20230423082125 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C0550A098AA7 +20230423083106 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C0550A963F6B +20230423093228 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C0550E1B6ACF +20230423101913 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C05510CD28C3 +20230423105846 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C05513146EBB +20230423160506 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C05524BA0BD3 +20230423164733 2 6 100 8191 5 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C055272D6F0F +20230423165317 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C055277E91B3 +20230423182230 2 6 100 8191 2 CCFD66A378B8DEC3500EA03607592E16716277D5268BE0BE77506C2B5223A2641DF17C236A81DC0DD126CC3AC0E1B02B0452D0368DFABE38A88C74A8C78355187EAFEE839F4D3D954040958AF21AC4E1E71AC775479EC3259ECE7C076AB20FA5D5ED85DCBF426F19ABDE5FCC8E69B7A6103CB8CC16EFEEA6E239BF08C840DEB6A56A18A8C52F098E55FB8FAE71060A48A2328A33BF53D095446FF8A1ECC841E2E935A25C70ED02D455089B0B0098A2D93C60E8E8241FC7A929F807085AA837AD0BC9624F822A687FF1AF49C57B89FA23BD8369B1379C57CDB407FFD60CB71CEDB2C025C6348BF3252DFBD76B6BD815CE914897D025FFA0F723E2BC8B28EC5AE63E9D7289F5A2649EB3A74977C0E09350A49625AA41437A32F05BE39548CAD706F5BC3260FB9CA9BE11CE1CFFCE374CBF6EE9C73D5D3F41862A0033A645DD3270E7F46FE6237C5CA71C18EBEAD327EBF05B60AA6FEE024EDDA47A4A9922424F17F3E5772B429C49D32856AEBD978C4C3D65FDEBD6DF21783F1680B106A7E6D4F087A4B02AD2D928EC41C6F61F9E10BB48BDDEA799A478B0250A11008582ECBC21BE859FD2C71810FAF252507C039019FB2B1BC4FCFF8BCF382D466D7A534C2185E9F8D4D73A63CD055062E7D207AC780C5EB174F673060AA6BBE11B469B760A249048B2B55958AAEEF5F3CDC8AD43E9703A9B930071A5EDB8DD704B796C5868B11DF538AD7C49F34294B3DFD9525F4E84ED61D30040566F3182E42E5F1F048693B64D1B85B84A829FAE30FA042E551E4A375639D47FEF4B3CE13A32BC3F351EE304C124F4D42B4474407A7691B2CA2F0BA6AF2EAA12641DE19585577F32004F472B5CB28F28EE1DAB8B823DB079661BF13CFE0104B33DC5C41E6A68D79F0459CA68C8B766E5F3C7396DD552666EABA420987DAB2B62146D540148D89A5DA040F681D9D3A9BCA677E674070CE29087E8F19E3F662ACF60DF27C23BE4E217D43FB6D7CFC9558C4D0D8BA7125D10455DB549048CF506A9B1A1CDA601833072F9644F09DD91599963C3842F193EA09CD5C629005B699AEA2325DD09A4555E62583D3AF91946353D183D6E61123FCFFE0606E5BD6E5B85199701F03F233E6412323BD6A776593540AC7EB11F85341DB138CD8C1D89872B04BA89420FDAC51D652F104C999C6EED071EBAC30DA247695E1985291BEDCE929DFD35D0C3A159578565F7020322647A7B90F6722109D3EA233944E700A8BE3E6C62AA4B916C3BB64BE584E1E1055328CA42A83E3A04A3D7CDBD3EC390D24A32F49F6A61AAF22C61C01E4F383551E6F9226133D4EDB8FFF166282846CF3655CCA31C7F5664257636E1E7683D64EED64A96FC763C2A0E86ACC3400D8E5F327F1DE9C3199FC9B2BDF83046410355746826CABDC6605728CE9EAB826DAC32FF41BD9FC996B8CC65C0552CAB0673 From b7afd8a4ecaca8afd3179b55e9db79c0ff210237 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 8 May 2023 20:12:59 +1000 Subject: [PATCH 148/232] Handle OpenSSL >=3 ABI compatibility. Beyond OpenSSL 3.0, the ABI compatibility guarantees are wider (only major must match instead of major and minor in earlier versions). bz#3548, ok djm@ --- openbsd-compat/openssl-compat.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/openbsd-compat/openssl-compat.c b/openbsd-compat/openssl-compat.c index a37ca61bf..6c65003f2 100644 --- a/openbsd-compat/openssl-compat.c +++ b/openbsd-compat/openssl-compat.c @@ -33,10 +33,10 @@ /* * OpenSSL version numbers: MNNFFPPS: major minor fix patch status - * We match major, minor, fix and status (not patch) for <1.0.0. - * After that, we acceptable compatible fix versions (so we - * allow 1.0.1 to work with 1.0.0). Going backwards is only allowed - * within a patch series. + * Versions >=3 require only major versions to match. + * For versions <3, we accept compatible fix versions (so we allow 1.0.1 + * to work with 1.0.0). Going backwards is only allowed within a patch series. + * See https://www.openssl.org/policies/releasestrat.html */ int @@ -48,15 +48,17 @@ ssh_compatible_openssl(long headerver, long libver) if (headerver == libver) return 1; - /* for versions < 1.0.0, major,minor,fix,status must match */ - if (headerver < 0x1000000f) { - mask = 0xfffff00fL; /* major,minor,fix,status */ + /* + * For versions >= 3.0, only the major and status must match. + */ + if (headerver >= 0x3000000f) { + mask = 0xf000000fL; /* major,status */ return (headerver & mask) == (libver & mask); } /* - * For versions >= 1.0.0, major,minor,status must match and library - * fix version must be equal to or newer than the header. + * For versions >= 1.0.0, but <3, major,minor,status must match and + * library fix version must be equal to or newer than the header. */ mask = 0xfff0000fL; /* major,minor,status */ hfix = (headerver & 0x000ff000) >> 12; From b356b8e91678ea295bcf44df5248c3fbf499fdcf Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 8 May 2023 20:14:28 +1000 Subject: [PATCH 149/232] Include config.guess in debug output. --- .github/setup_ci.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh index 489114be8..154f51bdc 100755 --- a/.github/setup_ci.sh +++ b/.github/setup_ci.sh @@ -4,7 +4,9 @@ PACKAGES="" . .github/configs $@ -case "`./config.guess`" in +host=`./config.guess` +echo "config.guess: $host" +case "$host" in *cygwin) PACKAGER=setup echo Setting CYGWIN system environment variable. From 77cca2c4b13bc6e5f389565583b6202b0d1bccc2 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 8 May 2023 20:14:46 +1000 Subject: [PATCH 150/232] Skip agent-peereid test on macos13. sudo -S nobody doesn't work on the github runners (probably a permission issue) so skip that test. --- .github/configs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/configs b/.github/configs index 9cc2bafbd..e054eb319 100755 --- a/.github/configs +++ b/.github/configs @@ -287,7 +287,8 @@ case "${TARGET_HOST}" in ;; esac -case "`./config.guess`" in +host=`./config.guess` +case "$host" in *cygwin) SUDO="" # Don't run compat tests on cygwin as they don't currently compile. @@ -298,6 +299,11 @@ case "`./config.guess`" in # modern versions don't ship with libcrypto. LIBCRYPTOFLAGS="--without-openssl" TEST_TARGET=t-exec + case "$host" in + *-darwin22.*) + # sudo -S nobody doesn't work on macos 13 for some reason. + SKIP_LTESTS="agent-getpeereid" ;; + esac ;; esac From 86ad25d455a2313126125540e61e0f9314283f88 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 8 May 2023 20:23:08 +1000 Subject: [PATCH 151/232] Add macos13 PAM test target. --- .github/workflows/c-cpp.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index d8c509ba3..bb6cf684a 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -83,6 +83,7 @@ jobs: - { target: ubuntu-22.04, config: without-openssl } - { target: macos-11, config: pam } - { target: macos-12, config: pam } + - { target: macos-13, config: pam } runs-on: ${{ matrix.target }} steps: - name: set cygwin git params From 47742c513e4e045ecc985c6483fc5c8b050acda2 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 9 May 2023 17:12:50 +1000 Subject: [PATCH 152/232] Update OpenSSL compat test for 3.x. --- openbsd-compat/regress/opensslvertest.c | 29 +++++++++++++++++-------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/openbsd-compat/regress/opensslvertest.c b/openbsd-compat/regress/opensslvertest.c index d50066609..99c894418 100644 --- a/openbsd-compat/regress/opensslvertest.c +++ b/openbsd-compat/regress/opensslvertest.c @@ -26,15 +26,6 @@ struct version_test { long libver; int result; } version_tests[] = { - /* built with 0.9.8b release headers */ - { 0x0090802fL, 0x0090802fL, 1}, /* exact match */ - { 0x0090802fL, 0x0090804fL, 1}, /* newer library fix version: ok */ - { 0x0090802fL, 0x0090801fL, 1}, /* older library fix version: ok */ - { 0x0090802fL, 0x0090702fL, 0}, /* older library minor version: NO */ - { 0x0090802fL, 0x0090902fL, 0}, /* newer library minor version: NO */ - { 0x0090802fL, 0x0080802fL, 0}, /* older library major version: NO */ - { 0x0090802fL, 0x1000100fL, 0}, /* newer library major version: NO */ - /* built with 1.0.1b release headers */ { 0x1000101fL, 0x1000101fL, 1},/* exact match */ { 0x1000101fL, 0x1000102fL, 1}, /* newer library patch version: ok */ @@ -44,6 +35,26 @@ struct version_test { { 0x1000101fL, 0x1010101fL, 0}, /* newer library minor version: NO */ { 0x1000101fL, 0x0000101fL, 0}, /* older library major version: NO */ { 0x1000101fL, 0x2000101fL, 0}, /* newer library major version: NO */ + + /* built with 1.1.1b release headers */ + { 0x1010101fL, 0x1010101fL, 1},/* exact match */ + { 0x1010101fL, 0x1010102fL, 1}, /* newer library patch version: ok */ + { 0x1010101fL, 0x1010100fL, 1}, /* older library patch version: ok */ + { 0x1010101fL, 0x1010201fL, 1}, /* newer library fix version: ok */ + { 0x1010101fL, 0x1010001fL, 0}, /* older library fix version: NO */ + { 0x1010101fL, 0x1020001fL, 0}, /* newer library minor version: NO */ + { 0x1010101fL, 0x0010101fL, 0}, /* older library major version: NO */ + { 0x1010101fL, 0x2010101fL, 0}, /* newer library major version: NO */ + + /* built with 3.0.1 release headers */ + { 0x3010101fL, 0x3010101fL, 1},/* exact match */ + { 0x3010101fL, 0x3010102fL, 1}, /* newer library patch version: ok */ + { 0x3010101fL, 0x3010100fL, 1}, /* older library patch version: ok */ + { 0x3010101fL, 0x3010201fL, 1}, /* newer library fix version: ok */ + { 0x3010101fL, 0x3010001fL, 1}, /* older library fix version: ok */ + { 0x3010101fL, 0x3020001fL, 1}, /* newer library minor version: ok */ + { 0x3010101fL, 0x1010101fL, 0}, /* older library major version: NO */ + { 0x3010101fL, 0x4010101fL, 0}, /* newer library major version: NO */ }; void From 5fbb7a1349fbbb48ccb1b8cafff2c1854370d87d Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 9 May 2023 17:13:33 +1000 Subject: [PATCH 153/232] Suppress warning for snprintf truncation test. --- openbsd-compat/regress/snprintftest.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/openbsd-compat/regress/snprintftest.c b/openbsd-compat/regress/snprintftest.c index a3134db1c..87b72ca38 100644 --- a/openbsd-compat/regress/snprintftest.c +++ b/openbsd-compat/regress/snprintftest.c @@ -25,6 +25,9 @@ #include #include +/* Suppress format truncation warning since we're explicitly testing that. */ +#pragma GCC diagnostic ignored "-Wformat-truncation" + static int failed = 0; static void @@ -50,9 +53,11 @@ main(void) { char b[5]; char *src = NULL; + int ret; - snprintf(b,5,"123456789"); - if (b[4] != '\0') + memset(b, 'X', sizeof(b)); + ret = snprintf(b, 5, "123456789"); + if (ret != 9 || b[4] != '\0') fail("snprintf does not correctly terminate long strings"); /* check for read overrun on unterminated string */ From baf854c8bb0a6d0af5c696c801e631a48dabbaba Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 9 May 2023 19:25:45 +1000 Subject: [PATCH 154/232] Remove warning pragma since clang doesn't like it. --- openbsd-compat/regress/snprintftest.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/openbsd-compat/regress/snprintftest.c b/openbsd-compat/regress/snprintftest.c index 87b72ca38..23b7dfac8 100644 --- a/openbsd-compat/regress/snprintftest.c +++ b/openbsd-compat/regress/snprintftest.c @@ -25,9 +25,6 @@ #include #include -/* Suppress format truncation warning since we're explicitly testing that. */ -#pragma GCC diagnostic ignored "-Wformat-truncation" - static int failed = 0; static void From fbf362b3891ae4b36052d1b39f37fc618b41c476 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 9 May 2023 19:26:56 +1000 Subject: [PATCH 155/232] main(void) to prevent unused variable warning. --- openbsd-compat/regress/strtonumtest.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openbsd-compat/regress/strtonumtest.c b/openbsd-compat/regress/strtonumtest.c index 46bd2b916..d55cb0ff8 100644 --- a/openbsd-compat/regress/strtonumtest.c +++ b/openbsd-compat/regress/strtonumtest.c @@ -57,7 +57,7 @@ test(const char *p, long long lb, long long ub, int ok) } } -int main(int argc, char *argv[]) +int main(void) { test("1", 0, 10, 1); test("0", -2, 5, 1); From 5ec5504f1d328d5bfa64280cd617c3efec4f78f3 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Wed, 10 May 2023 10:04:20 +0000 Subject: [PATCH 156/232] upstream: Remove unused prototypes for ssh1 RSA functions. From lengyijun via github PR#396. OpenBSD-Commit-ID: 379a5afa8b7a0f3cba0c8a9bcceb4e5e33a5c1ef --- monitor.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/monitor.c b/monitor.c index fda4a3660..1489c78d8 100644 --- a/monitor.c +++ b/monitor.c @@ -1,4 +1,4 @@ -/* $OpenBSD: monitor.c,v 1.235 2023/02/17 04:22:50 dtucker Exp $ */ +/* $OpenBSD: monitor.c,v 1.236 2023/05/10 10:04:20 dtucker Exp $ */ /* * Copyright 2002 Niels Provos * Copyright 2002 Markus Friedl @@ -125,9 +125,6 @@ int mm_answer_keyverify(struct ssh *, int, struct sshbuf *); int mm_answer_pty(struct ssh *, int, struct sshbuf *); int mm_answer_pty_cleanup(struct ssh *, int, struct sshbuf *); int mm_answer_term(struct ssh *, int, struct sshbuf *); -int mm_answer_rsa_keyallowed(struct ssh *, int, struct sshbuf *); -int mm_answer_rsa_challenge(struct ssh *, int, struct sshbuf *); -int mm_answer_rsa_response(struct ssh *, int, struct sshbuf *); int mm_answer_sesskey(struct ssh *, int, struct sshbuf *); int mm_answer_sessid(struct ssh *, int, struct sshbuf *); From fcd78e31cdd45a7e69ccfe6d8a3b1037dc1de290 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 24 May 2023 23:01:06 +0000 Subject: [PATCH 157/232] upstream: fix AuthorizedPrincipalsCommand when AuthorizedKeysCommand appears previously in configuration. Reported by John Meyers in bz3574 ok dtucker@ OpenBSD-Commit-ID: 1c92e4517284386703936e1d3abaa36cfacf1951 --- servconf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servconf.c b/servconf.c index 9d5b73ecf..0f4fd2f17 100644 --- a/servconf.c +++ b/servconf.c @@ -1,5 +1,5 @@ -/* $OpenBSD: servconf.c,v 1.392 2023/03/05 05:34:09 dtucker Exp $ */ +/* $OpenBSD: servconf.c,v 1.393 2023/05/24 23:01:06 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -2403,7 +2403,7 @@ process_server_config_line_depth(ServerOptions *options, char *line, fatal("%.200s line %d: %s must be an absolute path", filename, linenum, keyword); } - if (*activep && options->authorized_keys_command == NULL) + if (*activep && *charptr == NULL) *charptr = xstrdup(str + len); argv_consume(&ac); break; From b4a1efdcb88f03394c08e7f68ed4e11676830002 Mon Sep 17 00:00:00 2001 From: Philip Hands Date: Thu, 18 May 2023 17:14:41 +0200 Subject: [PATCH 158/232] update copyright notices SSH-Copy-ID-Upstream: c284ed33b361814ea48ff68cbd01ca525b2bf117 --- contrib/ssh-copy-id | 2 +- contrib/ssh-copy-id.1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index cd122def3..8ef1cc4b4 100644 --- a/contrib/ssh-copy-id +++ b/contrib/ssh-copy-id @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 1999-2020 Philip Hands +# Copyright (c) 1999-2023 Philip Hands # 2020 Matthias Blümel # 2017 Sebastien Boyron # 2013 Martin Kletzander diff --git a/contrib/ssh-copy-id.1 b/contrib/ssh-copy-id.1 index c141a296f..bf97e5541 100644 --- a/contrib/ssh-copy-id.1 +++ b/contrib/ssh-copy-id.1 @@ -1,5 +1,5 @@ .ig \" -*- nroff -*- -Copyright (c) 1999-2020 hands.com Ltd. +Copyright (c) 1999-2023 hands.com Ltd. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions From cf84498f67abe93f813a296167b406a0db7b288e Mon Sep 17 00:00:00 2001 From: Philip Hands Date: Thu, 18 May 2023 18:20:55 +0200 Subject: [PATCH 159/232] ssh-copy-id: add -x option (for debugging) This option causes the ssh-copy-id to run with set -x SSH-Copy-ID-Upstream: a0ee367ea8c0a29c8b4515245e408d2d349e7844 --- contrib/ssh-copy-id | 8 ++++++-- contrib/ssh-copy-id.1 | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index 8ef1cc4b4..f29377e8c 100644 --- a/contrib/ssh-copy-id +++ b/contrib/ssh-copy-id @@ -66,10 +66,11 @@ SSH="ssh -a -x" umask 0177 usage () { - printf 'Usage: %s [-h|-?|-f|-n|-s] [-i [identity_file]] [-p port] [-F alternative ssh_config file] [[-o ] ...] [user@]hostname\n' "$0" >&2 + printf 'Usage: %s [-h|-?|-f|-n|-s|-x] [-i [identity_file]] [-p port] [-F alternative ssh_config file] [[-o ] ...] [user@]hostname\n' "$0" >&2 printf '\t-f: force mode -- copy keys without trying to check if they are already installed\n' >&2 printf '\t-n: dry run -- no keys are actually copied\n' >&2 printf '\t-s: use sftp -- use sftp instead of executing remote-commands. Can be useful if the remote only allows sftp\n' >&2 + printf '\t-x: debug -- enables -x in this shell, for debugging\n' >&2 printf '\t-h|-?: print this help\n' >&2 exit 1 } @@ -112,7 +113,7 @@ if [ -n "$SSH_AUTH_SOCK" ] && ssh-add -L >/dev/null 2>&1 ; then GET_ID="ssh-add -L" fi -while getopts "i:o:p:F:fnsh?" OPT +while getopts "i:o:p:F:fnsxh?" OPT do case "$OPT" in i) @@ -135,6 +136,9 @@ do s) SFTP=sftp ;; + x) + set -x + ;; h|\?) usage ;; diff --git a/contrib/ssh-copy-id.1 b/contrib/ssh-copy-id.1 index bf97e5541..79d976c77 100644 --- a/contrib/ssh-copy-id.1 +++ b/contrib/ssh-copy-id.1 @@ -32,6 +32,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .Op Fl f .Op Fl n .Op Fl s +.Op Fl x .Op Fl i Op Ar identity_file .Op Fl p Ar port .Op Fl o Ar ssh_option @@ -91,6 +92,11 @@ With this option the user's .Pa ~/.ssh/authorized_keys file will be downloaded, modified locally and uploaded with sftp. This option is useful if the server has restrictions on commands which can be used on the remote side. +.It Fl x +This option is for debugging the +.Nm +script itself. +It sets the shell's -x flag, so that you can see the commands being run. .It Fl h , Fl ? Print Usage summary .It Fl p Ar port , Fl o Ar ssh_option From bdcaf7939029433635d63aade8f9ac762aca2bbe Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Wed, 10 May 2023 18:50:46 +1000 Subject: [PATCH 160/232] Special case OpenWrt instead of Dropbear. OpenWrt overrides the location of authorized_keys for root. Currently we assume that all Dropbear installations behave this way, which is not the case. Check for OpenWrt and root user before using that location instead of assuming that for all Dropbear servers. Prompted by Github PR#250. SSH-Copy-ID-Upstream: 0e1f5d443a9967483c33945793107ae3f3e4af2d --- contrib/ssh-copy-id | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index f29377e8c..437a7609f 100644 --- a/contrib/ssh-copy-id +++ b/contrib/ssh-copy-id @@ -242,7 +242,6 @@ populate_new_ids() { # optionally takes an alternative path for authorized_keys installkeys_sh() { AUTH_KEY_FILE=${1:-.ssh/authorized_keys} - AUTH_KEY_DIR=$(dirname "${AUTH_KEY_FILE}") # In setting INSTALLKEYS_SH: # the tr puts it all on one line (to placate tcsh) @@ -252,15 +251,20 @@ installkeys_sh() { # the -z `tail ...` checks for a trailing newline. The echo adds one if was missing # the cat adds the keys we're getting via STDIN # and if available restorecon is used to restore the SELinux context + # OpenWrt has a special case for root only. INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF cd; umask 077; - mkdir -p "${AUTH_KEY_DIR}" && - { [ -z \`tail -1c ${AUTH_KEY_FILE} 2>/dev/null\` ] || - echo >> "${AUTH_KEY_FILE}" || exit 1; } && - cat >> "${AUTH_KEY_FILE}" || exit 1; + AUTH_KEY_FILE="${AUTH_KEY_FILE}"; + [ -f /etc/openwrt_release ] && [ "\$LOGNAME" = "root" ] && + AUTH_KEY_FILE=/etc/dropbear/authorized_keys; + AUTH_KEY_DIR=\`dirname "\${AUTH_KEY_FILE}"\`; + mkdir -p "\${AUTH_KEY_DIR}" && + { [ -z \`tail -1c "\${AUTH_KEY_FILE}" 2>/dev/null\` ] || + echo >> "\${AUTH_KEY_FILE}" || exit 1; } && + cat >> "\${AUTH_KEY_FILE}" || exit 1; if type restorecon >/dev/null 2>&1; then - restorecon -F "${AUTH_KEY_DIR}" "${AUTH_KEY_FILE}"; + restorecon -F "\${AUTH_KEY_DIR}" "\${AUTH_KEY_FILE}"; fi EOF ) @@ -336,13 +340,6 @@ case "$REMOTE_VERSION" in exit 1 fi ;; - dropbear*) - populate_new_ids 0 - [ "$DRY_RUN" ] || printf '%s\n' "$NEW_IDS" | \ - $SSH "$@" "$(installkeys_sh /etc/dropbear/authorized_keys)" \ - || exit 1 - ADDED=$(printf '%s\n' "$NEW_IDS" | wc -l) - ;; *) # Assuming that the remote host treats ~/.ssh/authorized_keys as one might expect populate_new_ids 0 From bd382dca316c721aed1e45edcf4c4e0f6374afb0 Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Tue, 2 Mar 2021 21:34:05 +0000 Subject: [PATCH 161/232] Remove outdated comment The commit b068122 removed the code dropping the trailing colon, but the comment stayed leaving the code confusing for future readers SSH-Copy-ID-Upstream: 930d39f238117cd53810240ec989d0356aa1c1f6 --- contrib/ssh-copy-id | 1 - 1 file changed, 1 deletion(-) diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index 437a7609f..9c9b0fa5f 100644 --- a/contrib/ssh-copy-id +++ b/contrib/ssh-copy-id @@ -155,7 +155,6 @@ if [ $# != 1 ] ; then usage fi -# drop trailing colon USER_HOST="$*" # tack the hostname onto SSH_OPTS SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }'$(quote "$USER_HOST")'" From 914f4ad138714c471ba72fb6d5496b6235320edd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Rodr=C3=ADguez=20Gili?= Date: Tue, 20 Apr 2021 19:23:57 +0200 Subject: [PATCH 162/232] Fix test error for /bin/sh on Solaris 10 and older On Solaris 10 and older targets /bin/sh is not POSIX-compliant. Test -z `...` fails with error 'sh: test: argument expected'. Using quotes around backticks fixes this and doesn't break POSIX compatibility. SSH-Copy-ID-Upstream: 98394072a3f985b2650c1e8eab2fef84e38cc065 --- contrib/ssh-copy-id | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index 9c9b0fa5f..171c4e06c 100644 --- a/contrib/ssh-copy-id +++ b/contrib/ssh-copy-id @@ -1,6 +1,7 @@ #!/bin/sh # Copyright (c) 1999-2023 Philip Hands +# 2021 Carlos Rodríguez Gili # 2020 Matthias Blümel # 2017 Sebastien Boyron # 2013 Martin Kletzander @@ -259,7 +260,7 @@ installkeys_sh() { AUTH_KEY_FILE=/etc/dropbear/authorized_keys; AUTH_KEY_DIR=\`dirname "\${AUTH_KEY_FILE}"\`; mkdir -p "\${AUTH_KEY_DIR}" && - { [ -z \`tail -1c "\${AUTH_KEY_FILE}" 2>/dev/null\` ] || + { [ -z "\`tail -1c "\${AUTH_KEY_FILE}" 2>/dev/null\`" ] || echo >> "\${AUTH_KEY_FILE}" || exit 1; } && cat >> "\${AUTH_KEY_FILE}" || exit 1; if type restorecon >/dev/null 2>&1; then From b79e7b88ed44f0e4339f0ff35c96c78a92175a8d Mon Sep 17 00:00:00 2001 From: Philip Hands Date: Tue, 23 May 2023 16:46:42 +0200 Subject: [PATCH 163/232] add -t option to specify the target path Allow the default target path (.ssh/authorized_files) to be over-riden This was inspired by this MR from Panagiotis Cheilaris https://gitlab.com/phil_hands/ssh-copy-id/-/merge_requests/8 SSH-Copy-ID-Upstream: a942a0e076874adb6d8b2f0fb76d6c7918190fcd --- contrib/ssh-copy-id | 29 ++++++++++++++++------------- contrib/ssh-copy-id.1 | 17 ++++++++++------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index 171c4e06c..23965b241 100644 --- a/contrib/ssh-copy-id +++ b/contrib/ssh-copy-id @@ -64,10 +64,11 @@ fi # shellcheck disable=SC2010 DEFAULT_PUB_ID_FILE=$(ls -t "${HOME}"/.ssh/id*.pub 2>/dev/null | grep -v -- '-cert.pub$' | head -n 1) SSH="ssh -a -x" +TARGET_PATH=".ssh/authorized_keys" umask 0177 usage () { - printf 'Usage: %s [-h|-?|-f|-n|-s|-x] [-i [identity_file]] [-p port] [-F alternative ssh_config file] [[-o ] ...] [user@]hostname\n' "$0" >&2 + printf 'Usage: %s [-h|-?|-f|-n|-s|-x] [-i [identity_file]] [-p port] [-F alternative ssh_config file] [-t target_path] [[-o ] ...] [user@]hostname\n' "$0" >&2 printf '\t-f: force mode -- copy keys without trying to check if they are already installed\n' >&2 printf '\t-n: dry run -- no keys are actually copied\n' >&2 printf '\t-s: use sftp -- use sftp instead of executing remote-commands. Can be useful if the remote only allows sftp\n' >&2 @@ -114,7 +115,7 @@ if [ -n "$SSH_AUTH_SOCK" ] && ssh-add -L >/dev/null 2>&1 ; then GET_ID="ssh-add -L" fi -while getopts "i:o:p:F:fnsxh?" OPT +while getopts "i:o:p:F:t:fnsxh?" OPT do case "$OPT" in i) @@ -137,6 +138,9 @@ do s) SFTP=sftp ;; + t) + TARGET_PATH="${OPTARG}" + ;; x) set -x ;; @@ -238,11 +242,8 @@ populate_new_ids() { } # installkey_sh [target_path] -# produce a one-liner to add the keys to remote authorized_keys file -# optionally takes an alternative path for authorized_keys +# produce a one-liner to add the keys to remote $TARGET_PATH installkeys_sh() { - AUTH_KEY_FILE=${1:-.ssh/authorized_keys} - # In setting INSTALLKEYS_SH: # the tr puts it all on one line (to placate tcsh) # (hence the excessive use of semi-colons (;) ) @@ -255,7 +256,7 @@ installkeys_sh() { INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF cd; umask 077; - AUTH_KEY_FILE="${AUTH_KEY_FILE}"; + AUTH_KEY_FILE="${TARGET_PATH}"; [ -f /etc/openwrt_release ] && [ "\$LOGNAME" = "root" ] && AUTH_KEY_FILE=/etc/dropbear/authorized_keys; AUTH_KEY_DIR=\`dirname "\${AUTH_KEY_FILE}"\`; @@ -275,6 +276,8 @@ installkeys_sh() { #shellcheck disable=SC2120 # the 'eval set' confuses this installkeys_via_sftp() { + AUTH_KEY_FILE=${TARGET_PATH} + AUTH_KEY_DIR=$(dirname "${AUTH_KEY_FILE}") # repopulate "$@" inside this function eval set -- "$SSH_OPTS" @@ -286,17 +289,17 @@ installkeys_via_sftp() { #shellcheck disable=SC2064 trap "$L_CLEANUP" EXIT TERM INT QUIT sftp -b - -o "ControlPath=$L_SHARED_CON" "ignored" <<-EOF || return 1 - -get .ssh/authorized_keys $L_KEYS + -get "$AUTH_KEY_FILE" "$L_KEYS" EOF # add a newline or create file if it's missing, same like above [ -z "$(tail -1c "$L_KEYS" 2>/dev/null)" ] || echo >> "$L_KEYS" # append the keys being piped in here cat >> "$L_KEYS" sftp -b - -o "ControlPath=$L_SHARED_CON" "ignored" <<-EOF || return 1 - -mkdir .ssh - chmod 700 .ssh - put $L_KEYS .ssh/authorized_keys - chmod 600 .ssh/authorized_keys + -mkdir "$AUTH_KEY_DIR" + chmod 700 "$AUTH_KEY_DIR" + put $L_KEYS "$AUTH_KEY_FILE" + chmod 600 "$AUTH_KEY_FILE" EOF #shellcheck disable=SC2064 eval "$L_CLEANUP" && trap "$SCRATCH_CLEANUP" EXIT TERM INT QUIT @@ -341,7 +344,7 @@ case "$REMOTE_VERSION" in fi ;; *) - # Assuming that the remote host treats ~/.ssh/authorized_keys as one might expect + # Assuming that the remote host treats $TARGET_PATH as one might expect populate_new_ids 0 if ! [ "$DRY_RUN" ] ; then printf '%s\n' "$NEW_IDS" | \ diff --git a/contrib/ssh-copy-id.1 b/contrib/ssh-copy-id.1 index 79d976c77..0cb47a333 100644 --- a/contrib/ssh-copy-id.1 +++ b/contrib/ssh-copy-id.1 @@ -36,6 +36,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .Op Fl i Op Ar identity_file .Op Fl p Ar port .Op Fl o Ar ssh_option +.Op Fl t Ar target_path .Op Ar user Ns @ Ns .Ar hostname .Nm @@ -92,13 +93,8 @@ With this option the user's .Pa ~/.ssh/authorized_keys file will be downloaded, modified locally and uploaded with sftp. This option is useful if the server has restrictions on commands which can be used on the remote side. -.It Fl x -This option is for debugging the -.Nm -script itself. -It sets the shell's -x flag, so that you can see the commands being run. -.It Fl h , Fl ? -Print Usage summary +.It Fl t Ar target_path +the path on the target system where the keys should be added (defaults to ".ssh/authorized_keys") .It Fl p Ar port , Fl o Ar ssh_option These two options are simply passed through untouched, along with their argument, to allow one to set the port or other @@ -109,6 +105,13 @@ Rather than specifying these as command line options, it is often better to use .Xr ssh 1 Ns 's configuration file: .Xr ssh_config 5 . +.It Fl x +This option is for debugging the +.Nm +script itself. +It sets the shell's -x flag, so that you can see the commands being run. +.It Fl h , Fl ? +Print Usage summary .El .Pp Default behaviour without From 288482f53613f3e74544eb92deeb24f7c7f1f371 Mon Sep 17 00:00:00 2001 From: Philip Hands Date: Tue, 23 May 2023 20:52:13 +0200 Subject: [PATCH 164/232] make -x also apply to the target script SSH-Copy-ID-Upstream: 3c4214704f427bd0654adf9b0fc079253db21cf4 --- contrib/ssh-copy-id | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index 23965b241..ce16ea0bc 100644 --- a/contrib/ssh-copy-id +++ b/contrib/ssh-copy-id @@ -142,6 +142,7 @@ do TARGET_PATH="${OPTARG}" ;; x) + SET_X="set -x;" set -x ;; h|\?) @@ -254,6 +255,7 @@ installkeys_sh() { # and if available restorecon is used to restore the SELinux context # OpenWrt has a special case for root only. INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF + $SET_X cd; umask 077; AUTH_KEY_FILE="${TARGET_PATH}"; From 801cda54c00e0f4e7d89345a90874c8d05dc233a Mon Sep 17 00:00:00 2001 From: Philip Hands Date: Tue, 23 May 2023 23:07:11 +0200 Subject: [PATCH 165/232] drop whitespace SSH-Copy-ID-Upstream: e604fae1cdee35c18055d35dcec530cf12ef00ad --- contrib/ssh-copy-id | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index ce16ea0bc..f5ec6892b 100644 --- a/contrib/ssh-copy-id +++ b/contrib/ssh-copy-id @@ -149,7 +149,7 @@ do usage ;; esac -done +done #shift all args to keep only USER_HOST shift $((OPTIND-1)) From 9de79df66d1430d290fab670bb4b18612875e518 Mon Sep 17 00:00:00 2001 From: Philip Hands Date: Wed, 24 May 2023 11:45:43 +0200 Subject: [PATCH 166/232] if -s & -p specified, mention 'sftp -P' on success This was inspired by this: https://github.com/openssh/openssh-portable/pull/321 but I thought that it was better to not do the sed patching. BTW the reason one can get away with using $SSH_OPTS throughout, despite the lowercase -p in there, even if sftp is in use, is that the sftp call is using the already-established ssh master connection, so the port was passed to the earlier ssh. SSH-Copy-ID-Upstream: 1c124d9bfafdbe28a00b683367ebf5750ce12eb2 --- contrib/ssh-copy-id | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index f5ec6892b..fcf0edba7 100644 --- a/contrib/ssh-copy-id +++ b/contrib/ssh-copy-id @@ -126,7 +126,7 @@ do SEEN_OPT_I="yes" use_id_file "${OPTARG:-$DEFAULT_PUB_ID_FILE}" ;; - o|p|F) + o|F) SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }-$OPT '$(quote "${OPTARG}")'" ;; f) @@ -135,6 +135,9 @@ do n) DRY_RUN=1 ;; + p) + SSH_PORT=${OPTARG} + ;; s) SFTP=sftp ;; @@ -163,7 +166,7 @@ fi USER_HOST="$*" # tack the hostname onto SSH_OPTS -SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }'$(quote "$USER_HOST")'" +SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }${SSH_PORT:+-p $SSH_PORT }'$(quote "$USER_HOST")'" # and populate "$@" for later use (only way to get proper quoting of options) eval set -- "$SSH_OPTS" @@ -370,11 +373,12 @@ if [ "$DRY_RUN" ] ; then =-=-=-=-=-=-=-= EOF else + [ -z "$SFTP" ] || PORT_OPT=P cat <<-EOF Number of key(s) added: $ADDED - Now try logging into the machine, with: "${SFTP:-ssh} $SSH_OPTS" + Now try logging into the machine, with: "${SFTP:-ssh}${SSH_PORT:+ -${PORT_OPT:-p} '$SSH_PORT'} ${SSH_OPTS}" and check to make sure that only the key(s) you wanted were added. EOF From 204e0bf05161b7641500d7ab266c21217412379f Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 3 Aug 2021 21:25:48 +1000 Subject: [PATCH 167/232] Make ssh-copy-id(1) consistent with OpenSSH. This makes the ssh-copy-id man page more consistent with the rest of the OpenSSH man pages: - new sentence, new line - no sentences >80 - N.B. -> NB - zap unused .Pp - zap trailing whitespace Report from Debian via mindrot bz#3331, diff from jmc at openbsd.org. SSH-Copy-ID-Upstream: d8974cfb6242316460ed22a1ccc662800a50c5d3 --- contrib/ssh-copy-id.1 | 66 ++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/contrib/ssh-copy-id.1 b/contrib/ssh-copy-id.1 index 0cb47a333..74eec2f8e 100644 --- a/contrib/ssh-copy-id.1 +++ b/contrib/ssh-copy-id.1 @@ -48,17 +48,20 @@ is a script that uses .Xr ssh 1 to log into a remote machine (presumably using a login password, so password authentication should be enabled, unless you've done some -clever use of multiple identities). It assembles a list of one or more -fingerprints (as described below) and tries to log in with each key, to -see if any of them are already installed (of course, if you are not using +clever use of multiple identities). +It assembles a list of one or more fingerprints (as described below) +and tries to log in with each key, +to see if any of them are already installed (of course, if you are not using .Xr ssh-agent 1 this may result in you being repeatedly prompted for pass-phrases). -It then assembles a list of those that failed to log in, and using ssh, -enables logins with those keys on the remote server. By default it adds -the keys by appending them to the remote user's +It then assembles a list of those that failed to log in and, using +.Xr ssh 1 , +enables logins with those keys on the remote server. +By default it adds the keys by appending them to the remote user's .Pa ~/.ssh/authorized_keys -(creating the file, and directory, if necessary). It is also capable -of detecting if the remote system is a NetScreen, and using its +(creating the file, and directory, if necessary). +It is also capable of detecting if the remote system is a NetScreen, +and using its .Ql set ssh pka-dsa key ... command instead. .Pp @@ -73,7 +76,8 @@ or in the .Ic default_ID_file ) . If the filename does not end in .Pa .pub -this is added. If the filename is omitted, the +this is added. +If the filename is omitted, the .Ic default_ID_file is used. .Pp @@ -82,26 +86,32 @@ comment one prefers and/or extra options applied, by ensuring that the key file has these set as preferred before the copy is attempted. .It Fl f Forced mode: doesn't check if the keys are present on the remote server. -This means that it does not need the private key. Of course, this can result -in more than one copy of the key being installed on the remote system. +This means that it does not need the private key. +Of course, this can result in more than one copy of the key being installed +on the remote system. .It Fl n -do a dry-run. Instead of installing keys on the remote system simply +do a dry-run. +Instead of installing keys on the remote system simply prints the key(s) that would have been installed. .It Fl s -SFTP mode: usually the public keys are installed by executing commands on the remote side. +SFTP mode: usually the public keys are installed +by executing commands on the remote side. With this option the user's .Pa ~/.ssh/authorized_keys file will be downloaded, modified locally and uploaded with sftp. -This option is useful if the server has restrictions on commands which can be used on the remote side. +This option is useful if the server has restrictions +on commands which can be used on the remote side. .It Fl t Ar target_path -the path on the target system where the keys should be added (defaults to ".ssh/authorized_keys") +the path on the target system where the keys should be added +(defaults to ".ssh/authorized_keys") .It Fl p Ar port , Fl o Ar ssh_option These two options are simply passed through untouched, along with their argument, to allow one to set the port or other .Xr ssh 1 options, respectively. .Pp -Rather than specifying these as command line options, it is often better to use (per-host) settings in +Rather than specifying these as command line options, +it is often better to use (per-host) settings in .Xr ssh 1 Ns 's configuration file: .Xr ssh_config 5 . @@ -118,8 +128,9 @@ Default behaviour without .Fl i , is to check if .Ql ssh-add -L -provides any output, and if so those keys are used. Note that this results in -the comment on the key being the filename that was given to +provides any output, and if so those keys are used. +Note that this results in the comment on the key +being the filename that was given to .Xr ssh-add 1 when the key was loaded into your .Xr ssh-agent 1 @@ -140,16 +151,16 @@ so if you create a key that is not the one you want .Nm to use, just use .Xr touch 1 -on your preferred key's +on your preferred key's .Pa .pub file to reinstate it as the most recent. -.Pp .Sh EXAMPLES If you have already installed keys from one system on a lot of remote hosts, and you then create a new key, on a new client machine, say, it can be difficult to keep track of which systems on which you've -installed the new key. One way of dealing with this is to load both -the new key and old key(s) into your +installed the new key. +One way of dealing with this is to load both the new key and old key(s) +into your .Xr ssh-agent 1 . Load the new key first, without the .Fl c @@ -171,7 +182,9 @@ asked for confirmation, which is your cue to log back out and run .Pp .D1 user@newclient$ ssh-copy-id -i someserver .Pp -The reason you might want to specify the -i option in this case is to +The reason you might want to specify the +.Fl i +option in this case is to ensure that the comment on the installed key is the one from the .Pa .pub file, rather than just the filename that was loaded into your agent. @@ -189,15 +202,16 @@ option, you might consider using this whenever using agent forwarding to avoid your key being hijacked, but it is much better to instead use .Xr ssh 1 Ns 's .Ar ProxyCommand -and +and .Fl W option, to bounce through remote servers while always doing direct end-to-end -authentication. This way the middle hop(s) don't get access to your +authentication. +This way the middle hop(s) don't get access to your .Xr ssh-agent 1 . A web search for .Ql ssh proxycommand nc -should prove enlightening (N.B. the modern approach is to use the +should prove enlightening (NB the modern approach is to use the .Fl W option, rather than .Xr nc 1 ) . From 2709809fd616a0991dc18e3a58dea10fb383c3f0 Mon Sep 17 00:00:00 2001 From: Philip Hands Date: Wed, 24 May 2023 19:41:14 +0200 Subject: [PATCH 168/232] fixup! if -s & -p specified, mention 'sftp -P' on success SSH-Copy-ID-Upstream: 32686e7c65b4fa2846e474d3315102dfa0f043b0 --- contrib/ssh-copy-id | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index fcf0edba7..da6bd18dd 100644 --- a/contrib/ssh-copy-id +++ b/contrib/ssh-copy-id @@ -127,7 +127,7 @@ do use_id_file "${OPTARG:-$DEFAULT_PUB_ID_FILE}" ;; o|F) - SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }-$OPT '$(quote "${OPTARG}")'" + OPTS_oF="${OPTS_oF:+$OPTS_oF }-$OPT '$(quote "${OPTARG}")'" ;; f) FORCED=1 @@ -166,7 +166,8 @@ fi USER_HOST="$*" # tack the hostname onto SSH_OPTS -SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }${SSH_PORT:+-p $SSH_PORT }'$(quote "$USER_HOST")'" +OPTS_USER_HOST="${OPTS_oF:+$OPTS_oF }'$(quote "$USER_HOST")'" +SSH_OPTS="${SSH_PORT:+-p $SSH_PORT }$OPTS_USER_HOST" # and populate "$@" for later use (only way to get proper quoting of options) eval set -- "$SSH_OPTS" @@ -378,7 +379,7 @@ else Number of key(s) added: $ADDED - Now try logging into the machine, with: "${SFTP:-ssh}${SSH_PORT:+ -${PORT_OPT:-p} '$SSH_PORT'} ${SSH_OPTS}" + Now try logging into the machine, with: "${SFTP:-ssh}${SSH_PORT:+ -${PORT_OPT:-p} $SSH_PORT} ${OPTS_USER_HOST}" and check to make sure that only the key(s) you wanted were added. EOF From b53a809a549dcd4fbde554c6aa283e597b15ea33 Mon Sep 17 00:00:00 2001 From: "millert@openbsd.org" Date: Mon, 5 Jun 2023 13:24:36 +0000 Subject: [PATCH 169/232] upstream: Store timeouts as int, not u_int as they are limited to INT_MAX. Fixes sign compare warnings systems with 32-bit time_t due to type promotion. OK djm@ OpenBSD-Commit-ID: 48081e9ad35705c5f1705711704a4c2ff94e87b7 --- channels.c | 10 +++++----- channels.h | 6 +++--- servconf.c | 9 +++++---- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/channels.c b/channels.c index ffaf89720..f2c873d70 100644 --- a/channels.c +++ b/channels.c @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.c,v 1.430 2023/03/10 03:01:51 dtucker Exp $ */ +/* $OpenBSD: channels.c,v 1.431 2023/06/05 13:24:36 millert Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -154,7 +154,7 @@ struct permission_set { /* Used to record timeouts per channel type */ struct ssh_channel_timeout { char *type_pattern; - u_int timeout_secs; + int timeout_secs; }; /* Master structure for channels state */ @@ -312,11 +312,11 @@ channel_lookup(struct ssh *ssh, int id) */ void channel_add_timeout(struct ssh *ssh, const char *type_pattern, - u_int timeout_secs) + int timeout_secs) { struct ssh_channels *sc = ssh->chanctxt; - debug2_f("channel type \"%s\" timeout %u seconds", + debug2_f("channel type \"%s\" timeout %d seconds", type_pattern, timeout_secs); sc->timeouts = xrecallocarray(sc->timeouts, sc->ntimeouts, sc->ntimeouts + 1, sizeof(*sc->timeouts)); @@ -340,7 +340,7 @@ channel_clear_timeouts(struct ssh *ssh) sc->ntimeouts = 0; } -static u_int +static int lookup_timeout(struct ssh *ssh, const char *type) { struct ssh_channels *sc = ssh->chanctxt; diff --git a/channels.h b/channels.h index 91cc466cc..90f6d2904 100644 --- a/channels.h +++ b/channels.h @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.h,v 1.149 2023/03/04 03:22:59 dtucker Exp $ */ +/* $OpenBSD: channels.h,v 1.150 2023/06/05 13:24:36 millert Exp $ */ /* * Author: Tatu Ylonen @@ -210,7 +210,7 @@ struct Channel { /* Last traffic seen for OPEN channels */ time_t lastused; /* Inactivity timeout deadline in seconds (0 = no timeout) */ - u_int inactive_deadline; + int inactive_deadline; }; #define CHAN_EXTENDED_IGNORE 0 @@ -308,7 +308,7 @@ int channel_close_fd(struct ssh *, Channel *, int *); void channel_send_window_changes(struct ssh *); /* channel inactivity timeouts */ -void channel_add_timeout(struct ssh *, const char *, u_int); +void channel_add_timeout(struct ssh *, const char *, int); void channel_clear_timeouts(struct ssh *); /* mux proxy support */ diff --git a/servconf.c b/servconf.c index 0f4fd2f17..0e6b606bb 100644 --- a/servconf.c +++ b/servconf.c @@ -1,5 +1,5 @@ -/* $OpenBSD: servconf.c,v 1.393 2023/05/24 23:01:06 djm Exp $ */ +/* $OpenBSD: servconf.c,v 1.394 2023/06/05 13:24:36 millert Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -959,7 +959,7 @@ process_permitopen(struct ssh *ssh, ServerOptions *options) /* Parse a ChannelTimeout clause "pattern=interval" */ static int -parse_timeout(const char *s, char **typep, u_int *secsp) +parse_timeout(const char *s, char **typep, int *secsp) { char *cp, *sdup; int secs; @@ -985,7 +985,7 @@ parse_timeout(const char *s, char **typep, u_int *secsp) if (typep != NULL) *typep = xstrdup(sdup); if (secsp != NULL) - *secsp = (u_int)secs; + *secsp = secs; free(sdup); return 0; } @@ -993,7 +993,8 @@ parse_timeout(const char *s, char **typep, u_int *secsp) void process_channel_timeouts(struct ssh *ssh, ServerOptions *options) { - u_int i, secs; + int secs; + u_int i; char *type; debug3_f("setting %u timeouts", options->num_channel_timeouts); From b4ac435b4e67f8eb5932d8f59eb5b3cf7dc38df0 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 20 Jun 2023 00:05:09 +0000 Subject: [PATCH 170/232] upstream: reset comment=NULL for each key in do_fingerprint(); fixes "no comment" not showing on when running `ssh-keygen -l` on multiple keys where one has a comment and other following keys do not. Patch from Markus Kuhn via GHPR407, bz3580 OpenBSD-Commit-ID: 3cce84456fdcd67dc6b84e369f92c6686d111d9b --- ssh-keygen.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ssh-keygen.c b/ssh-keygen.c index 3a0ba8b9e..fd2725c25 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.467 2023/04/12 08:53:54 jsg Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.468 2023/06/20 00:05:09 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -997,6 +997,7 @@ do_fingerprint(struct passwd *pw) * accept a public key prefixed with a hostname or options. * Try a bare key first, otherwise skip the leading stuff. */ + comment = NULL; if ((public = try_read_key(&cp)) == NULL) { i = strtol(cp, &ep, 10); if (i == 0 || ep == NULL || From 8d33f2aa6bb895a7f85a47189913639086347b75 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 20 Jun 2023 23:59:33 +0000 Subject: [PATCH 171/232] upstream: prepare for support for connecting to unix domain sockets using ssh -W by explicitly decoding PORT_STREAMLOCAL (a negative number) from the u32 that's passed over the multiplexing socket; previously code would just cast, which is UB. OpenBSD-Commit-ID: e5ac5f40d354096c51e8c118a5c1b2d2b7a31384 --- mux.c | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/mux.c b/mux.c index b3ffde9fe..416fef8eb 100644 --- a/mux.c +++ b/mux.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mux.c,v 1.96 2023/03/08 04:43:12 guenther Exp $ */ +/* $OpenBSD: mux.c,v 1.97 2023/06/20 23:59:33 djm Exp $ */ /* * Copyright (c) 2002-2008 Damien Miller * @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -960,19 +961,28 @@ mux_master_process_stdio_fwd(struct ssh *ssh, u_int rid, { Channel *nc; char *chost = NULL; - u_int cport, i, j; - int r, new_fd[2]; + u_int _cport, i, j; + int ok = 0, cport, r, new_fd[2]; struct mux_stdio_confirm_ctx *cctx; if ((r = sshbuf_skip_string(m)) != 0 || /* reserved */ (r = sshbuf_get_cstring(m, &chost, NULL)) != 0 || - (r = sshbuf_get_u32(m, &cport)) != 0) { + (r = sshbuf_get_u32(m, &_cport)) != 0) { free(chost); error_f("malformed message"); return -1; } + if (_cport == (u_int)PORT_STREAMLOCAL) + cport = PORT_STREAMLOCAL; + else if (_cport <= INT_MAX) + cport = (int)_cport; + else { + free(chost); + error_f("invalid port 0x%x", _cport); + return -1; + } - debug2_f("channel %d: stdio fwd to %s:%u", c->self, chost, cport); + debug2_f("channel %d: stdio fwd to %s:%d", c->self, chost, cport); /* Gather fds from client */ for(i = 0; i < 2; i++) { @@ -1005,8 +1015,13 @@ mux_master_process_stdio_fwd(struct ssh *ssh, u_int rid, if (options.control_master == SSHCTL_MASTER_ASK || options.control_master == SSHCTL_MASTER_AUTO_ASK) { - if (!ask_permission("Allow forward to %s:%u? ", - chost, cport)) { + if (cport == PORT_STREAMLOCAL) { + ok = ask_permission("Allow forward to path %s", chost); + } else { + ok = ask_permission("Allow forward to [%s]:%d? ", + chost, cport); + } + if (!ok) { debug2_f("stdio fwd refused by user"); reply_error(reply, MUX_S_PERMISSION_DENIED, rid, "Permission denied"); From a69062f1695ac9c3c3dea29d3044c72aaa6af0ea Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 21 Jun 2023 05:06:04 +0000 Subject: [PATCH 172/232] upstream: handle rlimits > INT_MAX (rlim_t is u64); ok dtucker bz3581 OpenBSD-Commit-ID: 31cf59c041becc0e5ccb0a77106f812c4cd1cd74 --- ssh-keyscan.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ssh-keyscan.c b/ssh-keyscan.c index a53188c7b..96c6e9066 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keyscan.c,v 1.152 2023/03/31 04:21:56 djm Exp $ */ +/* $OpenBSD: ssh-keyscan.c,v 1.153 2023/06/21 05:06:04 djm Exp $ */ /* * Copyright 1995, 1996 by David Mazieres . * @@ -23,6 +23,7 @@ #include #endif +#include #include #include #ifdef HAVE_POLL_H @@ -132,12 +133,13 @@ fdlim_get(int hard) #if defined(HAVE_GETRLIMIT) && defined(RLIMIT_NOFILE) struct rlimit rlfd; - if (getrlimit(RLIMIT_NOFILE, &rlfd) == -1) - return (-1); - if ((hard ? rlfd.rlim_max : rlfd.rlim_cur) == RLIM_INFINITY) + if (getrlimit(RLIMIT_NOFILE, &rlfd) == -1 || + (hard ? rlfd.rlim_max : rlfd.rlim_cur) < 0) + return -1; + if ((hard ? rlfd.rlim_max : rlfd.rlim_cur) == RLIM_INFINITY || + (hard ? rlfd.rlim_max : rlfd.rlim_cur) > INT_MAX) return SSH_SYSFDMAX; - else - return hard ? rlfd.rlim_max : rlfd.rlim_cur; + return hard ? rlfd.rlim_max : rlfd.rlim_cur; #else return SSH_SYSFDMAX; #endif From 4e73cd0f4ab3e5b576c56cac9732da62c8fc0565 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 21 Jun 2023 05:08:32 +0000 Subject: [PATCH 173/232] upstream: make `ssh -Q CASignatureAlgorithms` only list signature algorithms that are valid for CA signing. Previous behaviour was to list all signing algorithms, including certificate algorithms (OpenSSH certificates do not support CA chains). part of bz3577; ok dtucker@ OpenBSD-Commit-ID: 99c2b072dbac0f44fd1f2269e3ff6c1b5d7d3e59 --- ssh.1 | 6 ++++-- ssh.c | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ssh.1 b/ssh.1 index a3d1ba163..3d89c7d7f 100644 --- a/ssh.1 +++ b/ssh.1 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh.1,v 1.433 2022/11/28 01:37:36 djm Exp $ -.Dd $Mdocdate: November 28 2022 $ +.\" $OpenBSD: ssh.1,v 1.434 2023/06/21 05:08:32 djm Exp $ +.Dd $Mdocdate: June 21 2023 $ .Dt SSH 1 .Os .Sh NAME @@ -614,6 +614,8 @@ flag), (key exchange algorithms), .Ar key (key types), +.Ar key-ca-sign +(valid CA signature algorithms for certificates), .Ar key-cert (certificate key types), .Ar key-plain diff --git a/ssh.c b/ssh.c index 3e8b1ebf2..6fc99d88d 100644 --- a/ssh.c +++ b/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.588 2023/04/26 01:36:03 djm Exp $ */ +/* $OpenBSD: ssh.c,v 1.589 2023/06/21 05:08:32 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -793,8 +793,10 @@ main(int ac, char **av) cp = sshkey_alg_list(1, 0, 0, '\n'); else if (strcmp(optarg, "key-plain") == 0) cp = sshkey_alg_list(0, 1, 0, '\n'); + else if (strcmp(optarg, "key-ca-sign") == 0 || + strcasecmp(optarg, "CASignatureAlgorithms") == 0) + cp = sshkey_alg_list(0, 1, 1, '\n'); else if (strcmp(optarg, "key-sig") == 0 || - strcasecmp(optarg, "CASignatureAlgorithms") == 0 || strcasecmp(optarg, "PubkeyAcceptedKeyTypes") == 0 || /* deprecated name */ strcasecmp(optarg, "PubkeyAcceptedAlgorithms") == 0 || strcasecmp(optarg, "HostKeyAlgorithms") == 0 || From c1c2ca1365b3f7b626683690bd2c68265f6d8ffd Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 21 Jun 2023 05:10:26 +0000 Subject: [PATCH 174/232] upstream: better validate CASignatureAlgorithms in ssh_config and sshd_config. Previously this directive would accept certificate algorithm names, but these were unusable in practice as OpenSSH does not support CA chains. part of bz3577; ok dtucker@ OpenBSD-Commit-ID: a992d410c8a78ec982701bc3f91043dbdb359912 --- readconf.c | 10 +++++++--- servconf.c | 10 ++++++++-- sshkey.c | 7 +++++-- sshkey.h | 4 ++-- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/readconf.c b/readconf.c index 0816ef6b3..bb3bf767b 100644 --- a/readconf.c +++ b/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.376 2023/03/31 04:23:02 djm Exp $ */ +/* $OpenBSD: readconf.c,v 1.377 2023/06/21 05:10:26 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -945,7 +945,7 @@ process_config_line_depth(Options *options, struct passwd *pw, const char *host, char **cpptr, ***cppptr, fwdarg[256]; u_int i, *uintptr, uvalue, max_entries = 0; int r, oactive, negated, opcode, *intptr, value, value2, cmdline = 0; - int remotefwd, dynamicfwd; + int remotefwd, dynamicfwd, ca_only = 0; LogLevel *log_level_ptr; SyslogFacility *log_facility_ptr; long long val64; @@ -1441,6 +1441,7 @@ parse_int: case oHostKeyAlgorithms: charptr = &options->hostkeyalgorithms; + ca_only = 0; parse_pubkey_algos: arg = argv_next(&ac, &av); if (!arg || *arg == '\0') { @@ -1450,7 +1451,7 @@ parse_pubkey_algos: } if (*arg != '-' && !sshkey_names_valid2(*arg == '+' || *arg == '^' ? - arg + 1 : arg, 1)) { + arg + 1 : arg, 1, ca_only)) { error("%s line %d: Bad key types '%s'.", filename, linenum, arg ? arg : ""); goto out; @@ -1461,6 +1462,7 @@ parse_pubkey_algos: case oCASignatureAlgorithms: charptr = &options->ca_sign_algorithms; + ca_only = 1; goto parse_pubkey_algos; case oLogLevel: @@ -2117,10 +2119,12 @@ parse_pubkey_algos: case oHostbasedAcceptedAlgorithms: charptr = &options->hostbased_accepted_algos; + ca_only = 0; goto parse_pubkey_algos; case oPubkeyAcceptedAlgorithms: charptr = &options->pubkey_accepted_algos; + ca_only = 0; goto parse_pubkey_algos; case oAddKeysToAgent: diff --git a/servconf.c b/servconf.c index 0e6b606bb..603a1ab4e 100644 --- a/servconf.c +++ b/servconf.c @@ -1,5 +1,5 @@ -/* $OpenBSD: servconf.c,v 1.394 2023/06/05 13:24:36 millert Exp $ */ +/* $OpenBSD: servconf.c,v 1.395 2023/06/21 05:10:26 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -1333,6 +1333,7 @@ process_server_config_line_depth(ServerOptions *options, char *line, { char *str, ***chararrayptr, **charptr, *arg, *arg2, *p, *keyword; int cmdline = 0, *intptr, value, value2, n, port, oactive, r, found; + int ca_only = 0; SyslogFacility *log_facility_ptr; LogLevel *log_level_ptr; ServerOpCodes opcode; @@ -1574,6 +1575,7 @@ process_server_config_line_depth(ServerOptions *options, char *line, case sHostbasedAcceptedAlgorithms: charptr = &options->hostbased_accepted_algos; + ca_only = 0; parse_pubkey_algos: arg = argv_next(&ac, &av); if (!arg || *arg == '\0') @@ -1581,7 +1583,7 @@ process_server_config_line_depth(ServerOptions *options, char *line, filename, linenum); if (*arg != '-' && !sshkey_names_valid2(*arg == '+' || *arg == '^' ? - arg + 1 : arg, 1)) + arg + 1 : arg, 1, ca_only)) fatal("%s line %d: Bad key types '%s'.", filename, linenum, arg ? arg : ""); if (*activep && *charptr == NULL) @@ -1590,18 +1592,22 @@ process_server_config_line_depth(ServerOptions *options, char *line, case sHostKeyAlgorithms: charptr = &options->hostkeyalgorithms; + ca_only = 0; goto parse_pubkey_algos; case sCASignatureAlgorithms: charptr = &options->ca_sign_algorithms; + ca_only = 1; goto parse_pubkey_algos; case sPubkeyAuthentication: intptr = &options->pubkey_authentication; + ca_only = 0; goto parse_flag; case sPubkeyAcceptedAlgorithms: charptr = &options->pubkey_accepted_algos; + ca_only = 0; goto parse_pubkey_algos; case sPubkeyAuthOptions: diff --git a/sshkey.c b/sshkey.c index 01a1c09a9..498922093 100644 --- a/sshkey.c +++ b/sshkey.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshkey.c,v 1.135 2023/03/31 03:22:49 djm Exp $ */ +/* $OpenBSD: sshkey.c,v 1.136 2023/06/21 05:10:26 djm Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * Copyright (c) 2008 Alexander von Gernler. All rights reserved. @@ -340,7 +340,7 @@ sshkey_alg_list(int certs_only, int plain_only, int include_sigonly, char sep) } int -sshkey_names_valid2(const char *names, int allow_wildcard) +sshkey_names_valid2(const char *names, int allow_wildcard, int plain_only) { char *s, *cp, *p; const struct sshkey_impl *impl; @@ -373,6 +373,9 @@ sshkey_names_valid2(const char *names, int allow_wildcard) } free(s); return 0; + } else if (plain_only && sshkey_type_is_cert(type)) { + free(s); + return 0; } } free(s); diff --git a/sshkey.h b/sshkey.h index 771c4bcee..708f2da86 100644 --- a/sshkey.h +++ b/sshkey.h @@ -1,4 +1,4 @@ -/* $OpenBSD: sshkey.h,v 1.61 2022/10/28 00:44:44 djm Exp $ */ +/* $OpenBSD: sshkey.h,v 1.62 2023/06/21 05:10:26 djm Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. @@ -264,7 +264,7 @@ int sshkey_ec_validate_public(const EC_GROUP *, const EC_POINT *); int sshkey_ec_validate_private(const EC_KEY *); const char *sshkey_ssh_name(const struct sshkey *); const char *sshkey_ssh_name_plain(const struct sshkey *); -int sshkey_names_valid2(const char *, int); +int sshkey_names_valid2(const char *, int, int); char *sshkey_alg_list(int, int, int, char); int sshkey_from_blob(const u_char *, size_t, struct sshkey **); From cfca6f17e64baed6822bb927ed9f372ce64d9c5b Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 22 Jun 2023 15:04:03 +1000 Subject: [PATCH 175/232] handle sysconf(SC_OPEN_MAX) returning > INT_MAX; bz3581; ok dtucker --- ssh-keyscan.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/ssh-keyscan.c b/ssh-keyscan.c index 96c6e9066..1d2df709b 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c @@ -132,16 +132,21 @@ fdlim_get(int hard) { #if defined(HAVE_GETRLIMIT) && defined(RLIMIT_NOFILE) struct rlimit rlfd; + rlim_t lim; - if (getrlimit(RLIMIT_NOFILE, &rlfd) == -1 || - (hard ? rlfd.rlim_max : rlfd.rlim_cur) < 0) + if (getrlimit(RLIMIT_NOFILE, &rlfd) == -1) return -1; - if ((hard ? rlfd.rlim_max : rlfd.rlim_cur) == RLIM_INFINITY || - (hard ? rlfd.rlim_max : rlfd.rlim_cur) > INT_MAX) - return SSH_SYSFDMAX; - return hard ? rlfd.rlim_max : rlfd.rlim_cur; + lim = hard ? rlfd.rlim_max : rlfd.rlim_cur; + if (lim <= 0) + return -1; + if (lim == RLIM_INFINITY) + lim = SSH_SYSFDMAX; + if (lim >= INT_MAX) + lim = INT_MAX; + return lim; #else - return SSH_SYSFDMAX; + return (SSH_SYSFDMAX <= 0) ? -1 : + ((SSH_SYSFDMAX >= INT_MAX) ? INT_MAX : SSH_SYSFDMAX); #endif } From 8a6cd08850f576e7527c52a1b086cae82fab290e Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 23 Jun 2023 09:49:02 +1000 Subject: [PATCH 176/232] Update runner OS version for hardenedmalloc test. Hardenedmalloc dropped support for "legacy glibc" versions in their 64dad0a69 so use a newer Ubuntu version for the runner for that test. --- .github/workflows/c-cpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index bb6cf684a..e4e2a64e0 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -50,7 +50,7 @@ jobs: - { target: ubuntu-20.04, config: gcc-11-Werror } - { target: ubuntu-20.04, config: pam } - { target: ubuntu-20.04, config: kitchensink } - - { target: ubuntu-20.04, config: hardenedmalloc } + - { target: ubuntu-22.04, config: hardenedmalloc } - { target: ubuntu-20.04, config: tcmalloc } - { target: ubuntu-20.04, config: musl } - { target: ubuntu-latest, config: boringssl } From a95fc5eed09a0238fb127b6c50e8498432b79dae Mon Sep 17 00:00:00 2001 From: David Seifert Date: Fri, 12 May 2023 14:06:01 +0200 Subject: [PATCH 177/232] gss-serv.c: `MAXHOSTNAMELEN` -> `HOST_NAME_MAX` `MAXHOSTNAMELEN` is not defined in POSIX, which breaks on musl: https://pubs.opengroup.org/onlinepubs/9699919799/functions/gethostname.html Bug: https://bugs.gentoo.org/834044 --- gss-serv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gss-serv.c b/gss-serv.c index b5d4bb2d1..00e3d118b 100644 --- a/gss-serv.c +++ b/gss-serv.c @@ -105,7 +105,7 @@ ssh_gssapi_acquire_cred(Gssctxt *ctx) gss_create_empty_oid_set(&status, &oidset); gss_add_oid_set_member(&status, ctx->oid, &oidset); - if (gethostname(lname, MAXHOSTNAMELEN)) { + if (gethostname(lname, HOST_NAME_MAX)) { gss_release_oid_set(&status, &oidset); return (-1); } From 94842bfe9b09fc93189c6ed0dc9bbebc1d44a426 Mon Sep 17 00:00:00 2001 From: "dlg@openbsd.org" Date: Tue, 4 Jul 2023 03:59:21 +0000 Subject: [PATCH 178/232] upstream: add support for unix domain sockets to ssh -W ok djm@ dtucker@ OpenBSD-Commit-ID: 3e6d47567b895c7c28855c7bd614e106c987a6d8 --- channels.c | 7 ++++--- channels.h | 4 ++-- ssh.c | 6 ++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/channels.c b/channels.c index f2c873d70..da66b7b34 100644 --- a/channels.c +++ b/channels.c @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.c,v 1.431 2023/06/05 13:24:36 millert Exp $ */ +/* $OpenBSD: channels.c,v 1.432 2023/07/04 03:59:21 dlg Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1634,7 +1634,7 @@ channel_decode_socks5(Channel *c, struct sshbuf *input, struct sshbuf *output) Channel * channel_connect_stdio_fwd(struct ssh *ssh, - const char *host_to_connect, u_short port_to_connect, + const char *host_to_connect, int port_to_connect, int in, int out, int nonblock) { Channel *c; @@ -1651,7 +1651,8 @@ channel_connect_stdio_fwd(struct ssh *ssh, c->force_drain = 1; channel_register_fds(ssh, c, in, out, -1, 0, 1, 0); - port_open_helper(ssh, c, "direct-tcpip"); + port_open_helper(ssh, c, port_to_connect == PORT_STREAMLOCAL ? + "direct-streamlocal@openssh.com" : "direct-tcpip"); return c; } diff --git a/channels.h b/channels.h index 90f6d2904..7afba7837 100644 --- a/channels.h +++ b/channels.h @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.h,v 1.150 2023/06/05 13:24:36 millert Exp $ */ +/* $OpenBSD: channels.h,v 1.151 2023/07/04 03:59:21 dlg Exp $ */ /* * Author: Tatu Ylonen @@ -357,7 +357,7 @@ Channel *channel_connect_to_port(struct ssh *, const char *, u_short, char *, char *, int *, const char **); Channel *channel_connect_to_path(struct ssh *, const char *, char *, char *); Channel *channel_connect_stdio_fwd(struct ssh *, const char*, - u_short, int, int, int); + int, int, int, int); Channel *channel_connect_by_listen_address(struct ssh *, const char *, u_short, char *, char *); Channel *channel_connect_by_listen_path(struct ssh *, const char *, diff --git a/ssh.c b/ssh.c index 6fc99d88d..83c509ccf 100644 --- a/ssh.c +++ b/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.589 2023/06/21 05:08:32 djm Exp $ */ +/* $OpenBSD: ssh.c,v 1.590 2023/07/04 03:59:21 dlg Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -907,7 +907,9 @@ main(int ac, char **av) if (muxclient_command != 0) fatal("Cannot specify stdio forward with -O"); if (parse_forward(&fwd, optarg, 1, 0)) { - options.stdio_forward_host = fwd.listen_host; + options.stdio_forward_host = + fwd.listen_port == PORT_STREAMLOCAL ? + fwd.listen_path : fwd.listen_host; options.stdio_forward_port = fwd.listen_port; free(fwd.connect_host); } else { From 7e8800f5d701efffa39ccb63ca1e095ea777c31a Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 6 Jul 2023 22:17:59 +0000 Subject: [PATCH 179/232] upstream: minleft and maxsign are u_int so cast appropriately. Prompted by github PR#410, ok deraadt. OpenBSD-Commit-ID: 0514cd51db3ec60239966622a0d3495b15406ddd --- ssh-add.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ssh-add.c b/ssh-add.c index 752b86dfc..775a9a8ef 100644 --- a/ssh-add.c +++ b/ssh-add.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-add.c,v 1.167 2023/03/08 00:05:58 djm Exp $ */ +/* $OpenBSD: ssh-add.c,v 1.168 2023/07/06 22:17:59 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -863,7 +863,7 @@ main(int argc, char **argv) confirm = 1; break; case 'm': - minleft = (int)strtonum(optarg, 1, UINT_MAX, NULL); + minleft = (u_int)strtonum(optarg, 1, UINT_MAX, NULL); if (minleft == 0) { usage(); ret = 1; @@ -871,7 +871,7 @@ main(int argc, char **argv) } break; case 'M': - maxsign = (int)strtonum(optarg, 1, UINT_MAX, NULL); + maxsign = (u_int)strtonum(optarg, 1, UINT_MAX, NULL); if (maxsign == 0) { usage(); ret = 1; From 8c7203bcee4c4f98a22487b4631fe068b992099b Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Wed, 12 Jul 2023 11:41:19 +1000 Subject: [PATCH 180/232] replace deprecate selinux matchpathcon function This function is apparently deprecated. Documentation on what is the supposed replacement is is non-existent, so this follows the approach glibc used https://sourceware.org/git/?p=glibc.git;a=patch;h=f278835f59 ok dtucker@ --- openbsd-compat/port-linux.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c index 77cb8213a..4ca8c2b71 100644 --- a/openbsd-compat/port-linux.c +++ b/openbsd-compat/port-linux.c @@ -34,6 +34,7 @@ #ifdef WITH_SELINUX #include +#include #include #ifndef SSH_SELINUX_UNCONFINED_TYPE @@ -222,6 +223,7 @@ void ssh_selinux_setfscreatecon(const char *path) { char *context; + struct selabel_handle *shandle = NULL; if (!ssh_selinux_enabled()) return; @@ -229,8 +231,13 @@ ssh_selinux_setfscreatecon(const char *path) setfscreatecon(NULL); return; } - if (matchpathcon(path, 0700, &context) == 0) + if ((shandle = selabel_open(SELABEL_CTX_FILE, NULL, 0)) == NULL) { + debug_f("selabel_open failed"); + return; + } + if (selabel_lookup(shandle, &context, path, 0700) == 0) setfscreatecon(context); + selabel_close(shandle); } #endif /* WITH_SELINUX */ From 4b43bc358ae6f6b19a973679246dc5172f6ac41b Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 10 Jul 2023 04:51:26 +0000 Subject: [PATCH 181/232] upstream: misplaced debug message OpenBSD-Commit-ID: d0f12af0a5067a756aa707bc39a83fa6f58bf7e5 --- ssh-agent.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssh-agent.c b/ssh-agent.c index c72518ba3..9a9749430 100644 --- a/ssh-agent.c +++ b/ssh-agent.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-agent.c,v 1.298 2023/03/31 04:45:08 dtucker Exp $ */ +/* $OpenBSD: ssh-agent.c,v 1.299 2023/07/10 04:51:26 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -843,8 +843,8 @@ process_sign_request2(SocketEntry *e) } /* Success */ ok = 0; - send: debug_f("good signature"); + send: notify_complete(notifier, "User presence confirmed"); if (ok == 0) { From 2ee48adb9fc8692e8d6ac679dcc9f35e89ad68f0 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 14 Jul 2023 05:31:44 +0000 Subject: [PATCH 182/232] upstream: add defence-in-depth checks for some unreachable integer overflows reported by Yair Mizrahi @ JFrog; feedback/ok millert@ OpenBSD-Commit-ID: 52af085f4e7ef9f9d8423d8c1840a6a88bda90bd --- auth-options.c | 7 ++++--- misc.c | 7 +++++-- scp.c | 9 +++++++-- ssh-keygen.c | 9 +++++++-- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/auth-options.c b/auth-options.c index 88e9eb1c1..e1ced2055 100644 --- a/auth-options.c +++ b/auth-options.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth-options.c,v 1.99 2023/03/29 00:18:35 djm Exp $ */ +/* $OpenBSD: auth-options.c,v 1.100 2023/07/14 05:31:44 djm Exp $ */ /* * Copyright (c) 2018 Damien Miller * @@ -48,10 +48,11 @@ dup_strings(char ***dstp, size_t *ndstp, char **src, size_t nsrc) *dstp = NULL; *ndstp = 0; + if (nsrc == 0) return 0; - - if ((dst = calloc(nsrc, sizeof(*src))) == NULL) + if (nsrc >= SIZE_MAX / sizeof(*src) || + (dst = calloc(nsrc, sizeof(*src))) == NULL) return -1; for (i = 0; i < nsrc; i++) { if ((dst[i] = strdup(src[i])) == NULL) { diff --git a/misc.c b/misc.c index 63c3d4d29..2960a2a4c 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.181 2023/03/03 02:37:58 dtucker Exp $ */ +/* $OpenBSD: misc.c,v 1.182 2023/07/14 05:31:44 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -926,8 +926,11 @@ urldecode(const char *src) { char *ret, *dst; int ch; + size_t srclen; - ret = xmalloc(strlen(src) + 1); + if ((srclen = strlen(src)) >= SIZE_MAX) + fatal_f("input too large"); + ret = xmalloc(srclen + 1); for (dst = ret; *src != '\0'; src++) { switch (*src) { case '+': diff --git a/scp.c b/scp.c index 1800ba3c5..5edb4f07d 100644 --- a/scp.c +++ b/scp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scp.c,v 1.256 2023/03/31 05:56:36 dtucker Exp $ */ +/* $OpenBSD: scp.c,v 1.257 2023/07/14 05:31:44 djm Exp $ */ /* * scp - secure remote copy. This is basically patched BSD rcp which * uses ssh to do the data transfer (instead of using rcmd). @@ -838,8 +838,13 @@ emit_expansion(const char *pattern, int brace_start, int brace_end, int sel_start, int sel_end, char ***patternsp, size_t *npatternsp) { char *cp; - int o = 0, tail_len = strlen(pattern + brace_end + 1); + size_t pattern_len; + int o = 0, tail_len; + if ((pattern_len = strlen(pattern)) == 0 || pattern_len >= INT_MAX) + return -1; + + tail_len = strlen(pattern + brace_end + 1); if ((cp = malloc(brace_start + (sel_end - sel_start) + tail_len + 1)) == NULL) return -1; diff --git a/ssh-keygen.c b/ssh-keygen.c index fd2725c25..93c3ff70e 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.468 2023/06/20 00:05:09 djm Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.469 2023/07/14 05:31:44 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -2246,7 +2246,8 @@ hash_to_blob(const char *cp, u_char **blobp, size_t *lenp, * OpenSSH base64 hashes omit trailing '=' * characters; put them back for decode. */ - tlen = strlen(cp); + if ((tlen = strlen(cp)) >= SIZE_MAX - 5) + fatal_f("hash too long: %zu bytes", tlen); tmp = xmalloc(tlen + 4 + 1); strlcpy(tmp, cp, tlen + 1); while ((tlen % 4) != 0) { @@ -2288,6 +2289,10 @@ update_krl_from_file(struct passwd *pw, const char *file, int wild_ca, if (!quiet) printf("Revoking from %s\n", path); while (getline(&line, &linesize, krl_spec) != -1) { + if (linesize >= INT_MAX) { + fatal_f("%s contains unparsable line, len=%zu", + path, linesize); + } lnum++; was_explicit_key = was_sha1 = was_sha256 = was_hash = 0; cp = line + strspn(line, " \t"); From 4b94d09542e36ebde2eb9ad89bc68431609932de Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 14 Jul 2023 15:34:47 +1000 Subject: [PATCH 183/232] portable-specific int overflow defence-in-depth These too are unreachable, but we want the code to be safe regardless of context. Reported by Yair Mizrahi @ JFrog --- auth-pam.c | 4 +++- openbsd-compat/port-linux.c | 30 +++++++++++++----------------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/auth-pam.c b/auth-pam.c index f5a06b1f6..205715f03 100644 --- a/auth-pam.c +++ b/auth-pam.c @@ -848,7 +848,7 @@ sshpam_query(void *ctx, char **name, char **info, size_t plen; u_char type; char *msg; - size_t len, mlen; + size_t len, mlen, nmsg = 0; int r; debug3("PAM: %s entering", __func__); @@ -861,6 +861,8 @@ sshpam_query(void *ctx, char **name, char **info, plen = 0; *echo_on = xmalloc(sizeof(u_int)); while (ssh_msg_recv(ctxt->pam_psock, buffer) == 0) { + if (++nmesg > PAM_MAX_NUM_MSG) + fatal_f("too many query messages"); if ((r = sshbuf_get_u8(buffer, &type)) != 0 || (r = sshbuf_get_cstring(buffer, &msg, &mlen)) != 0) fatal("%s: buffer error: %s", __func__, ssh_err(r)); diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c index 4ca8c2b71..0457e28d0 100644 --- a/openbsd-compat/port-linux.c +++ b/openbsd-compat/port-linux.c @@ -178,20 +178,20 @@ ssh_selinux_setup_pty(char *pwname, const char *tty) void ssh_selinux_change_context(const char *newname) { - int len, newlen; - char *oldctx, *newctx, *cx; + char *oldctx, *newctx, *cx, *cx2; LogLevel log_level = SYSLOG_LEVEL_INFO; if (!ssh_selinux_enabled()) return; if (getcon(&oldctx) < 0) { - logit("%s: getcon failed with %s", __func__, strerror(errno)); + logit_f("getcon failed with %s", strerror(errno)); return; } - if ((cx = index(oldctx, ':')) == NULL || (cx = index(cx + 1, ':')) == - NULL) { - logit("%s: unparsable context %s", __func__, oldctx); + if ((cx = strchr(oldctx, ':')) == NULL || + (cx = strchr(cx + 1, ':')) == NULL || + (cx - oldctx) >= INT_MAX) { + logit_f("unparsable context %s", oldctx); return; } @@ -203,18 +203,14 @@ ssh_selinux_change_context(const char *newname) sizeof(SSH_SELINUX_UNCONFINED_TYPE) - 1) == 0) log_level = SYSLOG_LEVEL_DEBUG3; - newlen = strlen(oldctx) + strlen(newname) + 1; - newctx = xmalloc(newlen); - len = cx - oldctx + 1; - memcpy(newctx, oldctx, len); - strlcpy(newctx + len, newname, newlen - len); - if ((cx = index(cx + 1, ':'))) - strlcat(newctx, cx, newlen); - debug3("%s: setting context from '%s' to '%s'", __func__, - oldctx, newctx); + cx2 = strchr(cx + 1, ':'); + xasprintf(&newctx, "%.*s%s%s", (int)(cx - oldctx + 1), oldctx, + newname, cx2 == NULL ? "" : cx2); + + debug3_f("setting context from '%s' to '%s'", oldctx, newctx); if (setcon(newctx) < 0) - do_log2(log_level, "%s: setcon %s from %s failed with %s", - __func__, newctx, oldctx, strerror(errno)); + do_log2_f(log_level, "setcon %s from %s failed with %s", + newctx, oldctx, strerror(errno)); free(oldctx); free(newctx); } From 20b768fcd13effe0f2d3619661b6c8592c773553 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 14 Jul 2023 17:07:32 +1000 Subject: [PATCH 184/232] Fix typo in declaration of nmesg. --- auth-pam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auth-pam.c b/auth-pam.c index 205715f03..b49d415e7 100644 --- a/auth-pam.c +++ b/auth-pam.c @@ -848,7 +848,7 @@ sshpam_query(void *ctx, char **name, char **info, size_t plen; u_char type; char *msg; - size_t len, mlen, nmsg = 0; + size_t len, mlen, nmesg = 0; int r; debug3("PAM: %s entering", __func__); From 18ea857770e84825a3a6238bb37f54864487b59f Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 14 Jul 2023 07:44:21 +0000 Subject: [PATCH 185/232] upstream: Include stdint.h for SIZE_MAX. Fixes OPENSSL=no build. OpenBSD-Commit-ID: e7c31034a5434f2ead3579b13a7892960651e6b0 --- auth-options.c | 3 ++- misc.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/auth-options.c b/auth-options.c index e1ced2055..785a23990 100644 --- a/auth-options.c +++ b/auth-options.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth-options.c,v 1.100 2023/07/14 05:31:44 djm Exp $ */ +/* $OpenBSD: auth-options.c,v 1.101 2023/07/14 07:44:21 dtucker Exp $ */ /* * Copyright (c) 2018 Damien Miller * @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include diff --git a/misc.c b/misc.c index 2960a2a4c..dc498bd93 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.182 2023/07/14 05:31:44 djm Exp $ */ +/* $OpenBSD: misc.c,v 1.183 2023/07/14 07:44:21 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include From 449566f64c21b4578d5c0c431badd0328adc53ed Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 17 Jul 2023 03:57:21 +0000 Subject: [PATCH 186/232] upstream: Support for KRL extensions. This defines wire formats for optional KRL extensions and implements parsing of the new submessages. No actual extensions are supported at this point. ok markus OpenBSD-Commit-ID: ae2fcde9a22a9ba7f765bd4f36b3f5901d8c3fa7 --- PROTOCOL.krl | 51 +++++++++++++++++++++++++++++-- krl.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++- krl.h | 4 ++- 3 files changed, 137 insertions(+), 4 deletions(-) diff --git a/PROTOCOL.krl b/PROTOCOL.krl index 115f80e5d..f4213156e 100644 --- a/PROTOCOL.krl +++ b/PROTOCOL.krl @@ -37,6 +37,7 @@ The available section types are: #define KRL_SECTION_FINGERPRINT_SHA1 3 #define KRL_SECTION_SIGNATURE 4 #define KRL_SECTION_FINGERPRINT_SHA256 5 +#define KRL_SECTION_EXTENSION 255 2. Certificate section @@ -64,6 +65,7 @@ The certificate section types are: #define KRL_SECTION_CERT_SERIAL_RANGE 0x21 #define KRL_SECTION_CERT_SERIAL_BITMAP 0x22 #define KRL_SECTION_CERT_KEY_ID 0x23 +#define KRL_SECTION_CERT_EXTENSION 0x39 2.1 Certificate serial list section @@ -114,6 +116,29 @@ associated with a particular identity, e.g. a host or a user. This section must contain at least one "key_id". This section may appear multiple times. +2.5. Certificate Extension subsections + +This subsection type provides a generic extension mechanism to the +certificates KRL section that may be used to provide optional or critical +data. + +Extensions are stored in subsections of type +KRL_SECTION_CERT_EXTENSION with the following contents: + + string extension_name + boolean is_critical + string extension_contents. + +Where "extension_name" describes the type of extension. It is +recommended that user extensions follow "cert-name@domain.org" naming. + +The "is_critical" indicates whether this extension is mandatory or +optional. If true, then any unsupported extension encountered should +result in KRL parsing failure. If false, then it may be safely be +ignored. + +The "extension_contents" contains the body of the extension. + 3. Explicit key sections These sections, identified as KRL_SECTION_EXPLICIT_KEY, revoke keys @@ -144,7 +169,29 @@ as a big-endian integer. This section may appear multiple times. -5. KRL signature sections +5. Extension sections + +This section type provides a generic extension mechanism to the KRL +format that may be used to provide optional or critical data. + +Extensions are recorded in sections of type KRL_SECTION_EXTENSION +with the following contents: + + string extension_name + boolean is_critical + string extension_contents. + +Where "extension_name" describes the type of extension. It is +recommended that user extensions follow "name@domain.org" naming. + +The "is_critical" indicates whether this extension is mandatory or +optional. If true, then any unsupported extension encountered should +result in KRL parsing failure. If false, then it may be safely be +ignored. + +The "extension_contents" contains the body of the extension. + +6. KRL signature sections The KRL_SECTION_SIGNATURE section serves a different purpose to the preceding ones: to provide cryptographic authentication of a KRL that @@ -168,4 +215,4 @@ Implementations that retrieve KRLs over untrusted channels must verify signatures. Signature sections are optional for KRLs distributed by trusted means. -$OpenBSD: PROTOCOL.krl,v 1.5 2018/09/12 01:21:34 djm Exp $ +$OpenBSD: PROTOCOL.krl,v 1.6 2023/07/17 03:57:21 djm Exp $ diff --git a/krl.c b/krl.c index 1fed42b22..f04ea27d7 100644 --- a/krl.c +++ b/krl.c @@ -14,7 +14,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $OpenBSD: krl.c,v 1.55 2023/03/14 07:28:47 dtucker Exp $ */ +/* $OpenBSD: krl.c,v 1.56 2023/07/17 03:57:21 djm Exp $ */ #include "includes.h" @@ -840,6 +840,45 @@ format_timestamp(u_int64_t timestamp, char *ts, size_t nts) } } +static int +cert_extension_subsection(struct sshbuf *subsect, struct ssh_krl *krl) +{ + int r = SSH_ERR_INTERNAL_ERROR; + u_char critical = 1; + struct sshbuf *value = NULL; + char *name = NULL; + + if ((r = sshbuf_get_cstring(subsect, &name, NULL)) != 0 || + (r = sshbuf_get_u8(subsect, &critical)) != 0 || + (r = sshbuf_froms(subsect, &value)) != 0) { + debug_fr(r, "parse"); + error("KRL has invalid certificate extension subsection"); + r = SSH_ERR_INVALID_FORMAT; + goto out; + } + if (sshbuf_len(subsect) != 0) { + error("KRL has invalid certificate extension subsection: " + "trailing data"); + r = SSH_ERR_INVALID_FORMAT; + goto out; + } + debug_f("cert extension %s critical %u len %zu", + name, critical, sshbuf_len(value)); + /* no extensions are currently supported */ + if (critical) { + error("KRL contains unsupported critical certificate " + "subsection \"%s\"", name); + r = SSH_ERR_FEATURE_UNSUPPORTED; + goto out; + } + /* success */ + r = 0; + out: + free(name); + sshbuf_free(value); + return r; +} + static int parse_revoked_certs(struct sshbuf *buf, struct ssh_krl *krl) { @@ -931,6 +970,10 @@ parse_revoked_certs(struct sshbuf *buf, struct ssh_krl *krl) key_id = NULL; } break; + case KRL_SECTION_CERT_EXTENSION: + if ((r = cert_extension_subsection(subsect, krl)) != 0) + goto out; + break; default: error("Unsupported KRL certificate section %u", type); r = SSH_ERR_INVALID_FORMAT; @@ -977,6 +1020,43 @@ blob_section(struct sshbuf *sect, struct revoked_blob_tree *target_tree, return 0; } +static int +extension_section(struct sshbuf *sect, struct ssh_krl *krl) +{ + int r = SSH_ERR_INTERNAL_ERROR; + u_char critical = 1; + struct sshbuf *value = NULL; + char *name = NULL; + + if ((r = sshbuf_get_cstring(sect, &name, NULL)) != 0 || + (r = sshbuf_get_u8(sect, &critical)) != 0 || + (r = sshbuf_froms(sect, &value)) != 0) { + debug_fr(r, "parse"); + error("KRL has invalid extension section"); + r = SSH_ERR_INVALID_FORMAT; + goto out; + } + if (sshbuf_len(sect) != 0) { + error("KRL has invalid extension section: trailing data"); + r = SSH_ERR_INVALID_FORMAT; + goto out; + } + debug_f("extension %s critical %u len %zu", + name, critical, sshbuf_len(value)); + /* no extensions are currently supported */ + if (critical) { + error("KRL contains unsupported critical section \"%s\"", name); + r = SSH_ERR_FEATURE_UNSUPPORTED; + goto out; + } + /* success */ + r = 0; + out: + free(name); + sshbuf_free(value); + return r; +} + /* Attempt to parse a KRL, checking its signature (if any) with sign_ca_keys. */ int ssh_krl_from_blob(struct sshbuf *buf, struct ssh_krl **krlp, @@ -1144,6 +1224,10 @@ ssh_krl_from_blob(struct sshbuf *buf, struct ssh_krl **krlp, &krl->revoked_sha256s, 32)) != 0) goto out; break; + case KRL_SECTION_EXTENSION: + if ((r = extension_section(sect, krl)) != 0) + goto out; + break; case KRL_SECTION_SIGNATURE: /* Handled above, but still need to stay in synch */ sshbuf_free(sect); diff --git a/krl.h b/krl.h index ca6d3f284..d0f469870 100644 --- a/krl.h +++ b/krl.h @@ -14,7 +14,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $OpenBSD: krl.h,v 1.8 2020/04/03 02:26:56 djm Exp $ */ +/* $OpenBSD: krl.h,v 1.9 2023/07/17 03:57:21 djm Exp $ */ #ifndef _KRL_H #define _KRL_H @@ -30,12 +30,14 @@ #define KRL_SECTION_FINGERPRINT_SHA1 3 #define KRL_SECTION_SIGNATURE 4 #define KRL_SECTION_FINGERPRINT_SHA256 5 +#define KRL_SECTION_EXTENSION 255 /* KRL_SECTION_CERTIFICATES subsection types */ #define KRL_SECTION_CERT_SERIAL_LIST 0x20 #define KRL_SECTION_CERT_SERIAL_RANGE 0x21 #define KRL_SECTION_CERT_SERIAL_BITMAP 0x22 #define KRL_SECTION_CERT_KEY_ID 0x23 +#define KRL_SECTION_CERT_EXTENSION 0x39 struct sshkey; struct sshbuf; From beec17bb311365b75a0a5941418d4b96df7d7888 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 17 Jul 2023 04:01:10 +0000 Subject: [PATCH 187/232] upstream: remove vestigal support for KRL signatures When the KRL format was originally defined, it included support for signing of KRL objects. However, the code to sign KRLs and verify KRL signatues was never completed in OpenSSH. Now, some years later, we have SSHSIG support in ssh-keygen that is more general, well tested and actually works. So this removes the semi-finished KRL signing/verification support from OpenSSH and refactors the remaining code to realise the benefit - primarily, we no longer need to perform multiple parsing passes over KRL objects. ok markus@ OpenBSD-Commit-ID: 517437bab3d8180f695c775410c052340e038804 --- PROTOCOL.krl | 6 +- krl.c | 195 +++++++-------------------------------------------- krl.h | 8 +-- ssh-keygen.c | 6 +- 4 files changed, 36 insertions(+), 179 deletions(-) diff --git a/PROTOCOL.krl b/PROTOCOL.krl index f4213156e..1b59c76be 100644 --- a/PROTOCOL.krl +++ b/PROTOCOL.krl @@ -193,6 +193,10 @@ The "extension_contents" contains the body of the extension. 6. KRL signature sections +Note: KRL signatures are not supported by OpenSSH. OpenSSH >= 9.4 will +refuse to load KRLs that contain signatures. We recommend the use +of SSHSIG (`ssh-keygen -Y sign ...`) style signatures for KRLs instead. + The KRL_SECTION_SIGNATURE section serves a different purpose to the preceding ones: to provide cryptographic authentication of a KRL that is retrieved over a channel that does not provide integrity protection. @@ -215,4 +219,4 @@ Implementations that retrieve KRLs over untrusted channels must verify signatures. Signature sections are optional for KRLs distributed by trusted means. -$OpenBSD: PROTOCOL.krl,v 1.6 2023/07/17 03:57:21 djm Exp $ +$OpenBSD: PROTOCOL.krl,v 1.7 2023/07/17 04:01:10 djm Exp $ diff --git a/krl.c b/krl.c index f04ea27d7..c53fdd6ed 100644 --- a/krl.c +++ b/krl.c @@ -14,7 +14,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $OpenBSD: krl.c,v 1.56 2023/07/17 03:57:21 djm Exp $ */ +/* $OpenBSD: krl.c,v 1.57 2023/07/17 04:01:10 djm Exp $ */ #include "includes.h" @@ -729,15 +729,13 @@ revoked_certs_generate(struct revoked_certs *rc, struct sshbuf *buf) } int -ssh_krl_to_blob(struct ssh_krl *krl, struct sshbuf *buf, - struct sshkey **sign_keys, u_int nsign_keys) +ssh_krl_to_blob(struct ssh_krl *krl, struct sshbuf *buf) { int r = SSH_ERR_INTERNAL_ERROR; struct revoked_certs *rc; struct revoked_blob *rb; struct sshbuf *sect; u_char *sblob = NULL; - size_t slen, i; if (krl->generated_date == 0) krl->generated_date = time(NULL); @@ -801,22 +799,7 @@ ssh_krl_to_blob(struct ssh_krl *krl, struct sshbuf *buf, (r = sshbuf_put_stringb(buf, sect)) != 0) goto out; } - - for (i = 0; i < nsign_keys; i++) { - KRL_DBG(("sig key %s", sshkey_ssh_name(sign_keys[i]))); - if ((r = sshbuf_put_u8(buf, KRL_SECTION_SIGNATURE)) != 0 || - (r = sshkey_puts(sign_keys[i], buf)) != 0) - goto out; - /* XXX support sk-* keys */ - if ((r = sshkey_sign(sign_keys[i], &sblob, &slen, - sshbuf_ptr(buf), sshbuf_len(buf), NULL, NULL, - NULL, 0)) != 0) - goto out; - KRL_DBG(("signature sig len %zu", slen)); - if ((r = sshbuf_put_string(buf, sblob, slen)) != 0) - goto out; - } - + /* success */ r = 0; out: free(sblob); @@ -1057,45 +1040,39 @@ extension_section(struct sshbuf *sect, struct ssh_krl *krl) return r; } -/* Attempt to parse a KRL, checking its signature (if any) with sign_ca_keys. */ +/* Attempt to parse a KRL */ int -ssh_krl_from_blob(struct sshbuf *buf, struct ssh_krl **krlp, - const struct sshkey **sign_ca_keys, size_t nsign_ca_keys) +ssh_krl_from_blob(struct sshbuf *buf, struct ssh_krl **krlp) { struct sshbuf *copy = NULL, *sect = NULL; struct ssh_krl *krl = NULL; char timestamp[64]; - int r = SSH_ERR_INTERNAL_ERROR, sig_seen; - struct sshkey *key = NULL, **ca_used = NULL, **tmp_ca_used; + int r = SSH_ERR_INTERNAL_ERROR; u_char type; - const u_char *blob; - size_t i, j, sig_off, sects_off, blen, nca_used; u_int format_version; - nca_used = 0; *krlp = NULL; - if (sshbuf_len(buf) < sizeof(KRL_MAGIC) - 1 || - memcmp(sshbuf_ptr(buf), KRL_MAGIC, sizeof(KRL_MAGIC) - 1) != 0) { - debug3_f("not a KRL"); - return SSH_ERR_KRL_BAD_MAGIC; - } - /* Take a copy of the KRL buffer so we can verify its signature later */ - if ((copy = sshbuf_fromb(buf)) == NULL) { - r = SSH_ERR_ALLOC_FAIL; - goto out; + /* KRL must begin with magic string */ + if ((r = sshbuf_cmp(buf, 0, KRL_MAGIC, sizeof(KRL_MAGIC) - 1)) != 0) { + debug2_f("bad KRL magic header"); + return r; } - if ((r = sshbuf_consume(copy, sizeof(KRL_MAGIC) - 1)) != 0) - goto out; if ((krl = ssh_krl_init()) == NULL) { error_f("alloc failed"); goto out; } - - if ((r = sshbuf_get_u32(copy, &format_version)) != 0) + /* Don't modify buffer */ + if ((copy = sshbuf_fromb(buf)) == NULL) { + r = SSH_ERR_ALLOC_FAIL; + goto out; + } + if ((r = sshbuf_consume(copy, sizeof(KRL_MAGIC) - 1)) != 0 || + (r = sshbuf_get_u32(copy, &format_version)) != 0) goto out; if (format_version != KRL_FORMAT_VERSION) { + error_f("unsupported KRL format version %u", format_version); r = SSH_ERR_INVALID_FORMAT; goto out; } @@ -1103,106 +1080,23 @@ ssh_krl_from_blob(struct sshbuf *buf, struct ssh_krl **krlp, (r = sshbuf_get_u64(copy, &krl->generated_date)) != 0 || (r = sshbuf_get_u64(copy, &krl->flags)) != 0 || (r = sshbuf_skip_string(copy)) != 0 || - (r = sshbuf_get_cstring(copy, &krl->comment, NULL)) != 0) + (r = sshbuf_get_cstring(copy, &krl->comment, NULL)) != 0) { + error_fr(r, "parse KRL header"); goto out; - + } format_timestamp(krl->generated_date, timestamp, sizeof(timestamp)); debug("KRL version %llu generated at %s%s%s", (long long unsigned)krl->krl_version, timestamp, *krl->comment ? ": " : "", krl->comment); - /* - * 1st pass: verify signatures, if any. This is done to avoid - * detailed parsing of data whose provenance is unverified. - */ - sig_seen = 0; - if (sshbuf_len(buf) < sshbuf_len(copy)) { - /* Shouldn't happen */ - r = SSH_ERR_INTERNAL_ERROR; - goto out; - } - sects_off = sshbuf_len(buf) - sshbuf_len(copy); - while (sshbuf_len(copy) > 0) { - if ((r = sshbuf_get_u8(copy, &type)) != 0 || - (r = sshbuf_get_string_direct(copy, &blob, &blen)) != 0) - goto out; - KRL_DBG(("first pass, section 0x%02x", type)); - if (type != KRL_SECTION_SIGNATURE) { - if (sig_seen) { - error("KRL contains non-signature section " - "after signature"); - r = SSH_ERR_INVALID_FORMAT; - goto out; - } - /* Not interested for now. */ - continue; - } - sig_seen = 1; - /* First string component is the signing key */ - if ((r = sshkey_from_blob(blob, blen, &key)) != 0) { - r = SSH_ERR_INVALID_FORMAT; - goto out; - } - if (sshbuf_len(buf) < sshbuf_len(copy)) { - /* Shouldn't happen */ - r = SSH_ERR_INTERNAL_ERROR; - goto out; - } - sig_off = sshbuf_len(buf) - sshbuf_len(copy); - /* Second string component is the signature itself */ - if ((r = sshbuf_get_string_direct(copy, &blob, &blen)) != 0) { - r = SSH_ERR_INVALID_FORMAT; - goto out; - } - /* Check signature over entire KRL up to this point */ - if ((r = sshkey_verify(key, blob, blen, - sshbuf_ptr(buf), sig_off, NULL, 0, NULL)) != 0) - goto out; - /* Check if this key has already signed this KRL */ - for (i = 0; i < nca_used; i++) { - if (sshkey_equal(ca_used[i], key)) { - error("KRL signed more than once with " - "the same key"); - r = SSH_ERR_INVALID_FORMAT; - goto out; - } - } - /* Record keys used to sign the KRL */ - tmp_ca_used = recallocarray(ca_used, nca_used, nca_used + 1, - sizeof(*ca_used)); - if (tmp_ca_used == NULL) { - r = SSH_ERR_ALLOC_FAIL; - goto out; - } - ca_used = tmp_ca_used; - ca_used[nca_used++] = key; - key = NULL; - } - - if (sshbuf_len(copy) != 0) { - /* Shouldn't happen */ - r = SSH_ERR_INTERNAL_ERROR; - goto out; - } - - /* - * 2nd pass: parse and load the KRL, skipping the header to the point - * where the section start. - */ - sshbuf_free(copy); - if ((copy = sshbuf_fromb(buf)) == NULL) { - r = SSH_ERR_ALLOC_FAIL; - goto out; - } - if ((r = sshbuf_consume(copy, sects_off)) != 0) - goto out; + /* Parse and load the KRL sections. */ while (sshbuf_len(copy) > 0) { sshbuf_free(sect); sect = NULL; if ((r = sshbuf_get_u8(copy, &type)) != 0 || (r = sshbuf_froms(copy, §)) != 0) goto out; - KRL_DBG(("second pass, section 0x%02x", type)); + KRL_DBG(("section 0x%02x", type)); switch (type) { case KRL_SECTION_CERTIFICATES: @@ -1247,51 +1141,12 @@ ssh_krl_from_blob(struct sshbuf *buf, struct ssh_krl **krlp, } } - /* Check that the key(s) used to sign the KRL weren't revoked */ - sig_seen = 0; - for (i = 0; i < nca_used; i++) { - if (ssh_krl_check_key(krl, ca_used[i]) == 0) - sig_seen = 1; - else { - sshkey_free(ca_used[i]); - ca_used[i] = NULL; - } - } - if (nca_used && !sig_seen) { - error("All keys used to sign KRL were revoked"); - r = SSH_ERR_KEY_REVOKED; - goto out; - } - - /* If we have CA keys, then verify that one was used to sign the KRL */ - if (sig_seen && nsign_ca_keys != 0) { - sig_seen = 0; - for (i = 0; !sig_seen && i < nsign_ca_keys; i++) { - for (j = 0; j < nca_used; j++) { - if (ca_used[j] == NULL) - continue; - if (sshkey_equal(ca_used[j], sign_ca_keys[i])) { - sig_seen = 1; - break; - } - } - } - if (!sig_seen) { - r = SSH_ERR_SIGNATURE_INVALID; - error("KRL not signed with any trusted key"); - goto out; - } - } - + /* Success */ *krlp = krl; r = 0; out: if (r != 0) ssh_krl_free(krl); - for (i = 0; i < nca_used; i++) - sshkey_free(ca_used[i]); - free(ca_used); - sshkey_free(key); sshbuf_free(copy); sshbuf_free(sect); return r; @@ -1425,7 +1280,7 @@ ssh_krl_file_contains_key(const char *path, const struct sshkey *key) oerrno = errno; goto out; } - if ((r = ssh_krl_from_blob(krlbuf, &krl, NULL, 0)) != 0) + if ((r = ssh_krl_from_blob(krlbuf, &krl)) != 0) goto out; debug2_f("checking KRL %s", path); r = ssh_krl_check_key(krl, key); diff --git a/krl.h b/krl.h index d0f469870..eb244767b 100644 --- a/krl.h +++ b/krl.h @@ -14,7 +14,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $OpenBSD: krl.h,v 1.9 2023/07/17 03:57:21 djm Exp $ */ +/* $OpenBSD: krl.h,v 1.10 2023/07/17 04:01:10 djm Exp $ */ #ifndef _KRL_H #define _KRL_H @@ -57,10 +57,8 @@ int ssh_krl_revoke_key_explicit(struct ssh_krl *krl, const struct sshkey *key); int ssh_krl_revoke_key_sha1(struct ssh_krl *krl, const u_char *p, size_t len); int ssh_krl_revoke_key_sha256(struct ssh_krl *krl, const u_char *p, size_t len); int ssh_krl_revoke_key(struct ssh_krl *krl, const struct sshkey *key); -int ssh_krl_to_blob(struct ssh_krl *krl, struct sshbuf *buf, - struct sshkey **sign_keys, u_int nsign_keys); -int ssh_krl_from_blob(struct sshbuf *buf, struct ssh_krl **krlp, - const struct sshkey **sign_ca_keys, size_t nsign_ca_keys); +int ssh_krl_to_blob(struct ssh_krl *krl, struct sshbuf *buf); +int ssh_krl_from_blob(struct sshbuf *buf, struct ssh_krl **krlp); int ssh_krl_check_key(struct ssh_krl *krl, const struct sshkey *key); int ssh_krl_file_contains_key(const char *path, const struct sshkey *key); int krl_dump(struct ssh_krl *krl, FILE *f); diff --git a/ssh-keygen.c b/ssh-keygen.c index 93c3ff70e..9ccea624c 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.469 2023/07/14 05:31:44 djm Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.470 2023/07/17 04:01:10 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -2223,7 +2223,7 @@ load_krl(const char *path, struct ssh_krl **krlp) if ((r = sshbuf_load_file(path, &krlbuf)) != 0) fatal_r(r, "Unable to load KRL %s", path); /* XXX check sigs */ - if ((r = ssh_krl_from_blob(krlbuf, krlp, NULL, 0)) != 0 || + if ((r = ssh_krl_from_blob(krlbuf, krlp)) != 0 || *krlp == NULL) fatal_r(r, "Invalid KRL file %s", path); sshbuf_free(krlbuf); @@ -2466,7 +2466,7 @@ do_gen_krl(struct passwd *pw, int updating, const char *ca_key_path, if ((kbuf = sshbuf_new()) == NULL) fatal("sshbuf_new failed"); - if (ssh_krl_to_blob(krl, kbuf, NULL, 0) != 0) + if (ssh_krl_to_blob(krl, kbuf) != 0) fatal("Couldn't generate KRL"); if ((r = sshbuf_write_file(identity_file, kbuf)) != 0) fatal("write %s: %s", identity_file, strerror(errno)); From 3071d85a47061c1bdaf11a0ac233b501ecba862c Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 17 Jul 2023 04:04:36 +0000 Subject: [PATCH 188/232] upstream: add a "match localnetwork" predicate. This allows matching on the addresses of available network interfaces and may be used to vary the effective client configuration based on network location (e.g. to use a ProxyJump when not on a particular network). ok markus@ OpenBSD-Commit-ID: cffb6ff9a3803abfc52b5cad0aa190c5e424c139 --- readconf.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++--- ssh_config.5 | 16 +++++++++-- 2 files changed, 87 insertions(+), 6 deletions(-) diff --git a/readconf.c b/readconf.c index bb3bf767b..28f6acce3 100644 --- a/readconf.c +++ b/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.377 2023/06/21 05:10:26 djm Exp $ */ +/* $OpenBSD: readconf.c,v 1.378 2023/07/17 04:04:36 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -20,6 +20,7 @@ #include #include +#include #include #include #include @@ -28,6 +29,9 @@ #include #include #include +#ifdef HAVE_IFADDRS_H +# include +#endif #include #include #ifdef HAVE_PATHS_H @@ -576,6 +580,60 @@ execute_in_shell(const char *cmd) return WEXITSTATUS(status); } +/* + * Check whether a local network interface address appears in CIDR pattern- + * list 'addrlist'. Returns 1 if matched or 0 otherwise. + */ +static int +check_match_ifaddrs(const char *addrlist) +{ + struct ifaddrs *ifa, *ifaddrs = NULL; + int r, found = 0; + char addr[NI_MAXHOST]; + socklen_t salen; + + if (getifaddrs(&ifaddrs) != 0) { + error("match localnetwork: getifaddrs failed: %s", + strerror(errno)); + return 0; + } + for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) { + if (ifa->ifa_addr == NULL || ifa->ifa_name == NULL || + (ifa->ifa_flags & IFF_UP) == 0) + continue; + switch (ifa->ifa_addr->sa_family) { + case AF_INET: + salen = sizeof(struct sockaddr_in); + break; + case AF_INET6: + salen = sizeof(struct sockaddr_in6); + break; + case AF_LINK: + /* ignore */ + continue; + default: + debug2_f("interface %s: unsupported address family %d", + ifa->ifa_name, ifa->ifa_addr->sa_family); + continue; + } + if ((r = getnameinfo(ifa->ifa_addr, salen, addr, sizeof(addr), + NULL, 0, NI_NUMERICHOST)) != 0) { + debug2_f("interface %s getnameinfo failed: %s", + ifa->ifa_name, gai_strerror(r)); + continue; + } + debug3_f("interface %s addr %s", ifa->ifa_name, addr); + if (addr_match_cidr_list(addr, addrlist) == 1) { + debug3_f("matched interface %s: address %s in %s", + ifa->ifa_name, addr, addrlist); + found = 1; + break; + } + } + freeifaddrs(ifaddrs); + return found; +} + /* * Parse and execute a Match directive. */ @@ -680,6 +738,15 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw, r = match_pattern_list(pw->pw_name, arg, 0) == 1; if (r == (negate ? 1 : 0)) this_result = result = 0; + } else if (strcasecmp(attrib, "localnetwork") == 0) { + if (addr_match_cidr_list(NULL, arg) == -1) { + /* Error already printed */ + result = -1; + goto out; + } + r = check_match_ifaddrs(arg) == 1; + if (r == (negate ? 1 : 0)) + this_result = result = 0; } else if (strcasecmp(attrib, "exec") == 0) { char *conn_hash_hex, *keyalias; @@ -733,9 +800,11 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw, result = -1; goto out; } - debug3("%.200s line %d: %smatched '%s \"%.100s\"' ", - filename, linenum, this_result ? "": "not ", - oattrib, criteria); + debug3("%.200s line %d: %smatched '%s%s%.100s%s' ", + filename, linenum, this_result ? "": "not ", oattrib, + criteria == NULL ? "" : " \"", + criteria == NULL ? "" : criteria, + criteria == NULL ? "" : "\""); free(criteria); } if (attributes == 0) { diff --git a/ssh_config.5 b/ssh_config.5 index 0b7d4d192..3d18fb2a2 100644 --- a/ssh_config.5 +++ b/ssh_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh_config.5,v 1.380 2023/03/27 03:56:11 dtucker Exp $ -.Dd $Mdocdate: March 27 2023 $ +.\" $OpenBSD: ssh_config.5,v 1.381 2023/07/17 04:04:36 djm Exp $ +.Dd $Mdocdate: July 17 2023 $ .Dt SSH_CONFIG 5 .Os .Sh NAME @@ -141,6 +141,7 @@ The available criteria keywords are: .Cm canonical , .Cm final , .Cm exec , +.Cm localnetwork , .Cm host , .Cm originalhost , .Cm user , @@ -195,6 +196,17 @@ accept the tokens described in the .Sx TOKENS section. .Pp +The +.Cm localnetwork +keyword matches the addresses of active local network interfaces against the +supplied list of networks in CIDR format. +This may be convenient for varying the effective configuration on devices that +roam between networks. +Note that network address is not a trustworthy criteria in many +situations (e.g. when the network is automatically configured using DHCP) +and so caution should be applied if using it to control security-sensitive +configuration. +.Pp The other keywords' criteria must be single entries or comma-separated lists and may use the wildcard and negation operators described in the .Sx PATTERNS From 919bc3d3b712c920de1ae6be5ac6561c98886d7e Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 17 Jul 2023 04:08:31 +0000 Subject: [PATCH 189/232] upstream: Add support for configuration tags to ssh(1). This adds a ssh_config(5) "Tag" directive and corresponding "Match tag" predicate that may be used to select blocks of configuration similar to the pf.conf(5) keywords of the same name. ok markus OpenBSD-Commit-ID: dc08358e70e702b59ac3e591827e5a96141b06a3 --- readconf.c | 15 +++++++++++++-- readconf.h | 3 ++- ssh.1 | 15 +++++++++++++-- ssh.c | 8 +++++--- ssh_config.5 | 16 +++++++++++++++- 5 files changed, 48 insertions(+), 9 deletions(-) diff --git a/readconf.c b/readconf.c index 28f6acce3..5418ace8b 100644 --- a/readconf.c +++ b/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.378 2023/07/17 04:04:36 djm Exp $ */ +/* $OpenBSD: readconf.c,v 1.379 2023/07/17 04:08:31 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -144,7 +144,7 @@ static int process_config_line_depth(Options *options, struct passwd *pw, typedef enum { oBadOption, - oHost, oMatch, oInclude, + oHost, oMatch, oInclude, oTag, oForwardAgent, oForwardX11, oForwardX11Trusted, oForwardX11Timeout, oGatewayPorts, oExitOnForwardFailure, oPasswordAuthentication, @@ -257,6 +257,7 @@ static struct { { "user", oUser }, { "host", oHost }, { "match", oMatch }, + { "tag", oTag }, { "escapechar", oEscapeChar }, { "globalknownhostsfile", oGlobalKnownHostsFile }, { "userknownhostsfile", oUserKnownHostsFile }, @@ -745,6 +746,10 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw, goto out; } r = check_match_ifaddrs(arg) == 1; + } else if (strcasecmp(attrib, "tagged") == 0) { + criteria = xstrdup(options->tag == NULL ? "" : + options->tag); + r = match_pattern_list(criteria, arg, 0) == 1; if (r == (negate ? 1 : 0)) this_result = result = 0; } else if (strcasecmp(attrib, "exec") == 0) { @@ -1365,6 +1370,10 @@ parse_char_array: charptr = &options->hostname; goto parse_string; + case oTag: + charptr = &options->tag; + goto parse_string; + case oHostKeyAlias: charptr = &options->host_key_alias; goto parse_string; @@ -2512,6 +2521,7 @@ initialize_options(Options * options) options->known_hosts_command = NULL; options->required_rsa_size = -1; options->enable_escape_commandline = -1; + options->tag = NULL; } /* @@ -3431,6 +3441,7 @@ dump_client_config(Options *o, const char *host) dump_cfg_string(oRevokedHostKeys, o->revoked_host_keys); dump_cfg_string(oXAuthLocation, o->xauth_location); dump_cfg_string(oKnownHostsCommand, o->known_hosts_command); + dump_cfg_string(oTag, o->tag); /* Forwards */ dump_cfg_forwards(oDynamicForward, o->num_local_forwards, o->local_forwards); diff --git a/readconf.h b/readconf.h index 2ce1b4c33..dfe5bab0a 100644 --- a/readconf.h +++ b/readconf.h @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.h,v 1.150 2023/01/13 02:58:20 dtucker Exp $ */ +/* $OpenBSD: readconf.h,v 1.151 2023/07/17 04:08:31 djm Exp $ */ /* * Author: Tatu Ylonen @@ -70,6 +70,7 @@ typedef struct { char *kex_algorithms; /* SSH2 kex methods in order of preference. */ char *ca_sign_algorithms; /* Allowed CA signature algorithms */ char *hostname; /* Real host to connect. */ + char *tag; /* Configuration tag name. */ char *host_key_alias; /* hostname alias for .ssh/known_hosts */ char *proxy_command; /* Proxy command for connecting the host. */ char *user; /* User to log in as. */ diff --git a/ssh.1 b/ssh.1 index 3d89c7d7f..4935a6ff5 100644 --- a/ssh.1 +++ b/ssh.1 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh.1,v 1.434 2023/06/21 05:08:32 djm Exp $ -.Dd $Mdocdate: June 21 2023 $ +.\" $OpenBSD: ssh.1,v 1.435 2023/07/17 04:08:31 djm Exp $ +.Dd $Mdocdate: July 17 2023 $ .Dt SSH 1 .Os .Sh NAME @@ -59,6 +59,7 @@ .Op Fl O Ar ctl_cmd .Op Fl o Ar option .Op Fl p Ar port +.Op Fl P Ar tag .Op Fl Q Ar query_option .Op Fl R Ar address .Op Fl S Ar ctl_path @@ -593,6 +594,16 @@ For full details of the options listed below, and their possible values, see .It XAuthLocation .El .Pp +.It Fl P Ar tag +Specify a tag name that may be used to select configuration in +.Xr ssh_config 5 . +Refer to the +.Cm Tag +and +.Cm Match +keywords in +.Xr ssh_config 5 +for more information. .It Fl p Ar port Port to connect to on the remote host. This can be specified on a diff --git a/ssh.c b/ssh.c index 83c509ccf..d11824263 100644 --- a/ssh.c +++ b/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.590 2023/07/04 03:59:21 dlg Exp $ */ +/* $OpenBSD: ssh.c,v 1.591 2023/07/17 04:08:31 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -708,7 +708,7 @@ main(int ac, char **av) again: while ((opt = getopt(ac, av, "1246ab:c:e:fgi:kl:m:no:p:qstvx" - "AB:CD:E:F:GI:J:KL:MNO:PQ:R:S:TVw:W:XYy")) != -1) { /* HUZdhjruz */ + "AB:CD:E:F:GI:J:KL:MNO:P:Q:R:S:TVw:W:XYy")) != -1) { /* HUZdhjruz */ switch (opt) { case '1': fatal("SSH protocol v.1 is no longer supported"); @@ -772,7 +772,9 @@ main(int ac, char **av) else fatal("Invalid multiplex command."); break; - case 'P': /* deprecated */ + case 'P': + if (options.tag == NULL) + options.tag = xstrdup(optarg); break; case 'Q': cp = NULL; diff --git a/ssh_config.5 b/ssh_config.5 index 3d18fb2a2..0c2327e0b 100644 --- a/ssh_config.5 +++ b/ssh_config.5 @@ -33,7 +33,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh_config.5,v 1.381 2023/07/17 04:04:36 djm Exp $ +.\" $OpenBSD: ssh_config.5,v 1.382 2023/07/17 04:08:31 djm Exp $ .Dd $Mdocdate: July 17 2023 $ .Dt SSH_CONFIG 5 .Os @@ -144,6 +144,7 @@ The available criteria keywords are: .Cm localnetwork , .Cm host , .Cm originalhost , +.Cm Tag , .Cm user , and .Cm localuser . @@ -223,6 +224,15 @@ The .Cm originalhost keyword matches against the hostname as it was specified on the command-line. The +.Cm tagged +keyword matches a tag name specified by a prior +.Cm Tag +directive or on the +.Xr ssh 1 +command-line using the +.Fl P +flag. +The .Cm user keyword matches against the target username on the remote host. The @@ -1886,6 +1896,10 @@ To disable TCP keepalive messages, the value should be set to See also .Cm ServerAliveInterval for protocol-level keepalives. +.It Cm Tag +Specify a configuration tag name that may be later used by a +.Cm Match +directive to select a block of configuation. .It Cm Tunnel Request .Xr tun 4 From c6fad2c3d19b74f0bd0af1ef040fc74f3a1d9ebb Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Mon, 17 Jul 2023 14:56:14 +1000 Subject: [PATCH 190/232] avoid AF_LINK on platforms that don't define it --- readconf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readconf.c b/readconf.c index 5418ace8b..debb0c417 100644 --- a/readconf.c +++ b/readconf.c @@ -609,9 +609,11 @@ check_match_ifaddrs(const char *addrlist) case AF_INET6: salen = sizeof(struct sockaddr_in6); break; +#ifdef AF_LINK case AF_LINK: /* ignore */ continue; +#endif /* AF_LINK */ default: debug2_f("interface %s: unsupported address family %d", ifa->ifa_name, ifa->ifa_addr->sa_family); From 05c08e5f628de3ecf6f7ea20947735bcfa3201e0 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 17 Jul 2023 05:20:15 +0000 Subject: [PATCH 191/232] upstream: return SSH_ERR_KRL_BAD_MAGIC when a KRL doesn't contain a valid magic number and not SSH_ERR_MESSAGE_INCOMPLETE; the former is needed to fall back to text revocation lists in some cases; fixes t-cert-hostkey. OpenBSD-Commit-ID: 5c670a6c0f027e99b7774ef29f18ba088549c7e1 --- krl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/krl.c b/krl.c index c53fdd6ed..caedb4f12 100644 --- a/krl.c +++ b/krl.c @@ -14,7 +14,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $OpenBSD: krl.c,v 1.57 2023/07/17 04:01:10 djm Exp $ */ +/* $OpenBSD: krl.c,v 1.58 2023/07/17 05:20:15 djm Exp $ */ #include "includes.h" @@ -1056,7 +1056,7 @@ ssh_krl_from_blob(struct sshbuf *buf, struct ssh_krl **krlp) /* KRL must begin with magic string */ if ((r = sshbuf_cmp(buf, 0, KRL_MAGIC, sizeof(KRL_MAGIC) - 1)) != 0) { debug2_f("bad KRL magic header"); - return r; + return SSH_ERR_KRL_BAD_MAGIC; } if ((krl = ssh_krl_init()) == NULL) { From ebe11044681caff78834ca6b78311ad19c1860b8 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 17 Jul 2023 05:22:30 +0000 Subject: [PATCH 192/232] upstream: Move RCSID to before license block and away from #includes, where it caused merge conflict in -portable for each commit :( OpenBSD-Commit-ID: 756ebac963df3245258b962e88150ebab9d5fc20 --- krl.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/krl.c b/krl.c index caedb4f12..e2efdf066 100644 --- a/krl.c +++ b/krl.c @@ -1,3 +1,4 @@ +/* $OpenBSD: krl.c,v 1.59 2023/07/17 05:22:30 djm Exp $ */ /* * Copyright (c) 2012 Damien Miller * @@ -14,8 +15,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $OpenBSD: krl.c,v 1.58 2023/07/17 05:20:15 djm Exp $ */ - #include "includes.h" #include From dc1dbe94cf6532bd546a3373ad436404f8850e5f Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 17 Jul 2023 05:26:38 +0000 Subject: [PATCH 193/232] upstream: move other RCSIDs to before their respective license blocks too no code change OpenBSD-Commit-ID: ef5bf46b57726e4260a63b032b0b5ac3b4fe9cd4 --- chacha.c | 3 +-- cipher-chachapoly-libcrypto.c | 3 +-- cipher-chachapoly.c | 3 +-- poly1305.c | 3 +-- servconf.c | 3 +-- 5 files changed, 5 insertions(+), 10 deletions(-) diff --git a/chacha.c b/chacha.c index a84c25ea8..729aa03db 100644 --- a/chacha.c +++ b/chacha.c @@ -1,3 +1,4 @@ +/* $OpenBSD: chacha.c,v 1.2 2023/07/17 05:26:38 djm Exp $ */ /* chacha-merged.c version 20080118 D. J. Bernstein @@ -8,8 +9,6 @@ Public domain. #include "chacha.h" -/* $OpenBSD: chacha.c,v 1.1 2013/11/21 00:45:44 djm Exp $ */ - typedef unsigned char u8; typedef unsigned int u32; diff --git a/cipher-chachapoly-libcrypto.c b/cipher-chachapoly-libcrypto.c index 719f9c843..e8d20c288 100644 --- a/cipher-chachapoly-libcrypto.c +++ b/cipher-chachapoly-libcrypto.c @@ -1,3 +1,4 @@ +/* $OpenBSD: cipher-chachapoly-libcrypto.c,v 1.2 2023/07/17 05:26:38 djm Exp $ */ /* * Copyright (c) 2013 Damien Miller * @@ -14,8 +15,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $OpenBSD: cipher-chachapoly-libcrypto.c,v 1.1 2020/04/03 04:32:21 djm Exp $ */ - #include "includes.h" #ifdef WITH_OPENSSL #include "openbsd-compat/openssl-compat.h" diff --git a/cipher-chachapoly.c b/cipher-chachapoly.c index 716f8d426..4471fe2d2 100644 --- a/cipher-chachapoly.c +++ b/cipher-chachapoly.c @@ -1,3 +1,4 @@ +/* $OpenBSD: cipher-chachapoly.c,v 1.10 2023/07/17 05:26:38 djm Exp $ */ /* * Copyright (c) 2013 Damien Miller * @@ -14,8 +15,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $OpenBSD: cipher-chachapoly.c,v 1.9 2020/04/03 04:27:03 djm Exp $ */ - #include "includes.h" #ifdef WITH_OPENSSL #include "openbsd-compat/openssl-compat.h" diff --git a/poly1305.c b/poly1305.c index 6fd1fc8cd..de4d88770 100644 --- a/poly1305.c +++ b/poly1305.c @@ -1,10 +1,9 @@ +/* $OpenBSD: poly1305.c,v 1.4 2023/07/17 05:26:38 djm Exp $ */ /* * Public Domain poly1305 from Andrew Moon * poly1305-donna-unrolled.c from https://github.com/floodyberry/poly1305-donna */ -/* $OpenBSD: poly1305.c,v 1.3 2013/12/19 22:57:13 djm Exp $ */ - #include "includes.h" #include diff --git a/servconf.c b/servconf.c index 603a1ab4e..45a2f2c27 100644 --- a/servconf.c +++ b/servconf.c @@ -1,5 +1,4 @@ - -/* $OpenBSD: servconf.c,v 1.395 2023/06/21 05:10:26 djm Exp $ */ +/* $OpenBSD: servconf.c,v 1.396 2023/07/17 05:26:38 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved From eef4d7e873568e1c84c36bb4034e2c3378250a61 Mon Sep 17 00:00:00 2001 From: "jsg@openbsd.org" Date: Mon, 17 Jul 2023 05:36:14 +0000 Subject: [PATCH 194/232] upstream: configuation -> configuration OpenBSD-Commit-ID: 4776ced33b780f1db0b2902faec99312f26a726b --- ssh_config.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssh_config.5 b/ssh_config.5 index 0c2327e0b..ab8d1021d 100644 --- a/ssh_config.5 +++ b/ssh_config.5 @@ -33,7 +33,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh_config.5,v 1.382 2023/07/17 04:08:31 djm Exp $ +.\" $OpenBSD: ssh_config.5,v 1.383 2023/07/17 05:36:14 jsg Exp $ .Dd $Mdocdate: July 17 2023 $ .Dt SSH_CONFIG 5 .Os @@ -1899,7 +1899,7 @@ for protocol-level keepalives. .It Cm Tag Specify a configuration tag name that may be later used by a .Cm Match -directive to select a block of configuation. +directive to select a block of configuration. .It Cm Tunnel Request .Xr tun 4 From f1a9898283a0638667b587ee4a950afd61ab51b0 Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Mon, 17 Jul 2023 05:38:10 +0000 Subject: [PATCH 195/232] upstream: -P before -p in SYNOPSIS; OpenBSD-Commit-ID: 535f5257c779e26c6a662a038d241b017f8cab7c --- ssh.1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssh.1 b/ssh.1 index 4935a6ff5..0a65f57bb 100644 --- a/ssh.1 +++ b/ssh.1 @@ -33,7 +33,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh.1,v 1.435 2023/07/17 04:08:31 djm Exp $ +.\" $OpenBSD: ssh.1,v 1.436 2023/07/17 05:38:10 jmc Exp $ .Dd $Mdocdate: July 17 2023 $ .Dt SSH 1 .Os @@ -58,8 +58,8 @@ .Op Fl m Ar mac_spec .Op Fl O Ar ctl_cmd .Op Fl o Ar option -.Op Fl p Ar port .Op Fl P Ar tag +.Op Fl p Ar port .Op Fl Q Ar query_option .Op Fl R Ar address .Op Fl S Ar ctl_path From 6d6e185ba29ef4274164b77eab4dc763907f8821 Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Mon, 17 Jul 2023 05:41:53 +0000 Subject: [PATCH 196/232] upstream: - add -P to usage() - sync the arg name to -J in usage() with that in ssh.1 - reformat usage() to match what "man ssh" does on 80width OpenBSD-Commit-ID: 5235dd7aa42e5bf90ae54579d519f92fc107036e --- ssh.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ssh.c b/ssh.c index d11824263..c8fcfb2b9 100644 --- a/ssh.c +++ b/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.591 2023/07/17 04:08:31 djm Exp $ */ +/* $OpenBSD: ssh.c,v 1.592 2023/07/17 05:41:53 jmc Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -179,13 +179,13 @@ static void usage(void) { fprintf(stderr, -"usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]\n" -" [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]\n" -" [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]\n" -" [-i identity_file] [-J [user@]host[:port]] [-L address]\n" -" [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]\n" -" [-Q query_option] [-R address] [-S ctl_path] [-W host:port]\n" -" [-w local_tun[:remote_tun]] destination [command [argument ...]]\n" +"usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address]\n" +" [-c cipher_spec] [-D [bind_address:]port] [-E log_file]\n" +" [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file]\n" +" [-J destination] [-L address] [-l login_name] [-m mac_spec]\n" +" [-O ctl_cmd] [-o option] [-P tag] [-p port] [-Q query_option]\n" +" [-R address] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]\n" +" destination [command [argument ...]]\n" ); exit(255); } From b87b03282e466ca2927954ce93f5dbf0bfdc68f6 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Mon, 17 Jul 2023 06:16:33 +0000 Subject: [PATCH 197/232] upstream: missing match localnetwork negation check OpenBSD-Commit-ID: 9a08ed8dae27d3f38cf280f1b28d4e0ff41a737a --- readconf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/readconf.c b/readconf.c index debb0c417..fe61616e8 100644 --- a/readconf.c +++ b/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.379 2023/07/17 04:08:31 djm Exp $ */ +/* $OpenBSD: readconf.c,v 1.380 2023/07/17 06:16:33 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -748,6 +748,8 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw, goto out; } r = check_match_ifaddrs(arg) == 1; + if (r == (negate ? 1 : 0)) + this_result = result = 0; } else if (strcasecmp(attrib, "tagged") == 0) { criteria = xstrdup(options->tag == NULL ? "" : options->tag); From ff047504fa6e008c4092f8929881816b8993bea0 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Tue, 18 Jul 2023 15:30:45 +1000 Subject: [PATCH 198/232] conditionalise match localnetwork on ifaddrs.h Fixes build breakage on platforms that lack getifaddrs() --- readconf.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/readconf.c b/readconf.c index fe61616e8..0d50e89b1 100644 --- a/readconf.c +++ b/readconf.c @@ -588,6 +588,7 @@ execute_in_shell(const char *cmd) static int check_match_ifaddrs(const char *addrlist) { +#ifdef HAVE_IFADDRS_H struct ifaddrs *ifa, *ifaddrs = NULL; int r, found = 0; char addr[NI_MAXHOST]; @@ -635,6 +636,10 @@ check_match_ifaddrs(const char *addrlist) } freeifaddrs(ifaddrs); return found; +#else /* HAVE_IFADDRS_H */ + error("match localnetwork: not supported on this platform"); + return 0; +#endif /* HAVE_IFADDRS_H */ } /* From 750911fd31d307a767cc86e3bfa90bbbb77b1a25 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Tue, 18 Jul 2023 15:41:12 +1000 Subject: [PATCH 199/232] conditionalise stdint.h inclusion on HAVE_STDINT_H fixes build on AIX5 at least --- auth-options.c | 4 +++- misc.c | 4 +++- regress/misc/fuzz-harness/agent_fuzz.cc | 4 +++- sk-usbhid.c | 4 +++- ssh-xmss.c | 4 +++- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/auth-options.c b/auth-options.c index 785a23990..c89b1ee58 100644 --- a/auth-options.c +++ b/auth-options.c @@ -24,7 +24,9 @@ #include #include #include -#include +#ifdef HAVE_STDINT_H +# include +#endif #include #include #include diff --git a/misc.c b/misc.c index dc498bd93..e77b869be 100644 --- a/misc.c +++ b/misc.c @@ -38,7 +38,9 @@ #include #include #include -#include +#ifdef HAVE_STDINT_H +# include +#endif #include #include #include diff --git a/regress/misc/fuzz-harness/agent_fuzz.cc b/regress/misc/fuzz-harness/agent_fuzz.cc index ad85b2f9a..3013f54d5 100644 --- a/regress/misc/fuzz-harness/agent_fuzz.cc +++ b/regress/misc/fuzz-harness/agent_fuzz.cc @@ -1,7 +1,9 @@ // cc_fuzz_target test for ssh-agent. extern "C" { -#include +#ifdef HAVE_STDINT_H +# include +#endif #include extern void test_one(const uint8_t* s, size_t slen); diff --git a/sk-usbhid.c b/sk-usbhid.c index 7bb829aa7..812b28d83 100644 --- a/sk-usbhid.c +++ b/sk-usbhid.c @@ -20,7 +20,9 @@ #ifdef ENABLE_SK_INTERNAL -#include +#ifdef HAVE_STDINT_H +# include +#endif #include #include #include diff --git a/ssh-xmss.c b/ssh-xmss.c index b3aec0f72..b6d0561b1 100644 --- a/ssh-xmss.c +++ b/ssh-xmss.c @@ -25,7 +25,9 @@ #include #include #include -#include +#ifdef HAVE_STDINT_H +# include +#endif #include #include "log.h" From f3f56df8ec476b2de6cbdbdfdb77a2a61087829d Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Wed, 19 Jul 2023 12:07:18 +1000 Subject: [PATCH 200/232] agent_fuzz doesn't want stdint.h conditionalised --- regress/misc/fuzz-harness/agent_fuzz.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/regress/misc/fuzz-harness/agent_fuzz.cc b/regress/misc/fuzz-harness/agent_fuzz.cc index 3013f54d5..ad85b2f9a 100644 --- a/regress/misc/fuzz-harness/agent_fuzz.cc +++ b/regress/misc/fuzz-harness/agent_fuzz.cc @@ -1,9 +1,7 @@ // cc_fuzz_target test for ssh-agent. extern "C" { -#ifdef HAVE_STDINT_H -# include -#endif +#include #include extern void test_one(const uint8_t* s, size_t slen); From 892506b13654301f69f9545f48213fc210e5c5cc Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 19 Jul 2023 13:55:53 +0000 Subject: [PATCH 201/232] upstream: terminate process if requested to load a PKCS#11 provider that isn't a PKCS#11 provider; from / ok markus@ OpenBSD-Commit-ID: 39532cf18b115881bb4cfaee32084497aadfa05c --- ssh-pkcs11.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c index 6be647ec4..0b51e7753 100644 --- a/ssh-pkcs11.c +++ b/ssh-pkcs11.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-pkcs11.c,v 1.56 2023/03/08 05:33:53 tb Exp $ */ +/* $OpenBSD: ssh-pkcs11.c,v 1.57 2023/07/19 13:55:53 djm Exp $ */ /* * Copyright (c) 2010 Markus Friedl. All rights reserved. * Copyright (c) 2014 Pedro Martelletto. All rights reserved. @@ -1537,10 +1537,8 @@ pkcs11_register_provider(char *provider_id, char *pin, error("dlopen %s failed: %s", provider_id, dlerror()); goto fail; } - if ((getfunctionlist = dlsym(handle, "C_GetFunctionList")) == NULL) { - error("dlsym(C_GetFunctionList) failed: %s", dlerror()); - goto fail; - } + if ((getfunctionlist = dlsym(handle, "C_GetFunctionList")) == NULL) + fatal("dlsym(C_GetFunctionList) failed: %s", dlerror()); p = xcalloc(1, sizeof(*p)); p->name = xstrdup(provider_id); p->handle = handle; From 1f2731f5d7a8f8a8385c6031667ed29072c0d92a Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 19 Jul 2023 13:56:33 +0000 Subject: [PATCH 202/232] upstream: Disallow remote addition of FIDO/PKCS11 provider libraries to ssh-agent by default. The old behaviour of allowing remote clients from loading providers can be restored using `ssh-agent -O allow-remote-pkcs11`. Detection of local/remote clients requires a ssh(1) that supports the `session-bind@openssh.com` extension. Forwarding access to a ssh-agent socket using non-OpenSSH tools may circumvent this control. ok markus@ OpenBSD-Commit-ID: 4c2bdf79b214ae7e60cc8c39a45501344fa7bd7c --- ssh-agent.1 | 26 ++++++++++++++++++++++---- ssh-agent.c | 23 +++++++++++++++++++++-- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/ssh-agent.1 b/ssh-agent.1 index b0bf65da8..beb81865a 100644 --- a/ssh-agent.1 +++ b/ssh-agent.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-agent.1,v 1.75 2022/10/07 06:00:58 jmc Exp $ +.\" $OpenBSD: ssh-agent.1,v 1.76 2023/07/19 13:56:33 djm Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -34,7 +34,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: October 7 2022 $ +.Dd $Mdocdate: July 19 2023 $ .Dt SSH-AGENT 1 .Os .Sh NAME @@ -107,9 +107,27 @@ environment variable). .It Fl O Ar option Specify an option when starting .Nm . -Currently only one option is supported: +Currently two options are supported: +.Cm allow-remote-pkcs11 +and .Cm no-restrict-websafe . -This instructs +.Pp +The +.Cm allow-remote-pkcs11 +option allows clients of a forwarded +.Nm +to load PKCS#11 or FIDO provider libraries. +By default only local clients may perform this operation. +Note that signalling that a +.Nm +client remote is performed by +.Xr ssh 1 , +and use of other tools to forward access to the agent socket may circumvent +this restriction. +.Pp +The +.Cm no-restrict-websafe , +instructs .Nm to permit signatures using FIDO keys that might be web authentication requests. diff --git a/ssh-agent.c b/ssh-agent.c index 9a9749430..f52861163 100644 --- a/ssh-agent.c +++ b/ssh-agent.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-agent.c,v 1.299 2023/07/10 04:51:26 djm Exp $ */ +/* $OpenBSD: ssh-agent.c,v 1.300 2023/07/19 13:56:33 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -169,6 +169,12 @@ char socket_dir[PATH_MAX]; /* Pattern-list of allowed PKCS#11/Security key paths */ static char *allowed_providers; +/* + * Allows PKCS11 providers or SK keys that use non-internal providers to + * be added over a remote connection (identified by session-bind@openssh.com). + */ +static int remote_add_provider; + /* locking */ #define LOCK_SIZE 32 #define LOCK_SALT_SIZE 16 @@ -1228,6 +1234,12 @@ process_add_identity(SocketEntry *e) if (strcasecmp(sk_provider, "internal") == 0) { debug_f("internal provider"); } else { + if (e->nsession_ids != 0 && !remote_add_provider) { + verbose("failed add of SK provider \"%.100s\": " + "remote addition of providers is disabled", + sk_provider); + goto out; + } if (realpath(sk_provider, canonical_provider) == NULL) { verbose("failed provider \"%.100s\": " "realpath: %s", sk_provider, @@ -1391,6 +1403,11 @@ process_add_smartcard_key(SocketEntry *e) error_f("failed to parse constraints"); goto send; } + if (e->nsession_ids != 0 && !remote_add_provider) { + verbose("failed PKCS#11 add of \"%.100s\": remote addition of " + "providers is disabled", provider); + goto send; + } if (realpath(provider, canonical_provider) == NULL) { verbose("failed PKCS#11 add of \"%.100s\": realpath: %s", provider, strerror(errno)); @@ -2050,7 +2067,9 @@ main(int ac, char **av) break; case 'O': if (strcmp(optarg, "no-restrict-websafe") == 0) - restrict_websafe = 0; + restrict_websafe = 0; + else if (strcmp(optarg, "allow-remote-pkcs11") == 0) + remote_add_provider = 1; else fatal("Unknown -O option"); break; From 29ef8a04866ca14688d5b7fed7b8b9deab851f77 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 19 Jul 2023 14:02:27 +0000 Subject: [PATCH 203/232] upstream: Ensure FIDO/PKCS11 libraries contain expected symbols This checks via nlist(3) that candidate provider libraries contain one of the symbols that we will require prior to dlopen(), which can cause a number of side effects, including execution of constructors. Feedback deraadt; ok markus OpenBSD-Commit-ID: 1508a5fbd74e329e69a55b56c453c292029aefbe --- misc.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++- misc.h | 3 +- ssh-pkcs11.c | 6 +++- ssh-sk.c | 8 ++++-- 4 files changed, 89 insertions(+), 6 deletions(-) diff --git a/misc.c b/misc.c index e77b869be..253ecd5bd 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.183 2023/07/14 07:44:21 dtucker Exp $ */ +/* $OpenBSD: misc.c,v 1.184 2023/07/19 14:02:27 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -35,6 +36,9 @@ #ifdef HAVE_POLL_H #include #endif +#ifdef HAVE_NLIST_H +#include +#endif #include #include #include @@ -2920,3 +2924,75 @@ ptimeout_isset(struct timespec *pt) { return pt->tv_sec != -1; } + +/* + * Returns zero if the library at 'path' contains symbol 's', nonzero + * otherwise. + */ +int +lib_contains_symbol(const char *path, const char *s) +{ +#ifdef HAVE_NLIST_H + struct nlist nl[2]; + int ret = -1, r; + + memset(nl, 0, sizeof(nl)); + nl[0].n_name = xstrdup(s); + nl[1].n_name = NULL; + if ((r = nlist(path, nl)) == -1) { + error_f("nlist failed for %s", path); + goto out; + } + if (r != 0 || nl[0].n_value == 0 || nl[0].n_type == 0) { + error_f("library %s does not contain symbol %s", path, s); + goto out; + } + /* success */ + ret = 0; + out: + free(nl[0].n_name); + return ret; +#else /* HAVE_NLIST_H */ + int fd, ret = -1; + struct stat st; + void *m = NULL; + size_t sz = 0; + + memset(&st, 0, sizeof(st)); + if ((fd = open(path, O_RDONLY)) < 0) { + error_f("open %s: %s", path, strerror(errno)); + return -1; + } + if (fstat(fd, &st) != 0) { + error_f("fstat %s: %s", path, strerror(errno)); + goto out; + } + if (!S_ISREG(st.st_mode)) { + error_f("%s is not a regular file", path); + goto out; + } + if (st.st_size < 0 || + (size_t)st.st_size < strlen(s) || + st.st_size >= INT_MAX/2) { + error_f("%s bad size %lld", path, (long long)st.st_size); + goto out; + } + sz = (size_t)st.st_size; + if ((m = mmap(NULL, sz, PROT_READ, MAP_PRIVATE, fd, 0)) == MAP_FAILED || + m == NULL) { + error_f("mmap %s: %s", path, strerror(errno)); + goto out; + } + if (memmem(m, sz, s, strlen(s)) == NULL) { + error_f("%s does not contain expected string %s", path, s); + goto out; + } + /* success */ + ret = 0; + out: + if (m != NULL && m != MAP_FAILED) + munmap(m, sz); + close(fd); + return ret; +#endif /* HAVE_NLIST_H */ +} diff --git a/misc.h b/misc.h index 07408ca13..fd77a7fd7 100644 --- a/misc.h +++ b/misc.h @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.h,v 1.102 2023/03/03 02:37:58 dtucker Exp $ */ +/* $OpenBSD: misc.h,v 1.103 2023/07/19 14:02:27 djm Exp $ */ /* * Author: Tatu Ylonen @@ -96,6 +96,7 @@ int parse_absolute_time(const char *, uint64_t *); void format_absolute_time(uint64_t, char *, size_t); int path_absolute(const char *); int stdfd_devnull(int, int, int); +int lib_contains_symbol(const char *, const char *); void sock_set_v6only(int); diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c index 0b51e7753..8e2b9cb97 100644 --- a/ssh-pkcs11.c +++ b/ssh-pkcs11.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-pkcs11.c,v 1.57 2023/07/19 13:55:53 djm Exp $ */ +/* $OpenBSD: ssh-pkcs11.c,v 1.58 2023/07/19 14:02:27 djm Exp $ */ /* * Copyright (c) 2010 Markus Friedl. All rights reserved. * Copyright (c) 2014 Pedro Martelletto. All rights reserved. @@ -1532,6 +1532,10 @@ pkcs11_register_provider(char *provider_id, char *pin, debug_f("provider already registered: %s", provider_id); goto fail; } + if (lib_contains_symbol(provider_id, "C_GetFunctionList") != 0) { + error("provider %s is not a PKCS11 library", provider_id); + goto fail; + } /* open shared pkcs11-library */ if ((handle = dlopen(provider_id, RTLD_NOW)) == NULL) { error("dlopen %s failed: %s", provider_id, dlerror()); diff --git a/ssh-sk.c b/ssh-sk.c index fbeb39320..d1c18803f 100644 --- a/ssh-sk.c +++ b/ssh-sk.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-sk.c,v 1.39 2022/07/20 03:29:14 djm Exp $ */ +/* $OpenBSD: ssh-sk.c,v 1.40 2023/07/19 14:02:27 djm Exp $ */ /* * Copyright (c) 2019 Google LLC * @@ -133,10 +133,12 @@ sshsk_open(const char *path) goto fail; #endif } - if ((ret->dlhandle = dlopen(path, RTLD_NOW)) == NULL) { - error("Provider \"%s\" dlopen failed: %s", path, dlerror()); + if (lib_contains_symbol(path, "sk_api_version") != 0) { + error("provider %s is not an OpenSSH FIDO library", path); goto fail; } + if ((ret->dlhandle = dlopen(path, RTLD_NOW)) == NULL) + fatal("Provider \"%s\" dlopen failed: %s", path, dlerror()); if ((ret->sk_api_version = dlsym(ret->dlhandle, "sk_api_version")) == NULL) { error("Provider \"%s\" dlsym(sk_api_version) failed: %s", From 099cdf59ce1e72f55d421c8445bf6321b3004755 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 19 Jul 2023 14:03:45 +0000 Subject: [PATCH 204/232] upstream: Separate ssh-pkcs11-helpers for each p11 module Make ssh-pkcs11-client start an independent helper for each provider, providing better isolation between modules and reliability if a single module misbehaves. This also implements reference counting of PKCS#11-hosted keys, allowing ssh-pkcs11-helper subprocesses to be automatically reaped when no remaining keys reference them. This fixes some bugs we have that make PKCS11 keys unusable after they have been deleted, e.g. https://bugzilla.mindrot.org/show_bug.cgi?id=3125 ok markus@ OpenBSD-Commit-ID: 0ce188b14fe271ab0568f4500070d96c5657244e --- ssh-pkcs11-client.c | 374 +++++++++++++++++++++++++++++++++----------- 1 file changed, 283 insertions(+), 91 deletions(-) diff --git a/ssh-pkcs11-client.c b/ssh-pkcs11-client.c index cfd833d74..7db6c6c5c 100644 --- a/ssh-pkcs11-client.c +++ b/ssh-pkcs11-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-pkcs11-client.c,v 1.17 2020/10/18 11:32:02 djm Exp $ */ +/* $OpenBSD: ssh-pkcs11-client.c,v 1.18 2023/07/19 14:03:45 djm Exp $ */ /* * Copyright (c) 2010 Markus Friedl. All rights reserved. * Copyright (c) 2014 Pedro Martelletto. All rights reserved. @@ -30,12 +30,11 @@ #include #include #include +#include #include #include -#include "openbsd-compat/openssl-compat.h" - #include "pathnames.h" #include "xmalloc.h" #include "sshbuf.h" @@ -47,18 +46,140 @@ #include "ssh-pkcs11.h" #include "ssherr.h" +#include "openbsd-compat/openssl-compat.h" + /* borrows code from sftp-server and ssh-agent */ -static int fd = -1; -static pid_t pid = -1; +/* + * Maintain a list of ssh-pkcs11-helper subprocesses. These may be looked up + * by provider path or their unique EC/RSA METHOD pointers. + */ +struct helper { + char *path; + pid_t pid; + int fd; + RSA_METHOD *rsa_meth; + EC_KEY_METHOD *ec_meth; + int (*rsa_finish)(RSA *rsa); + void (*ec_finish)(EC_KEY *key); + size_t nrsa, nec; /* number of active keys of each type */ +}; +static struct helper **helpers; +static size_t nhelpers; + +static struct helper * +helper_by_provider(const char *path) +{ + size_t i; + + for (i = 0; i < nhelpers; i++) { + if (helpers[i] == NULL || helpers[i]->path == NULL || + helpers[i]->fd == -1) + continue; + if (strcmp(helpers[i]->path, path) == 0) + return helpers[i]; + } + return NULL; +} + +static struct helper * +helper_by_rsa(const RSA *rsa) +{ + size_t i; + const RSA_METHOD *meth; + + if ((meth = RSA_get_method(rsa)) == NULL) + return NULL; + for (i = 0; i < nhelpers; i++) { + if (helpers[i] != NULL && helpers[i]->rsa_meth == meth) + return helpers[i]; + } + return NULL; + +} + +static struct helper * +helper_by_ec(const EC_KEY *ec) +{ + size_t i; + const EC_KEY_METHOD *meth; + + if ((meth = EC_KEY_get_method(ec)) == NULL) + return NULL; + for (i = 0; i < nhelpers; i++) { + if (helpers[i] != NULL && helpers[i]->ec_meth == meth) + return helpers[i]; + } + return NULL; + +} static void -send_msg(struct sshbuf *m) +helper_free(struct helper *helper) +{ + size_t i; + int found = 0; + + if (helper == NULL) + return; + if (helper->path == NULL || helper->ec_meth == NULL || + helper->rsa_meth == NULL) + fatal_f("inconsistent helper"); + debug3_f("free helper for provider %s", helper->path); + for (i = 0; i < nhelpers; i++) { + if (helpers[i] == helper) { + if (found) + fatal_f("helper recorded more than once"); + found = 1; + } + else if (found) + helpers[i - 1] = helpers[i]; + } + if (found) { + helpers = xrecallocarray(helpers, nhelpers, + nhelpers - 1, sizeof(*helpers)); + nhelpers--; + } + free(helper->path); + EC_KEY_METHOD_free(helper->ec_meth); + RSA_meth_free(helper->rsa_meth); + free(helper); +} + +static void +helper_terminate(struct helper *helper) +{ + if (helper == NULL) { + return; + } else if (helper->fd == -1) { + debug3_f("already terminated"); + } else { + debug3_f("terminating helper for %s; " + "remaining %zu RSA %zu ECDSA", + helper->path, helper->nrsa, helper->nec); + close(helper->fd); + /* XXX waitpid() */ + helper->fd = -1; + helper->pid = -1; + } + /* + * Don't delete the helper entry until there are no remaining keys + * that reference it. Otherwise, any signing operation would call + * a free'd METHOD pointer and that would be bad. + */ + if (helper->nrsa == 0 && helper->nec == 0) + helper_free(helper); +} + +static void +send_msg(int fd, struct sshbuf *m) { u_char buf[4]; size_t mlen = sshbuf_len(m); int r; + if (fd == -1) + return; POKE_U32(buf, mlen); if (atomicio(vwrite, fd, buf, 4) != 4 || atomicio(vwrite, fd, sshbuf_mutable_ptr(m), @@ -69,12 +190,15 @@ send_msg(struct sshbuf *m) } static int -recv_msg(struct sshbuf *m) +recv_msg(int fd, struct sshbuf *m) { u_int l, len; u_char c, buf[1024]; int r; + sshbuf_reset(m); + if (fd == -1) + return 0; /* XXX */ if ((len = atomicio(read, fd, buf, 4)) != 4) { error("read from helper failed: %u", len); return (0); /* XXX */ @@ -83,7 +207,6 @@ recv_msg(struct sshbuf *m) if (len > 256 * 1024) fatal("response too long: %u", len); /* read len bytes into m */ - sshbuf_reset(m); while (len > 0) { l = len; if (l > sizeof(buf)) @@ -104,14 +227,17 @@ recv_msg(struct sshbuf *m) int pkcs11_init(int interactive) { - return (0); + return 0; } void pkcs11_terminate(void) { - if (fd >= 0) - close(fd); + size_t i; + + debug3_f("terminating %zu helpers", nhelpers); + for (i = 0; i < nhelpers; i++) + helper_terminate(helpers[i]); } static int @@ -122,7 +248,11 @@ rsa_encrypt(int flen, const u_char *from, u_char *to, RSA *rsa, int padding) u_char *blob = NULL, *signature = NULL; size_t blen, slen = 0; int r, ret = -1; + struct helper *helper; + if ((helper = helper_by_rsa(rsa)) == NULL || helper->fd == -1) + fatal_f("no helper for PKCS11 key"); + debug3_f("signing with PKCS11 provider %s", helper->path); if (padding != RSA_PKCS1_PADDING) goto fail; key = sshkey_new(KEY_UNSPEC); @@ -144,10 +274,10 @@ rsa_encrypt(int flen, const u_char *from, u_char *to, RSA *rsa, int padding) (r = sshbuf_put_string(msg, from, flen)) != 0 || (r = sshbuf_put_u32(msg, 0)) != 0) fatal_fr(r, "compose"); - send_msg(msg); + send_msg(helper->fd, msg); sshbuf_reset(msg); - if (recv_msg(msg) == SSH2_AGENT_SIGN_RESPONSE) { + if (recv_msg(helper->fd, msg) == SSH2_AGENT_SIGN_RESPONSE) { if ((r = sshbuf_get_string(msg, &signature, &slen)) != 0) fatal_fr(r, "parse"); if (slen <= (size_t)RSA_size(rsa)) { @@ -163,7 +293,26 @@ rsa_encrypt(int flen, const u_char *from, u_char *to, RSA *rsa, int padding) return (ret); } -#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) +static int +rsa_finish(RSA *rsa) +{ + struct helper *helper; + + if ((helper = helper_by_rsa(rsa)) == NULL) + fatal_f("no helper for PKCS11 key"); + debug3_f("free PKCS11 RSA key for provider %s", helper->path); + if (helper->rsa_finish != NULL) + helper->rsa_finish(rsa); + if (helper->nrsa == 0) + fatal_f("RSA refcount error"); + helper->nrsa--; + debug3_f("provider %s remaining keys: %zu RSA %zu ECDSA", + helper->path, helper->nrsa, helper->nec); + if (helper->nrsa == 0 && helper->nec == 0) + helper_terminate(helper); + return 1; +} + static ECDSA_SIG * ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, const BIGNUM *rp, EC_KEY *ec) @@ -175,7 +324,11 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, u_char *blob = NULL, *signature = NULL; size_t blen, slen = 0; int r, nid; + struct helper *helper; + if ((helper = helper_by_ec(ec)) == NULL || helper->fd == -1) + fatal_f("no helper for PKCS11 key"); + debug3_f("signing with PKCS11 provider %s", helper->path); nid = sshkey_ecdsa_key_to_nid(ec); if (nid < 0) { error_f("couldn't get curve nid"); @@ -203,10 +356,10 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, (r = sshbuf_put_string(msg, dgst, dgst_len)) != 0 || (r = sshbuf_put_u32(msg, 0)) != 0) fatal_fr(r, "compose"); - send_msg(msg); + send_msg(helper->fd, msg); sshbuf_reset(msg); - if (recv_msg(msg) == SSH2_AGENT_SIGN_RESPONSE) { + if (recv_msg(helper->fd, msg) == SSH2_AGENT_SIGN_RESPONSE) { if ((r = sshbuf_get_string(msg, &signature, &slen)) != 0) fatal_fr(r, "parse"); cp = signature; @@ -220,75 +373,110 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, sshbuf_free(msg); return (ret); } -#endif /* OPENSSL_HAS_ECC && HAVE_EC_KEY_METHOD_NEW */ -static RSA_METHOD *helper_rsa; -#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) -static EC_KEY_METHOD *helper_ecdsa; -#endif /* OPENSSL_HAS_ECC && HAVE_EC_KEY_METHOD_NEW */ +static void +ecdsa_do_finish(EC_KEY *ec) +{ + struct helper *helper; + + if ((helper = helper_by_ec(ec)) == NULL) + fatal_f("no helper for PKCS11 key"); + debug3_f("free PKCS11 ECDSA key for provider %s", helper->path); + if (helper->ec_finish != NULL) + helper->ec_finish(ec); + if (helper->nec == 0) + fatal_f("ECDSA refcount error"); + helper->nec--; + debug3_f("provider %s remaining keys: %zu RSA %zu ECDSA", + helper->path, helper->nrsa, helper->nec); + if (helper->nrsa == 0 && helper->nec == 0) + helper_terminate(helper); +} /* redirect private key crypto operations to the ssh-pkcs11-helper */ static void -wrap_key(struct sshkey *k) +wrap_key(struct helper *helper, struct sshkey *k) { - if (k->type == KEY_RSA) - RSA_set_method(k->rsa, helper_rsa); -#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) - else if (k->type == KEY_ECDSA) - EC_KEY_set_method(k->ecdsa, helper_ecdsa); -#endif /* OPENSSL_HAS_ECC && HAVE_EC_KEY_METHOD_NEW */ - else + debug3_f("wrap %s for provider %s", sshkey_type(k), helper->path); + if (k->type == KEY_RSA) { + RSA_set_method(k->rsa, helper->rsa_meth); + if (helper->nrsa++ >= INT_MAX) + fatal_f("RSA refcount error"); + } else if (k->type == KEY_ECDSA) { + EC_KEY_set_method(k->ecdsa, helper->ec_meth); + if (helper->nec++ >= INT_MAX) + fatal_f("EC refcount error"); + } else fatal_f("unknown key type"); + k->flags |= SSHKEY_FLAG_EXT; + debug3_f("provider %s remaining keys: %zu RSA %zu ECDSA", + helper->path, helper->nrsa, helper->nec); } static int -pkcs11_start_helper_methods(void) +pkcs11_start_helper_methods(struct helper *helper) { - if (helper_rsa != NULL) - return (0); - -#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) - int (*orig_sign)(int, const unsigned char *, int, unsigned char *, + int (*ec_init)(EC_KEY *key); + int (*ec_copy)(EC_KEY *dest, const EC_KEY *src); + int (*ec_set_group)(EC_KEY *key, const EC_GROUP *grp); + int (*ec_set_private)(EC_KEY *key, const BIGNUM *priv_key); + int (*ec_set_public)(EC_KEY *key, const EC_POINT *pub_key); + int (*ec_sign)(int, const unsigned char *, int, unsigned char *, unsigned int *, const BIGNUM *, const BIGNUM *, EC_KEY *) = NULL; - if (helper_ecdsa != NULL) - return (0); - helper_ecdsa = EC_KEY_METHOD_new(EC_KEY_OpenSSL()); - if (helper_ecdsa == NULL) - return (-1); - EC_KEY_METHOD_get_sign(helper_ecdsa, &orig_sign, NULL, NULL); - EC_KEY_METHOD_set_sign(helper_ecdsa, orig_sign, NULL, ecdsa_do_sign); -#endif /* OPENSSL_HAS_ECC && HAVE_EC_KEY_METHOD_NEW */ + RSA_METHOD *rsa_meth; + EC_KEY_METHOD *ec_meth; - if ((helper_rsa = RSA_meth_dup(RSA_get_default_method())) == NULL) + if ((ec_meth = EC_KEY_METHOD_new(EC_KEY_OpenSSL())) == NULL) + return -1; + EC_KEY_METHOD_get_sign(ec_meth, &ec_sign, NULL, NULL); + EC_KEY_METHOD_set_sign(ec_meth, ec_sign, NULL, ecdsa_do_sign); + EC_KEY_METHOD_get_init(ec_meth, &ec_init, &helper->ec_finish, + &ec_copy, &ec_set_group, &ec_set_private, &ec_set_public); + EC_KEY_METHOD_set_init(ec_meth, ec_init, ecdsa_do_finish, + ec_copy, ec_set_group, ec_set_private, ec_set_public); + + if ((rsa_meth = RSA_meth_dup(RSA_get_default_method())) == NULL) fatal_f("RSA_meth_dup failed"); - if (!RSA_meth_set1_name(helper_rsa, "ssh-pkcs11-helper") || - !RSA_meth_set_priv_enc(helper_rsa, rsa_encrypt)) + helper->rsa_finish = RSA_meth_get_finish(rsa_meth); + if (!RSA_meth_set1_name(rsa_meth, "ssh-pkcs11-helper") || + !RSA_meth_set_priv_enc(rsa_meth, rsa_encrypt) || + !RSA_meth_set_finish(rsa_meth, rsa_finish)) fatal_f("failed to prepare method"); - return (0); + helper->ec_meth = ec_meth; + helper->rsa_meth = rsa_meth; + return 0; } -static int -pkcs11_start_helper(void) +static struct helper * +pkcs11_start_helper(const char *path) { int pair[2]; - char *helper, *verbosity = NULL; - - if (log_level_get() >= SYSLOG_LEVEL_DEBUG1) - verbosity = "-vvv"; - - if (pkcs11_start_helper_methods() == -1) { - error("pkcs11_start_helper_methods failed"); - return (-1); - } + char *prog, *verbosity = NULL; + struct helper *helper; + pid_t pid; + if (nhelpers >= INT_MAX) + fatal_f("too many helpers"); + debug3_f("start helper for %s", path); if (socketpair(AF_UNIX, SOCK_STREAM, 0, pair) == -1) { - error("socketpair: %s", strerror(errno)); - return (-1); + error_f("socketpair: %s", strerror(errno)); + return NULL; + } + helper = xcalloc(1, sizeof(*helper)); + if (pkcs11_start_helper_methods(helper) == -1) { + error_f("pkcs11_start_helper_methods failed"); + goto fail; } if ((pid = fork()) == -1) { - error("fork: %s", strerror(errno)); - return (-1); + error_f("fork: %s", strerror(errno)); + fail: + close(pair[0]); + close(pair[1]); + RSA_meth_free(helper->rsa_meth); + EC_KEY_METHOD_free(helper->ec_meth); + free(helper); + return NULL; } else if (pid == 0) { if ((dup2(pair[1], STDIN_FILENO) == -1) || (dup2(pair[1], STDOUT_FILENO) == -1)) { @@ -297,18 +485,27 @@ pkcs11_start_helper(void) } close(pair[0]); close(pair[1]); - helper = getenv("SSH_PKCS11_HELPER"); - if (helper == NULL || strlen(helper) == 0) - helper = _PATH_SSH_PKCS11_HELPER; - debug_f("starting %s %s", helper, + prog = getenv("SSH_PKCS11_HELPER"); + if (prog == NULL || strlen(prog) == 0) + prog = _PATH_SSH_PKCS11_HELPER; + if (log_level_get() >= SYSLOG_LEVEL_DEBUG1) + verbosity = "-vvv"; + debug_f("starting %s %s", prog, verbosity == NULL ? "" : verbosity); - execlp(helper, helper, verbosity, (char *)NULL); - fprintf(stderr, "exec: %s: %s\n", helper, strerror(errno)); + execlp(prog, prog, verbosity, (char *)NULL); + fprintf(stderr, "exec: %s: %s\n", prog, strerror(errno)); _exit(1); } close(pair[1]); - fd = pair[0]; - return (0); + helper->fd = pair[0]; + helper->path = xstrdup(path); + helper->pid = pid; + debug3_f("helper %zu for \"%s\" on fd %d pid %ld", nhelpers, + helper->path, helper->fd, (long)helper->pid); + helpers = xrecallocarray(helpers, nhelpers, + nhelpers + 1, sizeof(*helpers)); + helpers[nhelpers++] = helper; + return helper; } int @@ -322,9 +519,11 @@ pkcs11_add_provider(char *name, char *pin, struct sshkey ***keysp, size_t blen; u_int nkeys, i; struct sshbuf *msg; + struct helper *helper; - if (fd < 0 && pkcs11_start_helper() < 0) - return (-1); + if ((helper = helper_by_provider(name)) == NULL && + (helper = pkcs11_start_helper(name)) == NULL) + return -1; if ((msg = sshbuf_new()) == NULL) fatal_f("sshbuf_new failed"); @@ -332,10 +531,10 @@ pkcs11_add_provider(char *name, char *pin, struct sshkey ***keysp, (r = sshbuf_put_cstring(msg, name)) != 0 || (r = sshbuf_put_cstring(msg, pin)) != 0) fatal_fr(r, "compose"); - send_msg(msg); + send_msg(helper->fd, msg); sshbuf_reset(msg); - type = recv_msg(msg); + type = recv_msg(helper->fd, msg); if (type == SSH2_AGENT_IDENTITIES_ANSWER) { if ((r = sshbuf_get_u32(msg, &nkeys)) != 0) fatal_fr(r, "parse nkeys"); @@ -349,7 +548,7 @@ pkcs11_add_provider(char *name, char *pin, struct sshkey ***keysp, fatal_fr(r, "parse key"); if ((r = sshkey_from_blob(blob, blen, &k)) != 0) fatal_fr(r, "decode key"); - wrap_key(k); + wrap_key(helper, k); (*keysp)[i] = k; if (labelsp) (*labelsp)[i] = label; @@ -370,22 +569,15 @@ pkcs11_add_provider(char *name, char *pin, struct sshkey ***keysp, int pkcs11_del_provider(char *name) { - int r, ret = -1; - struct sshbuf *msg; + struct helper *helper; - if ((msg = sshbuf_new()) == NULL) - fatal_f("sshbuf_new failed"); - if ((r = sshbuf_put_u8(msg, SSH_AGENTC_REMOVE_SMARTCARD_KEY)) != 0 || - (r = sshbuf_put_cstring(msg, name)) != 0 || - (r = sshbuf_put_cstring(msg, "")) != 0) - fatal_fr(r, "compose"); - send_msg(msg); - sshbuf_reset(msg); - - if (recv_msg(msg) == SSH_AGENT_SUCCESS) - ret = 0; - sshbuf_free(msg); - return (ret); + /* + * ssh-agent deletes keys before calling this, so the helper entry + * should be gone before we get here. + */ + debug3_f("delete %s", name); + if ((helper = helper_by_provider(name)) != NULL) + helper_terminate(helper); + return 0; } - #endif /* ENABLE_PKCS11 */ From 51fda734e0d3c2df256fc03e8b060c4305be6e59 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 20 Jul 2023 12:53:21 +1000 Subject: [PATCH 205/232] Bring back OPENSSL_HAS_ECC to ssh-pkcs11-client --- ssh-pkcs11-client.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/ssh-pkcs11-client.c b/ssh-pkcs11-client.c index 7db6c6c5c..d9e3b59ac 100644 --- a/ssh-pkcs11-client.c +++ b/ssh-pkcs11-client.c @@ -48,6 +48,11 @@ #include "openbsd-compat/openssl-compat.h" +#if !defined(OPENSSL_HAS_ECC) || !defined(HAVE_EC_KEY_METHOD_NEW) +#define EC_KEY_METHOD void +#define EC_KEY void +#endif + /* borrows code from sftp-server and ssh-agent */ /* @@ -101,6 +106,7 @@ helper_by_rsa(const RSA *rsa) static struct helper * helper_by_ec(const EC_KEY *ec) { +#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) size_t i; const EC_KEY_METHOD *meth; @@ -110,6 +116,7 @@ helper_by_ec(const EC_KEY *ec) if (helpers[i] != NULL && helpers[i]->ec_meth == meth) return helpers[i]; } +#endif /* defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) */ return NULL; } @@ -141,7 +148,9 @@ helper_free(struct helper *helper) nhelpers--; } free(helper->path); +#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) EC_KEY_METHOD_free(helper->ec_meth); +#endif RSA_meth_free(helper->rsa_meth); free(helper); } @@ -313,6 +322,7 @@ rsa_finish(RSA *rsa) return 1; } +#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) static ECDSA_SIG * ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv, const BIGNUM *rp, EC_KEY *ec) @@ -392,6 +402,7 @@ ecdsa_do_finish(EC_KEY *ec) if (helper->nrsa == 0 && helper->nec == 0) helper_terminate(helper); } +#endif /* defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) */ /* redirect private key crypto operations to the ssh-pkcs11-helper */ static void @@ -402,10 +413,12 @@ wrap_key(struct helper *helper, struct sshkey *k) RSA_set_method(k->rsa, helper->rsa_meth); if (helper->nrsa++ >= INT_MAX) fatal_f("RSA refcount error"); +#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) } else if (k->type == KEY_ECDSA) { EC_KEY_set_method(k->ecdsa, helper->ec_meth); if (helper->nec++ >= INT_MAX) fatal_f("EC refcount error"); +#endif } else fatal_f("unknown key type"); k->flags |= SSHKEY_FLAG_EXT; @@ -416,6 +429,9 @@ wrap_key(struct helper *helper, struct sshkey *k) static int pkcs11_start_helper_methods(struct helper *helper) { + RSA_METHOD *rsa_meth; + EC_KEY_METHOD *ec_meth = NULL; +#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) int (*ec_init)(EC_KEY *key); int (*ec_copy)(EC_KEY *dest, const EC_KEY *src); int (*ec_set_group)(EC_KEY *key, const EC_GROUP *grp); @@ -423,8 +439,6 @@ pkcs11_start_helper_methods(struct helper *helper) int (*ec_set_public)(EC_KEY *key, const EC_POINT *pub_key); int (*ec_sign)(int, const unsigned char *, int, unsigned char *, unsigned int *, const BIGNUM *, const BIGNUM *, EC_KEY *) = NULL; - RSA_METHOD *rsa_meth; - EC_KEY_METHOD *ec_meth; if ((ec_meth = EC_KEY_METHOD_new(EC_KEY_OpenSSL())) == NULL) return -1; @@ -434,6 +448,7 @@ pkcs11_start_helper_methods(struct helper *helper) &ec_copy, &ec_set_group, &ec_set_private, &ec_set_public); EC_KEY_METHOD_set_init(ec_meth, ec_init, ecdsa_do_finish, ec_copy, ec_set_group, ec_set_private, ec_set_public); +#endif /* defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) */ if ((rsa_meth = RSA_meth_dup(RSA_get_default_method())) == NULL) fatal_f("RSA_meth_dup failed"); From edc2ef4e418e514c99701451fae4428ec04ce538 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 20 Jul 2023 12:53:44 +1000 Subject: [PATCH 206/232] depend --- .depend | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.depend b/.depend index 259bf3b2f..24b2bb0b3 100644 --- a/.depend +++ b/.depend @@ -8,8 +8,11 @@ atomicio.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-comp audit-bsm.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit-linux.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h +auth-bsdauth-monitor.o: xmalloc.h sshkey.h sshbuf.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h log.h ssherr.h auth-bsdauth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h auth-krb5.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h sshkey.h misc.h servconf.h uidswap.h hostfile.h auth.h auth-pam.h audit.h loginrec.h +auth-log.o: authfile.h monitor_wrap.h channels.h +auth-log.o: xmalloc.h match.h groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h auth-options.h canohost.h packet.h dispatch.h auth-options.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssherr.h log.h sshbuf.h misc.h sshkey.h match.h ssh2.h auth-options.h auth-pam.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h auth-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h sshbuf.h ssherr.h log.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h @@ -18,16 +21,25 @@ auth-shadow.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-c auth-sia.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h auth.o: authfile.h monitor_wrap.h channels.h auth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h canohost.h uidswap.h packet.h dispatch.h +auth2-banner.o: atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h pathnames.h auth2-chall.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h misc.h servconf.h auth2-gss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h +auth2-hostbased-monitor.o: canohost.h pathnames.h match.h +auth2-hostbased-monitor.o: xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h uidswap.h auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h canohost.h auth2-hostbased.o: monitor_wrap.h pathnames.h match.h +auth2-kbdint-monitor.o: xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h log.h ssherr.h misc.h servconf.h auth2-kbdint.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h log.h ssherr.h misc.h servconf.h +auth2-methods.o: log.h ssherr.h misc.h servconf.h openbsd-compat/sys-queue.h xmalloc.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h ssh2.h monitor_wrap.h auth2-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h monitor_wrap.h misc.h servconf.h +auth2-pubkey-monitor.o: loginrec.h pathnames.h uidswap.h auth-options.h canohost.h monitor_wrap.h authfile.h match.h channels.h session.h sk-api.h +auth2-pubkey-monitor.o: xmalloc.h ssh.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h auth2-pubkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth2-pubkey.o: pathnames.h uidswap.h auth-options.h canohost.h monitor_wrap.h authfile.h match.h channels.h session.h sk-api.h auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h +auth2-userauth.o: atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h pathnames.h monitor_wrap.h +auth2-userauth.o: digest.h auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h digest.h authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h log.h ssherr.h atomicio.h misc.h authfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh.h log.h ssherr.h authfile.h misc.h atomicio.h sshkey.h sshbuf.h krl.h @@ -59,6 +71,7 @@ gss-serv.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-comp hash.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h hmac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h digest.h hmac.h hostfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h sshkey.h hostfile.h log.h ssherr.h misc.h pathnames.h digest.h hmac.h sshbuf.h +kex-names.o: kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h match.h digest.h misc.h xmalloc.h kex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h ssh2.h atomicio.h version.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h kex.o: match.h misc.h monitor.h myproposal.h sshbuf.h digest.h xmalloc.h kexc25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h ssh2.h @@ -156,6 +169,12 @@ sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-co sshconnect.o: kex.h mac.h crypto_api.h sshconnect2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h packet.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h sshconnect2.o: sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h +sshd-monitor.o: openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h auth-options.h version.h sk-api.h dh.h +sshd-monitor.o: xmalloc.h ssh.h ssh2.h sshpty.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h +sshd-unpriv-postauth.o: openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h auth-options.h version.h sk-api.h dh.h +sshd-unpriv-postauth.o: xmalloc.h ssh.h ssh2.h sshpty.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h +sshd-unpriv-preauth.o: openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h auth-options.h version.h sk-api.h dh.h +sshd-unpriv-preauth.o: xmalloc.h ssh.h ssh2.h sshpty.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h ssherr.o: ssherr.h From 5f83342b61d1f76c141de608ed2bd293990416bd Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 25 Jul 2023 13:00:22 +1000 Subject: [PATCH 207/232] Handle a couple more OpenSSL no-ecc cases. ok djm@ --- ssh-pkcs11-client.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ssh-pkcs11-client.c b/ssh-pkcs11-client.c index d9e3b59ac..061b0681e 100644 --- a/ssh-pkcs11-client.c +++ b/ssh-pkcs11-client.c @@ -103,10 +103,10 @@ helper_by_rsa(const RSA *rsa) } +#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) static struct helper * helper_by_ec(const EC_KEY *ec) { -#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) size_t i; const EC_KEY_METHOD *meth; @@ -116,10 +116,10 @@ helper_by_ec(const EC_KEY *ec) if (helpers[i] != NULL && helpers[i]->ec_meth == meth) return helpers[i]; } -#endif /* defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) */ return NULL; } +#endif /* defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) */ static void helper_free(struct helper *helper) @@ -489,7 +489,9 @@ pkcs11_start_helper(const char *path) close(pair[0]); close(pair[1]); RSA_meth_free(helper->rsa_meth); +#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW) EC_KEY_METHOD_free(helper->ec_meth); +#endif free(helper); return NULL; } else if (pid == 0) { From 135e7d5fe31f700e6dfc61ce914970c5ee7175ba Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Thu, 20 Jul 2023 05:43:39 +0000 Subject: [PATCH 208/232] upstream: tweak the allow-remote-pkcs11 text; OpenBSD-Commit-ID: bc965460a89edf76865b7279b45cf9cbdebd558a --- ssh-agent.1 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ssh-agent.1 b/ssh-agent.1 index beb81865a..0c8979498 100644 --- a/ssh-agent.1 +++ b/ssh-agent.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-agent.1,v 1.76 2023/07/19 13:56:33 djm Exp $ +.\" $OpenBSD: ssh-agent.1,v 1.77 2023/07/20 05:43:39 jmc Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -34,7 +34,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: July 19 2023 $ +.Dd $Mdocdate: July 20 2023 $ .Dt SSH-AGENT 1 .Os .Sh NAME @@ -122,12 +122,12 @@ Note that signalling that a .Nm client remote is performed by .Xr ssh 1 , -and use of other tools to forward access to the agent socket may circumvent +and use of other tools to forward access to the agent socket, may circumvent this restriction. .Pp The -.Cm no-restrict-websafe , -instructs +.Cm no-restrict-websafe +option instructs .Nm to permit signatures using FIDO keys that might be web authentication requests. From 076aeda86a7ee9be8fd2f0181ec7b9729a6ceb37 Mon Sep 17 00:00:00 2001 From: "naddy@openbsd.org" Date: Sun, 23 Jul 2023 20:04:45 +0000 Subject: [PATCH 209/232] upstream: man page typos; ok jmc@ OpenBSD-Commit-ID: e6ddfef94b0eb867ad88abe07cedc8ed581c07f0 --- ssh-agent.1 | 8 ++++---- ssh-keygen.1 | 6 +++--- ssh.1 | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ssh-agent.1 b/ssh-agent.1 index 0c8979498..327f0e196 100644 --- a/ssh-agent.1 +++ b/ssh-agent.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-agent.1,v 1.77 2023/07/20 05:43:39 jmc Exp $ +.\" $OpenBSD: ssh-agent.1,v 1.78 2023/07/23 20:04:45 naddy Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -34,7 +34,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: July 20 2023 $ +.Dd $Mdocdate: July 23 2023 $ .Dt SSH-AGENT 1 .Os .Sh NAME @@ -118,9 +118,9 @@ option allows clients of a forwarded .Nm to load PKCS#11 or FIDO provider libraries. By default only local clients may perform this operation. -Note that signalling that a +Note that signalling that an .Nm -client remote is performed by +client is remote is performed by .Xr ssh 1 , and use of other tools to forward access to the agent socket, may circumvent this restriction. diff --git a/ssh-keygen.1 b/ssh-keygen.1 index 1be082282..c760f91be 100644 --- a/ssh-keygen.1 +++ b/ssh-keygen.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keygen.1,v 1.228 2023/02/10 06:40:48 jmc Exp $ +.\" $OpenBSD: ssh-keygen.1,v 1.229 2023/07/23 20:04:45 naddy Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -35,7 +35,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: February 10 2023 $ +.Dd $Mdocdate: July 23 2023 $ .Dt SSH-KEYGEN 1 .Os .Sh NAME @@ -733,7 +733,7 @@ Successful testing of the signature is signalled by .Nm returning a zero exit status. .It Fl Y Cm sign -Cryptographically sign a file or some data using a SSH key. +Cryptographically sign a file or some data using an SSH key. When signing, .Nm accepts zero or more files to sign on the command-line - if no files diff --git a/ssh.1 b/ssh.1 index 0a65f57bb..bd8c2ff6a 100644 --- a/ssh.1 +++ b/ssh.1 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh.1,v 1.436 2023/07/17 05:38:10 jmc Exp $ -.Dd $Mdocdate: July 17 2023 $ +.\" $OpenBSD: ssh.1,v 1.437 2023/07/23 20:04:45 naddy Exp $ +.Dd $Mdocdate: July 23 2023 $ .Dt SSH 1 .Os .Sh NAME @@ -323,7 +323,7 @@ by appending to identity filenames. .Pp .It Fl J Ar destination -Connect to the target host by first making a +Connect to the target host by first making an .Nm connection to the jump host described by .Ar destination From 2d34205dab08ede9b0676efa57647fc49e6decbe Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 26 Jul 2023 23:06:00 +0000 Subject: [PATCH 210/232] upstream: make ssh -f (fork after authentication) work properly in multiplexed cases (inc. ControlPersist). bz3589 bz3589 Based on patches by Peter Chubb; ok dtucker@ OpenBSD-Commit-ID: a7a2976a54b93e6767dc846b85647e6ec26969ac --- mux.c | 16 +++++++++++----- ssh.c | 17 +++++++++++------ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/mux.c b/mux.c index 416fef8eb..66d969830 100644 --- a/mux.c +++ b/mux.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mux.c,v 1.97 2023/06/20 23:59:33 djm Exp $ */ +/* $OpenBSD: mux.c,v 1.98 2023/07/26 23:06:00 djm Exp $ */ /* * Copyright (c) 2002-2008 Damien Miller * @@ -1881,7 +1881,7 @@ mux_client_request_session(int fd) const char *term = NULL; u_int i, echar, rid, sid, esid, exitval, type, exitval_seen; extern char **environ; - int r, rawmode; + int r, rawmode = 0; debug3_f("entering"); @@ -1991,9 +1991,15 @@ mux_client_request_session(int fd) ssh_signal(SIGTERM, control_client_sighandler); ssh_signal(SIGWINCH, control_client_sigrelay); - rawmode = tty_flag; - if (tty_flag) - enter_raw_mode(options.request_tty == REQUEST_TTY_FORCE); + if (options.fork_after_authentication) + daemon(1, 1); + else { + rawmode = tty_flag; + if (tty_flag) { + enter_raw_mode( + options.request_tty == REQUEST_TTY_FORCE); + } + } /* * Stick around until the controlee closes the client_fd. diff --git a/ssh.c b/ssh.c index c8fcfb2b9..caf3c692c 100644 --- a/ssh.c +++ b/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.592 2023/07/17 05:41:53 jmc Exp $ */ +/* $OpenBSD: ssh.c,v 1.593 2023/07/26 23:06:00 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -130,10 +130,11 @@ int tty_flag = 0; * Flag indicating that the current process should be backgrounded and * a new mux-client launched in the foreground for ControlPersist. */ -int need_controlpersist_detach = 0; +static int need_controlpersist_detach = 0; /* Copies of flags for ControlPersist foreground mux-client */ -int ostdin_null_flag, osession_type, otty_flag, orequest_tty; +static int ostdin_null_flag, osession_type, otty_flag, orequest_tty; +static int ofork_after_authentication; /* * General data structure for command line options and options configurable @@ -1757,11 +1758,15 @@ control_persist_detach(void) /* Child: master process continues mainloop */ break; default: - /* Parent: set up mux client to connect to backgrounded master */ + /* + * Parent: set up mux client to connect to backgrounded + * master. + */ debug2_f("background process is %ld", (long)pid); options.stdin_null = ostdin_null_flag; options.request_tty = orequest_tty; tty_flag = otty_flag; + options.fork_after_authentication = ofork_after_authentication; options.session_type = osession_type; close(muxserver_sock); muxserver_sock = -1; @@ -2173,11 +2178,11 @@ ssh_session2(struct ssh *ssh, const struct ssh_conn_info *cinfo) osession_type = options.session_type; orequest_tty = options.request_tty; otty_flag = tty_flag; + ofork_after_authentication = options.fork_after_authentication; options.stdin_null = 1; options.session_type = SESSION_TYPE_NONE; tty_flag = 0; - if (!options.fork_after_authentication && - (osession_type != SESSION_TYPE_NONE || + if ((osession_type != SESSION_TYPE_NONE || options.stdio_forward_host != NULL)) need_controlpersist_detach = 1; options.fork_after_authentication = 1; From 36cdb5dbf55c99c0faad06066f56a7c341258c1f Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 27 Jul 2023 10:29:44 +1000 Subject: [PATCH 211/232] Retire dfly58 test VM. Add dfly64. --- .github/workflows/selfhosted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/selfhosted.yml b/.github/workflows/selfhosted.yml index d38cba520..e84db699e 100644 --- a/.github/workflows/selfhosted.yml +++ b/.github/workflows/selfhosted.yml @@ -25,9 +25,9 @@ jobs: - debian-i386 - dfly30 - dfly48 - - dfly58 - dfly60 - dfly62 + - dfly64 - fbsd10 - fbsd12 - fbsd13 From 0fa803a1dd1c7b546c166000e23a869cf6c4ec10 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 27 Jul 2023 02:25:09 +1000 Subject: [PATCH 212/232] Prefer OpenSSL's SHA256 in sk-dummy.so Previously sk-dummy.so used libc's (or compat's) SHA256 since it may be built without OpenSSL. In many cases, however, including both libc's and OpenSSL's headers together caused conflicting definitions. We tried working around this (on OpenSSL <1.1 you could define OPENSSL_NO_SHA, NetBSD had USE_LIBC_SHA2, various #define hacks) with varying levels of success. Since OpenSSL >=1.1 removed OPENSSL_NO_SHA and including most OpenSSL headers would bring sha.h in, even if it wasn't used directly this was a constant hassle. Admit defeat and use OpenSSL's SHA256 unless we aren't using OpenSSL at all. ok djm@ --- regress/misc/sk-dummy/sk-dummy.c | 39 ++++++++------------------------ 1 file changed, 9 insertions(+), 30 deletions(-) diff --git a/regress/misc/sk-dummy/sk-dummy.c b/regress/misc/sk-dummy/sk-dummy.c index 79593956d..347b21227 100644 --- a/regress/misc/sk-dummy/sk-dummy.c +++ b/regress/misc/sk-dummy/sk-dummy.c @@ -24,41 +24,11 @@ #include #include #include -#ifdef HAVE_SHA2_H -#include -#endif #include "crypto_api.h" #include "sk-api.h" -#if defined(WITH_OPENSSL) && !defined(OPENSSL_HAS_ECC) -# undef WITH_OPENSSL -#endif - #ifdef WITH_OPENSSL -/* - * We use native (or compat) SHA2, but some bits of OpenSSL conflict with - * some native sha2 implementations. SHA2 is no longer optional in OpenSSL, - * so prevent conflicts as best we can. - */ -#define USE_LIBC_SHA2 /* NetBSD 9 */ -#define SHA256_CTX openssl_SHA256_CTX -#define SHA512_CTX openssl_SHA512_CTX -#ifdef SHA1 -# undef SHA1 -#endif -#ifdef SHA224 -# undef SHA224 -#endif -#ifdef SHA256 -# undef SHA256 -#endif -#ifdef SHA384 -# undef SHA384 -#endif -#ifdef SHA512 -# undef SHA512 -#endif #include #include #include @@ -67,6 +37,15 @@ #include #include #include + +/* Use OpenSSL SHA256 instead of libc */ +#define SHA256Init(x) SHA256_Init(x) +#define SHA256Update(x, y, z) SHA256_Update(x, y, z) +#define SHA256Final(x, y) SHA256_Final(x, y) +#define SHA2_CTX SHA256_CTX + +#elif defined(HAVE_SHA2_H) +#include #endif /* WITH_OPENSSL */ /* #define SK_DEBUG 1 */ From 999a2886ca1844a7a74b905e5f2c8c701f9838cd Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 27 Jul 2023 22:23:05 +0000 Subject: [PATCH 213/232] upstream: increase default KDF work-factor for OpenSSH format private keys from 16 to 24; { feedback ok } x { deraadt markus } OpenBSD-Commit-ID: a3afb1383f8ff0a49613d449f02395d9e8d4a9ec --- sshkey.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sshkey.c b/sshkey.c index 498922093..727728536 100644 --- a/sshkey.c +++ b/sshkey.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshkey.c,v 1.136 2023/06/21 05:10:26 djm Exp $ */ +/* $OpenBSD: sshkey.c,v 1.137 2023/07/27 22:23:05 djm Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * Copyright (c) 2008 Alexander von Gernler. All rights reserved. @@ -75,7 +75,7 @@ #define AUTH_MAGIC "openssh-key-v1" #define SALT_LEN 16 #define DEFAULT_CIPHERNAME "aes256-ctr" -#define DEFAULT_ROUNDS 16 +#define DEFAULT_ROUNDS 24 /* Version identification string for SSH v1 identity files. */ #define LEGACY_BEGIN "SSH PRIVATE KEY FILE FORMAT 1.1\n" From d1ffde6b55170cd4b9a72bfd9a3f17508e6cf714 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 27 Jul 2023 22:25:17 +0000 Subject: [PATCH 214/232] upstream: make sshd_config AuthorizedPrincipalsCommand and AuthorizedKeysCommand accept the %D (routing domain) and a new %C (connection address/port 4-tuple) as expansion sequences; ok markus OpenBSD-Commit-ID: ee9a48bf1a74c4ace71b69de69cfdaa2a7388565 --- auth2-pubkey.c | 35 +++++++++++++++++++++++------------ sshd_config.5 | 12 ++++++++---- 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/auth2-pubkey.c b/auth2-pubkey.c index b4f1f6384..3f49e1df3 100644 --- a/auth2-pubkey.c +++ b/auth2-pubkey.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-pubkey.c,v 1.118 2023/02/17 04:22:50 dtucker Exp $ */ +/* $OpenBSD: auth2-pubkey.c,v 1.119 2023/07/27 22:25:17 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2010 Damien Miller. All rights reserved. @@ -340,8 +340,8 @@ match_principals_file(struct passwd *pw, char *file, * returns 1 if the principal is allowed or 0 otherwise. */ static int -match_principals_command(struct passwd *user_pw, - const struct sshkey *key, struct sshauthopt **authoptsp) +match_principals_command(struct passwd *user_pw, const struct sshkey *key, + const char *conn_id, const char *rdomain, struct sshauthopt **authoptsp) { struct passwd *runas_pw = NULL; const struct sshkey_cert *cert = key->cert; @@ -416,6 +416,8 @@ match_principals_command(struct passwd *user_pw, (unsigned long long)user_pw->pw_uid); for (i = 1; i < ac; i++) { tmp = percent_expand(av[i], + "C", conn_id, + "D", rdomain, "U", uidstr, "u", user_pw->pw_name, "h", user_pw->pw_dir, @@ -477,7 +479,7 @@ match_principals_command(struct passwd *user_pw, static int user_cert_trusted_ca(struct passwd *pw, struct sshkey *key, const char *remote_ip, const char *remote_host, - struct sshauthopt **authoptsp) + const char *conn_id, const char *rdomain, struct sshauthopt **authoptsp) { char *ca_fp, *principals_file = NULL; const char *reason; @@ -514,7 +516,7 @@ user_cert_trusted_ca(struct passwd *pw, struct sshkey *key, } /* Try querying command if specified */ if (!found_principal && match_principals_command(pw, key, - &principals_opts)) + conn_id, rdomain, &principals_opts)) found_principal = 1; /* If principals file or command is specified, then require a match */ use_authorized_principals = principals_file != NULL || @@ -613,7 +615,7 @@ user_key_allowed2(struct passwd *pw, struct sshkey *key, static int user_key_command_allowed2(struct passwd *user_pw, struct sshkey *key, const char *remote_ip, const char *remote_host, - struct sshauthopt **authoptsp) + const char *conn_id, const char *rdomain, struct sshauthopt **authoptsp) { struct passwd *runas_pw = NULL; FILE *f = NULL; @@ -675,6 +677,8 @@ user_key_command_allowed2(struct passwd *user_pw, struct sshkey *key, (unsigned long long)user_pw->pw_uid); for (i = 1; i < ac; i++) { tmp = percent_expand(av[i], + "C", conn_id, + "D", rdomain, "U", uidstr, "u", user_pw->pw_name, "h", user_pw->pw_dir, @@ -749,11 +753,9 @@ user_key_allowed(struct ssh *ssh, struct passwd *pw, struct sshkey *key, int auth_attempt, struct sshauthopt **authoptsp) { u_int success = 0, i; - char *file; + char *file, *conn_id; struct sshauthopt *opts = NULL; - const char *remote_ip = ssh_remote_ipaddr(ssh); - const char *remote_host = auth_get_canonical_hostname(ssh, - options.use_dns); + const char *rdomain, *remote_ip, *remote_host; if (authoptsp != NULL) *authoptsp = NULL; @@ -764,6 +766,14 @@ user_key_allowed(struct ssh *ssh, struct passwd *pw, struct sshkey *key, auth_key_is_revoked(key->cert->signature_key)) return 0; + if ((rdomain = ssh_packet_rdomain_in(ssh)) == NULL) + rdomain = ""; + remote_ip = ssh_remote_ipaddr(ssh); + remote_host = auth_get_canonical_hostname(ssh, options.use_dns); + xasprintf(&conn_id, "%s %d %s %d", + ssh_local_ipaddr(ssh), ssh_local_port(ssh), + remote_ip, ssh_remote_port(ssh)); + for (i = 0; !success && i < options.num_authkeys_files; i++) { if (strcasecmp(options.authorized_keys_files[i], "none") == 0) continue; @@ -781,18 +791,19 @@ user_key_allowed(struct ssh *ssh, struct passwd *pw, struct sshkey *key, goto out; if ((success = user_cert_trusted_ca(pw, key, remote_ip, remote_host, - &opts)) != 0) + conn_id, rdomain, &opts)) != 0) goto out; sshauthopt_free(opts); opts = NULL; if ((success = user_key_command_allowed2(pw, key, remote_ip, - remote_host, &opts)) != 0) + remote_host, conn_id, rdomain, &opts)) != 0) goto out; sshauthopt_free(opts); opts = NULL; out: + free(conn_id); if (success && authoptsp != NULL) { *authoptsp = opts; opts = NULL; diff --git a/sshd_config.5 b/sshd_config.5 index 9a1578f75..b5b772459 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.348 2023/03/03 04:36:20 djm Exp $ -.Dd $Mdocdate: March 3 2023 $ +.\" $OpenBSD: sshd_config.5,v 1.349 2023/07/27 22:25:17 djm Exp $ +.Dd $Mdocdate: July 27 2023 $ .Dt SSHD_CONFIG 5 .Os .Sh NAME @@ -2021,6 +2021,10 @@ which are expanded at runtime: .It %% A literal .Sq % . +.It %C +Identifies the connection endpoints, containing +four space-separated values: client address, client port number, +server address, and server port number. .It \&%D The routing domain in which the incoming connection was received. .It %F @@ -2048,13 +2052,13 @@ The username. .El .Pp .Cm AuthorizedKeysCommand -accepts the tokens %%, %f, %h, %k, %t, %U, and %u. +accepts the tokens %%, %C, %D, %f, %h, %k, %t, %U, and %u. .Pp .Cm AuthorizedKeysFile accepts the tokens %%, %h, %U, and %u. .Pp .Cm AuthorizedPrincipalsCommand -accepts the tokens %%, %F, %f, %h, %i, %K, %k, %s, %T, %t, %U, and %u. +accepts the tokens %%, %C, %D, %F, %f, %h, %i, %K, %k, %s, %T, %t, %U, and %u. .Pp .Cm AuthorizedPrincipalsFile accepts the tokens %%, %h, %U, and %u. From 6958f00acf3b9e0b3730f7287e69996bcf3ceda4 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 27 Jul 2023 22:26:49 +0000 Subject: [PATCH 215/232] upstream: don't incorrectly truncate logged strings retrieved from PKCS#11 modules; based on GHPR406 by Jakub Jelen; ok markus OpenBSD-Commit-ID: 7ed1082f23a13b38c373008f856fd301d50012f9 --- ssh-pkcs11.c | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c index 8e2b9cb97..35e98be72 100644 --- a/ssh-pkcs11.c +++ b/ssh-pkcs11.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-pkcs11.c,v 1.58 2023/07/19 14:02:27 djm Exp $ */ +/* $OpenBSD: ssh-pkcs11.c,v 1.59 2023/07/27 22:26:49 djm Exp $ */ /* * Copyright (c) 2010 Markus Friedl. All rights reserved. * Copyright (c) 2014 Pedro Martelletto. All rights reserved. @@ -623,19 +623,22 @@ pkcs11_ecdsa_wrap(struct pkcs11_provider *provider, CK_ULONG slotidx, #endif /* OPENSSL_HAS_ECC && HAVE_EC_KEY_METHOD_NEW */ /* remove trailing spaces */ -static void +static char * rmspace(u_char *buf, size_t len) { size_t i; - if (!len) - return; - for (i = len - 1; i > 0; i--) - if (i == len - 1 || buf[i] == ' ') + if (len == 0) + return buf; + for (i = len - 1; i > 0; i--) + if (buf[i] == ' ') buf[i] = '\0'; else break; + return buf; } +/* Used to printf fixed-width, space-padded, unterminated strings using %.*s */ +#define RMSPACE(s) (int)sizeof(s), rmspace(s, sizeof(s)) /* * open a pkcs11 session and login if required. @@ -1564,15 +1567,13 @@ pkcs11_register_provider(char *provider_id, char *pin, provider_id, rv); goto fail; } - rmspace(p->info.manufacturerID, sizeof(p->info.manufacturerID)); - rmspace(p->info.libraryDescription, sizeof(p->info.libraryDescription)); - debug("provider %s: manufacturerID <%s> cryptokiVersion %d.%d" - " libraryDescription <%s> libraryVersion %d.%d", + debug("provider %s: manufacturerID <%.*s> cryptokiVersion %d.%d" + " libraryDescription <%.*s> libraryVersion %d.%d", provider_id, - p->info.manufacturerID, + RMSPACE(p->info.manufacturerID), p->info.cryptokiVersion.major, p->info.cryptokiVersion.minor, - p->info.libraryDescription, + RMSPACE(p->info.libraryDescription), p->info.libraryVersion.major, p->info.libraryVersion.minor); if ((rv = f->C_GetSlotList(CK_TRUE, NULL, &p->nslots)) != CKR_OK) { @@ -1607,15 +1608,13 @@ pkcs11_register_provider(char *provider_id, char *pin, "provider %s slot %lu", provider_id, (u_long)i); continue; } - rmspace(token->label, sizeof(token->label)); - rmspace(token->manufacturerID, sizeof(token->manufacturerID)); - rmspace(token->model, sizeof(token->model)); - rmspace(token->serialNumber, sizeof(token->serialNumber)); - debug("provider %s slot %lu: label <%s> manufacturerID <%s> " - "model <%s> serial <%s> flags 0x%lx", + debug("provider %s slot %lu: label <%.*s> " + "manufacturerID <%.*s> model <%.*s> serial <%.*s> " + "flags 0x%lx", provider_id, (unsigned long)i, - token->label, token->manufacturerID, token->model, - token->serialNumber, token->flags); + RMSPACE(token->label), RMSPACE(token->manufacturerID), + RMSPACE(token->model), RMSPACE(token->serialNumber), + token->flags); /* * open session, login with pin and retrieve public * keys (if keyp is provided) From e43f43d3f19516222e9a143468ea0dc1b3ab67b6 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 12 May 2023 06:36:27 +0000 Subject: [PATCH 216/232] upstream: better error messages OpenBSD-Regress-ID: 55e4186604e80259496d841e690ea2090981bc7a --- regress/forcecommand.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/regress/forcecommand.sh b/regress/forcecommand.sh index e059f1fdb..e756600a6 100644 --- a/regress/forcecommand.sh +++ b/regress/forcecommand.sh @@ -1,4 +1,4 @@ -# $OpenBSD: forcecommand.sh,v 1.4 2017/04/30 23:34:55 djm Exp $ +# $OpenBSD: forcecommand.sh,v 1.5 2023/05/12 06:36:27 djm Exp $ # Placed in the Public Domain. tid="forced command" @@ -12,7 +12,7 @@ for t in ${SSH_KEYTYPES}; do done trace "forced command in key option" -${SSH} -F $OBJ/ssh_proxy somehost false || fail "forced command in key" +${SSH} -F $OBJ/ssh_proxy somehost false || fail "forced command in key option" cp /dev/null $OBJ/authorized_keys_$USER for t in ${SSH_KEYTYPES}; do @@ -24,7 +24,7 @@ cp $OBJ/sshd_proxy_bak $OBJ/sshd_proxy echo "ForceCommand true" >> $OBJ/sshd_proxy trace "forced command in sshd_config overrides key option" -${SSH} -F $OBJ/ssh_proxy somehost false || fail "forced command in key" +${SSH} -F $OBJ/ssh_proxy somehost false || fail "forced command config" cp $OBJ/sshd_proxy_bak $OBJ/sshd_proxy echo "ForceCommand false" >> $OBJ/sshd_proxy @@ -32,4 +32,4 @@ echo "Match User $USER" >> $OBJ/sshd_proxy echo " ForceCommand true" >> $OBJ/sshd_proxy trace "forced command with match" -${SSH} -F $OBJ/ssh_proxy somehost false || fail "forced command in key" +${SSH} -F $OBJ/ssh_proxy somehost false || fail "forced command match" From 8eb8899d612440a9b608bee7f916081d3d0b7812 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 12 May 2023 06:37:42 +0000 Subject: [PATCH 217/232] upstream: test ChrootDirectory in Match block OpenBSD-Regress-ID: a6150262f39065939f025e546af2a346ffe674c1 --- regress/sftp-chroot.sh | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/regress/sftp-chroot.sh b/regress/sftp-chroot.sh index a7766fe63..8a3014894 100644 --- a/regress/sftp-chroot.sh +++ b/regress/sftp-chroot.sh @@ -1,4 +1,4 @@ -# $OpenBSD: sftp-chroot.sh,v 1.8 2021/09/01 00:50:27 dtucker Exp $ +# $OpenBSD: sftp-chroot.sh,v 1.9 2023/05/12 06:37:42 djm Exp $ # Placed in the Public Domain. tid="sftp in chroot" @@ -19,10 +19,29 @@ fi $SUDO sh -c "echo mekmitastdigoat > $PRIVDATA" || \ fatal "create $PRIVDATA failed" -start_sshd -oChrootDirectory=$CHROOT -oForceCommand="internal-sftp -d /" +echo "ForceCommand internal-sftp -d /" >> $OBJ/sshd_config + +start_sshd -oChrootDirectory=$CHROOT verbose "test $tid: get" ${SFTP} -S "$SSH" -F $OBJ/ssh_config host:/${FILENAME} $COPY \ >>$TEST_REGRESS_LOGFILE 2>&1 || \ fatal "Fetch ${FILENAME} failed" cmp $PRIVDATA $COPY || fail "$PRIVDATA $COPY differ" + +stop_sshd + +verbose "test $tid: match" +cat << EOF >> $OBJ/sshd_config +Match All + ChrootDirectory $CHROOT +EOF +start_sshd +$SUDO sh -c "echo orpheanbeholder > $PRIVDATA" || \ + fatal "create $PRIVDATA failed" +${SFTP} -S "$SSH" -F $OBJ/ssh_config host:/${FILENAME} $COPY \ + >>$TEST_REGRESS_LOGFILE 2>&1 || \ + fatal "Fetch ${FILENAME} failed" +cmp $PRIVDATA $COPY || fail "$PRIVDATA $COPY differ" + +stop_sshd From f446a44f30bc680e0d026a4204844b02646c1c2d Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 17 May 2023 05:52:01 +0000 Subject: [PATCH 218/232] upstream: add LTESTS_FROM variable to allow skipping of tests up to a specific point. e.g. "make LTESTS_FROM=t-sftp" will only run the sftp.sh test and subsequent ones. ok dtucker@ OpenBSD-Regress-ID: 07f653de731def074b29293db946042706fcead3 --- regress/Makefile | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/regress/Makefile b/regress/Makefile index d80bf59fa..5caf9b8e4 100644 --- a/regress/Makefile +++ b/regress/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.124 2023/03/01 09:29:32 dtucker Exp $ +# $OpenBSD: Makefile,v 1.125 2023/05/17 05:52:01 djm Exp $ tests: prep file-tests t-exec unit @@ -222,7 +222,15 @@ t12: $(OBJ)/t12.out t-exec: ${LTESTS:=.sh} @if [ "x$?" = "x" ]; then exit 0; fi; \ + _started=""; test -z "${LTESTS_FROM}" && _started=1 ;\ for TEST in ""$?; do \ + if [ -z "$$_started" ] ; then \ + if [ "x$$TEST" = "x${LTESTS_FROM}.sh" ]; then \ + _started=1; \ + else \ + continue; \ + fi ; \ + fi ; \ skip=no; \ for t in ""$${SKIP_LTESTS}; do \ if [ "x$${t}.sh" = "x$${TEST}" ]; then skip=yes; fi; \ From e0f91aa9c2fbfc951e9ced7e1305455fc614d3f2 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 28 Jul 2023 05:33:15 +0000 Subject: [PATCH 219/232] upstream: don't need to start a command here; use ssh -N instead. Fixes failure on cygwin spotted by Darren OpenBSD-Regress-ID: ff678a8cc69160a3b862733d935ec4a383f93cfb --- regress/forward-control.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/regress/forward-control.sh b/regress/forward-control.sh index 63bbdebe5..de957fcc8 100644 --- a/regress/forward-control.sh +++ b/regress/forward-control.sh @@ -1,4 +1,4 @@ -# $OpenBSD: forward-control.sh,v 1.11 2022/04/21 01:36:46 dtucker Exp $ +# $OpenBSD: forward-control.sh,v 1.12 2023/07/28 05:33:15 djm Exp $ # Placed in the Public Domain. tid="sshd control of local and remote forwarding" @@ -36,7 +36,7 @@ check_lfwd() { -L$LFWD_PORT:127.0.0.1:$PORT \ -o ExitOnForwardFailure=yes \ -MS $CTL -o ControlPersist=yes \ - -f host true + -Nf host mux_cmd check >/dev/null || fatal "check_lfwd ssh fail: $_message" ${SSH} -F $OBJ/ssh_config -p $LFWD_PORT \ -oConnectionAttempts=10 host true >/dev/null 2>&1 @@ -63,7 +63,7 @@ check_rfwd() { -R127.0.0.1:$RFWD_PORT:127.0.0.1:$PORT \ -o ExitOnForwardFailure=yes \ -MS $CTL -o ControlPersist=yes \ - -f host true + -Nf host mux_cmd check >/dev/null _result=$? _sshpid=`controlmaster_pid` From 77b8b865cd5a8c79a47605c0c5b2bacf4692c4d5 Mon Sep 17 00:00:00 2001 From: "jmc@openbsd.org" Date: Fri, 28 Jul 2023 05:42:36 +0000 Subject: [PATCH 220/232] upstream: %C is a callable macro in mdoc(7) so, as we do for %D, escape it; OpenBSD-Commit-ID: 538cfcddbbb59dc3a8739604319491dcb8e0c0c9 --- sshd_config.5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sshd_config.5 b/sshd_config.5 index b5b772459..7e1a56cd0 100644 --- a/sshd_config.5 +++ b/sshd_config.5 @@ -33,8 +33,8 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: sshd_config.5,v 1.349 2023/07/27 22:25:17 djm Exp $ -.Dd $Mdocdate: July 27 2023 $ +.\" $OpenBSD: sshd_config.5,v 1.350 2023/07/28 05:42:36 jmc Exp $ +.Dd $Mdocdate: July 28 2023 $ .Dt SSHD_CONFIG 5 .Os .Sh NAME @@ -2021,7 +2021,7 @@ which are expanded at runtime: .It %% A literal .Sq % . -.It %C +.It \&%C Identifies the connection endpoints, containing four space-separated values: client address, client port number, server address, and server port number. From c88a8788f9865d02b986d00405b9f0be65ad0b5a Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Tue, 1 Aug 2023 08:15:04 +0000 Subject: [PATCH 221/232] upstream: remove unnecessary if statement. github PR#422 from eyalasulin999, ok djm@ OpenBSD-Commit-ID: 2b6b0dde4407e039f58f86c8d2ff584a8205ea55 --- sshconnect2.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/sshconnect2.c b/sshconnect2.c index bc05f0214..90cbba682 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect2.c,v 1.366 2023/03/09 07:11:05 dtucker Exp $ */ +/* $OpenBSD: sshconnect2.c,v 1.367 2023/08/01 08:15:04 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2008 Damien Miller. All rights reserved. @@ -1868,12 +1868,10 @@ userauth_pubkey(struct ssh *ssh) * private key instead */ if (id->key != NULL) { - if (id->key != NULL) { - ident = format_identity(id); - debug("Offering public key: %s", ident); - free(ident); - sent = send_pubkey_test(ssh, id); - } + ident = format_identity(id); + debug("Offering public key: %s", ident); + free(ident); + sent = send_pubkey_test(ssh, id); } else { debug("Trying private key: %s", id->filename); id->key = load_identity_file(id); From f70010d9b0b3e7e95de8aa0b961e1d74362cfb5d Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 2 Aug 2023 23:04:38 +0000 Subject: [PATCH 222/232] upstream: CheckHostIP has defaulted to 'no' for a while; make the commented- out config option match. From Ed Maste OpenBSD-Commit-ID: e66e934c45a9077cb1d51fc4f8d3df4505db58d9 --- ssh_config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssh_config b/ssh_config index 842ea866c..cc5663562 100644 --- a/ssh_config +++ b/ssh_config @@ -1,4 +1,4 @@ -# $OpenBSD: ssh_config,v 1.35 2020/07/17 03:43:42 dtucker Exp $ +# $OpenBSD: ssh_config,v 1.36 2023/08/02 23:04:38 djm Exp $ # This is the ssh client system-wide configuration file. See # ssh_config(5) for more information. This file provides defaults for @@ -25,7 +25,7 @@ # GSSAPIAuthentication no # GSSAPIDelegateCredentials no # BatchMode no -# CheckHostIP yes +# CheckHostIP no # AddressFamily any # ConnectTimeout 0 # StrictHostKeyChecking ask From 9d92e7b24848fcc605945f7c2e3460c7c31832ce Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Thu, 3 Aug 2023 19:35:33 +1000 Subject: [PATCH 223/232] Fix RNG seeding for OpenSSL w/out self seeding. When sshd is built with an OpenSSL that does not self-seed, it would fail in the preauth privsep process while handling a new connection. Sanity checked by djm@ --- openbsd-compat/bsd-getentropy.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/openbsd-compat/bsd-getentropy.c b/openbsd-compat/bsd-getentropy.c index 0231e066c..fc1b4ac42 100644 --- a/openbsd-compat/bsd-getentropy.c +++ b/openbsd-compat/bsd-getentropy.c @@ -41,7 +41,7 @@ int _ssh_compat_getentropy(void *s, size_t len) { -#ifdef WITH_OPENSSL +#if defined(WITH_OPENSSL) && defined(OPENSSL_PRNG_ONLY) if (RAND_bytes(s, len) <= 0) fatal("Couldn't obtain random bytes (error 0x%lx)", (unsigned long)ERR_get_error()); @@ -50,6 +50,10 @@ _ssh_compat_getentropy(void *s, size_t len) ssize_t r; size_t o = 0; +#ifdef WITH_OPENSSL + if (RAND_bytes(s, len) == 1) + return 0; +#endif #ifdef HAVE_GETENTROPY if ((r = getentropy(s, len)) == 0) return 0; From e535fbe2af893046c28adfcd787c1fdbae36a24a Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Fri, 4 Aug 2023 06:32:40 +0000 Subject: [PATCH 224/232] upstream: Apply ConnectTimeout to multiplexing local socket connections. If the multiplex socket exists but the connection times out, ssh will fall back to a direct connection the same way it would if the socket did not exist at all. ok djm@ OpenBSD-Commit-ID: 2fbe1a36d4a24b98531b2d298a6557c8285dc1b4 --- misc.c | 9 +++++---- mux.c | 35 ++++++++++++++++++++++------------- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/misc.c b/misc.c index 253ecd5bd..4b87c4090 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.184 2023/07/19 14:02:27 djm Exp $ */ +/* $OpenBSD: misc.c,v 1.185 2023/08/04 06:32:40 dtucker Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -317,15 +317,16 @@ waitfd(int fd, int *timeoutp, short events) { struct pollfd pfd; struct timeval t_start; - int oerrno, r; + int oerrno, r, have_timeout = (*timeoutp >= 0); pfd.fd = fd; pfd.events = events; - for (; *timeoutp >= 0;) { + for (; !have_timeout || *timeoutp >= 0;) { monotime_tv(&t_start); r = poll(&pfd, 1, *timeoutp); oerrno = errno; - ms_subtract_diff(&t_start, timeoutp); + if (have_timeout) + ms_subtract_diff(&t_start, timeoutp); errno = oerrno; if (r > 0) return 0; diff --git a/mux.c b/mux.c index 66d969830..3a0f87674 100644 --- a/mux.c +++ b/mux.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mux.c,v 1.98 2023/07/26 23:06:00 djm Exp $ */ +/* $OpenBSD: mux.c,v 1.99 2023/08/04 06:32:40 dtucker Exp $ */ /* * Copyright (c) 2002-2008 Damien Miller * @@ -68,6 +68,7 @@ #include "readconf.h" #include "clientloop.h" #include "ssherr.h" +#include "misc.h" /* from ssh.c */ extern int tty_flag; @@ -1458,16 +1459,13 @@ control_client_sigrelay(int signo) } static int -mux_client_read(int fd, struct sshbuf *b, size_t need) +mux_client_read(int fd, struct sshbuf *b, size_t need, int timeout_ms) { size_t have; ssize_t len; u_char *p; - struct pollfd pfd; int r; - pfd.fd = fd; - pfd.events = POLLIN; if ((r = sshbuf_reserve(b, need, &p)) != 0) fatal_fr(r, "reserve"); for (have = 0; have < need; ) { @@ -1482,7 +1480,8 @@ mux_client_read(int fd, struct sshbuf *b, size_t need) case EWOULDBLOCK: #endif case EAGAIN: - (void)poll(&pfd, 1, -1); + if (waitrfd(fd, &timeout_ms) == -1) + return -1; /* timeout */ /* FALLTHROUGH */ case EINTR: continue; @@ -1554,7 +1553,7 @@ mux_client_write_packet(int fd, struct sshbuf *m) } static int -mux_client_read_packet(int fd, struct sshbuf *m) +mux_client_read_packet_timeout(int fd, struct sshbuf *m, int timeout_ms) { struct sshbuf *queue; size_t need, have; @@ -1563,7 +1562,7 @@ mux_client_read_packet(int fd, struct sshbuf *m) if ((queue = sshbuf_new()) == NULL) fatal_f("sshbuf_new"); - if (mux_client_read(fd, queue, 4) != 0) { + if (mux_client_read(fd, queue, 4, timeout_ms) != 0) { if ((oerrno = errno) == EPIPE) debug3_f("read header failed: %s", strerror(errno)); @@ -1572,7 +1571,7 @@ mux_client_read_packet(int fd, struct sshbuf *m) return -1; } need = PEEK_U32(sshbuf_ptr(queue)); - if (mux_client_read(fd, queue, need) != 0) { + if (mux_client_read(fd, queue, need, timeout_ms) != 0) { oerrno = errno; debug3_f("read body failed: %s", strerror(errno)); sshbuf_free(queue); @@ -1587,7 +1586,13 @@ mux_client_read_packet(int fd, struct sshbuf *m) } static int -mux_client_hello_exchange(int fd) +mux_client_read_packet(int fd, struct sshbuf *m) +{ + return mux_client_read_packet_timeout(fd, m, -1); +} + +static int +mux_client_hello_exchange(int fd, int timeout_ms) { struct sshbuf *m; u_int type, ver; @@ -1608,7 +1613,7 @@ mux_client_hello_exchange(int fd) sshbuf_reset(m); /* Read their HELLO */ - if (mux_client_read_packet(fd, m) != 0) { + if (mux_client_read_packet_timeout(fd, m, timeout_ms) != 0) { debug_f("read packet failed"); goto out; } @@ -2258,7 +2263,7 @@ int muxclient(const char *path) { struct sockaddr_un addr; - int sock; + int sock, timeout = options.connection_timeout, timeout_ms = -1; u_int pid; if (muxclient_command == 0) { @@ -2314,7 +2319,11 @@ muxclient(const char *path) } set_nonblock(sock); - if (mux_client_hello_exchange(sock) != 0) { + /* Timeout on initial connection only. */ + if (timeout > 0 && timeout < INT_MAX / 1000) + timeout_ms = timeout * 1000; + + if (mux_client_hello_exchange(sock, timeout_ms) != 0) { error_f("master hello exchange failed"); close(sock); return -1; From 3961ed02dc578517a9d2535128cff5c3a5460d28 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 10 Aug 2023 09:08:49 +1000 Subject: [PATCH 225/232] wrap poll.h include in HAVE_POLL_H --- regress/unittests/misc/test_ptimeout.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/regress/unittests/misc/test_ptimeout.c b/regress/unittests/misc/test_ptimeout.c index 284f0a1ee..cc58ee854 100644 --- a/regress/unittests/misc/test_ptimeout.c +++ b/regress/unittests/misc/test_ptimeout.c @@ -14,7 +14,9 @@ #endif #include #include -#include +#ifdef HAVE_POLL_H +# include +#endif #include #include "../test_helper/test_helper.h" From e797e5ffa74377c8696e3b0559a258d836479239 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Thu, 10 Aug 2023 01:01:07 +0000 Subject: [PATCH 226/232] upstream: openssh-9.4 OpenBSD-Commit-ID: 71fc1e01a4c4ea061b252bd399cda7be757e6e35 --- version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.h b/version.h index 69e76e634..e5b1e719d 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ -/* $OpenBSD: version.h,v 1.97 2023/03/15 21:19:57 djm Exp $ */ +/* $OpenBSD: version.h,v 1.98 2023/08/10 01:01:07 djm Exp $ */ -#define SSH_VERSION "OpenSSH_9.3" +#define SSH_VERSION "OpenSSH_9.4" #define SSH_PORTABLE "p1" #define SSH_RELEASE SSH_VERSION SSH_PORTABLE From e598b92b1eecedac21667edf1fe92078eaf8f2b1 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 10 Aug 2023 11:05:14 +1000 Subject: [PATCH 227/232] update version in README --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index 796101c7a..e44e44ced 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -See https://www.openssh.com/releasenotes.html#9.3p1 for the release +See https://www.openssh.com/releasenotes.html#9.4p1 for the release notes. Please read https://www.openssh.com/report.html for bug reporting From 41bfb63f5101fbacde9d8d2ada863f9ee16df194 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 10 Aug 2023 11:05:42 +1000 Subject: [PATCH 228/232] update versions in RPM specs --- contrib/redhat/openssh.spec | 2 +- contrib/suse/openssh.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/redhat/openssh.spec b/contrib/redhat/openssh.spec index a665aa20b..7d6fe3cfd 100644 --- a/contrib/redhat/openssh.spec +++ b/contrib/redhat/openssh.spec @@ -1,4 +1,4 @@ -%global ver 9.3p1 +%global ver 9.4p1 %global rel 1%{?dist} # OpenSSH privilege separation requires a user & group ID diff --git a/contrib/suse/openssh.spec b/contrib/suse/openssh.spec index 406b7c0b8..777362766 100644 --- a/contrib/suse/openssh.spec +++ b/contrib/suse/openssh.spec @@ -13,7 +13,7 @@ Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation Name: openssh -Version: 9.3p1 +Version: 9.4p1 URL: https://www.openssh.com/ Release: 1 Source0: openssh-%{version}.tar.gz From daa5b2d869ee5a16f3ef9035aa0ad3c70cf4028e Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Thu, 10 Aug 2023 11:10:22 +1000 Subject: [PATCH 229/232] depend --- .depend | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/.depend b/.depend index 24b2bb0b3..259bf3b2f 100644 --- a/.depend +++ b/.depend @@ -8,11 +8,8 @@ atomicio.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-comp audit-bsm.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit-linux.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -auth-bsdauth-monitor.o: xmalloc.h sshkey.h sshbuf.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h log.h ssherr.h auth-bsdauth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h auth-krb5.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h sshkey.h misc.h servconf.h uidswap.h hostfile.h auth.h auth-pam.h audit.h loginrec.h -auth-log.o: authfile.h monitor_wrap.h channels.h -auth-log.o: xmalloc.h match.h groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h auth-options.h canohost.h packet.h dispatch.h auth-options.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssherr.h log.h sshbuf.h misc.h sshkey.h match.h ssh2.h auth-options.h auth-pam.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h auth-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h sshbuf.h ssherr.h log.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h @@ -21,25 +18,16 @@ auth-shadow.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-c auth-sia.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h auth.o: authfile.h monitor_wrap.h channels.h auth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h canohost.h uidswap.h packet.h dispatch.h -auth2-banner.o: atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h pathnames.h auth2-chall.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h misc.h servconf.h auth2-gss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -auth2-hostbased-monitor.o: canohost.h pathnames.h match.h -auth2-hostbased-monitor.o: xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h uidswap.h auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h canohost.h auth2-hostbased.o: monitor_wrap.h pathnames.h match.h -auth2-kbdint-monitor.o: xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h log.h ssherr.h misc.h servconf.h auth2-kbdint.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h log.h ssherr.h misc.h servconf.h -auth2-methods.o: log.h ssherr.h misc.h servconf.h openbsd-compat/sys-queue.h xmalloc.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h ssh2.h monitor_wrap.h auth2-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h monitor_wrap.h misc.h servconf.h -auth2-pubkey-monitor.o: loginrec.h pathnames.h uidswap.h auth-options.h canohost.h monitor_wrap.h authfile.h match.h channels.h session.h sk-api.h -auth2-pubkey-monitor.o: xmalloc.h ssh.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h auth2-pubkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth2-pubkey.o: pathnames.h uidswap.h auth-options.h canohost.h monitor_wrap.h authfile.h match.h channels.h session.h sk-api.h auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h -auth2-userauth.o: atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h audit.h loginrec.h pathnames.h monitor_wrap.h -auth2-userauth.o: digest.h auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h digest.h authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h log.h ssherr.h atomicio.h misc.h authfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh.h log.h ssherr.h authfile.h misc.h atomicio.h sshkey.h sshbuf.h krl.h @@ -71,7 +59,6 @@ gss-serv.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-comp hash.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h hmac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h digest.h hmac.h hostfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h sshkey.h hostfile.h log.h ssherr.h misc.h pathnames.h digest.h hmac.h sshbuf.h -kex-names.o: kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h match.h digest.h misc.h xmalloc.h kex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h ssh2.h atomicio.h version.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h kex.o: match.h misc.h monitor.h myproposal.h sshbuf.h digest.h xmalloc.h kexc25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h ssh2.h @@ -169,12 +156,6 @@ sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-co sshconnect.o: kex.h mac.h crypto_api.h sshconnect2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h packet.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h sshconnect2.o: sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h -sshd-monitor.o: openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h auth-options.h version.h sk-api.h dh.h -sshd-monitor.o: xmalloc.h ssh.h ssh2.h sshpty.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h -sshd-unpriv-postauth.o: openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h auth-options.h version.h sk-api.h dh.h -sshd-unpriv-postauth.o: xmalloc.h ssh.h ssh2.h sshpty.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h -sshd-unpriv-preauth.o: openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h auth-options.h version.h sk-api.h dh.h -sshd-unpriv-preauth.o: xmalloc.h ssh.h ssh2.h sshpty.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h sk-api.h srclimit.h dh.h ssherr.o: ssherr.h From c8e79e4872e1863438acd0204e2b8f05352575f9 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sun, 13 Aug 2023 15:01:27 +1000 Subject: [PATCH 230/232] Add obsd72 and obsd73 test targets. --- .github/workflows/selfhosted.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/selfhosted.yml b/.github/workflows/selfhosted.yml index e84db699e..7ba428b29 100644 --- a/.github/workflows/selfhosted.yml +++ b/.github/workflows/selfhosted.yml @@ -40,6 +40,8 @@ jobs: - obsd67 - obsd69 - obsd70 + - obsd72 + - obsd73 - obsdsnap - obsdsnap-i386 - openindiana From f3e39c4700d543945ea89eedf4c8e8671d41200e Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 18 Aug 2023 01:37:41 +0000 Subject: [PATCH 231/232] upstream: fix regression in OpenSSH 9.4 (mux.c r1.99) that caused multiplexed sessions to ignore SIGINT under some circumstances. Reported by / feedback naddy@, ok dtucker@ OpenBSD-Commit-ID: 4d5c6c894664f50149153fd4764f21f43e7d7e5a --- kex.c | 4 ++-- misc.c | 42 ++++++++++++++++++++++++++++++------------ misc.h | 5 +++-- mux.c | 6 ++++-- 4 files changed, 39 insertions(+), 18 deletions(-) diff --git a/kex.c b/kex.c index b4e2ab75f..fd04bb0b5 100644 --- a/kex.c +++ b/kex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kex.c,v 1.178 2023/03/12 10:40:39 dtucker Exp $ */ +/* $OpenBSD: kex.c,v 1.179 2023/08/18 01:37:41 djm Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * @@ -1334,7 +1334,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms, for (;;) { if (timeout_ms > 0) { r = waitrfd(ssh_packet_get_connection_in(ssh), - &timeout_ms); + &timeout_ms, NULL); if (r == -1 && errno == ETIMEDOUT) { send_error(ssh, "Timed out waiting " "for SSH identification string."); diff --git a/misc.c b/misc.c index 4b87c4090..956587035 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.185 2023/08/04 06:32:40 dtucker Exp $ */ +/* $OpenBSD: misc.c,v 1.186 2023/08/18 01:37:41 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005-2020 Damien Miller. All rights reserved. @@ -313,20 +313,38 @@ set_sock_tos(int fd, int tos) * Returns 0 if fd ready or -1 on timeout or error (see errno). */ static int -waitfd(int fd, int *timeoutp, short events) +waitfd(int fd, int *timeoutp, short events, volatile sig_atomic_t *stop) { struct pollfd pfd; - struct timeval t_start; - int oerrno, r, have_timeout = (*timeoutp >= 0); + struct timespec timeout; + int oerrno, r; + sigset_t nsigset, osigset; + if (timeoutp && *timeoutp == -1) + timeoutp = NULL; pfd.fd = fd; pfd.events = events; - for (; !have_timeout || *timeoutp >= 0;) { - monotime_tv(&t_start); - r = poll(&pfd, 1, *timeoutp); + ptimeout_init(&timeout); + if (timeoutp != NULL) + ptimeout_deadline_ms(&timeout, *timeoutp); + if (stop != NULL) + sigfillset(&nsigset); + for (; timeoutp == NULL || *timeoutp >= 0;) { + if (stop != NULL) { + sigprocmask(SIG_BLOCK, &nsigset, &osigset); + if (*stop) { + sigprocmask(SIG_SETMASK, &osigset, NULL); + errno = EINTR; + return -1; + } + } + r = ppoll(&pfd, 1, ptimeout_get_tsp(&timeout), + stop != NULL ? &osigset : NULL); oerrno = errno; - if (have_timeout) - ms_subtract_diff(&t_start, timeoutp); + if (stop != NULL) + sigprocmask(SIG_SETMASK, &osigset, NULL); + if (timeoutp) + *timeoutp = ptimeout_get_ms(&timeout); errno = oerrno; if (r > 0) return 0; @@ -346,8 +364,8 @@ waitfd(int fd, int *timeoutp, short events) * Returns 0 if fd ready or -1 on timeout or error (see errno). */ int -waitrfd(int fd, int *timeoutp) { - return waitfd(fd, timeoutp, POLLIN); +waitrfd(int fd, int *timeoutp, volatile sig_atomic_t *stop) { + return waitfd(fd, timeoutp, POLLIN, stop); } /* @@ -381,7 +399,7 @@ timeout_connect(int sockfd, const struct sockaddr *serv_addr, break; } - if (waitfd(sockfd, timeoutp, POLLIN | POLLOUT) == -1) + if (waitfd(sockfd, timeoutp, POLLIN | POLLOUT, NULL) == -1) return -1; /* Completed or failed */ diff --git a/misc.h b/misc.h index fd77a7fd7..f9bdc6eb5 100644 --- a/misc.h +++ b/misc.h @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.h,v 1.103 2023/07/19 14:02:27 djm Exp $ */ +/* $OpenBSD: misc.h,v 1.104 2023/08/18 01:37:41 djm Exp $ */ /* * Author: Tatu Ylonen @@ -19,6 +19,7 @@ #include #include #include +#include /* Data structure for representing a forwarding request. */ struct Forward { @@ -57,7 +58,7 @@ char *get_rdomain(int); int set_rdomain(int, const char *); int get_sock_af(int); void set_sock_tos(int, int); -int waitrfd(int, int *); +int waitrfd(int, int *, volatile sig_atomic_t *); int timeout_connect(int, const struct sockaddr *, socklen_t, int *); int a2port(const char *); int a2tun(const char *, int *); diff --git a/mux.c b/mux.c index 3a0f87674..d9d5e7d99 100644 --- a/mux.c +++ b/mux.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mux.c,v 1.99 2023/08/04 06:32:40 dtucker Exp $ */ +/* $OpenBSD: mux.c,v 1.100 2023/08/18 01:37:41 djm Exp $ */ /* * Copyright (c) 2002-2008 Damien Miller * @@ -1480,7 +1480,9 @@ mux_client_read(int fd, struct sshbuf *b, size_t need, int timeout_ms) case EWOULDBLOCK: #endif case EAGAIN: - if (waitrfd(fd, &timeout_ms) == -1) + if (waitrfd(fd, &timeout_ms, + &muxclient_terminate) == -1 && + errno != EINTR) return -1; /* timeout */ /* FALLTHROUGH */ case EINTR: From e99a02ec18bedb7bc77af57c3d768b13204f3aa7 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sat, 19 Aug 2023 07:39:08 +1000 Subject: [PATCH 232/232] Fix zlib version check for 1.3 and future version. bz#3604. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 07893e870..e3128dfcb 100644 --- a/configure.ac +++ b/configure.ac @@ -1464,7 +1464,7 @@ else [[ int a=0, b=0, c=0, d=0, n, v; n = sscanf(ZLIB_VERSION, "%d.%d.%d.%d", &a, &b, &c, &d); - if (n != 3 && n != 4) + if (n < 1) exit(1); v = a*1000000 + b*10000 + c*100 + d; fprintf(stderr, "found zlib version %s (%d)\n", ZLIB_VERSION, v);