all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:feb8:2cf6
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 72652fd3-2cdf-4678-ba68-13d4078b0aec
        host_id: dc6e70e9c8a632db314ad904d19835ae509ec2b306670431b28f35fc
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:feb8:2cf6
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.176
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.108
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:feb8:2cf6
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job flake8 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#32>'
      - '<Job flake8 explicit: None implied: None source: osism/python-osism/.zuul.yaml@main#133>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: c173bedab6b347bfacf57fcbdb1df6be
      build_refs:
      - branch: main
        change: '1918'
        change_message: "Update dependency celery to v5.6.2\n\nThis PR contains the
          following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [celery](https://docs.celeryq.dev/) ([source](https://redirect.github.com/celery/celery),
          [changelog](https://docs.celeryq.dev/en/stable/changelog.html)) | `==5.6.0`
          \u2192 `==5.6.2` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/celery/5.6.2?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/celery/5.6.0/5.6.2?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>celery/celery (celery)</summary>\n\n###
          [`v5.6.2`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#562)\n\n[Compare
          Source](https://redirect.github.com/celery/celery/compare/v5.6.1...v5.6.2)\n\n\\=====\n\n:release-date:
          2026-01-04\n:release-by: Tomer Nosrati\n\nWhat's Changed\n\n```\n\n- Fix
          recursive WorkController instantiation in DjangoWorkerFixup + AttributeError
          when pool_cls is a string (#&#8203;10045)\n- Bugfix: Revoked tasks now immediately
          update backend status to REVOKED (#&#8203;9869)\n- Prepare for release:
          v5.6.2 (#&#8203;10049)\n\n.. _version-5.6.1:\n\n5.6.1\n=====\n\n:release-date:
          2025-12-29\n:release-by: Tomer Nosrati\n\nWhat's Changed\n```\n\n- Fix Redis
          Sentinel ACL authentication support ([#&#8203;10013](https://redirect.github.com/celery/celery/issues/10013))\n-
          Fix: Broker heartbeats not sent during graceful shutdown ([#&#8203;9986](https://redirect.github.com/celery/celery/issues/9986))\n-
          docs [#&#8203;5410](https://redirect.github.com/celery/celery/issues/5410)
          -- Document confirm\\_publish broker transport option ([#&#8203;10016](https://redirect.github.com/celery/celery/issues/10016))\n-
          close DB pools only in prefork mode ([#&#8203;10020](https://redirect.github.com/celery/celery/issues/10020))\n-
          Fix: Avoid unnecessary Django database connection creation during cleanup
          ([#&#8203;10015](https://redirect.github.com/celery/celery/issues/10015))\n-
          reliable prefork detection ([#&#8203;10023](https://redirect.github.com/celery/celery/issues/10023))\n-
          better coverage ([#&#8203;10029](https://redirect.github.com/celery/celery/issues/10029))\n-
          Docs: clarify `result_extended` vs periodic task metadata and show `headers[\"periodic_task_name\"]`
          example ([#&#8203;10030](https://redirect.github.com/celery/celery/issues/10030))\n-
          Stop importing pytest\\_subtests ([#&#8203;10032](https://redirect.github.com/celery/celery/issues/10032))\n-
          Only use exceptiongroup backport for Python < 3.11 ([#&#8203;10033](https://redirect.github.com/celery/celery/issues/10033))\n-
          Prepare for release: v5.6.1 ([#&#8203;10037](https://redirect.github.com/celery/celery/issues/10037))\n\n..
          \\_version-5.6.0:\n\n### [`v5.6.1`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#561)\n\n[Compare
          Source](https://redirect.github.com/celery/celery/compare/v5.6.0...v5.6.1)\n\n\\=====\n\n:release-date:
          2025-12-29\n:release-by: Tomer Nosrati\n\nWhat's Changed\n\n```\n\n- Fix
          Redis Sentinel ACL authentication support (#&#8203;10013)\n- Fix: Broker
          heartbeats not sent during graceful shutdown (#&#8203;9986)\n- docs #&#8203;5410
          -- Document confirm_publish broker transport option (#&#8203;10016)\n- close
          DB pools only in prefork mode (#&#8203;10020)\n- Fix: Avoid unnecessary
          Django database connection creation during cleanup (#&#8203;10015)\n- reliable
          prefork detection (#&#8203;10023)\n- better coverage (#&#8203;10029)\n-
          Docs: clarify `result_extended` vs periodic task metadata and show `headers[\"periodic_task_name\"]`
          example (#&#8203;10030)\n- Stop importing pytest_subtests (#&#8203;10032)\n-
          Only use exceptiongroup backport for Python < 3.11 (#&#8203;10033)\n- Prepare
          for release: v5.6.1 (#&#8203;10037)\n\n.. _version-5.6.0:\n\n5.6.0\n=====\n\n:release-date:
          2025-11-30\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 is now available.\n\nKey
          Highlights\n```\n\nSee :ref:`whatsnew-5.6` for a complete overview or read
          the main highlights below.\n\n## Python 3.9 Minimum Version\n\nCelery 5.6.0
          drops support for Python 3.8 (EOL). The minimum required Python\nversion
          is now 3.9. Users still on Python 3.8 must upgrade their Python version\nbefore
          upgrading to Celery 5.6.0.\n\nAdditionally, this release includes initial
          support for Python 3.14.\n\n## SQS: Reverted to `pycurl` from `urllib3`\n\nThe
          switch from `pycurl` to `urllib3` for the SQS transport (introduced in\nCelery
          5.5.0 via Kombu) has been reverted due to critical issues affecting SQS\nusers:\n\n-
          Processing throughput dropped from \\~100 tasks/sec to \\~3/sec in some
          environments\n- `UnknownOperationException` errors causing container crash
          loops\n- Silent message processing failures with no error logs\n\nUsers
          of the SQS transport must ensure `pycurl` is installed. If you removed\n`pycurl`
          after upgrading to Celery 5.5.0, you will need to reinstall it.\n\nContributed
          by `@auvipy <https://github.com/auvipy>`\\_ in\n`#&#8203;9620 <https://github.com/celery/celery/pull/9620>`\\_.\n\n##
          Security Fix: Broker Credential Leak Prevention\n\nFixed a security issue
          where broker URLs containing passwords were being logged\nin plaintext by
          the delayed delivery mechanism. Broker credentials are now\nproperly sanitized
          in all log output.\n\nContributed by `@giancarloromeo <https://github.com/giancarloromeo>`\\_
          in\n`#&#8203;9997 <https://github.com/celery/celery/pull/9997>`\\_.\n\n##
          Memory Leak Fixes\n\nTwo significant memory leaks have been fixed in this
          release:\n\n**Exception Handling Memory Leak**: Fixed a critical memory
          leak in task exception\nhandling that was particularly severe on Python
          3.11+ due to enhanced traceback\ndata. The fix properly breaks reference
          cycles in tracebacks to allow garbage\ncollection.\n\nContributed by `@jaiganeshs21
          <https://github.com/jaiganeshs21>`\\_ in\n`#&#8203;9799 <https://github.com/celery/celery/pull/9799>`\\_.\n\n**Pending
          Result Memory Leak**: Fixed a memory leak where `AsyncResult`\nsubscriptions
          were not being cleaned up when results were forgotten.\n\nContributed by
          `@tsoos99dev <https://github.com/tsoos99dev>`\\_ in\n`#&#8203;9806 <https://github.com/celery/celery/pull/9806>`\\_.\n\n##
          ETA Task Memory Limit\n\nNew configuration option :setting:`worker_eta_task_limit`
          to prevent out-of-memory\ncrashes when workers fetch large numbers of ETA
          or countdown tasks. Previously,\nworkers could exhaust available memory
          when the broker contained many scheduled tasks.\n\nExample usage:\n\n..
          code-block:: python\n\n```\napp.conf.worker_eta_task_limit = 1000\n```\n\nContributed
          by `@sashu2310 <https://github.com/sashu2310>`\\_ in\n`#&#8203;9853 <https://github.com/celery/celery/pull/9853>`\\_.\n\n##
          Queue Type Selection for Auto-created Queues\n\nNew configuration options
          allow specifying the queue type and exchange type when\nCelery auto-creates
          missing queues. This is particularly useful for RabbitMQ users\nwho want
          to use quorum queues with auto-created queues.\n\nConfiguration options:\n\n-
          :setting:`task_create_missing_queue_type`: Sets the queue type for auto-created\n
          \ queues (e.g., `quorum`, `classic`)\n- :setting:`task_create_missing_queue_exchange_type`:
          Sets the exchange type for\n  auto-created queues\n\nExample usage:\n\n..
          code-block:: python\n\n```\napp.conf.task_create_missing_queue_type = 'quorum'\n```\n\nContributed
          by `@ghirailghiro <https://github.com/ghirailghiro>`\\_ in\n`#&#8203;9815
          <https://github.com/celery/celery/pull/9815>`\\_.\n\nWhat's Changed\n\n```\n\n-
          Prepare for release: v5.6.0 (#&#8203;10010)\n\n.. _version-5.6.0rc2:\n\n5.6.0rc2\n========\n\n:release-date:
          2025-11-22\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 Release Candidate
          2 is now available for testing.\nPlease help us test this version and report
          any issues.\n\nWhat's Changed\n```\n\n- Remove Python 4.0 version condition
          for pytest dependencies ([#&#8203;9993](https://redirect.github.com/celery/celery/issues/9993))\n-
          Sanitize broker URL in delayed delivery logs (avoid leaking credentials)
          ([#&#8203;9997](https://redirect.github.com/celery/celery/issues/9997))\n-
          Don't fail task on timeout during cold shutdown ([#&#8203;9678](https://redirect.github.com/celery/celery/issues/9678))\n-
          Add Py39-314t to CI ([#&#8203;9999](https://redirect.github.com/celery/celery/issues/9999))\n-
          asynpool: Don't return from inside a finally block ([#&#8203;10000](https://redirect.github.com/celery/celery/issues/10000))\n-
          Prepare for (pre) release: v5.6.0rc2 ([#&#8203;10005](https://redirect.github.com/celery/celery/issues/10005))\n\n..
          \\_version-5.6.0rc1:\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5
          **Schedule**: Branch creation - At any time (no schedule defined), Automerge
          - At any time (no schedule defined).\n\n\U0001F6A6 **Automerge**: Disabled
          by config. Please merge this manually once you are satisfied.\n\n\u267B
          **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry
          checkbox.\n\n\U0001F515 **Ignore**: Close this PR and you won't be reminded
          about these updates again.\n\n---\n\n - [ ] <!-- rebase-check -->If you
          want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated
          by [Mend Renovate](https://mend.io/renovate/). View the [repository job
          log](https://developer.mend.io/github/osism/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/python-osism/pull/1918
        commit_id: 99e8529682da64445c12c2bf9f9304a85be20ab5
        patchset: 99e8529682da64445c12c2bf9f9304a85be20ab5
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      buildset: 2d246c70c1834cc798a4f0d3b303d6cc
      buildset_refs:
      - branch: main
        change: '1918'
        change_message: "Update dependency celery to v5.6.2\n\nThis PR contains the
          following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [celery](https://docs.celeryq.dev/) ([source](https://redirect.github.com/celery/celery),
          [changelog](https://docs.celeryq.dev/en/stable/changelog.html)) | `==5.6.0`
          \u2192 `==5.6.2` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/celery/5.6.2?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/celery/5.6.0/5.6.2?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>celery/celery (celery)</summary>\n\n###
          [`v5.6.2`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#562)\n\n[Compare
          Source](https://redirect.github.com/celery/celery/compare/v5.6.1...v5.6.2)\n\n\\=====\n\n:release-date:
          2026-01-04\n:release-by: Tomer Nosrati\n\nWhat's Changed\n\n```\n\n- Fix
          recursive WorkController instantiation in DjangoWorkerFixup + AttributeError
          when pool_cls is a string (#&#8203;10045)\n- Bugfix: Revoked tasks now immediately
          update backend status to REVOKED (#&#8203;9869)\n- Prepare for release:
          v5.6.2 (#&#8203;10049)\n\n.. _version-5.6.1:\n\n5.6.1\n=====\n\n:release-date:
          2025-12-29\n:release-by: Tomer Nosrati\n\nWhat's Changed\n```\n\n- Fix Redis
          Sentinel ACL authentication support ([#&#8203;10013](https://redirect.github.com/celery/celery/issues/10013))\n-
          Fix: Broker heartbeats not sent during graceful shutdown ([#&#8203;9986](https://redirect.github.com/celery/celery/issues/9986))\n-
          docs [#&#8203;5410](https://redirect.github.com/celery/celery/issues/5410)
          -- Document confirm\\_publish broker transport option ([#&#8203;10016](https://redirect.github.com/celery/celery/issues/10016))\n-
          close DB pools only in prefork mode ([#&#8203;10020](https://redirect.github.com/celery/celery/issues/10020))\n-
          Fix: Avoid unnecessary Django database connection creation during cleanup
          ([#&#8203;10015](https://redirect.github.com/celery/celery/issues/10015))\n-
          reliable prefork detection ([#&#8203;10023](https://redirect.github.com/celery/celery/issues/10023))\n-
          better coverage ([#&#8203;10029](https://redirect.github.com/celery/celery/issues/10029))\n-
          Docs: clarify `result_extended` vs periodic task metadata and show `headers[\"periodic_task_name\"]`
          example ([#&#8203;10030](https://redirect.github.com/celery/celery/issues/10030))\n-
          Stop importing pytest\\_subtests ([#&#8203;10032](https://redirect.github.com/celery/celery/issues/10032))\n-
          Only use exceptiongroup backport for Python < 3.11 ([#&#8203;10033](https://redirect.github.com/celery/celery/issues/10033))\n-
          Prepare for release: v5.6.1 ([#&#8203;10037](https://redirect.github.com/celery/celery/issues/10037))\n\n..
          \\_version-5.6.0:\n\n### [`v5.6.1`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#561)\n\n[Compare
          Source](https://redirect.github.com/celery/celery/compare/v5.6.0...v5.6.1)\n\n\\=====\n\n:release-date:
          2025-12-29\n:release-by: Tomer Nosrati\n\nWhat's Changed\n\n```\n\n- Fix
          Redis Sentinel ACL authentication support (#&#8203;10013)\n- Fix: Broker
          heartbeats not sent during graceful shutdown (#&#8203;9986)\n- docs #&#8203;5410
          -- Document confirm_publish broker transport option (#&#8203;10016)\n- close
          DB pools only in prefork mode (#&#8203;10020)\n- Fix: Avoid unnecessary
          Django database connection creation during cleanup (#&#8203;10015)\n- reliable
          prefork detection (#&#8203;10023)\n- better coverage (#&#8203;10029)\n-
          Docs: clarify `result_extended` vs periodic task metadata and show `headers[\"periodic_task_name\"]`
          example (#&#8203;10030)\n- Stop importing pytest_subtests (#&#8203;10032)\n-
          Only use exceptiongroup backport for Python < 3.11 (#&#8203;10033)\n- Prepare
          for release: v5.6.1 (#&#8203;10037)\n\n.. _version-5.6.0:\n\n5.6.0\n=====\n\n:release-date:
          2025-11-30\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 is now available.\n\nKey
          Highlights\n```\n\nSee :ref:`whatsnew-5.6` for a complete overview or read
          the main highlights below.\n\n## Python 3.9 Minimum Version\n\nCelery 5.6.0
          drops support for Python 3.8 (EOL). The minimum required Python\nversion
          is now 3.9. Users still on Python 3.8 must upgrade their Python version\nbefore
          upgrading to Celery 5.6.0.\n\nAdditionally, this release includes initial
          support for Python 3.14.\n\n## SQS: Reverted to `pycurl` from `urllib3`\n\nThe
          switch from `pycurl` to `urllib3` for the SQS transport (introduced in\nCelery
          5.5.0 via Kombu) has been reverted due to critical issues affecting SQS\nusers:\n\n-
          Processing throughput dropped from \\~100 tasks/sec to \\~3/sec in some
          environments\n- `UnknownOperationException` errors causing container crash
          loops\n- Silent message processing failures with no error logs\n\nUsers
          of the SQS transport must ensure `pycurl` is installed. If you removed\n`pycurl`
          after upgrading to Celery 5.5.0, you will need to reinstall it.\n\nContributed
          by `@auvipy <https://github.com/auvipy>`\\_ in\n`#&#8203;9620 <https://github.com/celery/celery/pull/9620>`\\_.\n\n##
          Security Fix: Broker Credential Leak Prevention\n\nFixed a security issue
          where broker URLs containing passwords were being logged\nin plaintext by
          the delayed delivery mechanism. Broker credentials are now\nproperly sanitized
          in all log output.\n\nContributed by `@giancarloromeo <https://github.com/giancarloromeo>`\\_
          in\n`#&#8203;9997 <https://github.com/celery/celery/pull/9997>`\\_.\n\n##
          Memory Leak Fixes\n\nTwo significant memory leaks have been fixed in this
          release:\n\n**Exception Handling Memory Leak**: Fixed a critical memory
          leak in task exception\nhandling that was particularly severe on Python
          3.11+ due to enhanced traceback\ndata. The fix properly breaks reference
          cycles in tracebacks to allow garbage\ncollection.\n\nContributed by `@jaiganeshs21
          <https://github.com/jaiganeshs21>`\\_ in\n`#&#8203;9799 <https://github.com/celery/celery/pull/9799>`\\_.\n\n**Pending
          Result Memory Leak**: Fixed a memory leak where `AsyncResult`\nsubscriptions
          were not being cleaned up when results were forgotten.\n\nContributed by
          `@tsoos99dev <https://github.com/tsoos99dev>`\\_ in\n`#&#8203;9806 <https://github.com/celery/celery/pull/9806>`\\_.\n\n##
          ETA Task Memory Limit\n\nNew configuration option :setting:`worker_eta_task_limit`
          to prevent out-of-memory\ncrashes when workers fetch large numbers of ETA
          or countdown tasks. Previously,\nworkers could exhaust available memory
          when the broker contained many scheduled tasks.\n\nExample usage:\n\n..
          code-block:: python\n\n```\napp.conf.worker_eta_task_limit = 1000\n```\n\nContributed
          by `@sashu2310 <https://github.com/sashu2310>`\\_ in\n`#&#8203;9853 <https://github.com/celery/celery/pull/9853>`\\_.\n\n##
          Queue Type Selection for Auto-created Queues\n\nNew configuration options
          allow specifying the queue type and exchange type when\nCelery auto-creates
          missing queues. This is particularly useful for RabbitMQ users\nwho want
          to use quorum queues with auto-created queues.\n\nConfiguration options:\n\n-
          :setting:`task_create_missing_queue_type`: Sets the queue type for auto-created\n
          \ queues (e.g., `quorum`, `classic`)\n- :setting:`task_create_missing_queue_exchange_type`:
          Sets the exchange type for\n  auto-created queues\n\nExample usage:\n\n..
          code-block:: python\n\n```\napp.conf.task_create_missing_queue_type = 'quorum'\n```\n\nContributed
          by `@ghirailghiro <https://github.com/ghirailghiro>`\\_ in\n`#&#8203;9815
          <https://github.com/celery/celery/pull/9815>`\\_.\n\nWhat's Changed\n\n```\n\n-
          Prepare for release: v5.6.0 (#&#8203;10010)\n\n.. _version-5.6.0rc2:\n\n5.6.0rc2\n========\n\n:release-date:
          2025-11-22\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 Release Candidate
          2 is now available for testing.\nPlease help us test this version and report
          any issues.\n\nWhat's Changed\n```\n\n- Remove Python 4.0 version condition
          for pytest dependencies ([#&#8203;9993](https://redirect.github.com/celery/celery/issues/9993))\n-
          Sanitize broker URL in delayed delivery logs (avoid leaking credentials)
          ([#&#8203;9997](https://redirect.github.com/celery/celery/issues/9997))\n-
          Don't fail task on timeout during cold shutdown ([#&#8203;9678](https://redirect.github.com/celery/celery/issues/9678))\n-
          Add Py39-314t to CI ([#&#8203;9999](https://redirect.github.com/celery/celery/issues/9999))\n-
          asynpool: Don't return from inside a finally block ([#&#8203;10000](https://redirect.github.com/celery/celery/issues/10000))\n-
          Prepare for (pre) release: v5.6.0rc2 ([#&#8203;10005](https://redirect.github.com/celery/celery/issues/10005))\n\n..
          \\_version-5.6.0rc1:\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5
          **Schedule**: Branch creation - At any time (no schedule defined), Automerge
          - At any time (no schedule defined).\n\n\U0001F6A6 **Automerge**: Disabled
          by config. Please merge this manually once you are satisfied.\n\n\u267B
          **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry
          checkbox.\n\n\U0001F515 **Ignore**: Close this PR and you won't be reminded
          about these updates again.\n\n---\n\n - [ ] <!-- rebase-check -->If you
          want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated
          by [Mend Renovate](https://mend.io/renovate/). View the [repository job
          log](https://developer.mend.io/github/osism/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/python-osism/pull/1918
        commit_id: 99e8529682da64445c12c2bf9f9304a85be20ab5
        patchset: 99e8529682da64445c12c2bf9f9304a85be20ab5
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      change: '1918'
      change_message: "Update dependency celery to v5.6.2\n\nThis PR contains the
        following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
        | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
        [celery](https://docs.celeryq.dev/) ([source](https://redirect.github.com/celery/celery),
        [changelog](https://docs.celeryq.dev/en/stable/changelog.html)) | `==5.6.0`
        \u2192 `==5.6.2` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/celery/5.6.2?slim=true)
        | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/celery/5.6.0/5.6.2?slim=true)
        |\n\n---\n\n### Release Notes\n\n<details>\n<summary>celery/celery (celery)</summary>\n\n###
        [`v5.6.2`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#562)\n\n[Compare
        Source](https://redirect.github.com/celery/celery/compare/v5.6.1...v5.6.2)\n\n\\=====\n\n:release-date:
        2026-01-04\n:release-by: Tomer Nosrati\n\nWhat's Changed\n\n```\n\n- Fix recursive
        WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls
        is a string (#&#8203;10045)\n- Bugfix: Revoked tasks now immediately update
        backend status to REVOKED (#&#8203;9869)\n- Prepare for release: v5.6.2 (#&#8203;10049)\n\n..
        _version-5.6.1:\n\n5.6.1\n=====\n\n:release-date: 2025-12-29\n:release-by:
        Tomer Nosrati\n\nWhat's Changed\n```\n\n- Fix Redis Sentinel ACL authentication
        support ([#&#8203;10013](https://redirect.github.com/celery/celery/issues/10013))\n-
        Fix: Broker heartbeats not sent during graceful shutdown ([#&#8203;9986](https://redirect.github.com/celery/celery/issues/9986))\n-
        docs [#&#8203;5410](https://redirect.github.com/celery/celery/issues/5410)
        -- Document confirm\\_publish broker transport option ([#&#8203;10016](https://redirect.github.com/celery/celery/issues/10016))\n-
        close DB pools only in prefork mode ([#&#8203;10020](https://redirect.github.com/celery/celery/issues/10020))\n-
        Fix: Avoid unnecessary Django database connection creation during cleanup
        ([#&#8203;10015](https://redirect.github.com/celery/celery/issues/10015))\n-
        reliable prefork detection ([#&#8203;10023](https://redirect.github.com/celery/celery/issues/10023))\n-
        better coverage ([#&#8203;10029](https://redirect.github.com/celery/celery/issues/10029))\n-
        Docs: clarify `result_extended` vs periodic task metadata and show `headers[\"periodic_task_name\"]`
        example ([#&#8203;10030](https://redirect.github.com/celery/celery/issues/10030))\n-
        Stop importing pytest\\_subtests ([#&#8203;10032](https://redirect.github.com/celery/celery/issues/10032))\n-
        Only use exceptiongroup backport for Python < 3.11 ([#&#8203;10033](https://redirect.github.com/celery/celery/issues/10033))\n-
        Prepare for release: v5.6.1 ([#&#8203;10037](https://redirect.github.com/celery/celery/issues/10037))\n\n..
        \\_version-5.6.0:\n\n### [`v5.6.1`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#561)\n\n[Compare
        Source](https://redirect.github.com/celery/celery/compare/v5.6.0...v5.6.1)\n\n\\=====\n\n:release-date:
        2025-12-29\n:release-by: Tomer Nosrati\n\nWhat's Changed\n\n```\n\n- Fix Redis
        Sentinel ACL authentication support (#&#8203;10013)\n- Fix: Broker heartbeats
        not sent during graceful shutdown (#&#8203;9986)\n- docs #&#8203;5410 -- Document
        confirm_publish broker transport option (#&#8203;10016)\n- close DB pools
        only in prefork mode (#&#8203;10020)\n- Fix: Avoid unnecessary Django database
        connection creation during cleanup (#&#8203;10015)\n- reliable prefork detection
        (#&#8203;10023)\n- better coverage (#&#8203;10029)\n- Docs: clarify `result_extended`
        vs periodic task metadata and show `headers[\"periodic_task_name\"]` example
        (#&#8203;10030)\n- Stop importing pytest_subtests (#&#8203;10032)\n- Only
        use exceptiongroup backport for Python < 3.11 (#&#8203;10033)\n- Prepare for
        release: v5.6.1 (#&#8203;10037)\n\n.. _version-5.6.0:\n\n5.6.0\n=====\n\n:release-date:
        2025-11-30\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 is now available.\n\nKey
        Highlights\n```\n\nSee :ref:`whatsnew-5.6` for a complete overview or read
        the main highlights below.\n\n## Python 3.9 Minimum Version\n\nCelery 5.6.0
        drops support for Python 3.8 (EOL). The minimum required Python\nversion is
        now 3.9. Users still on Python 3.8 must upgrade their Python version\nbefore
        upgrading to Celery 5.6.0.\n\nAdditionally, this release includes initial
        support for Python 3.14.\n\n## SQS: Reverted to `pycurl` from `urllib3`\n\nThe
        switch from `pycurl` to `urllib3` for the SQS transport (introduced in\nCelery
        5.5.0 via Kombu) has been reverted due to critical issues affecting SQS\nusers:\n\n-
        Processing throughput dropped from \\~100 tasks/sec to \\~3/sec in some environments\n-
        `UnknownOperationException` errors causing container crash loops\n- Silent
        message processing failures with no error logs\n\nUsers of the SQS transport
        must ensure `pycurl` is installed. If you removed\n`pycurl` after upgrading
        to Celery 5.5.0, you will need to reinstall it.\n\nContributed by `@auvipy
        <https://github.com/auvipy>`\\_ in\n`#&#8203;9620 <https://github.com/celery/celery/pull/9620>`\\_.\n\n##
        Security Fix: Broker Credential Leak Prevention\n\nFixed a security issue
        where broker URLs containing passwords were being logged\nin plaintext by
        the delayed delivery mechanism. Broker credentials are now\nproperly sanitized
        in all log output.\n\nContributed by `@giancarloromeo <https://github.com/giancarloromeo>`\\_
        in\n`#&#8203;9997 <https://github.com/celery/celery/pull/9997>`\\_.\n\n##
        Memory Leak Fixes\n\nTwo significant memory leaks have been fixed in this
        release:\n\n**Exception Handling Memory Leak**: Fixed a critical memory leak
        in task exception\nhandling that was particularly severe on Python 3.11+ due
        to enhanced traceback\ndata. The fix properly breaks reference cycles in tracebacks
        to allow garbage\ncollection.\n\nContributed by `@jaiganeshs21 <https://github.com/jaiganeshs21>`\\_
        in\n`#&#8203;9799 <https://github.com/celery/celery/pull/9799>`\\_.\n\n**Pending
        Result Memory Leak**: Fixed a memory leak where `AsyncResult`\nsubscriptions
        were not being cleaned up when results were forgotten.\n\nContributed by `@tsoos99dev
        <https://github.com/tsoos99dev>`\\_ in\n`#&#8203;9806 <https://github.com/celery/celery/pull/9806>`\\_.\n\n##
        ETA Task Memory Limit\n\nNew configuration option :setting:`worker_eta_task_limit`
        to prevent out-of-memory\ncrashes when workers fetch large numbers of ETA
        or countdown tasks. Previously,\nworkers could exhaust available memory when
        the broker contained many scheduled tasks.\n\nExample usage:\n\n.. code-block::
        python\n\n```\napp.conf.worker_eta_task_limit = 1000\n```\n\nContributed by
        `@sashu2310 <https://github.com/sashu2310>`\\_ in\n`#&#8203;9853 <https://github.com/celery/celery/pull/9853>`\\_.\n\n##
        Queue Type Selection for Auto-created Queues\n\nNew configuration options
        allow specifying the queue type and exchange type when\nCelery auto-creates
        missing queues. This is particularly useful for RabbitMQ users\nwho want to
        use quorum queues with auto-created queues.\n\nConfiguration options:\n\n-
        :setting:`task_create_missing_queue_type`: Sets the queue type for auto-created\n
        \ queues (e.g., `quorum`, `classic`)\n- :setting:`task_create_missing_queue_exchange_type`:
        Sets the exchange type for\n  auto-created queues\n\nExample usage:\n\n..
        code-block:: python\n\n```\napp.conf.task_create_missing_queue_type = 'quorum'\n```\n\nContributed
        by `@ghirailghiro <https://github.com/ghirailghiro>`\\_ in\n`#&#8203;9815
        <https://github.com/celery/celery/pull/9815>`\\_.\n\nWhat's Changed\n\n```\n\n-
        Prepare for release: v5.6.0 (#&#8203;10010)\n\n.. _version-5.6.0rc2:\n\n5.6.0rc2\n========\n\n:release-date:
        2025-11-22\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 Release Candidate
        2 is now available for testing.\nPlease help us test this version and report
        any issues.\n\nWhat's Changed\n```\n\n- Remove Python 4.0 version condition
        for pytest dependencies ([#&#8203;9993](https://redirect.github.com/celery/celery/issues/9993))\n-
        Sanitize broker URL in delayed delivery logs (avoid leaking credentials) ([#&#8203;9997](https://redirect.github.com/celery/celery/issues/9997))\n-
        Don't fail task on timeout during cold shutdown ([#&#8203;9678](https://redirect.github.com/celery/celery/issues/9678))\n-
        Add Py39-314t to CI ([#&#8203;9999](https://redirect.github.com/celery/celery/issues/9999))\n-
        asynpool: Don't return from inside a finally block ([#&#8203;10000](https://redirect.github.com/celery/celery/issues/10000))\n-
        Prepare for (pre) release: v5.6.0rc2 ([#&#8203;10005](https://redirect.github.com/celery/celery/issues/10005))\n\n..
        \\_version-5.6.0rc1:\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5
        **Schedule**: Branch creation - At any time (no schedule defined), Automerge
        - At any time (no schedule defined).\n\n\U0001F6A6 **Automerge**: Disabled
        by config. Please merge this manually once you are satisfied.\n\n\u267B **Rebasing**:
        Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\U0001F515
        **Ignore**: Close this PR and you won't be reminded about these updates again.\n\n---\n\n
        - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this
        box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).
        View the [repository job log](https://developer.mend.io/github/osism/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
      change_url: https://github.com/osism/python-osism/pull/1918
      child_jobs: []
      commit_id: 99e8529682da64445c12c2bf9f9304a85be20ab5
      event_id: 2ad6c770-f089-11f0-8d16-67403aa567f7
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/c173bedab6b347bfacf57fcbdb1df6be/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/c173bedab6b347bfacf57fcbdb1df6be/work/logs
        result_data_file: /var/lib/zuul/builds/c173bedab6b347bfacf57fcbdb1df6be/work/results.json
        src_root: /var/lib/zuul/builds/c173bedab6b347bfacf57fcbdb1df6be/work/src
        work_root: /var/lib/zuul/builds/c173bedab6b347bfacf57fcbdb1df6be/work
      include_vars: []
      items:
      - branch: main
        change: '1918'
        change_message: "Update dependency celery to v5.6.2\n\nThis PR contains the
          following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [celery](https://docs.celeryq.dev/) ([source](https://redirect.github.com/celery/celery),
          [changelog](https://docs.celeryq.dev/en/stable/changelog.html)) | `==5.6.0`
          \u2192 `==5.6.2` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/celery/5.6.2?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/celery/5.6.0/5.6.2?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>celery/celery (celery)</summary>\n\n###
          [`v5.6.2`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#562)\n\n[Compare
          Source](https://redirect.github.com/celery/celery/compare/v5.6.1...v5.6.2)\n\n\\=====\n\n:release-date:
          2026-01-04\n:release-by: Tomer Nosrati\n\nWhat's Changed\n\n```\n\n- Fix
          recursive WorkController instantiation in DjangoWorkerFixup + AttributeError
          when pool_cls is a string (#&#8203;10045)\n- Bugfix: Revoked tasks now immediately
          update backend status to REVOKED (#&#8203;9869)\n- Prepare for release:
          v5.6.2 (#&#8203;10049)\n\n.. _version-5.6.1:\n\n5.6.1\n=====\n\n:release-date:
          2025-12-29\n:release-by: Tomer Nosrati\n\nWhat's Changed\n```\n\n- Fix Redis
          Sentinel ACL authentication support ([#&#8203;10013](https://redirect.github.com/celery/celery/issues/10013))\n-
          Fix: Broker heartbeats not sent during graceful shutdown ([#&#8203;9986](https://redirect.github.com/celery/celery/issues/9986))\n-
          docs [#&#8203;5410](https://redirect.github.com/celery/celery/issues/5410)
          -- Document confirm\\_publish broker transport option ([#&#8203;10016](https://redirect.github.com/celery/celery/issues/10016))\n-
          close DB pools only in prefork mode ([#&#8203;10020](https://redirect.github.com/celery/celery/issues/10020))\n-
          Fix: Avoid unnecessary Django database connection creation during cleanup
          ([#&#8203;10015](https://redirect.github.com/celery/celery/issues/10015))\n-
          reliable prefork detection ([#&#8203;10023](https://redirect.github.com/celery/celery/issues/10023))\n-
          better coverage ([#&#8203;10029](https://redirect.github.com/celery/celery/issues/10029))\n-
          Docs: clarify `result_extended` vs periodic task metadata and show `headers[\"periodic_task_name\"]`
          example ([#&#8203;10030](https://redirect.github.com/celery/celery/issues/10030))\n-
          Stop importing pytest\\_subtests ([#&#8203;10032](https://redirect.github.com/celery/celery/issues/10032))\n-
          Only use exceptiongroup backport for Python < 3.11 ([#&#8203;10033](https://redirect.github.com/celery/celery/issues/10033))\n-
          Prepare for release: v5.6.1 ([#&#8203;10037](https://redirect.github.com/celery/celery/issues/10037))\n\n..
          \\_version-5.6.0:\n\n### [`v5.6.1`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#561)\n\n[Compare
          Source](https://redirect.github.com/celery/celery/compare/v5.6.0...v5.6.1)\n\n\\=====\n\n:release-date:
          2025-12-29\n:release-by: Tomer Nosrati\n\nWhat's Changed\n\n```\n\n- Fix
          Redis Sentinel ACL authentication support (#&#8203;10013)\n- Fix: Broker
          heartbeats not sent during graceful shutdown (#&#8203;9986)\n- docs #&#8203;5410
          -- Document confirm_publish broker transport option (#&#8203;10016)\n- close
          DB pools only in prefork mode (#&#8203;10020)\n- Fix: Avoid unnecessary
          Django database connection creation during cleanup (#&#8203;10015)\n- reliable
          prefork detection (#&#8203;10023)\n- better coverage (#&#8203;10029)\n-
          Docs: clarify `result_extended` vs periodic task metadata and show `headers[\"periodic_task_name\"]`
          example (#&#8203;10030)\n- Stop importing pytest_subtests (#&#8203;10032)\n-
          Only use exceptiongroup backport for Python < 3.11 (#&#8203;10033)\n- Prepare
          for release: v5.6.1 (#&#8203;10037)\n\n.. _version-5.6.0:\n\n5.6.0\n=====\n\n:release-date:
          2025-11-30\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 is now available.\n\nKey
          Highlights\n```\n\nSee :ref:`whatsnew-5.6` for a complete overview or read
          the main highlights below.\n\n## Python 3.9 Minimum Version\n\nCelery 5.6.0
          drops support for Python 3.8 (EOL). The minimum required Python\nversion
          is now 3.9. Users still on Python 3.8 must upgrade their Python version\nbefore
          upgrading to Celery 5.6.0.\n\nAdditionally, this release includes initial
          support for Python 3.14.\n\n## SQS: Reverted to `pycurl` from `urllib3`\n\nThe
          switch from `pycurl` to `urllib3` for the SQS transport (introduced in\nCelery
          5.5.0 via Kombu) has been reverted due to critical issues affecting SQS\nusers:\n\n-
          Processing throughput dropped from \\~100 tasks/sec to \\~3/sec in some
          environments\n- `UnknownOperationException` errors causing container crash
          loops\n- Silent message processing failures with no error logs\n\nUsers
          of the SQS transport must ensure `pycurl` is installed. If you removed\n`pycurl`
          after upgrading to Celery 5.5.0, you will need to reinstall it.\n\nContributed
          by `@auvipy <https://github.com/auvipy>`\\_ in\n`#&#8203;9620 <https://github.com/celery/celery/pull/9620>`\\_.\n\n##
          Security Fix: Broker Credential Leak Prevention\n\nFixed a security issue
          where broker URLs containing passwords were being logged\nin plaintext by
          the delayed delivery mechanism. Broker credentials are now\nproperly sanitized
          in all log output.\n\nContributed by `@giancarloromeo <https://github.com/giancarloromeo>`\\_
          in\n`#&#8203;9997 <https://github.com/celery/celery/pull/9997>`\\_.\n\n##
          Memory Leak Fixes\n\nTwo significant memory leaks have been fixed in this
          release:\n\n**Exception Handling Memory Leak**: Fixed a critical memory
          leak in task exception\nhandling that was particularly severe on Python
          3.11+ due to enhanced traceback\ndata. The fix properly breaks reference
          cycles in tracebacks to allow garbage\ncollection.\n\nContributed by `@jaiganeshs21
          <https://github.com/jaiganeshs21>`\\_ in\n`#&#8203;9799 <https://github.com/celery/celery/pull/9799>`\\_.\n\n**Pending
          Result Memory Leak**: Fixed a memory leak where `AsyncResult`\nsubscriptions
          were not being cleaned up when results were forgotten.\n\nContributed by
          `@tsoos99dev <https://github.com/tsoos99dev>`\\_ in\n`#&#8203;9806 <https://github.com/celery/celery/pull/9806>`\\_.\n\n##
          ETA Task Memory Limit\n\nNew configuration option :setting:`worker_eta_task_limit`
          to prevent out-of-memory\ncrashes when workers fetch large numbers of ETA
          or countdown tasks. Previously,\nworkers could exhaust available memory
          when the broker contained many scheduled tasks.\n\nExample usage:\n\n..
          code-block:: python\n\n```\napp.conf.worker_eta_task_limit = 1000\n```\n\nContributed
          by `@sashu2310 <https://github.com/sashu2310>`\\_ in\n`#&#8203;9853 <https://github.com/celery/celery/pull/9853>`\\_.\n\n##
          Queue Type Selection for Auto-created Queues\n\nNew configuration options
          allow specifying the queue type and exchange type when\nCelery auto-creates
          missing queues. This is particularly useful for RabbitMQ users\nwho want
          to use quorum queues with auto-created queues.\n\nConfiguration options:\n\n-
          :setting:`task_create_missing_queue_type`: Sets the queue type for auto-created\n
          \ queues (e.g., `quorum`, `classic`)\n- :setting:`task_create_missing_queue_exchange_type`:
          Sets the exchange type for\n  auto-created queues\n\nExample usage:\n\n..
          code-block:: python\n\n```\napp.conf.task_create_missing_queue_type = 'quorum'\n```\n\nContributed
          by `@ghirailghiro <https://github.com/ghirailghiro>`\\_ in\n`#&#8203;9815
          <https://github.com/celery/celery/pull/9815>`\\_.\n\nWhat's Changed\n\n```\n\n-
          Prepare for release: v5.6.0 (#&#8203;10010)\n\n.. _version-5.6.0rc2:\n\n5.6.0rc2\n========\n\n:release-date:
          2025-11-22\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 Release Candidate
          2 is now available for testing.\nPlease help us test this version and report
          any issues.\n\nWhat's Changed\n```\n\n- Remove Python 4.0 version condition
          for pytest dependencies ([#&#8203;9993](https://redirect.github.com/celery/celery/issues/9993))\n-
          Sanitize broker URL in delayed delivery logs (avoid leaking credentials)
          ([#&#8203;9997](https://redirect.github.com/celery/celery/issues/9997))\n-
          Don't fail task on timeout during cold shutdown ([#&#8203;9678](https://redirect.github.com/celery/celery/issues/9678))\n-
          Add Py39-314t to CI ([#&#8203;9999](https://redirect.github.com/celery/celery/issues/9999))\n-
          asynpool: Don't return from inside a finally block ([#&#8203;10000](https://redirect.github.com/celery/celery/issues/10000))\n-
          Prepare for (pre) release: v5.6.0rc2 ([#&#8203;10005](https://redirect.github.com/celery/celery/issues/10005))\n\n..
          \\_version-5.6.0rc1:\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5
          **Schedule**: Branch creation - At any time (no schedule defined), Automerge
          - At any time (no schedule defined).\n\n\U0001F6A6 **Automerge**: Disabled
          by config. Please merge this manually once you are satisfied.\n\n\u267B
          **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry
          checkbox.\n\n\U0001F515 **Ignore**: Close this PR and you won't be reminded
          about these updates again.\n\n---\n\n - [ ] <!-- rebase-check -->If you
          want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated
          by [Mend Renovate](https://mend.io/renovate/). View the [repository job
          log](https://developer.mend.io/github/osism/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/python-osism/pull/1918
        commit_id: 99e8529682da64445c12c2bf9f9304a85be20ab5
        patchset: 99e8529682da64445c12c2bf9f9304a85be20ab5
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
        topic: null
      job: flake8
      jobtags: []
      max_attempts: 3
      message: VXBkYXRlIGRlcGVuZGVuY3kgY2VsZXJ5IHRvIHY1LjYuMgoKVGhpcyBQUiBjb250YWlucyB0aGUgZm9sbG93aW5nIHVwZGF0ZXM6Cgp8IFBhY2thZ2UgfCBDaGFuZ2UgfCBbQWdlXShodHRwczovL2RvY3MucmVub3ZhdGVib3QuY29tL21lcmdlLWNvbmZpZGVuY2UvKSB8IFtDb25maWRlbmNlXShodHRwczovL2RvY3MucmVub3ZhdGVib3QuY29tL21lcmdlLWNvbmZpZGVuY2UvKSB8CnwtLS18LS0tfC0tLXwtLS18CnwgW2NlbGVyeV0oaHR0cHM6Ly9kb2NzLmNlbGVyeXEuZGV2LykgKFtzb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jZWxlcnkvY2VsZXJ5KSwgW2NoYW5nZWxvZ10oaHR0cHM6Ly9kb2NzLmNlbGVyeXEuZGV2L2VuL3N0YWJsZS9jaGFuZ2Vsb2cuaHRtbCkpIHwgYD09NS42LjBgIOKGkiBgPT01LjYuMmAgfCAhW2FnZV0oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9hcGkvbWMvYmFkZ2VzL2FnZS9weXBpL2NlbGVyeS81LjYuMj9zbGltPXRydWUpIHwgIVtjb25maWRlbmNlXShodHRwczovL2RldmVsb3Blci5tZW5kLmlvL2FwaS9tYy9iYWRnZXMvY29uZmlkZW5jZS9weXBpL2NlbGVyeS81LjYuMC81LjYuMj9zbGltPXRydWUpIHwKCi0tLQoKIyMjIFJlbGVhc2UgTm90ZXMKCjxkZXRhaWxzPgo8c3VtbWFyeT5jZWxlcnkvY2VsZXJ5IChjZWxlcnkpPC9zdW1tYXJ5PgoKIyMjIFtgdjUuNi4yYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvYmxvYi9IRUFEL0NoYW5nZWxvZy5yc3QjNTYyKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY2VsZXJ5L2NlbGVyeS9jb21wYXJlL3Y1LjYuMS4uLnY1LjYuMikKClw9PT09PQoKOnJlbGVhc2UtZGF0ZTogMjAyNi0wMS0wNAo6cmVsZWFzZS1ieTogVG9tZXIgTm9zcmF0aQoKV2hhdCdzIENoYW5nZWQKCmBgYAoKLSBGaXggcmVjdXJzaXZlIFdvcmtDb250cm9sbGVyIGluc3RhbnRpYXRpb24gaW4gRGphbmdvV29ya2VyRml4dXAgKyBBdHRyaWJ1dGVFcnJvciB3aGVuIHBvb2xfY2xzIGlzIGEgc3RyaW5nICgjJiM4MjAzOzEwMDQ1KQotIEJ1Z2ZpeDogUmV2b2tlZCB0YXNrcyBub3cgaW1tZWRpYXRlbHkgdXBkYXRlIGJhY2tlbmQgc3RhdHVzIHRvIFJFVk9LRUQgKCMmIzgyMDM7OTg2OSkKLSBQcmVwYXJlIGZvciByZWxlYXNlOiB2NS42LjIgKCMmIzgyMDM7MTAwNDkpCgouLiBfdmVyc2lvbi01LjYuMToKCjUuNi4xCj09PT09Cgo6cmVsZWFzZS1kYXRlOiAyMDI1LTEyLTI5CjpyZWxlYXNlLWJ5OiBUb21lciBOb3NyYXRpCgpXaGF0J3MgQ2hhbmdlZApgYGAKCi0gRml4IFJlZGlzIFNlbnRpbmVsIEFDTCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IChbIyYjODIwMzsxMDAxM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvaXNzdWVzLzEwMDEzKSkKLSBGaXg6IEJyb2tlciBoZWFydGJlYXRzIG5vdCBzZW50IGR1cmluZyBncmFjZWZ1bCBzaHV0ZG93biAoWyMmIzgyMDM7OTk4Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvaXNzdWVzLzk5ODYpKQotIGRvY3MgWyMmIzgyMDM7NTQxMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvaXNzdWVzLzU0MTApIC0tIERvY3VtZW50IGNvbmZpcm1cX3B1Ymxpc2ggYnJva2VyIHRyYW5zcG9ydCBvcHRpb24gKFsjJiM4MjAzOzEwMDE2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY2VsZXJ5L2NlbGVyeS9pc3N1ZXMvMTAwMTYpKQotIGNsb3NlIERCIHBvb2xzIG9ubHkgaW4gcHJlZm9yayBtb2RlIChbIyYjODIwMzsxMDAyMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvaXNzdWVzLzEwMDIwKSkKLSBGaXg6IEF2b2lkIHVubmVjZXNzYXJ5IERqYW5nbyBkYXRhYmFzZSBjb25uZWN0aW9uIGNyZWF0aW9uIGR1cmluZyBjbGVhbnVwIChbIyYjODIwMzsxMDAxNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvaXNzdWVzLzEwMDE1KSkKLSByZWxpYWJsZSBwcmVmb3JrIGRldGVjdGlvbiAoWyMmIzgyMDM7MTAwMjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jZWxlcnkvY2VsZXJ5L2lzc3Vlcy8xMDAyMykpCi0gYmV0dGVyIGNvdmVyYWdlIChbIyYjODIwMzsxMDAyOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvaXNzdWVzLzEwMDI5KSkKLSBEb2NzOiBjbGFyaWZ5IGByZXN1bHRfZXh0ZW5kZWRgIHZzIHBlcmlvZGljIHRhc2sgbWV0YWRhdGEgYW5kIHNob3cgYGhlYWRlcnNbInBlcmlvZGljX3Rhc2tfbmFtZSJdYCBleGFtcGxlIChbIyYjODIwMzsxMDAzMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvaXNzdWVzLzEwMDMwKSkKLSBTdG9wIGltcG9ydGluZyBweXRlc3RcX3N1YnRlc3RzIChbIyYjODIwMzsxMDAzMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvaXNzdWVzLzEwMDMyKSkKLSBPbmx5IHVzZSBleGNlcHRpb25ncm91cCBiYWNrcG9ydCBmb3IgUHl0aG9uIDwgMy4xMSAoWyMmIzgyMDM7MTAwMzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jZWxlcnkvY2VsZXJ5L2lzc3Vlcy8xMDAzMykpCi0gUHJlcGFyZSBmb3IgcmVsZWFzZTogdjUuNi4xIChbIyYjODIwMzsxMDAzN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvaXNzdWVzLzEwMDM3KSkKCi4uIFxfdmVyc2lvbi01LjYuMDoKCiMjIyBbYHY1LjYuMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jZWxlcnkvY2VsZXJ5L2Jsb2IvSEVBRC9DaGFuZ2Vsb2cucnN0IzU2MSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvY29tcGFyZS92NS42LjAuLi52NS42LjEpCgpcPT09PT0KCjpyZWxlYXNlLWRhdGU6IDIwMjUtMTItMjkKOnJlbGVhc2UtYnk6IFRvbWVyIE5vc3JhdGkKCldoYXQncyBDaGFuZ2VkCgpgYGAKCi0gRml4IFJlZGlzIFNlbnRpbmVsIEFDTCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0ICgjJiM4MjAzOzEwMDEzKQotIEZpeDogQnJva2VyIGhlYXJ0YmVhdHMgbm90IHNlbnQgZHVyaW5nIGdyYWNlZnVsIHNodXRkb3duICgjJiM4MjAzOzk5ODYpCi0gZG9jcyAjJiM4MjAzOzU0MTAgLS0gRG9jdW1lbnQgY29uZmlybV9wdWJsaXNoIGJyb2tlciB0cmFuc3BvcnQgb3B0aW9uICgjJiM4MjAzOzEwMDE2KQotIGNsb3NlIERCIHBvb2xzIG9ubHkgaW4gcHJlZm9yayBtb2RlICgjJiM4MjAzOzEwMDIwKQotIEZpeDogQXZvaWQgdW5uZWNlc3NhcnkgRGphbmdvIGRhdGFiYXNlIGNvbm5lY3Rpb24gY3JlYXRpb24gZHVyaW5nIGNsZWFudXAgKCMmIzgyMDM7MTAwMTUpCi0gcmVsaWFibGUgcHJlZm9yayBkZXRlY3Rpb24gKCMmIzgyMDM7MTAwMjMpCi0gYmV0dGVyIGNvdmVyYWdlICgjJiM4MjAzOzEwMDI5KQotIERvY3M6IGNsYXJpZnkgYHJlc3VsdF9leHRlbmRlZGAgdnMgcGVyaW9kaWMgdGFzayBtZXRhZGF0YSBhbmQgc2hvdyBgaGVhZGVyc1sicGVyaW9kaWNfdGFza19uYW1lIl1gIGV4YW1wbGUgKCMmIzgyMDM7MTAwMzApCi0gU3RvcCBpbXBvcnRpbmcgcHl0ZXN0X3N1YnRlc3RzICgjJiM4MjAzOzEwMDMyKQotIE9ubHkgdXNlIGV4Y2VwdGlvbmdyb3VwIGJhY2twb3J0IGZvciBQeXRob24gPCAzLjExICgjJiM4MjAzOzEwMDMzKQotIFByZXBhcmUgZm9yIHJlbGVhc2U6IHY1LjYuMSAoIyYjODIwMzsxMDAzNykKCi4uIF92ZXJzaW9uLTUuNi4wOgoKNS42LjAKPT09PT0KCjpyZWxlYXNlLWRhdGU6IDIwMjUtMTEtMzAKOnJlbGVhc2UtYnk6IFRvbWVyIE5vc3JhdGkKCkNlbGVyeSB2NS42LjAgaXMgbm93IGF2YWlsYWJsZS4KCktleSBIaWdobGlnaHRzCmBgYAoKU2VlIDpyZWY6YHdoYXRzbmV3LTUuNmAgZm9yIGEgY29tcGxldGUgb3ZlcnZpZXcgb3IgcmVhZCB0aGUgbWFpbiBoaWdobGlnaHRzIGJlbG93LgoKIyMgUHl0aG9uIDMuOSBNaW5pbXVtIFZlcnNpb24KCkNlbGVyeSA1LjYuMCBkcm9wcyBzdXBwb3J0IGZvciBQeXRob24gMy44IChFT0wpLiBUaGUgbWluaW11bSByZXF1aXJlZCBQeXRob24KdmVyc2lvbiBpcyBub3cgMy45LiBVc2VycyBzdGlsbCBvbiBQeXRob24gMy44IG11c3QgdXBncmFkZSB0aGVpciBQeXRob24gdmVyc2lvbgpiZWZvcmUgdXBncmFkaW5nIHRvIENlbGVyeSA1LjYuMC4KCkFkZGl0aW9uYWxseSwgdGhpcyByZWxlYXNlIGluY2x1ZGVzIGluaXRpYWwgc3VwcG9ydCBmb3IgUHl0aG9uIDMuMTQuCgojIyBTUVM6IFJldmVydGVkIHRvIGBweWN1cmxgIGZyb20gYHVybGxpYjNgCgpUaGUgc3dpdGNoIGZyb20gYHB5Y3VybGAgdG8gYHVybGxpYjNgIGZvciB0aGUgU1FTIHRyYW5zcG9ydCAoaW50cm9kdWNlZCBpbgpDZWxlcnkgNS41LjAgdmlhIEtvbWJ1KSBoYXMgYmVlbiByZXZlcnRlZCBkdWUgdG8gY3JpdGljYWwgaXNzdWVzIGFmZmVjdGluZyBTUVMKdXNlcnM6CgotIFByb2Nlc3NpbmcgdGhyb3VnaHB1dCBkcm9wcGVkIGZyb20gXH4xMDAgdGFza3Mvc2VjIHRvIFx+My9zZWMgaW4gc29tZSBlbnZpcm9ubWVudHMKLSBgVW5rbm93bk9wZXJhdGlvbkV4Y2VwdGlvbmAgZXJyb3JzIGNhdXNpbmcgY29udGFpbmVyIGNyYXNoIGxvb3BzCi0gU2lsZW50IG1lc3NhZ2UgcHJvY2Vzc2luZyBmYWlsdXJlcyB3aXRoIG5vIGVycm9yIGxvZ3MKClVzZXJzIG9mIHRoZSBTUVMgdHJhbnNwb3J0IG11c3QgZW5zdXJlIGBweWN1cmxgIGlzIGluc3RhbGxlZC4gSWYgeW91IHJlbW92ZWQKYHB5Y3VybGAgYWZ0ZXIgdXBncmFkaW5nIHRvIENlbGVyeSA1LjUuMCwgeW91IHdpbGwgbmVlZCB0byByZWluc3RhbGwgaXQuCgpDb250cmlidXRlZCBieSBgQGF1dmlweSA8aHR0cHM6Ly9naXRodWIuY29tL2F1dmlweT5gXF8gaW4KYCMmIzgyMDM7OTYyMCA8aHR0cHM6Ly9naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvcHVsbC85NjIwPmBcXy4KCiMjIFNlY3VyaXR5IEZpeDogQnJva2VyIENyZWRlbnRpYWwgTGVhayBQcmV2ZW50aW9uCgpGaXhlZCBhIHNlY3VyaXR5IGlzc3VlIHdoZXJlIGJyb2tlciBVUkxzIGNvbnRhaW5pbmcgcGFzc3dvcmRzIHdlcmUgYmVpbmcgbG9nZ2VkCmluIHBsYWludGV4dCBieSB0aGUgZGVsYXllZCBkZWxpdmVyeSBtZWNoYW5pc20uIEJyb2tlciBjcmVkZW50aWFscyBhcmUgbm93CnByb3Blcmx5IHNhbml0aXplZCBpbiBhbGwgbG9nIG91dHB1dC4KCkNvbnRyaWJ1dGVkIGJ5IGBAZ2lhbmNhcmxvcm9tZW8gPGh0dHBzOi8vZ2l0aHViLmNvbS9naWFuY2FybG9yb21lbz5gXF8gaW4KYCMmIzgyMDM7OTk5NyA8aHR0cHM6Ly9naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvcHVsbC85OTk3PmBcXy4KCiMjIE1lbW9yeSBMZWFrIEZpeGVzCgpUd28gc2lnbmlmaWNhbnQgbWVtb3J5IGxlYWtzIGhhdmUgYmVlbiBmaXhlZCBpbiB0aGlzIHJlbGVhc2U6CgoqKkV4Y2VwdGlvbiBIYW5kbGluZyBNZW1vcnkgTGVhayoqOiBGaXhlZCBhIGNyaXRpY2FsIG1lbW9yeSBsZWFrIGluIHRhc2sgZXhjZXB0aW9uCmhhbmRsaW5nIHRoYXQgd2FzIHBhcnRpY3VsYXJseSBzZXZlcmUgb24gUHl0aG9uIDMuMTErIGR1ZSB0byBlbmhhbmNlZCB0cmFjZWJhY2sKZGF0YS4gVGhlIGZpeCBwcm9wZXJseSBicmVha3MgcmVmZXJlbmNlIGN5Y2xlcyBpbiB0cmFjZWJhY2tzIHRvIGFsbG93IGdhcmJhZ2UKY29sbGVjdGlvbi4KCkNvbnRyaWJ1dGVkIGJ5IGBAamFpZ2FuZXNoczIxIDxodHRwczovL2dpdGh1Yi5jb20vamFpZ2FuZXNoczIxPmBcXyBpbgpgIyYjODIwMzs5Nzk5IDxodHRwczovL2dpdGh1Yi5jb20vY2VsZXJ5L2NlbGVyeS9wdWxsLzk3OTk+YFxfLgoKKipQZW5kaW5nIFJlc3VsdCBNZW1vcnkgTGVhayoqOiBGaXhlZCBhIG1lbW9yeSBsZWFrIHdoZXJlIGBBc3luY1Jlc3VsdGAKc3Vic2NyaXB0aW9ucyB3ZXJlIG5vdCBiZWluZyBjbGVhbmVkIHVwIHdoZW4gcmVzdWx0cyB3ZXJlIGZvcmdvdHRlbi4KCkNvbnRyaWJ1dGVkIGJ5IGBAdHNvb3M5OWRldiA8aHR0cHM6Ly9naXRodWIuY29tL3Rzb29zOTlkZXY+YFxfIGluCmAjJiM4MjAzOzk4MDYgPGh0dHBzOi8vZ2l0aHViLmNvbS9jZWxlcnkvY2VsZXJ5L3B1bGwvOTgwNj5gXF8uCgojIyBFVEEgVGFzayBNZW1vcnkgTGltaXQKCk5ldyBjb25maWd1cmF0aW9uIG9wdGlvbiA6c2V0dGluZzpgd29ya2VyX2V0YV90YXNrX2xpbWl0YCB0byBwcmV2ZW50IG91dC1vZi1tZW1vcnkKY3Jhc2hlcyB3aGVuIHdvcmtlcnMgZmV0Y2ggbGFyZ2UgbnVtYmVycyBvZiBFVEEgb3IgY291bnRkb3duIHRhc2tzLiBQcmV2aW91c2x5LAp3b3JrZXJzIGNvdWxkIGV4aGF1c3QgYXZhaWxhYmxlIG1lbW9yeSB3aGVuIHRoZSBicm9rZXIgY29udGFpbmVkIG1hbnkgc2NoZWR1bGVkIHRhc2tzLgoKRXhhbXBsZSB1c2FnZToKCi4uIGNvZGUtYmxvY2s6OiBweXRob24KCmBgYAphcHAuY29uZi53b3JrZXJfZXRhX3Rhc2tfbGltaXQgPSAxMDAwCmBgYAoKQ29udHJpYnV0ZWQgYnkgYEBzYXNodTIzMTAgPGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNodTIzMTA+YFxfIGluCmAjJiM4MjAzOzk4NTMgPGh0dHBzOi8vZ2l0aHViLmNvbS9jZWxlcnkvY2VsZXJ5L3B1bGwvOTg1Mz5gXF8uCgojIyBRdWV1ZSBUeXBlIFNlbGVjdGlvbiBmb3IgQXV0by1jcmVhdGVkIFF1ZXVlcwoKTmV3IGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBhbGxvdyBzcGVjaWZ5aW5nIHRoZSBxdWV1ZSB0eXBlIGFuZCBleGNoYW5nZSB0eXBlIHdoZW4KQ2VsZXJ5IGF1dG8tY3JlYXRlcyBtaXNzaW5nIHF1ZXVlcy4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciBSYWJiaXRNUSB1c2Vycwp3aG8gd2FudCB0byB1c2UgcXVvcnVtIHF1ZXVlcyB3aXRoIGF1dG8tY3JlYXRlZCBxdWV1ZXMuCgpDb25maWd1cmF0aW9uIG9wdGlvbnM6CgotIDpzZXR0aW5nOmB0YXNrX2NyZWF0ZV9taXNzaW5nX3F1ZXVlX3R5cGVgOiBTZXRzIHRoZSBxdWV1ZSB0eXBlIGZvciBhdXRvLWNyZWF0ZWQKICBxdWV1ZXMgKGUuZy4sIGBxdW9ydW1gLCBgY2xhc3NpY2ApCi0gOnNldHRpbmc6YHRhc2tfY3JlYXRlX21pc3NpbmdfcXVldWVfZXhjaGFuZ2VfdHlwZWA6IFNldHMgdGhlIGV4Y2hhbmdlIHR5cGUgZm9yCiAgYXV0by1jcmVhdGVkIHF1ZXVlcwoKRXhhbXBsZSB1c2FnZToKCi4uIGNvZGUtYmxvY2s6OiBweXRob24KCmBgYAphcHAuY29uZi50YXNrX2NyZWF0ZV9taXNzaW5nX3F1ZXVlX3R5cGUgPSAncXVvcnVtJwpgYGAKCkNvbnRyaWJ1dGVkIGJ5IGBAZ2hpcmFpbGdoaXJvIDxodHRwczovL2dpdGh1Yi5jb20vZ2hpcmFpbGdoaXJvPmBcXyBpbgpgIyYjODIwMzs5ODE1IDxodHRwczovL2dpdGh1Yi5jb20vY2VsZXJ5L2NlbGVyeS9wdWxsLzk4MTU+YFxfLgoKV2hhdCdzIENoYW5nZWQKCmBgYAoKLSBQcmVwYXJlIGZvciByZWxlYXNlOiB2NS42LjAgKCMmIzgyMDM7MTAwMTApCgouLiBfdmVyc2lvbi01LjYuMHJjMjoKCjUuNi4wcmMyCj09PT09PT09Cgo6cmVsZWFzZS1kYXRlOiAyMDI1LTExLTIyCjpyZWxlYXNlLWJ5OiBUb21lciBOb3NyYXRpCgpDZWxlcnkgdjUuNi4wIFJlbGVhc2UgQ2FuZGlkYXRlIDIgaXMgbm93IGF2YWlsYWJsZSBmb3IgdGVzdGluZy4KUGxlYXNlIGhlbHAgdXMgdGVzdCB0aGlzIHZlcnNpb24gYW5kIHJlcG9ydCBhbnkgaXNzdWVzLgoKV2hhdCdzIENoYW5nZWQKYGBgCgotIFJlbW92ZSBQeXRob24gNC4wIHZlcnNpb24gY29uZGl0aW9uIGZvciBweXRlc3QgZGVwZW5kZW5jaWVzIChbIyYjODIwMzs5OTkzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY2VsZXJ5L2NlbGVyeS9pc3N1ZXMvOTk5MykpCi0gU2FuaXRpemUgYnJva2VyIFVSTCBpbiBkZWxheWVkIGRlbGl2ZXJ5IGxvZ3MgKGF2b2lkIGxlYWtpbmcgY3JlZGVudGlhbHMpIChbIyYjODIwMzs5OTk3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY2VsZXJ5L2NlbGVyeS9pc3N1ZXMvOTk5NykpCi0gRG9uJ3QgZmFpbCB0YXNrIG9uIHRpbWVvdXQgZHVyaW5nIGNvbGQgc2h1dGRvd24gKFsjJiM4MjAzOzk2NzhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jZWxlcnkvY2VsZXJ5L2lzc3Vlcy85Njc4KSkKLSBBZGQgUHkzOS0zMTR0IHRvIENJIChbIyYjODIwMzs5OTk5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY2VsZXJ5L2NlbGVyeS9pc3N1ZXMvOTk5OSkpCi0gYXN5bnBvb2w6IERvbid0IHJldHVybiBmcm9tIGluc2lkZSBhIGZpbmFsbHkgYmxvY2sgKFsjJiM4MjAzOzEwMDAwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY2VsZXJ5L2NlbGVyeS9pc3N1ZXMvMTAwMDApKQotIFByZXBhcmUgZm9yIChwcmUpIHJlbGVhc2U6IHY1LjYuMHJjMiAoWyMmIzgyMDM7MTAwMDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jZWxlcnkvY2VsZXJ5L2lzc3Vlcy8xMDAwNSkpCgouLiBcX3ZlcnNpb24tNS42LjByYzE6Cgo8L2RldGFpbHM+CgotLS0KCiMjIyBDb25maWd1cmF0aW9uCgrwn5OFICoqU2NoZWR1bGUqKjogQnJhbmNoIGNyZWF0aW9uIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpLCBBdXRvbWVyZ2UgLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCkuCgrwn5qmICoqQXV0b21lcmdlKio6IERpc2FibGVkIGJ5IGNvbmZpZy4gUGxlYXNlIG1lcmdlIHRoaXMgbWFudWFsbHkgb25jZSB5b3UgYXJlIHNhdGlzZmllZC4KCuKZuyAqKlJlYmFzaW5nKio6IFdoZW5ldmVyIFBSIGJlY29tZXMgY29uZmxpY3RlZCwgb3IgeW91IHRpY2sgdGhlIHJlYmFzZS9yZXRyeSBjaGVja2JveC4KCvCflJUgKipJZ25vcmUqKjogQ2xvc2UgdGhpcyBQUiBhbmQgeW91IHdvbid0IGJlIHJlbWluZGVkIGFib3V0IHRoZXNlIHVwZGF0ZXMgYWdhaW4uCgotLS0KCiAtIFsgXSA8IS0tIHJlYmFzZS1jaGVjayAtLT5JZiB5b3Ugd2FudCB0byByZWJhc2UvcmV0cnkgdGhpcyBQUiwgY2hlY2sgdGhpcyBib3gKCi0tLQoKVGhpcyBQUiB3YXMgZ2VuZXJhdGVkIGJ5IFtNZW5kIFJlbm92YXRlXShodHRwczovL21lbmQuaW8vcmVub3ZhdGUvKS4gVmlldyB0aGUgW3JlcG9zaXRvcnkgam9iIGxvZ10oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9naXRodWIvb3Npc20vcHl0aG9uLW9zaXNtKS4KPCEtLXJlbm92YXRlLWRlYnVnOmV5SmpjbVZoZEdWa1NXNVdaWElpT2lJME1pNDJPUzR4SWl3aWRYQmtZWFJsWkVsdVZtVnlJam9pTkRJdU5qa3VNU0lzSW5SaGNtZGxkRUp5WVc1amFDSTZJbTFoYVc0aUxDSnNZV0psYkhNaU9sc2ljbVZ1YjNaaGRHVWlYWDA9LS0+Cg==
      patchset: 99e8529682da64445c12c2bf9f9304a85be20ab5
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 4f450aa36c28b035ce97359a888edbd7599eaf31
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: a01eed06dffe368c1d01819193bfadccb137414d
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 4f450aa36c28b035ce97359a888edbd7599eaf31
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/flake8/run.yaml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/python-osism
        name: osism/python-osism
        short_name: python-osism
        src_dir: src/github.com/osism/python-osism
      projects:
        github.com/osism/python-osism:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          checkout: main
          checkout_description: zuul branch
          commit: 911538ac22e6d63cf9750a2157f67bdb2c2f8970
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/1918/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
