Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python315 for openSUSE:Factory 
checked in at 2026-10-06 19:14:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python315 (Old)
 and      /work/SRC/openSUSE:Factory/.python315.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python315"

Tue Oct  6 19:14:57 2026 rev:19 rq:1382577 version:3.15.0~rc3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python315/python315.changes      2026-09-10 
11:51:02.373705503 +0200
+++ /work/SRC/openSUSE:Factory/.python315.new.3698736/python315.changes 
2026-10-06 19:15:59.758455104 +0200
@@ -1,0 +2,283 @@
+Mon Oct  5 10:33:26 UTC 2026 - Matej Cepl <[email protected]>
+
+- Update to 3.15.0~rc3:
+  - Security
+    - gh-158446: Fix a crash or incorrect output that could occur
+      when formatting a float or complex with a precision close
+      to the platform’s INT_MAX. PyOS_double_to_string() now
+      raises ValueError for any precision of that magnitude,
+      regardless of presentation type or value, as the format
+      string parsers already did for precisions above INT_MAX.
+    - gh-156793: asyncio: loop.start_tls() and
+      loop.create_connection() now validate the server_hostname
+      argument if an ssl.SSLContext is passed with check_hostname
+      set to True. (bsc#1283826, CVE-2026-19553)
+    - gh-156793: ssl.SSLContext.wrap_bio() now validates its
+      server_side, server_hostname and session arguments similar
+      to ssl.SSLContext.wrap_socket().
+    - In particular, a context with check_hostname enabled and no
+      server_hostname passed to wrap_bio() now raises ValueError
+      instead of completing a handshake that verified the
+      certificate chain without verifying the peer’s identity,
+      with no indication that the check had been skipped.
+    - gh-157265: In tarfile, when extracting a link falls back
+      to extracting a member of the archive, skip the member
+      when the filter function returns None when called with the
+      extracted member’s name replaced with the link’s.
+    - gh-157953: Update bundled libexpat to version 2.8.5.
+    - gh-157579: Fix a race condition in the cleanup of
+      tempfile.TemporaryDirectory. When working around file
+      system permission errors, files are now removed relative to
+      open directory file descriptors instead of resolving their
+      path again, so that replacing a directory of the tree with
+      a symbolic link can no longer make the cleanup delete files
+      outside of the temporary directory. This addresses CVE
+      2026-12345.
+    - gh-156293: Fix a crash in ssl when an sni_callback switches
+      a connection to another SSLContext and the context that
+      carries the callback is no longer referenced by the
+      application. Servers that keep their sni_callback context
+      alive (the usual case when it wraps the listening socket
+      or is stored on the server object) were not affected. This
+      addresses CVE 2026-19445. (bsc#1283969, CVE-2026-19445)
+  - Core and Builtins
+    - gh-158140: Resolve lazily imported sibling submodules
+      independently, so accessing one does not import another
+      merely because its declaration came last.
+    - gh-158364: Fix crash when sys._current_frames() or
+      sys._current_exceptions() is called while another
+      interpreter is running.
+    - gh-158254: Reverse iterators over a dict and its views now
+      raise RuntimeError if the dictionary’s keys change during
+      iteration, like forward iterators, instead of yielding
+      entries for the new keys.
+    - gh-157914: Revert gh-146064. The linked PyMutex change was
+      causing a significant performance regression in some cases.
+    - gh-157838: Merge biased reference counts on behalf of
+      threads that are detached instead of waiting for them to
+      attach again, in the free-threaded build.
+    - gh-157778: Include the line number of the opening brace
+      in the SyntaxError for an unclosed f-string or t-string
+      replacement field when a matching quote on a later line is
+      interpreted as the start of an unterminated string.
+    - gh-157757: Fix a lazy import a.b as c reading b off a
+      instead of importing the module a.b. It now binds the
+      submodule, and raises ModuleNotFoundError when no module
+      backs the name.
+    - gh-155695: Resolved names are now removed from
+      sys.lazy_modules more consistently: a lazy import of an
+      already loaded module is no longer recorded, and reifying
+      lazy from pkg import attr now discards the pkg.attr entry.
+    - gh-157378: Fix SyntaxError.offset and
+      SyntaxError.end_offset for the “Non-UTF-8 code starting
+      with …” error when a non-ASCII character precedes the
+      invalid byte on the same line. Patch by Shamil Abdulaev.
+    - gh-156762: Fix undefined behaviour in
+      operator.methodcaller: its tp_clear slot function returned
+      void instead of int, so the garbage collector called it
+      through an incompatible function type. Patched by Shamil
+      Abdulaev.
+    - gh-157377: Fix gc.get_count() on the free-threaded build
+      resetting the thread-local allocation counter that
+      schedules automatic garbage collection. A thread that
+      called it while allocating could prevent cyclic garbage
+      from ever being collected.
+    - gh-157247: Fix sys.activate_stack_trampoline() allowing
+      activation from a subinterpreter while the JIT is enabled
+      in the main interpreter.
+    - gh-156995: Fix bytearray sharing its buffer with the
+      single-byte bytes object of the same value, so that writing
+      to the bytearray modified that bytes object. This happened
+      with bytearray.take_bytes() when exactly one byte remained,
+      and on the free-threaded build when a bytearray was shrunk
+      to one byte from another thread.
+    - gh-156910: Fix a deadlock in the free threaded build when
+      setting __abstractmethods__ on a type while another thread
+      holds the type lock.
+    - gh-156894: Fix the position of syntax errors which cover a
+      range if the line contains non-ASCII characters before the
+      error.
+    - gh-155525: Fix quadratic-time tokenization of modules
+      containing many f-strings or t-strings.
+    - gh-156689: Fix an out-of-bounds read in compile()
+      and ast.parse() when an AST object is passed with
+      mode='func_type'.
+    - gh-156114: Fix a crash in the perf trampoline when a code
+      object has a name or filename that cannot be encoded to
+      UTF-8. Patched by Shamil Abdulaev.
+    - gh-156126: Fix a crash when importing a module whose name
+      contains characters that cannot be encoded to UTF-8 (such
+      as lone surrogates) while -X importtime is enabled.
+    - gh-155526: Fix spurious OverflowError for abs(nanj) in case
+      errno was previously set to ERANGE by some library call   .
+      Patch by Sergey B Kirpichev                               .
+    - gh-151464: Exclude invalid token <> from tokenize output  .
+      SyntaxError for <> now suggests !=                        .
+    - gh-154719: Trailing whitespace in a t-string
+      interpolation expression is now preserved in
+      string.templatelib.Interpolation.expression, up to the
+      closing } or the conversion (!), format (:), or debug (=)
+      delimiter. Explicit line continuations following a debug
+      = remain part of the debug text and are excluded from
+      expression.
+    - gh-152708: Fix AST generation asymmetry where unary
+      positive + was implicitly dropped in pattern match
+      expressions, restoring parsing parity with unary negative
+      -.
+  - Library
+    - gh-157788: Fix python -m asyncio ps failing on a process
+      that has a task with a name longer than 255 characters.
+    - gh-157660: Fix profiling.sampling reporting errors or
+      incorrect line numbers in free-threaded builds when a
+      thread-local bytecode array grows or gains entries after
+      being cached.
+    - gh-157639: Fix a crash in cProfile when an external timer
+      re-enters the profiler. Profiling events raised while the
+      external timer runs are now ignored.
+    - gh-157335: Fix out-of-bounds write in mmap.mmap.__setitem__
+      that could occur when converting the index or the assigned
+      value (via __index__() for a single item, or via the buffer
+      protocol for a slice) resized or closed the mmap object
+      during the assignment.
+    - gh-128509: marshal.load() and marshal.loads() can now get
+      1-byte string singletons. Patch by Victor Stinner.
+    - gh-157301: Fix asyncio.Task hanging the event loop when an
+      eager start fails to enter the task’s context.
+    - gh-157213: Fix asyncio.gather() leaving stale await-graph
+      edges on children that outlive it.
+    - gh-156002: zipfile again reads members through a
+      third-party decompressor installed by monkey-patching
+      the private _get_decompressor() to return an object that
+      only implements old BZ2Decompressor API from Python
+      3.3. Note that decompressors without needs_input and
+      two-argument decompress() are vulnerable to CVE 2026-15310.
+      (bsc#1277111, CVE-2026-15310)
+    - gh-157159: The usage message printed by python -m tabnanny
+      when no arguments are given now suggests python -m instead
+      of the source file.
+    - gh-157058: asyncio.wait_for() with a non-positive timeout
+      now records the waiter in the call graph.
+    - gh-156933: Fix incorrect integer return values from ctypes
+      callbacks on some platforms, such as s390x.
+    - gh-156988: asyncio.print_call_graph() no longer truncates
+      the call stack at a synchronous generator.
+    - gh-156970: Set the docstring of
+      unittest.mock.Mock.return_value.
+    - gh-156924: annotationlib.ForwardRef.evaluate() now
+      resolves lazy import proxies found in the namespace. With
+      FORWARDREF, a lazy import that fails to resolve now results
+      in a ForwardRef instead of the lazy import proxy, and with
+      VALUE the underlying exception is propagated.
+    - gh-127057: Fix asyncio.ProactorEventLoop UDP transports so
+      that a ConnectionResetError raised by WSARecvFrom no longer
+      stops the read loop.
+    - gh-156512: Fix asyncio losing a connection twice when
+      resume_writing() closes the transport.
+    - gh-155596: Fix pprint.pprint() and pprint.pformat() with
+      expand=True not honouring width for nested values. The
+      width of the 'key': prefix was not counted when deciding
+      whether a value fitted on the current line, so values under
+      long keys could overflow width instead of being expanded.
+    - gh-155433: Fix asyncio.TaskGroup losing outside
+      cancellation after cancel().
+    - gh-155418: Fix asyncio.TaskGroup hang when a task created
+      by asyncio.eager_task_factory() cancels the group before
+      suspending.
+    - gh-155143: Fix asyncio.shield() leaking the calling task
+      via the await-graph and callbacks when called on a future
+      that never resolves.
+    - gh-154470: Fixed a spurious ^J printed at the end of every
+      source line by the list command of pdb when the output
+      is colorized (for example when attaching to a running
+      process). The source line is now stripped before it is
+      colorized, like the where command already did.
+    - gh-154335: The profiling.sampling profiler now respects
+      NO_COLOR, FORCE_COLOR, and PYTHON_COLORS and avoids colored
+      output when not writing to a terminal.
+    - gh-154090: Record the profiling mode in Tachyon binary
+      profiles and reject differential comparisons whose known
+      modes do not match.
+    - gh-152907: Restore cooked-mode terminal output flags around
+      PyOS_InputHook callbacks in the new REPL (_pyrepl), so that
+      output written by an input hook (for example a GUI toolkit
+      event loop) is no longer emitted with OPOST disabled and
+      keeps its carriage returns.
+    - gh-151179: Fix a pidfd leak in _PidfdChildWatcher on
+      Linux: the watcher no longer leaks the process file
+      descriptor when waitpid() fails with an error other than
+      ChildProcessError.
+  - Documentation
+    - gh-57491: Reduce the depth of the table of contents in the
+      EPUB documentation from three levels to two, making it much
+      shorter and easier to navigate in e-book readers.
+  - Tests
+    - gh-158051: The iOS testbed has been updated for
+      compatibilty with Xcode 27.
+  - Build
+    - gh-158010: Update Android and iOS build scripts to use
+      OpenSSL 3.5.9.
+    - gh-157549: Use sysconf(_SC_PAGESIZE) instead of
+      getpagesize() in remote_debug.h so _remote_debugging builds
+      on Darwin with -Werror=implicit-function-declaration.
+    - gh-152023: Update Android builds to SQLite 3.53.4.
+      Additionally, enable the median() and percentile()
+      functions.
+  - Windows
+    - gh-158010: Updated Windows builds to use OpenSSL 3.5.9.
+    - gh-157368: Fix truncated sys.version in the case of
+      clang-cl versions 22 or newer on Windows. Also fixes the
+      Windows on Arm case, where the Microsoft compiler was
+      reported instead of clang. Patch by Chris Eibl.
+    - gh-157212: Fix _Py_ThreadId() compilation on Windows ARM64
+      with MinGW toolchains, where __getReg() is unavailable.
+      The TEB address is now read directly from x18. Patch by
+      Christian Aurich.
+    - gh-152023: Update Windows builds to SQLite 3.53.4.
+      Additionally, enable the median() and percentile()
+      functions. macOS
+    - gh-158010: Update macOS installer to use OpenSSL 3.5.9.
+    - gh-152023: Update macOS installer builds to SQLite 3.53.4.
+  - IDLE
+    - gh-158067: Fix the IDLE File Open dialog listing text files
+      before Python files when opened from the Shell or an Output
+      window.
+    - gh-75512: Output from a thread printed in the IDLE Shell
+      while a statement is being entered no longer takes over the
+      prompt of the statement.
+    - gh-89544: Fix IDLE hanging after Restart Shell while
+      receiving a large output from the user process.
+    - gh-59568: Fix “Save As” and “Open” dialogs in IDLE for
+      a file whose name starts with ~ on Windows and X11 with
+      Tcl/Tk older than 9.
+    - gh-69004: The Debugger item of the IDLE Debug menu is now
+      disabled while user code runs, like Stack Viewer.
+    - gh-93966: The highlighting of a syntax error in the IDLE
+      Shell is now removed when the next statement is entered,
+      not only when the next syntax error occurs.
+    - gh-75234: Fix editing help sources and key bindings in
+      the IDLE Settings dialog after selecting them with the
+      keyboard.
+    - gh-55646: Fix IDLE crash at startup when the user
+      configuration contains an invalid key binding, such as
+      <Alt-Key-up> instead of <Alt-Key-Up>. The invalid binding
+      is now ignored with a warning.
+  - C API
+    - gh-156939: Fix PyBytesWriter_FinishWithSize() to return an
+      empty bytearray when _PyBytesWriter_CreateByteArray() is
+      used, instead of returning an empty bytes string. Patch by
+      Victor Stinner.
+    - gh-156939: Fix PyBytesWriter_Format() error handling:
+      restore the writer to its previous state on error. Patch by
+      Victor Stinner.
+    - gh-140550: Fix the PyABIInfo_VAR macro: remove redundant ;.
+      Before, PyABIInfo_VAR(abi_info); code added two ;; which is
+      illegal in C++03. Patch by Victor Stinner.
+
+-------------------------------------------------------------------
+Fri Oct  2 00:11:45 UTC 2026 - Matej Cepl <[email protected]>
+
+- CVE-2026-82049: to follow symlinks when extracting tarfile hard
+  links (bsc#1280459, gh#pyhton/cpython#157190)
+  CVE-2026-82049-tarfile-hard-link.patch
+
+-------------------------------------------------------------------

Old:
----
  Python-3.15.0rc2.tar.xz
  Python-3.15.0rc2.tar.xz.sigstore

New:
----
  CVE-2026-82049-tarfile-hard-link.patch
  Python-3.15.0rc3.tar.xz
  Python-3.15.0rc3.tar.xz.sigstore

----------(New B)----------
  New:  links (bsc#1280459, gh#pyhton/cpython#157190)
  CVE-2026-82049-tarfile-hard-link.patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python315.spec ++++++
--- /var/tmp/diff_new_pack.d4BgQJ/_old  2026-10-06 19:16:01.655534489 +0200
+++ /var/tmp/diff_new_pack.d4BgQJ/_new  2026-10-06 19:16:01.660534698 +0200
@@ -162,8 +162,8 @@
 # _md5.cpython-38m-x86_64-linux-gnu.so
 %define dynlib() 
%{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so
 Name:           %{python_pkg_name}%{psuffix}
-Version:        3.15.0~rc2
-%define         tarversion 3.15.0rc2
+Version:        3.15.0~rc3
+%define         tarversion 3.15.0rc3
 %define         tarname    Python-%{tarversion}
 Release:        0
 Summary:        Python 3 Interpreter
@@ -230,6 +230,9 @@
 # PATCH-FIX-OPENSUSE test_UDPLITE_support.patch gh#python/cpython#149078 
[email protected]
 # improve testing of the presence of IPPROTO_UDPLITE support
 Patch49:        test_UDPLITE_support.patch
+# PATCH-FIX-UPSTREAM CVE-2026-82049-tarfile-hard-link.patch bsc#1280459 
[email protected]
+# Follow symlinks when extracting tarfile hard links (GH-157191)
+Patch50:        CVE-2026-82049-tarfile-hard-link.patch
 #### Python 3.15 DEVELOPMENT PATCHES
 BuildRequires:  autoconf-archive
 BuildRequires:  automake

++++++ CVE-2026-82049-tarfile-hard-link.patch ++++++
>From c72c1780735ee4ba61aaa5b11e9dcaaa1ab62684 Mon Sep 17 00:00:00 2001
From: Stan Ulbrych <[email protected]>
Date: Thu, 10 Sep 2026 11:00:28 +0100
Subject: [PATCH] gh-157190: Follow symlinks when extracting `tarfile` hard
 links (GH-157191) (cherry picked from commit
 b38be2e6cf9d989075ab73412c63e003ebad4ff3)

Co-authored-by: Stan Ulbrych <[email protected]>
---
 Lib/tarfile.py           |    6 +++++-
 Lib/test/test_tarfile.py |   18 ++++++++++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

Index: Python-3.15.0rc3/Lib/tarfile.py
===================================================================
--- Python-3.15.0rc3.orig/Lib/tarfile.py        2026-10-05 12:49:43.393746478 
+0200
+++ Python-3.15.0rc3/Lib/tarfile.py     2026-10-05 12:49:49.369895129 +0200
@@ -2818,7 +2818,11 @@
                     if os.path.lexists(targetpath):
                         # Avoid FileExistsError on following os.link.
                         os.unlink(targetpath)
-                    os.link(tarinfo._link_target, targetpath)
+                    # Resolve the target so the hard link points to the file
+                    # itself. Otherwise os.link() may duplicate a symlink to a
+                    # shallower location, where its relative target escapes the
+                    # destination directory. (CVE-2026-82049)
+                    os.link(os.path.realpath(tarinfo._link_target), targetpath)
                     return
         except symlink_exception:
             keyerror_to_extracterror = True
Index: Python-3.15.0rc3/Lib/test/test_tarfile.py
===================================================================
--- Python-3.15.0rc3.orig/Lib/test/test_tarfile.py      2026-10-05 
12:49:45.737248895 +0200
+++ Python-3.15.0rc3/Lib/test/test_tarfile.py   2026-10-05 12:49:49.370238356 
+0200
@@ -4492,6 +4492,24 @@
                     self.expect_file("s", symlink_to=os.path.join('..', 
'escape'))
 
     @symlink_test
+    @os_helper.skip_unless_hardlink
+    def test_sneaky_hardlink_relocation(self):
+        with ArchiveMaker() as arc:
+            arc.add("a/escape", content="decoy")
+            arc.add("a/b/s", symlink_to=os.path.join("..", "escape"))
+            arc.add("s", hardlink_to=os.path.join("a", "b", "s"))
+
+        for filter in 'data', 'tar':
+            with self.subTest(filter), self.check_context(arc.open(), filter):
+                self.expect_file("a/escape", content="decoy")
+                if os_helper.can_symlink():
+                    self.expect_file("a/b/s", symlink_to=os.path.join('..', 
'escape'))
+                else:
+                    self.expect_file("a/b/s", content="decoy")
+                self.expect_file("s", content="decoy")
+                self.assertFalse((self.destdir / "s").is_symlink())
+
+    @symlink_test
     def test_exfiltration_via_symlink(self):
         # (CVE-2025-4138)
         # Test changing symlinks that result in a symlink pointing outside

++++++ Python-3.15.0rc2.tar.xz -> Python-3.15.0rc3.tar.xz ++++++
/work/SRC/openSUSE:Factory/python315/Python-3.15.0rc2.tar.xz 
/work/SRC/openSUSE:Factory/.python315.new.3698736/Python-3.15.0rc3.tar.xz 
differ: char 26, line 1

++++++ Python-3.15.0rc2.tar.xz.sigstore -> Python-3.15.0rc3.tar.xz.sigstore 
++++++
--- /work/SRC/openSUSE:Factory/python315/Python-3.15.0rc2.tar.xz.sigstore       
2026-09-10 11:51:02.298702358 +0200
+++ 
/work/SRC/openSUSE:Factory/.python315.new.3698736/Python-3.15.0rc3.tar.xz.sigstore
  2026-10-06 19:15:59.690452258 +0200
@@ -1 +1 @@
-{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIDIzCCAqmgAwIBAgIUKwLUw8Ju9ZMkThgz0J6AVYlxhT0wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwOTAxMTE1MDIzWhcNMjYwOTAxMTIwMDIzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExDykVs1kEnmTsKOJxlCFJFctlyxDSivaDZtkS/DnBhNlcqc3p1X97AGVIiuKQ+lQGXpxsBHZiReXQRtJfvbLr6OCAcgwggHEMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUWUmO1dC4H523kbvQ3MIyqQEaP1AwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wHQYDVR0RAQH/BBMwEYEPaHVnb0BweXRob24ub3JnMCwGCisGAQQBg78wAQEEHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDAuBgorBgEEAYO/MAEIBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDBSBgorBgEEAYO/MAEYBEQMQkNnY3hNekkwTWpJMUVpWm9kSFJ3Y3pvbE1rWWxNa1puYVhSb2RXSXVZMjl0SlRKR2JHOW5hVzRsTWtadllYVjBhQTCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoFzOX/AAAAQDAEgwRgIhALpfq7VGcODbni1gZMRxJpFUAmmYvxC5elMVpn/nsLrmAiEAsimXYgwTR
 
g7CKfF8LkwCHxorOMGsyJtTdWIJm3H++/MwCgYIKoZIzj0EAwMDaAAwZQIxAO4sDqbS+kErIQoDnYWFLoT+22F0JVyj7FMbr38LVhJtXFUAxtE5nTKrZd6czyML7gIwR6k40SBl/uowIdM7RwaHH/lRi9bj1Py8Cj276JkFI7tyV/a4o40ndJyf5ugLKBFM"},"tlogEntries":[{"logIndex":"2675318197","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1788263424","inclusionPromise":{"signedEntryTimestamp":"MEUCIQCC9jJrOdffYO+7WsnAdFCrRvDGAHVfdtJPsrwW2EZkEQIgF8eeSXv/QUEHttoYvOHS4pgtsBGi467DZ6nIeUoDcQI="},"inclusionProof":{"logIndex":"2553413935","rootHash":"xm2rCUXoqngkHj8cWnZCtNPLYszXpajVqgtCN1S6jRU=","treeSize":"2553413951","hashes":["4u2OXRQviYapVbR4N//ssbBFHQhndoO5wyAtpPGBlAc=","GLARglcBjhcfC0p8rIfPS9LQs/GJRClhNWVcW4/CFeI=","yDt+e+HGs8pXjmWe6RimdCK9SJJApGXw8GU4gSbKkHE=","sW75Itvqrssq2u9iX2qHEirVod8Y15pK7HV4I8zDZzs=","KkQXJC6VLQoB8wEKfDTYlTbzuTfXnu5024yzsqFoI4U=","cSEYXG2rEUU7HyjY2RZFFI/yheNMIgJ2GLK3HXUHr3A=","SSH92a65bJay4W0AgaDI3pupgOhaV3iYVReHdfUig5s=","UX3sd
 
vA8Z8o3UT/TCllcEVIJIMKKN7j9jBDsVczU0L8=","HGv3uWODv80+/W38Qp9dwZvMME6N2S3s6KWENP9zHBw=","W+9Pzz9RSgONXuum1pR7Ru7WDjAmmiJjqaC9gYMnSBQ=","eXSLrLqKSxRTixSP/k4YimriB2lufao6trqTrsxxlyg=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev
 - 
1193050959916656506\n2553413951\nxm2rCUXoqngkHj8cWnZCtNPLYszXpajVqgtCN1S6jRU=\n\n—
 rekor.sigstore.dev 
wNI9ajBFAiEA1Y2/mgkxTjcM4uml8uDhs7XRq8Rw3/oW0lfwQaGIAJgCIC1Doq75O4YG/KsCVetlMXI0KKjJ2H8wGtJUD1dQuROk\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4ZDkzYWY1ZWFhYWVhNWFkZmQ0MWJkNzg2YTdiYTNmMDNmMmFkMWFiNTdjNmE2NWUwYjk2M2RlYWI5MWQ1YWQ3In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUUNaYVd4SER6eFpoYmlubVlnMG5rb2doSVh1N0hHM2w1clk1S2xMQkI4dXF3SWhBSklvNlFybG5TQWZld09mK1dSekFoNklibWw1M0dIbGU2cjJwV2Y3OWZ4diIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSl
 
VTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkpla05EUVhGdFowRjNTVUpCWjBsVlMzZE1WWGM0U25VNVdrMXJWR2huZWpCS05rRldXV3g0YUZRd2QwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlVUVhoTlZFVXhUVVJKZWxkb1kwNU5hbGwzVDFSQmVFMVVTWGROUkVsNlYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVY0UkhsclZuTXhhMFZ1YlZSelMwOUtlR3hEUmtwR1kzUnNlWGhFVTJsMllVUmFkR3NLVXk5RWJrSm9UbXhqY1dNemNERllPVGRCUjFaSmFYVkxVU3RzVVVkWWNIaHpRa2hhYVZKbFdGRlNkRXBtZG1KTWNqWlBRMEZqWjNkblowaEZUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZYVlcxUENqRmtRelJJTlRJemEySjJVVE5OU1hseFVVVmhVREZCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBoUldVUldVakJTUVZGSUwwSkNUWGRGV1VWUVlVaFdibUl3UW5kbFdGSnZZakkwZFdJelNtNU5RM2RIUTJselIwRlJVVUpuTnpoM1FWRkZSUXBJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx
 
6WWpKa2NHSnBPWFpaV0ZZd1lVUkJkVUpuYjNKQ1owVkZRVmxQTDAxQlJVbENRMEZOQ2todGFEQmtTRUo2VDJrNGRsb3liREJoU0ZacFRHMU9kbUpUT1hOaU1tUndZbWs1ZGxsWVZqQmhSRUpUUW1kdmNrSm5SVVZCV1U4dlRVRkZXVUpGVVUwS1VXdE9ibGt6YUU1bGEydDNWRmR3U2sxVlZuQlhiVGxyVTBaS00xa3pjSFppUlRGeVYxZDRUbUV4Y0hWWlZtaFRZakpTV0ZOWVZscE5hbXd3VTJ4U1N3cFNNa3BJVDFjMWFGWjZVbk5VVjNSaFpHeHNXVlpxUW1oUlZFTkNhWGRaUzB0M1dVSkNRVWhYWlZGSlJVRm5VamxDU0hOQlpWRkNNMEZPTURsTlIzSkhDbmg0UlhsWmVHdGxTRXBzYms1M1MybFRiRFkwTTJwNWRDODBaVXRqYjBGMlMyVTJUMEZCUVVKdlJucFBXQzlCUVVGQlVVUkJSV2QzVW1kSmFFRk1jR1lLY1RkV1IyTlBSR0p1YVRGbldrMVNlRXB3UmxWQmJXMVpkbmhETldWc1RWWndiaTl1YzB4eWJVRnBSVUZ6YVcxWVdXZDNWRkpuTjBOTFprWTRUR3QzUXdwSWVHOXlUMDFIYzNsS2RGUmtWMGxLYlROSUt5c3ZUWGREWjFsSlMyOWFTWHBxTUVWQmQwMUVZVUZCZDFwUlNYaEJUelJ6UkhGaVV5dHJSWEpKVVc5RUNtNVpWMFpNYjFRck1qSkdNRXBXZVdvM1JrMWljak00VEZab1NuUllSbFZCZUhSRk5XNVVTM0phWkRaamVubE5URGRuU1hkU05tczBNRk5DYkM5MWIzY0tTV1JOTjFKM1lVaElMMnhTYVRsaWFqRlFlVGhEYWpJM05rcHJSa2szZEhsV0wyRTBielF3Ym1SS2VXWTFkV2RNUzBKR1RRb3RMUzB0TFVWT1JDQkRSVkpVU1Va
 
SlEwRlVSUzB0TFMwdENnPT0ifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIIE6TADAgEAMIIE4AYJKoZIhvcNAQcCoIIE0TCCBM0CAQMxDTALBglghkgBZQMEAgEwgcIGCyqGSIb3DQEJEAEEoIGyBIGvMIGsAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgf5JxMQ1tHVwf9FzbsL1eEYYX32yIQkh/PpZJMTDY32ACFQDIvp9WNONl0Bx4ODWzPoA8iYH4zRgPMjAyNjA5MDExMTUwMjRaMAMCAQECCCah1sYW4uzJoDKkMDAuMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxFTATBgNVBAMTDHNpZ3N0b3JlLXRzYaCCAhQwggIQMIIBlqADAgECAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkMB4XDTI1MDQwODA2NTk0M1oXDTM1MDQwNjA2NTk0M1owLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATitrZnyEo2KDZP2QWMIBOgYbfSOTL5ZC/cHMv6Yq+HVIo1H9TC7Cx80KDiyvKhgB3wTqKyi9UDczhqg12b1AOLnRnydMTK+qB8M+1MjBci1+Jb8AV/VXu7CRuQCiPTHFyjajBoMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUif15Q4fP0GVGwwJGxyxzW3206wMwHwYDVR0jBBgwFoAUmOwB73+7Uf/UlR5vioiYUweJzr8wFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwCgY
 
IKoZIzj0EAwMDaAAwZQIwO2mxX/opo7SrIX9QyxfZpJRcpAV2gZOm1AZzR+2rVyy6Uc8Ybp2ybIw13ckH4bcRAjEA5qO8FyOkmYpvg2/7ZNqiPxRzn5vqKHoVcIIqtpKq6l7TvOqzAxxclN7VwTG8e++XMYIB2jCCAdYCAQEwUTA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDALBglghkgBZQMEAgGggfwwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNjA5MDExMTUwMjRaMC8GCSqGSIb3DQEJBDEiBCDYAKclz02B7pgrxu1FbftHru6yNccvvbEqW8DOvAxaIjCBjgYLKoZIhvcNAQkQAi8xfzB9MHsweQQghfknvAerYsrDtENWwQ78gbLGiD/aernm2HDZ0TrNBbcwVTA9pDswOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCgYIKoZIzj0EAwIEZjBkAjAyMI1lG+jlZePfr4fWGo2OpskPFXcia9wpW32a5iL31MzjcXHag75neNb/9fVLmDQCMH0D4t7HnNb9miwCNryVkOZf6/cnfZ8cUuqAUSi/wbIxi4gbtWdb6ITem1vAzRy8sQ=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"jZOvXqqupa39Qb14anuj8D8q0atXxqZeC5Y96rkdWtc="},"signature":"MEYCIQCZaWxHDzxZhbinmYg0nkoghIXu7HG3l5rY5KlLBB8uqwIhAJIo6QrlnSAfewOf
 +WRzAh6Ibml53GHle6r2pWf79fxv"}}
+{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIDIzCCAqmgAwIBAgIUT0nnorS9FfJHmYmiE9C3/J8SepkwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDAyMjEwMDM2WhcNMjYxMDAyMjExMDM2WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPtt4Z+3Q4tJQNCfJ0YdH1dpU/jAL5R2rYumqzZjm25fdnw45cHLeruWh//i0H+fi44uWDtMEBqpzVlol36GBUaOCAcgwggHEMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUzyt4Gld3iVIiDwztk63plyNfCQYwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wHQYDVR0RAQH/BBMwEYEPaHVnb0BweXRob24ub3JnMCwGCisGAQQBg78wAQEEHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDAuBgorBgEEAYO/MAEIBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDBSBgorBgEEAYO/MAEYBEQMQkNnY3hNekkwTWpJMUVpWm9kSFJ3Y3pvbE1rWWxNa1puYVhSb2RXSXVZMjl0SlRKR2JHOW5hVzRsTWtadllYVjBhQTCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoP5rQB8AAAQDAEgwRgIhANQuFLwb8DIV5D3pE7aWuDtCavGu/HVUK0nLn5IaP/hqAiEAvFlycCBXE
 
mr6uFWBCJPB8OdgOMGlHmtpNERH1NbhRK8wCgYIKoZIzj0EAwMDaAAwZQIxAPKuCJeSg1GA/zRcO6yiN+TXWH/PCYW0Bewv/Krq+zUjIVPt++oNnA0yXAX7x8DcnQIwPWKKonHCU/xlrOaMx4dR/yTUAhA5m6q+FifF7yvEWoNCdv+jNe0/KYZHmlrDJ4i9"},"tlogEntries":[{"logIndex":"3062011159","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1790974837","inclusionPromise":{"signedEntryTimestamp":"MEYCIQDI8jZ6oTMKA+/aG1G1CcxiubVEQVpNPVjrBCsFy2JLygIhAPkSX3RQfKcnE6SJlTHijMQtP9P88qKQTt7zzXeIGy4p"},"inclusionProof":{"logIndex":"2940106897","rootHash":"jVuiaf9jaeHR5eJ4MWSA03sufMDYhH2Mj/wzTPLxsPI=","treeSize":"2940106980","hashes":["HD2wu1nVZLNHVgFDimZJ9ICNXiA9t0jH78fQcuNCXqU=","fzU/MfgWky0Q4TUg18oeFB4x2R+PZdwCsrENVcLjdOE=","gUoqTDGGzc0937FAE3zQVTLH+8NIUFVhH/4VzqyvYgQ=","VGc7p+Zx0YucnQ8f3KvRQKKprlnL0TpDnuiI5CJFKd0=","W5M8xPCk4js8ecX4Xh/JWDkWUHGkaHfXwyhYcKwUxR4=","srYXQRdV53EP8roH2qMege9UaYfDNn5PQR91T5UN67U=","b7XiE/0s4PbBZLElt3iACH/D+Usr6eQdIjJk9thV5bI=","A4p/b
 
cF0eG1zLxNvB6j/XkWTX9AR4tWRmuylI/HGo5o=","cQPzZx/PIOHDycSeWuc/Fm5G+pLuRAUJwbFd+LdAMZ4=","uc7UeNk6/vRwsT1Ar2i7OkWlpxm21aCGhTthq4Qo59Q=","esScA1D/gt1zlYu5qKcQ2BI1DlnCp1dzxxhIAk+ODBQ=","rzvJFCut+2a7bgQQI7mx9C4RDBKiRoi5YpiXZwxuXgk=","RbDMvK0TdPR3BRSSCZZc1hmUTwC0/TAkjVP9dl7DIPc=","b/aTmaF8EM3nrCXBWEs7GKeCfVlKoi4YeSAkD2KYybM=","cacBU5U5IA5lYVW5K1dat4X+pDx5JGNFSbCYnKNp6Do=","fWpO4p76l89M5iktiUHSb2hRvGym/qc0w2lkBWW7p6Q=","qI7yg91WvSrGJMQMylMEFwHBDa1KFLvbMUcHht4ZsGs=","JULUaep1QSvOiUTmZYM14YQP8u0lTNM/hN1Omtdh7rI=","z3DeLenzzsUGBSwnEznCRh1TPLwNUkKOty05gLTmb58=","4lYk7cX8PszZLoyQMWjMDB1BOBn4f7hehtFiHo92e5Y=","ttpxd0TJprOUtb/8Wf5DeIzwNtUw72Q0YnXE2LFMIZo=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev
 - 
1193050959916656506\n2940106980\njVuiaf9jaeHR5eJ4MWSA03sufMDYhH2Mj/wzTPLxsPI=\n\n—
 rekor.sigstore.dev 
wNI9ajBFAiBzsqDExVQ+aDytJzGSi7Tv2NV2pf9FNlp86mYJm+KbdgIhAPHgQKFEq0TMXSnODddUuepEawH+pSWeDDDlATe2oRE
 
S\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI1MDY2MzBhYTY2ZDU0NDExODhmMzRkZjIyYzA3NjBiZmU4N2ZjOTIyMTI2MzA0OTNlYmM5ZmYzYjNhN2ExZDQ5In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJRUl4UXEwazNoVkVMTGlsZjVNbGVWdENVbFV2ZE1JMFJjeGdHMjd0TnhBbUFpRUFxalIwN2UvYXJwWDhMUFh5WXAxaVU4L2p6cW41elhNZ3NRTHFiRWUyVkFZPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkpla05EUVhGdFowRjNTVUpCWjBsVlZEQnVibTl5VXpsR1prcEliVmx0YVVVNVF6TXZTamhUWlhCcmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUVhsTmFrVjNUVVJOTWxkb1kwNU5hbGw0VFVSQmVVMXFSWGhOUkUweVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZRZEhRMFdpc3pVVFIwU2xGT1EyWktNRmxrU0RGa2NGVXZha0ZNTlZJeWNsbDFiWEVLZWxwcWJUSTFabVJ1ZHpRMVkwaE1aWEoxVjJndkwya
 
3dTQ3RtYVRRMGRWZEVkRTFGUW5Gd2VsWnNiMnd6TmtkQ1ZXRlBRMEZqWjNkblowaEZUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlY2ZVhRMENrZHNaRE5wVmtscFJIZDZkR3MyTTNCc2VVNW1RMUZaZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBoUldVUldVakJTUVZGSUwwSkNUWGRGV1VWUVlVaFdibUl3UW5kbFdGSnZZakkwZFdJelNtNU5RM2RIUTJselIwRlJVVUpuTnpoM1FWRkZSUXBJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx6WWpKa2NHSnBPWFpaV0ZZd1lVUkJkVUpuYjNKQ1owVkZRVmxQTDAxQlJVbENRMEZOQ2todGFEQmtTRUo2VDJrNGRsb3liREJoU0ZacFRHMU9kbUpUT1hOaU1tUndZbWs1ZGxsWVZqQmhSRUpUUW1kdmNrSm5SVVZCV1U4dlRVRkZXVUpGVVUwS1VXdE9ibGt6YUU1bGEydDNWRmR3U2sxVlZuQlhiVGxyVTBaS00xa3pjSFppUlRGeVYxZDRUbUV4Y0hWWlZtaFRZakpTV0ZOWVZscE5hbXd3VTJ4U1N3cFNNa3BJVDFjMWFGWjZVbk5VVjNSaFpHeHNXVlpxUW1oUlZFTkNhWGRaUzB0M1dVSkNRVWhYWlZGSlJVRm5VamxDU0hOQlpWRkNNMEZPTURsTlIzSkhDbmg0UlhsWmVHdGxTRXBzYms1M1MybFRiRFkwTTJwNWRDODBaVXRqYjBGMlMyVTJUMEZCUVVKdlVEVnlVVUk0UVVGQlVVUkJSV2QzVW1kSmFFRk9VWF
 
VLUmt4M1lqaEVTVlkxUkROd1JUZGhWM1ZFZEVOaGRrZDFMMGhXVlVzd2JreHVOVWxoVUM5b2NVRnBSVUYyUm14NVkwTkNXRVZ0Y2paMVJsZENRMHBRUWdvNFQyUm5UMDFIYkVodGRIQk9SVkpJTVU1aWFGSkxPSGREWjFsSlMyOWFTWHBxTUVWQmQwMUVZVUZCZDFwUlNYaEJVRXQxUTBwbFUyY3hSMEV2ZWxKakNrODJlV2xPSzFSWVYwZ3ZVRU5aVnpCQ1pYZDJMMHR5Y1N0NlZXcEpWbEIwS3l0dlRtNUJNSGxZUVZnM2VEaEVZMjVSU1hkUVYwdExiMjVJUTFVdmVHd0tjazloVFhnMFpGSXZlVlJWUVdoQk5XMDJjU3RHYVdaR04zbDJSVmR2VGtOa2RpdHFUbVV3TDB0WldraHRiSEpFU2pScE9Rb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0ifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIIE6jADAgEAMIIE4QYJKoZIhvcNAQcCoIIE0jCCBM4CAQMxDTALBglghkgBZQMEAgEwgcIGCyqGSIb3DQEJEAEEoIGyBIGvMIGsAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgjkBGJgfftxw5Gh5M8gKrK1wGhtqlGsag5NX8bPnWHGwCFQDzd3ulKDhhvlOrYqyhyVuuV5luVRgPMjAyNjEwMDIyMTAwMzdaMAMCAQECCCduQcGsjgTBoDKkMDAuMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxFTATBgNVBAMTDHNpZ3N0b3JlLXRzYaCCAhQwggIQMIIBlqADAgECAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAzA5MRUwEwYDVQQKEwxzaWdzd
 
G9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkMB4XDTI1MDQwODA2NTk0M1oXDTM1MDQwNjA2NTk0M1owLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATitrZnyEo2KDZP2QWMIBOgYbfSOTL5ZC/cHMv6Yq+HVIo1H9TC7Cx80KDiyvKhgB3wTqKyi9UDczhqg12b1AOLnRnydMTK+qB8M+1MjBci1+Jb8AV/VXu7CRuQCiPTHFyjajBoMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUif15Q4fP0GVGwwJGxyxzW3206wMwHwYDVR0jBBgwFoAUmOwB73+7Uf/UlR5vioiYUweJzr8wFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwCgYIKoZIzj0EAwMDaAAwZQIwO2mxX/opo7SrIX9QyxfZpJRcpAV2gZOm1AZzR+2rVyy6Uc8Ybp2ybIw13ckH4bcRAjEA5qO8FyOkmYpvg2/7ZNqiPxRzn5vqKHoVcIIqtpKq6l7TvOqzAxxclN7VwTG8e++XMYIB2zCCAdcCAQEwUTA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDALBglghkgBZQMEAgGggfwwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNjEwMDIyMTAwMzdaMC8GCSqGSIb3DQEJBDEiBCD3qS8wXmmQ1GqBUrgVmCcK5x0mICrATQyB2t18xus8cTCBjgYLKoZIhvcNAQkQAi8xfzB9MHsweQQghfknvAerYsrDtENWwQ78gbLGiD/aernm2HDZ0TrNBbcwVTA9pD
 
swOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCgYIKoZIzj0EAwIEZzBlAjAdYZf59GFLUDYTgRN4Zoo8Cj3KDx9EyvmKTkaUCLij4hb0F2rOJZaR8bbtfwzb7WUCMQDdTHFS1DHH5u3H+9MOFM8EOTjTdx6Uz6NVyExcQkhaibjhIBMSxSCHD9mtJTON9vU="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"UGYwqmbVRBGI803yLAdgv+h/ySISYwST68n/Ozp6HUk="},"signature":"MEUCIEIxQq0k3hVELLilf5MleVtCUlUvdMI0RcxgG27tNxAmAiEAqjR07e/arpX8LPXyYp1iU8/jzqn5zXMgsQLqbEe2VAY="}}

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.d4BgQJ/_old  2026-10-06 19:16:01.890544323 +0200
+++ /var/tmp/diff_new_pack.d4BgQJ/_new  2026-10-06 19:16:01.894544491 +0200
@@ -1,6 +1,6 @@
-mtime: 1788383158
-commit: c51ef2be22316d64b8dcd5a6f60f2964b2c6c12824b5a7f0a0b455de1dbc09e4
+mtime: 1791197397
+commit: 215d3b003bbb711013ff1382c4a3814a24d7fa41cca049803a202b458cb4e4d4
 url: https://src.opensuse.org/python-interpreters/python315
-revision: c51ef2be22316d64b8dcd5a6f60f2964b2c6c12824b5a7f0a0b455de1dbc09e4
+revision: 215d3b003bbb711013ff1382c4a3814a24d7fa41cca049803a202b458cb4e4d4
 projectscmsync: https://src.opensuse.org/python-interpreters/_ObsPrj
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-10-05 12:49:57.000000000 +0200
@@ -0,0 +1,5 @@
+*.obscpio
+*.osc
+_build.*
+.pbuild
+python315-*-build/

Reply via email to